Está en la página 1de 29

juego del gato- sistemas

computacionales
Inteligencia Artificial
Instituto Tecnológico Superior de Alvarado (ITSAV)
28 pag.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Caso Práctico: Teoría
de Juegos

Jugo Clásico: GATO

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
TEORÍA DE JUEGOS

La teoría de juegos es un
área de la matemática
aplicada que utiliza
modelos para estudiar
interacciones en
estructuras formalizadas
de incentivos (los
llamados juegos) y llevar
a cabo procesos de
decisión.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Aplicaciones
› La teoría de juegos tiene la › Esta teoría tiene
característica de ser un área aplicaciones en
en que la sustancia
subyacente es principalmente
numerosas áreas, entre
una categoría de matemáticas las cuales caben destacar
aplicadas, pero la mayoría de las ciencias económicas,
la investigación fundamental la biología evolutiva,
es desempeñada por la psicología, las ciencias
especialistas en otras áreas. políticas, el diseño
En algunas universidades se
enseña y se investiga casi industrial, la investigación
exclusivamente fuera del operativa,
departamento de matemática. la informática y la
estrategia militar.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Juegos

Los juegos más simples que se estudian en Toma de


Decisiones son aquellos:
› De suma cero (lo que uno gana, el otro lo pierde y
viceversa)
› De dos jugadores (jugador MAX, jugador MIN)
› Por turnos
› De información perfecta (ajedrez, damas, tres en raya, etc.)
› De información imperfecta (poker, stratego, bridge...)
› Deterministas

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Decisiones óptimas en juegos
Un juego puede definirse formalmente mediante:
› Un estado inicial
› Una función sucesor, que devuelve una lista de
pares (movimiento, estado)
› Una prueba terminal, que determina cuándo
termina el juego (por estructura o propiedades o
función utilidad)
› Una función utilidad

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
GATO
› Es un juego de lápiz y papel entre dos jugadores: O y
X, que marcan los espacios de un tablero de 3×3
alternadamente.
› Reglas: Cada jugador solo debe colocar su símbolo una
vez por turno y no debe ser sobre una casilla ya
jugada. En caso de que el jugador haga trampa el
ganador será el otro. Se debe conseguir realizar una
línea recta o diagonal por símbolo. Si el jugador marca
una casilla, aunque sea la más mínima marca, deberá
poner símbolo de la siguiente jugada en esa casilla.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
GATO
› Hay 9 formas diferentes de empezar un juego, y
entonces, el rival tendrá 8 maneras diferentes de
responder. Entonces de nuevo el primer jugador
tendrá 7 casilleros donde poner su tirada y así
sucesivamente, es decir: 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2
* 1 = 9! = 362880.
› Si tenemos 8 líneas de tres casilleros (vertical,
horizontal y diagonal), y además, donde no importa
en qué orden se llenan las casillas, estamos
entonces viendo 8 * 3! * 6 * 5 = 1440 posibilidades
de juegos que se ganen en 5 movimientos.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Document shared on www.docsity.com
Downloaded by: patricio-toloza (ptolozah@gmail.com)
Algoritmo MINIMAX
› Consiste en la elección del mejor movimiento para
el computador, suponiendo que el contrincante
escogerá uno que lo pueda perjudicar, para escoger
la mejor opción este algoritmo realiza un árbol de
búsqueda con todos los posibles movimientos,
luego recorre todo el árbol de soluciones del juego a
partir de un estado dado, es decir, según las
casillas que ya han sido rellenadas. 

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Algoritmo MINIMAX
En el algoritmo Minimax el espacio de búsqueda queda
definido por:
› Estado inicial: Es una configuración inicial del juego, es
decir, un estado en el que se encuentre el juego. 
› Operadores: Corresponden a las jugadas legales que se
pueden hacer en el juego, en el caso del tres en raya no
puedes marcar una casilla ya antes marcada.
› Condición Terminal: Determina cuando el juego se acabó, en
nuestro ejemplo el juego termina cuando un jugador marca
tres casillas seguidas iguales, ya se horizontalmente,
verticalmente o en diagonal, o se marcan todas las casillas
(empate) .

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Algoritmo MINIMAX
› Función de Utilidad: Da un valor numérico a una
configuración final de un juego. En un juego en
donde se puede ganar, perder o empatar, los
valores pueden ser 1, 0, o -1.
› Implementación Minimax: Los pasos que sigue
minimax pueden variar, pero lo importante es tener
una idea clara de cómo es su funcionamiento.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Algoritmo MINIMAX
› Realiza una exploración primero en profundidad completa del
árbol de juegos.
› Si la profundidad máxima del árbol es m, y hay b movimientos
legales en cada punto, entonces la complejidad :
› en tiempo es O(bm);
› en espacio es:
› O(bm) si se generan todos los sucesores a la vez;
› O(m) si se generan los sucesores uno por uno.
› Juegos reales: los costos de tiempo son inaceptables, pero este
algoritmo sirve como base para el primer análisis matemático
y para algoritmos más prácticos.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Algoritmo minimax

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Búsqueda exhaustiva

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Búsqueda exhaustiva
› Aproximación trivial: generar todo el árbol de jugadas.
› Se etiquetan las jugadas terminales, dependiendo de
si gana MAX o MIN, con un valor de utilidad de, por
ejemplo, “+1” o “-1”.
› El objetivo es encontrar un conjunto de movimientos
accesible que dé como ganador a MAX.
› Se propagan los valores de las jugadas terminales de
las hojas hasta la raíz.
› Incluso un juego simple como tic-tac-toe es
demasiado complejo para dibujar el árbol completo

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Búsqueda exhaustiva
› Aproximación heurística: definir una función que
nos indique lo cerca que estamos de una jugada
ganadora (o perdedora).
› En esta función interviene información del dominio.
Esta función no representa ningún coste, ni es una
distancia en pasos.
› El algoritmo busca con profundidad limitada.
› Cada nueva decisión por parte del adversario
implicará repetir parte de la búsqueda.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Ejemplo:
› donde:
› – e = función utilidad
› – PMAX = número de filas, columnas y diagonales completas
disponibles para MAX
› – PMIN = número de filas, columnas y diagonales completas
disponibles para MIN
› • MAX juega con ✘ y desea maximizar e
› • MIN juega con O y desea minimizar e
› • Valores absolutos altos de e: buena posición para el que tiene
que mover
› • Controlar las simetrías
› • Utilizar una profundidad de parada.
Document shared on www.docsity.com
Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #1

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #1

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #1

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #1

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #2

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #2

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #2

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Jugada #2

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
GATO PARA
DOS
JUGADORES
Dos jugadores dando
uno por uno cada uno
de los tiros en la
partida.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
GATO PARA UN
JUGADOR
Solo un jugador juego
contra la computadora.

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)
Gracias
https://www.youtube.com/channel/
UCrEM9nM7pxy0TtgDyTXljFQ/videos

Document shared on www.docsity.com


Downloaded by: patricio-toloza (ptolozah@gmail.com)

También podría gustarte