ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SEPTIMO
PERÍODO ABRIL-SEPT/2015 TEMA:
BUSQUEDA ENTRE ADVERSARIOS MATERIA: INTELIGENCIA ARTIFICIAL AUTORA: SINDY M. COBEÑA CEDEÑO FACILITADORA: ING. HIRAIDA SANTANA MISIÓN Formación de profesionales íntegros que conjuguen ciencia, tecnología y valores en su accionar, comprometidos con la sociedad en el manejo adecuado de programas y herramientas computacionales de última generación.
VISIÓN Ser referente en la formación de profesionales de prestigio en el desarrollo de aplicaciones informáticas y soluciones de hardware.
CALCETA, MAYO 2015
INTRODUCCIÓN En este Capítulo nos referiremos a las búsqueda entre adversarios y nos enfocaremos en uno de los algoritmos, como es el MINIMAX el cual solo se debe de realizar para dos contrincantes, no se lo debe empelar donde hay juegos al azar si no perfectamente definidos como el tres en raya y el ajedrez. Conoceremos también cada uno de sus elementos que se tiene en cuenta para resolver este tipo de algoritmos y ejercicios para su mejor comprensión. .
OBJETIVO El objetivo de este Capítulo es conocer sobre las búsquedas entre adversarios para aplicarlos de forma correcta a la hora de desarrollar ejercidos para dos adversarios.
MARCO TEÓRICO JUEGOS
La teoría matemática de juegos, juegos, una rama de la Economía, ve a cualquier entorno multiagente como un juego a condición de que el impacto de cada agente sobre los demás sea
≪significativo≫,
sin tener en
cuenta si los agentes son cooperativos o competitivos. En IA, ≪los juegos≫ son, por lo general, una clase más especializada (que los teóricos de juegos llaman juegos de suma de ceros, ceros, dos jugadores, por turnos, determinista, de información perfecta.
En
nuestra
terminología,
significan
entornos
deterministas,
totalmente
observables en los cuales hay dos agentes cuyas acciones deben alternar y en los que los valores utilidad, al final de juego, son siempre iguales y opuestos. Por ejemplo, si un jugador gana un juego de ajedrez (+1), el otro jugador necesariamente pierde (-1).
DECISIONES ÓPTIMAS EN JUEGOS Consideraremos juegos con dos jugadores, que llamaremos MAX y MIN MIN por motivos que pronto se harán evidentes, MAX mueve MAX mueve primero, y luego mueven por turno hasta que el juego se termina. Al final de juego, se conceden puntos al jugador ganador y penalizadones al perdedor. Un juego puede definirse formalmente como una clase de problemas de búsqueda con los componentes siguientes:
•
•
Identifica al jugador que mueve.
ESTADO INICIAL
•
Da un valor numérico a los estados terminales
FUNCION DE UTILIDAD
•
Devuelve una lista de pares
FUNCION SUCESOR
•
Determina cuándo se termina el juego
TEST TERMINAL
ESTRATEGIAS ÓPTIMAS En un problema de búsqueda normal, la solución óptima sería una secuencia de movimientos que conducen a un estado objetivo (un estado terminal que es ganador). En un juego, por otra parte, MIN tiene MIN tiene algo que decir sobre ello. MAX por lo tanto debe debe
encontrar una una estrategia estrategia contingente, que especifica especifica el el
movimiento de MAX en MAX en el estado inicial, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN, MIN, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN de MIN de los
≪≪anteriores
movimientos, etc. Hablando de forma aproximada,
una estrategia óptima conduce a resultados al menos tan buenos como cualquier otra estrategia cuando uno juega con un oponente infalible.
Comenzaremos mostrando como encontrar esta estrategia óptima, aunque será infactible, para MAX, MAX, al calcularla en juegos más complejos que tic-tactoe.
ALGORITMO MINIMAX Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios. El algoritmo MINIMAX MINIMAX es un procedimiento recursivo recursivo y el corte de la recursión está dado por alguna de las siguientes siguientes condiciones: condiciones:
Gana algún jugador Se han explorado N capas, siendo N el límite establecido Se ha agotado el tiempo de exploración Se ha llegado a una situación estática donde no hay grandes cambios de un nivel a otro.
REPRESENTACIÓN DE LOS JUEGOS Posición inicial. Conjunto de operadores o reglas del juego (definen movimientos legales) Estado terminal Función de utilidad, ejemplo. Gana, Pierde, Empata
PASOS DEL ALGORITMO MINIMAX 1. Generación del árbol de juego. juego. Se generarán todos los nodos hasta hasta llegar a un estado terminal. 2. Cálculo de los valores de la función de utilidad para utilidad para cada nodo terminal. 3. Calcular el valor de los nodos superiores a partir del 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. MINIMAX. 4. Elegir la jugada valorando valorando los valores que que han llegado al nivel superior.
El algoritmo explorará los nodos del árbol asignándoles un valor numérico mediante una función de utilidad, empezando por los nodos terminales y subiendo hacia la raíz. Colocar 0 ó 1 en los nodos terminales dependiendo si gana MIN o MIN o MAX. MAX. La función de utilidad definirá lo buena que es la posición para un jugador cuando la alcanza. Se requiere de una estrategia que garantice llegar a estados terminales ganadores independientemente independientemente de lo que haga el oponente. Un valor positivo indica la ventaja de un jugador y uno negativo la ventaja del otro. El jugador que espera valores positivos se conoce como MAXIMIZADOR El jugador que espera valores negativos se conoce como MINIMIZADOR El MAXIMIZADOR busca MAXIMIZADOR busca movimientos que lo conduzcan al mayor número positivo. El MINIMIZADOR busca MINIMIZADOR busca movimientos que lo conduzcan al menor número negativo. Ejemplo:
VENTAJAS ALGORITMO MINIMAX Capacidad de aprender de acuerdo a una base de datos histórica de movimientos realizados. Algoritmo casi infalible
DESVENTAJAS ALGORITMO MINIMAX Algoritmo de complejidad elevada elevada a la hora de implementar. Es de aprendizaje lento Solo vale para enfrentarse a un oponente a la vez.
CONCLUSION En Conclusión las búsquedas entre adversarios y en preferencia los algoritmos minimax son uno de los más sencillos a la hora de resolver problemas ya que solo se debe de realizar cuando hay dos participantes que se le denomina M AX y MIN, los que a su su vez cumplen una función función específica para lograr la victoria al final del juego.
BIBLIOGRAFÍA Russell, S y Norvig, P.2004. Inteligencia Artificial Un enfoque Moderno. 2ed. Madrid, ESP. Pearson. p 135
López, B .2004. .2004. Algoritmo MINIMAX, Consultado Consultado el 18/07/15, 18/07/15, archivo PDF. PDF. En línea,
Disponible
en:
http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20Artificial/Apu ntes/IA/Minimax.pdf
Bustos, J .2012. Algoritmo Algoritmo MINIMAX, Consultado el 18/07/15, archivo PDF. En línea,
Disponible
en:
http://joseluisbustos-meta4-
peoplenet.blogspot.com/2012/03/algoritmo-minimax.html