Está en la página 1de 9

Tema 3: Actividad 2

Método minimax en el gato

Alumno:
Alonso López Juan Salvador
IS14110331
Escuela: ITESI
Materia:
Inteligencia Artificial

Irapuato, Guanajuato a 13 de diciembre del 2018


Contenido

1. Problemática..............................................................................................................................3
2. Método de búsqueda: Minimax.................................................................................................3
2.1. Características de Minimax.................................................................................................3
2.2. Algoritmo de Minimax........................................................................................................3
2.3. Ejemplo de Minimax...........................................................................................................4
3. Desarrollo (Programa)................................................................................................................5
3.1. Declaración de las variables................................................................................................5
3.2. Creación del tablero del gato..............................................................................................5
3.3. Creación de reglas del gato.................................................................................................5
3.4. Validaciones del juego del gato..........................................................................................6
3.5. Jugador MAX......................................................................................................................7
3.6. Jugador MIN.......................................................................................................................7
3.7. Resultados del juego...........................................................................................................8
4. Aplicación (Programa)................................................................................................................8
4.1. Partida en empate..............................................................................................................8
4.2. Partida pérdida...................................................................................................................9
5. Referencias.................................................................................................................................9

Irapuato, Guanajuato a 13 de diciembre del 2018


1. Problemática
Resolver un problema del juego del gato utilizando un método de búsqueda optima

2. Método de búsqueda: Minimax


Para realizar este tipo de búsqueda es indispensable saber que se requieren 2 jugadores, a los que
se les denomina Max y Min, los cuales son contrincantes y juegan de manera alternada.

Igualmente, se asume que ambos jugadores seleccionarán sus movimientos siempre de la


mejor manera posible. La idea de la búsqueda consiste en asignar la posición actual del
tablero como nodo raíz, el generador de movimientos para encontrar los nodos del
siguiente nivel de profundidad, y así consecutivamente. Sin embargo, como no es posible
en términos prácticos generar todos los nodos del árbol de juego, se generan los nodos
hasta un nivel de profundidad especificado por el algoritmo.

2.1. Características de Minimax

 El algoritmo minimiza la pérdida máxima aplicada en juegos de adversarios


 Requieren de Información completa (colección de los estados vencedores)
 El eligen el mejor movimiento para cada jugador
 Procedimiento recursivo

2.2. Algoritmo de Minimax

1. Se generarán todos los nodos hasta llegar a un estado terminal.


2. Cálculo de los valores de la función de utilidad para cada nodo terminal.
3. Calcular el valor de los nodos superiores a partir del valor de los inferiores.
Alternativamente se elegirán los valores mínimos y máximos representando los
movimientos del jugador y del oponente, de ahí el nombre de Minimax.
4. Elegir la jugada valorando los valores que han llegado al nivel superior.
5. Colocar 0 ó 1 en los nodos terminales dependiendo si gana MIN o MAX
6. Un valor positivo significa ventaja de un jugador y uno negativo la ventaja del otro.
6.1. El jugador que espera valores positivos se conoce como maximizador
6.2.El jugador que espera valores negativos se conoce como minimizador
7. Sabe que el minimizador puede escoger un movimiento que lo lleve a un valor de 1

Irapuato, Guanajuato a 13 de diciembre del 2018


8. Desde el punto de vista del maximizador, el minimizador puede escoger 0 ó 1
9. Los resultados de un nivel determinan la acción final del estado.

2.3. Ejemplo de Minimax

3. Desarrollo (Programa)
3.1. Declaración de las variables

Utilizaremos solo 3 variables como se observa en la Imagen 1, las cuales son:


1. El tablero que estará dividido en 9 espacios.

Irapuato, Guanajuato a 13 de diciembre del 2018


2. El indicador del juego, si es 0 gano, 1 perdió y -1 empate.
3. Los 4 movimientos que tendrá nuestro oponente inteligente.

Imagen 1: Variables

3.2. Creación del tablero del gato

Crearemos la clase comenzar que en si es nuestro tablero que estará ordenado por los 9
espacios que comprende un juego del gato, como se puede observar en la Imagen 2.

Imagen 2: Tablero del gato

3.3. Creación de reglas del gato

Implementaremos las maneras de poder ganar en este caso existen tres tipos de formas de ganar
en el gato tradicional las cuales son:

1. Forma Diagonal, como se observa en la Imagen 3.

2. Forma Horizontal, como se observa en la Imagen 4.

Imagen 3: Ganar de forma diagonal

Irapuato, Guanajuato a 13 de diciembre del 2018


Imagen 4: Ganar de forma horizontal

3. Forma Vertical, como se observa en la Imagen 5.

Imagen 5: Ganar de forma vertical

3.4. Validaciones del juego del gato

Las validaciones que son necesarias como se muestra en la imagen 6, son:


1. Marcar cuando el tablero está lleno que puede denominar un posible empate.
2. Marcar si existe un ganador ya sea si empatara, perdiera o ganara la partida.

3.5. Jugador MAX

En este fragmento de código Imagen


se 6:encuentra
Validaciones del juego del
dónde gato marcada la X, y saber las
estará
posiciones exactas de donde estarán marcadas sus X’s para certificarnos si este jugador
gano o perdió, como se puede ver en la imagen 7.

Irapuato, Guanajuato a 13 de diciembre del 2018

Imagen 7: Jugador MIN


3.6. Jugador MIN

En este fragmento de código se encuentra dónde estará marcada la O, y saber las


posiciones exactas de donde estarán marcadas sus O’s para certificarnos si este jugador
gano o perdió, como se puede ver en la imagen 8.

3.7. Resultados del juego


Imagen 8:
Para finalizar el programa como resultado obtendremos elJugador
mensajeMAXde advertencia del

jugador que gano, si realmente fue MIN o fue MAX como se muestra a continuación en la
Imagen 9:

 Si la partida está marcada con 0 : GANA MAX

Imagen 7: Jugador MIN


Irapuato, Guanajuato a 13 de diciembre del 2018
 Si la partida está marcada con 1 : GANA MIN
 Si la partida está marcada con -1 : Empate entre MIN y MAX

Imagen 9: Resultado finales

4. Aplicación (Programa)
4.1. Partida en empate.

4.2. Partida pérdida.

Imagen 10: Partida en empate

Irapuato, Guanajuato a 13 de diciembre del 2018

Imagen 11: Partida perdida.


5. Referencias
 http://tesis.uson.mx/digital/tesis/docs/20586/Capitulo3.pdf
 http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia

%20Artificial/Apuntes/IA/Minimax.pdf
 http://www.lsi.upc.edu/~luigi/II/IA-2007-fall/2d-busqueda-entre-adversarios-%28es

%29.pdf

Irapuato, Guanajuato a 13 de diciembre del 2018