Está en la página 1de 8

TALLER DE JUEGOS TRIQUI O TRES EN

RAYA

DAVID SANTIAGO VALLEJO GAITÁN

RUVEN ANDREY MALAGÓN ALFONSO

OCTAVO SEMESTR

ING. LUIS FERNANDO MUÑOZ PANTOJA

UNIVERSIDAD DE CUNDINAMARCA EXTENSIÓN CHIA

FACULTAD DE INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS

INTELIGENCIA ARTIFICIAL

14 DE OCTUBRE DE 2022
Enfoque y razonamiento

El juego Tres en raya ha sido propuesto desde sus inicios como un juego entre adversarios (dos jugadores) y

con manejo de fichas o simplemente a lápiz y papel. Con el tiempo esta idea ha ido evolucionando y ha tenido

un gran impacto con la computación, debido a que se trata de un problema de razonamiento y estrategia, y que

puede ser utilizado como base introductoria a lo que es Inteligencia Artificial.

El proceso de razonamiento va enfocado principalmente a que el jugador escoja la mejor jugada, debido a que

el objeto de búsqueda es encontrar el camino desde un estado de punto de partida a un estado objetivo, lo que

lo hace un problema algo complicado. Ante este problema es que se han planteado diferentes algoritmos para

su resolución, siendo la mejor opción la utilización del algoritmo Minimax

ALGORITMO MINIMAX

FUNCIONAMIENTO:

• Juega al error del oponente sin buscar beneficio en el turno siguiente.

• Almacena jugadas realizadas de acuerdo con el movimiento

• Genera unos todos los nodos hasta llegar a un estado terminal

• Calcula los valores de la función de utilidad para cada nodo terminal

• Calcula el valor de los nodos superiores a partir del valor de los inferiores. Alternativamente se elegirán

los valores mínimos y máximos representado los movimientos del jugador y del oponente

• Explora los nodos del árbol dando, un valor numérico mediante una función, empezando por los nodos

terminales y subiendo hacia la raíz.

• Colocar 0 o 1 en los nodos terminales dependiendo si gana Min o Max


• Empieza inicialmente con un tablero de 3x3 que es representado por un vector de nueve componentes,

donde las componentes del vector se corresponden con las posiciones del tablero de la siguiente forma

También consideramos una variable que determine la posición dentro del vector para calcular si ese campo

está vacío, o no lo está, para así calcular si la partida ha finalizado o está aún en proceso. Para ello se define

variables constantes que determinen el estado del juego, es decir, estado: GANADOR_JUEGO_O,

GANADOR_JUEGO_X, EMPATE

Para determinar cómo es evaluado cada nodo o estado de la jugada, se realiza una evaluación por cada jugada,

de la siguiente manera

Para decidir cuál de todas las posibles posiciones es mejor, se realiza para cada una de ellas la siguiente:
· Ver si se produce la victoria. Si ocurre catalogarla como la mejor dándole el mejor puesto en la

clasificación.

· En caso contrario, considerar todos los posibles movimientos que el oponente puede realizar en la

siguiente jugada. Asumir que el oponente realizará este movimiento. Cualquier puesto que tenga la jugada,

asignarla al nodo que se está considerando.

· El mejor nodo es el que resulte con un puesto más alto.


ALGORITMO DE SARROLLADO EN PYTHON
RESULTADO
// En este caso la maquina gano

Conclusiones

El algoritmo MINIMAX es un método de decisión para minimizar la pérdida máxima esperada en juegos con

adversario y con información perfecta. MINIMAX es un algoritmo recursivo. La desventaja es que debe recorrer

todos los nodos del árbol para encontrar la solución óptima.

También podría gustarte