Instituto Tecnológico de Saltillo Inteligencia Artificial

Slides:



Advertisements
Presentaciones similares
Búsqueda en árboles de juego
Advertisements

2. Manejo de memoria Manejo de memoria estática
Búsqueda en un espacio de Estado
Complejidad Computacional
Complejidad Computacional
Interprete o máquina real
Integrantes: Andres Marin Castelblanco Karem Moreno Pacheco Alexandra Ardila.
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
Searching data in Arrays COMP 242. Linear Search Algoritmo: Comenzando con el primer elemento, se compara cada uno con el valor a buscar y se detiene.
Español 1 Capítulo 7 Palabras 1. el fútbol contra.
Estructuras de decisión en C
Programación II de febrero de 2009
Funciones y recursividad
El Proceso de desarrollo de software
Inteligencia Artificial
Curso de Java Estructura del Lenguaje
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
Herencia y Polimorfismo
Tratamiento de listas en Java
Tema 4 Árboles. Árbol sobre matriz.
Inteligencia Artificial Búsqueda entre adversarios
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
/*Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 3.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Arreglos: Vectores en JAVA
Método en Java.
Funciones Computación.
Herencia e Interfaces.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
POO Java Módulo 3 Elementos de programas Identificadores
Definición Estructura de datos jerárquica (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí por medio de ramas. Formalmente,
L ISTAS E NLAZADAS No son mas que un conjunto o lista de objetos que a diferencia de los vectores, estas poseen la capacidad de crecer o decrecer. Por.
El ajedrez.
Equipo # 1 Norma Pimentel Wendy Hernandez Julisa Javier Mario Tristán.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Creación de Aplicaciones
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
USA agenda e itemAgenda
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Title.
3.  Recursividad.
Cátedra de COMPUTACIÓN FACULTAD DE INGENIERÍA - UNA La mejor manera de aprender Programación es PROGRAMANDO !!!!!! CLASE Nro. 1.
Elaborado por Fernando Torre - Universidad Simón Bolívar ARREGLOS CI Computación I Universidad Simón Bolívar Dpto. de Computación y Tecnología de.
Computación II Repaso de java Karina Figueroa Mora.
Proyecto Fin de Carrera
Computación I Primer Semestre 2006 Capítulo IV Ciclos y Colecciones (con un sabor a algoritmos)
Identificadores palabras reservadas y Tipos de datos.
TPE 1 - Sistemas de Producción: Rolling Cubes Sistemas de Inteligencia Artifcial Bergez, Brasca y García.
PROPIEDADES GEOMÉTRICAS
FORO DE LAS TECNOLOGÍAS1 NOMBRE SGBD COLOR GRUPO NOMBRE1 NOMBRE2 NOMBRE3 NOMBRE4 NOMBRE5.
INTRODUCCIÓN A JUEGOS (BÚSQUEDA CON ADVERSARIOS)
Tablero de fichas Por lo general, las personas encargadas de realizar una presentación deben proporcionar material técnico a una audiencia que no suele.
AJEDREZ.
Ajedrez.
REPRESENTACIONES GRAFICAS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Abstracción.
Se importan los módulos. El primer y el segundo modulo es para guardar archivos. El tercer modulo es el que permite ver graficas, y el ultimo importa.
(1) Uno de los jugadores hace Jaque mate y gana. (2) Uno de los jugadores abandona y pierde. (3) Los jugadores empatan o hacen tablas. El final como etapa.
EL AJEDREZ Potenciar las capacidades de cálculo, de análisis y de síntesis; se mejora la percepción, la discriminación, la creatividad, la imaginación,
TALLER POO JAVA ERNESTO GOMEZ VARGAS. OBJETIVOS REALIZAR UNA APLICACIÓN SENCILLA DE P.O.O FAMILIARIZARSE CON LA HERRAMETA NETBEANS APLICAR EL CONCEPTO.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
Juego de dados. El Juego de dados consiste en un lanzamientos aleatorio en la cuál gana cierta cantidad de dinero de acuerdo a lo siguiente: Si la suma.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
EL MUNDO DE LOS OBJETOS PROGRAMANDO EN JAVA.
Don Cangrejo EI Taller de Proyecto 2011 Semestre Otoño Grupo 5
Transcripción de la presentación:

Instituto Tecnológico de Saltillo Inteligencia Artificial Unidad $ Enero – Junio 2011 1

Instituto Tecnológico de Saltillo Conecta 4 Algoritmos de Resolución de Juegos César Augusto Tijerina Pérez 2

Conecta 4 3

Juego Juego clásico de Conecta4. Tamaño del tablero: 7 *6 Jugadores: 1 vs computadora Para ganar la partida el jugador debe de conectar 4 letras en una hilera vertical u horizontal. Las líneas diagonales no cuentan.

Programa A continuación citamos las partes relevantes del código usado en el juego: Como usamos A*, calculamos los movimientos posibles en Profundidad. La variable profundidad se usa para indicar el nivel de Profundidad hasta el que calcularemos los posibles movimientos: 7

/** Programa que Inicia un juego de Conecta4 * @SuppressWarnings("deprecation") * @author Augusto Tijerina * @author Ingeniería en Sistemas * @version 0.01 */ class Conecta4Main { public final static int VACIO = 0; public final static int COMPUTADORA = 1; public final static int JUGADOR = -1; public final static int BORDER = 99; public final static int JUEGO_EN_CURSO = 0; public final static int GANADO = 1; public final static int TABLERO_LLENO = -1; public final static int EMPATADO = 0; public final static int JUGADOR_GANA = 1; public final static int JUGADOR_PIERDE = -1;

// Aqui calculamos la jugada private int _MejorJugada(int player, int movimiento[], int profundidad) { int NO_HAY_MAS_BUSQUEDAS = 10; // El fin int res = JUGADOR_PIERDE; int rivals_movimiento[] = new int[1]; int i; int campo_actual, columna_actual; int value[] = new int[1]; int valor_maximo = -1; for (movimiento[0] = -1, profundidad--, i = 3, value[0] = 0; i < NO_HAY_MAS_BUSQUEDAS; i++, cnt++) { if (_EstaVacio(i)) { if (movimiento[0] == -1) { movimiento[0] = i; }

Bibliografía: Primer Programa Conecta4 Applet TestFiguras clase de Graficación Netbeans Applet Viewer Plugin

Gracias por su tiempo. 11