Está en la página 1de 10

Universidad Csar Vallejo - Lima Este

Ao de la Integracin Nacional y el Reconocimiento de Nuestra Diversidad Curso: Inteligencia Artificial

Docente: Ing. Sal Prez

Tema: Algoritmo Minimax.

Alumnos: Aranda Palomino, Rosa Elizabeth. Chvez Ganoza, Fiorella Stefany. Chumbes Lizrraga, Bryan. Contreras Taype, Milagros. Marco Crdenas, Jeyson.

Lima Este 2012

Universidad Csar Vallejo - Lima Este

Introduccin

La inteligencia Artificial, es una campo de que ha tomado gran inters en los ltimos tiempos debido a su capacidad de poder resolver soluciones imitando el razonamiento lgico de las personas y hasta el mecanismo de cmo ellas la resuelven.

Un tema interesante a tratar a lo que concierne a la Inteligencia Artificial son los juegos. Los juegos han sido estudiados a lo largo de la historia formulndose incluso modelos matemticos que permitiesen desarrollarlos.

En un principio, estos juegos fueron estudiados por una rama de la ciencia denominada Investigacin Operativa, la cual proporcionaba tcnicas que solo podran ser aplicables si exista un procedimiento finito. Con el surgimiento de la Inteligencia Artificial se crean nuevos algoritmos de bsquedas que permiten desarrollar soluciones dentro de procedimientos no finitos.

Uno de estos algoritmos es el algoritmo Minimax, que es una tcnica que se centra en la resolucin de problemas de bsquedas, basadas en la alternacin de dos entes o agentes a los cuales se les denominan Min y Max utilizando Poda Alpha-Beta que es muy usado en la teora de Juegos y que permite encontrar soluciones dentro de un campo de bsquedas infinito.

Universidad Csar Vallejo - Lima Este

Algoritmo MiniMax Utilizando Poda Alpha-Beta

Algoritmo Mini Max:


La estrategia MiniMax es una estrategia de bsqueda exhaustiva mediante un rbol de bsqueda. Este algoritmo considera el caso de 2 participantes a los que se les denomina Max y Min.

El que inicia el juego es Max y existe una alternancia en la participacin del juego. Por lo tanto lo que tiene que hacer Max, es determinar la secuencia de jugadas que conduzca a un estado Terminal ganador o favorecedor.

En teora de juegos, Minimax es un mtodo de decisin para minimizar la prdida mxima esperada en juegos con adversario y con informacin perfecta. Este clculo se hace de forma recursiva. El funcionamiento de Minimax puede resumirse como elegir el mejor movimiento para ti mismo suponiendo que tu contrincante escoger el peor para ti. Es un algoritmo inteligente, que tiene una base de conocimientos el cual tiene como objetivo almacenar jugadas realizadas cada vez que inicia un juego o de acuerdo a los movimientos y al historial que tiene con respecto a ellos. Una vez que ya ha tenido recorrido juegos lo que empieza hacer este algoritmo es aplicar la experiencia obtenida a nuevos juegos. Este algoritmo es imparcial pues busca que el oponente realice jugadas que no beneficien tanto su estrategia de juego.

Universidad Csar Vallejo - Lima Este Ventajas:


El algoritmo tiene la capacidad de aprender de acuerdo a una base de datos histrica de movimientos realizado, es decir, aprende con la experiencia El algoritmo ser infalible o un gran oponente a vencer entre ms juegos y movimientos tenga en su historial. Aprende del oponente y al tiempo le da ventaja (para luego utilizar las estrategias del oponente en otros juegos).

Desventajas:
El algoritmo tiene una complejidad muy elevada de implementacin, pues el hecho de estructurar una base de datos de experiencia requiere de armar y estructurar un esquema de aprendizaje ptimo. Es lento de aprendizaje, pues por cada jugada realizada y el conjunto de las que tiene almacenadas lo obliga a implementar algoritmos de comparacin, bsqueda, insercin, etc. Por cada nuevo oponente deber implementar estructuras de aprendizaje, pues no todos los oponentes juegan de la misma forma. El algoritmo solo funciona para enfrentar un oponente a la vez

Universidad Csar Vallejo - Lima Este

Poda alfa-beta:
La poda alfa beta es una tcnica de bsqueda que reduce el nmero de nodos evaluados en un rbol de juego por el algoritmo Minimax. Se trata de una tcnica muy utilizada en programas de juegos entre adversarios como el ajedrez, el tres en raya o el Go. Alfa-beta es un algoritmo BPP, rama y cota, que avanza por el rbol en un orden ya fijado (de izquierda a derecha) y va usando la informacin de la valuacin de los nodos hoja para podar ramas dominadas que no sirven para cambiar el valor MiniMax del nodo inicio (la jugada inminente). Es una tcnica mejorada del algoritmo MiniMax, que consiste en dividirlo en la mitad. La jugada es que es posible calcular la decisin mnima correcta sin mirar todos los nodos en el rbol de juegos. La poda Alfa-Beta puede aplicarse a arboles de cualquier profundidad y tambin subrboles enteros. Entre los pioneros en el uso de esta tcnica encontramos a Arthur Samuel, D.J Edwards y T.P. Hart, Alan Kotok, Alexander Brudno, Donald Knuth y Ronald W. Moore4 El problema de la bsqueda Minimax es que el nmero de estados a explorar es exponencial al nmero de movimientos. Partiendo de este hecho, la tcnica de poda alfa-beta trata de eliminar partes grandes del rbol, aplicndolo a un rbol Minimax estndar, de forma que se devuelva el mismo movimiento que devolvera este, gracias a que la poda de dichas ramas no influye en la decisin final.

Desarrollo del algoritmo:


La bsqueda MiniMax es primero en profundidad, por ello en cualquier momento slo se deben considerar los nodos a lo largo de un camino en el rbol. La poda alfa-beta toma dicho nombre de la utilizacin de dos parmetros que describen los lmites sobre los valores hacia atrs que aparecen a lo largo de cada camino.

Universidad Csar Vallejo - Lima Este

es el valor de la mejor opcin hasta el momento a lo largo del camino para MAX, esto implicar por lo tanto la eleccin del valor ms alto es el valor de la mejor opcin hasta el momento a lo largo del camino para MIN, esto implicar por lo tanto la eleccin del valor ms bajo.

Esta bsqueda alfa-beta va actualizando el valor de los parmetros segn se recorre el rbol. El mtodo realizar la poda de las ramas restantes cuando el valor actual que se est examinando sea peor que el valor actual de o para MAX o MIN, respectivamente.

Caractersticas:
Omitir la expansin de nodos que por sus valores no pueden se los mejores (peores). Interrumpe la bsqueda en algn nivel y aplica evaluaciones heursticas a las hojas (profundidad limitada). Si el valor del nodo MAX (Alfa) es menor momento, entonces omite el nodo. Si el valor del nodo MIN (Beta) es mayor que el nodo ms bajo hasta este momento, entonces omite el nodo. Alfa-Beta permite la bsqueda dos veces ms profunda. Problema de la bsqueda MiniMax: el nmero de estados que tiene que examinar es exponencial con el nmero de movimientos. El exponente no se puede eliminar, pero se puede dividir en la mitad. Es posible calcular la decisin MiniMax correcta sin mirar todos los nodos en el rbol. La poda alfa-beta permite eliminar partes grandes del rbol, sin influir en la decisin final. que el ms alto hasta este

Universidad Csar Vallejo - Lima Este Eficacia de la poda alfa-beta:


La eficacia de la poda Alfa-Beta depende del orden en el que se examinan los sucesores, es decir, el algoritmo se comportar de forma ms eficiente si examinamos primero los sucesores que probablemente sern los mejores. Si esto pudiera hacerse, implicara que Alfa-Beta slo tendra que examinar en lugar de los ramificacin eficaz ser de de Minimax. Esto implica que el factor de en lugar de . En otras palabras, alfa-beta podra

mirar hacia delante aproximadamente dos veces ms que Minimax en la misma cantidad de tiempo. Si se recurre a una ordenacin aleatoria en lugar de primero el mejor en los sucesores, el nmero aproximado de nodos examinados sera de un valor moderado de . para

En ajedrez se puede realizar una funcin de ordenacin sencilla teniendo en cuenta primero capturas de fichas, despus amenazas, movimientos hacia delante y por ltimo movimientos hacia detrs, esto conseguira aproximadamente un factor de dos del resultado del mejor caso. La inclusin de esquemas

dinmicos para ordenar movimientos, basados en experiencia podra acercarse al lmite terico.

Universidad Csar Vallejo - Lima Este APLICACIONES

1. Aplicacin Del Algoritmo Poda Alpha-Beta Para La Implementacin Del Juego Ajedrez

El juego del ajedrez es un juego adecuado para tratarlo mediante tcnicas de IA debido a que tiene claramente definidos el objetivo que se quiere alcanzar (meta) y los medios para llegar (movimientos permitidos) . En este juego, el programa en todo momento debe conocer la configuracin del tablero para la maquina poder tomar la decisin adecuada (jugada), que le permita ganar. Para ello necesita de gran capacidad de almacenamiento de informacin, utilizando estructuras que le permitan llegar a conclusiones coherentes.

Universidad Csar Vallejo - Lima Este 2. Implementacin del Algoritmo Poda Alfa - Beta en el Juego del Acorralado

3. Desarrollo del Algoritmo Minimax con Poda AlfaBeta como Estrategia para el Juego Othello en Common Lisp

Universidad Csar Vallejo - Lima Este


Se implement el algoritmo MiniMax con poda alfa-beta como estrategia para crear un adversario robusto en el juego de Othello en Common Lisp. Las heursticas utilizas fueron dos: la diferencia de fichas de los jugadores para determinar quin va ganando, y la segunda es una heurstica basada en pesos segn las posiciones que se consideran mejores que otras. Con base a las pruebas realizadas la mejor heurstica fue la heurstica de las esquinas que proporciona una visin adelantada ms detallada del juego para volver robusto al jugador artificial.

4. Tres en Raya en Prolog usando Algoritmo MINIMAX y Poda Alfa-Beta