inteligencia en redes de comunicaciones · juegos bipersonales este tipo de juegos los podemos...

12
INTELIGENCIA EN REDES DE COMUNICACIONES JUEGOS CON ADVERSARIO ALGORITMO MINIMAX PODA ALFA-BETA OTRAS MEJORAS ANA BEATRIZ SOLANA SÁNCHEZ

Upload: others

Post on 23-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

INTELIGENCIA EN REDES DE COMUNICACIONES

JUEGOS CON ADVERSARIOALGORITMO MINIMAX

PODA ALFA­BETA

OTRAS MEJORAS

ANA BEATRIZ SOLANA SÁNCHEZ

Page 2: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

JUEGOS BIPERSONALES

● Este tipo de juegos los podemos definir como:– Un estado inicial (una posición del tablero e 

indicación de a quien le toca jugar)

– Un conjunto de operadores que indican las jugadas que se pueden realizar

– Una prueba terminal que indica el final del juego

– Una función de utilidad que asigna un valor numérico al resultado del juego

Page 3: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Algoritmo Minimax I

● En los juegos bipersonales, el algoritmo más utilizado se denomina Minimax

● Minimax es un algortimo de búsqueda en profundidad, de profundidad limitada. 

● La profundidad puede venir limitada por:– Gana un jugador

– Se han explorado N capas (N establecido)

– Se ha agotado el tiempo de exploración

– Se llega a una situación estática en la que no hay grandes cambios de un nivel a otro

Page 4: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Algoritmo Minimax II

● El jugador que comienza a jugar se denomina MAX y el contrincante se denomina MIN

● El algoritmo va a maximizar la función para MAX y minimizarla para MIN

● Consta de 5 pasos:– 1.­ Generación de todo el árbol de juego, completamente hasta 

llegar a los estados terminales. (En nuestro caso hasta nuestro corte)

– 2.­  Aplicación de la función de utilidad a cada estado terminal y obtención de su valor respectivo.

– 3.­  Uso de la utilidad de los estados terminales para calcular la utilidad de los nodos de nivel superior en el árbol de búsqueda.

Page 5: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Algoritmo Minimax III

– 4.­  Continuación del respaldo a los valores de los nodos hojas, en dirección a la raíz, una capa a la vez.

– 5.­  Finalmente, los valores respaldados llegan a la parte superior del árbol; aquí, MAX selecciona la jugada que le permite obtener el valor más alto.

● NOTA:–  Cada capa correponde a una jugada de MAX o MIN 

respectivamente

– La función de utilidad en nuestro caso es una función de evalución heurística puesto que cortamos la recursión

Page 6: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Ejemplo numérico

Page 7: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Poda alfa­beta

● La poda consiste en evitar la exploración de una de las ramas del árbol de búsqueda y que produce la misma jugada que se obtendría con minimax pero eliminando 

aquellas ramas que no influirán en la decisión final● Para el algortimo Minimax éste es el mecanismo utilizado 

puesto que exiten dos jugadores maximixador y minimizador, exiten dos valores umbral:

– Alfa: cota inferior del valor que puede asignarse en último término a un nodo maximizante

– Beta: cota superior del valor que puede asinarse en último término a un nodo minimizante

Page 8: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Ejemplo numérico

Page 9: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Eficiencia poda alfa­beta

● La eficiencia de la poda alfa­beta dependerá del orden en que se exploren los sucesores.

● Es decir, se obtendrá mayor beneficio si exploramos primero aquellos caminos más óptimos, pero claro, no haríamos la búsqueda si supieramos de antemano el mejor camino.

Page 10: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Refinamientos adicionales

● Poda de inutilidades:– Consiste en la finalización de la exploración en 

un subárbol que ofrece pocas posibilidades de mejora sobre otros caminos ya explorados.

● Espera del reposo– Evita el efecto horizonte (cuando se toma una 

decisión errónea debido a que la recursión no es infinita), cortando la recursión cuando se llega a una solución estable

Page 11: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

Refinamientos adicionales

● Búsqueda secundaria– Consite en realizar una doble comprobación del 

movimiento elegido para comprobar que no hay trampa en movimientos posteriores a los explorados

● Exiten algoritmos alternativos, para solventar problemas del algoritmo Minimax:– No considera tiempo

– Confía en que el adversario elija el camino óptimo

● Minimax dependiente de adversario ● Profundidad iterativa

Page 12: INTELIGENCIA EN REDES DE COMUNICACIONES · JUEGOS BIPERSONALES Este tipo de juegos los podemos definir como: – Un estado inicial (una posición del tablero e indicación de a quien

BIBLIOGRAFÍA

● dmi.uib.es/~abasola/intart/2­juegos.html#2.3.● pdf.rincondekvago.com/juegos_4.html● club.telepolis.com/ohcop/clase9_1.ppt● www.uhu.es/nieves.pavon/pprogramacion/pr

acticas/febrero/juego/alfabeta.html