Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATERIA:
INTELIGENCIA ARTIFICIAL
PROFESOR:
MBA. Csar Vallejo de la Torre
Ao Lectivo
2014 2015
Universidad de Guayaquil
Facultad de Ciencias Administrativas
Ingenieria en Sistemas Administrativos
Computarizados
Expositores:
1.- CHEZ DELGADO LAURA
_________________________________________________
___
2.- CACAO ORTIZ ROXANA
_________________________________________________
___
3.- GUAMAN MIRANDA ABRAHAM
_________________________________________________
___
4.- ANCHUNDIA DELGADO JONATHAN
_________________________________________________
___
5.- BERNITA MACIAS BORIS
_________________________________________________
___
6.- QUIONEZ RODRIGUEZ LUIS
_________________________________________________
___
7.- PINCAY BAQUE MARCO
_________________________________________________
___
Observaciones:
_________________________________________________
___
_________________________________________________
___
_________________________________________________
___
_________________________________________________
___
Contenido
PREFACIO ............................................................................................................... I
Introduccin ............................................................................................................. 1
JUEGOS.................................................................................................................. 1
DEFINICIONES.................................................................................................... 2
Teora de Juegos ................................................................................................. 4
JUEGOS VS. PROBLEMAS DE BUSQUEDA. .................................................... 4
TIPOS DE JUEGOS............................................................................................. 5
Clasificacin de Juegos ....................................................................................... 6
Estrategias a Seguir ......................................................................................... 6
ALGORITMO MINIMAX .......................................................................................... 7
REPRESENTACIN DE LOS JUEGOS .............................................................. 8
FUNCIONAMIENTO ............................................................................................ 9
Ejemplo: .......................................................................................................... 10
VENTAJA DEL ALGORITMO MINIMAX ............................................................ 11
DESVENTAJAS ALGORITMO MINIMAX .......................................................... 11
MEJORAS DEL ALGORITMO MINIMAX ........................................................... 12
JUEGOS QUE USAN EL ALGORITMO MINIMAX............................................. 12
Dinmica del juego ......................................................................................... 13
Reglas del juego ............................................................................................. 13
Optimizacin Mini-Max ....................................................................................... 20
ANLISIS MINI-MAX ......................................................................................... 20
ALGORITMO ALFA-BETA .................................................................................... 21
MTODO ALFA-BETA ....................................................................................... 22
REGLAS DE FINALIZACIN ............................................................................. 23
PROCEDIMIENTO ............................................................................................. 23
Caractersticas de la Poda Alfa-Beta ................................................................. 24
Estructuras de datos ....................................................................................... 25
ORIGEN DEL NOMBRE ALFA .......................................................................... 26
ALGORITMO DE BSQUEDA ALFA-BETA ...................................................... 26
EJEMPLO .......................................................................................................... 28
ALGORITMO MINI-MAX CON PODA - .......................................................... 33
BIBLIOGRAFIA ..................................................................................................... 44
Ingeniera en Sistemas Administrativos Computarizados 1952
PREFACIO
La importancia del proyecto est enfocada en las Tcnicas de la Ingeniera
Artificial para la solucin de problemas que contribuye a la solucin del problema
planteado, de igual manera con el desarrollo de la investigacin se est dando un
gran aporte al tpico de Inteligencia Artificial.
PREFACE
The importance of the project is focused on Artificial Engineering Techniques for
solving problems contributing to the solution of the problem, just as with the
development of research is giving a great contribution to the topic of Artificial
Intelligence.
The directory of the project is the clear tool that helps process information from the
students, the welfare of the society, the academic future of the area of Artificial
Intelligence.
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.
Este juego fue estudiado por Claude Shanon y hasta el mismo Alan Turing, los
cuales sugirieron algunas formas de representarlos en un ordenador.
JUEGOS
Un juego consiste en un conjunto de reglas que rigen una situacin competitiva en
al cual de dos a n agentes escogen estrategias diseadas para maximizar sus
propias ganancias o para minimizarlas ganancias de sus oponentes.
Las reglas especifican las acciones posibles para cada jugador, la cantidad de
informacin recibida por cada uno mientras se juega, y la cantidad de ganancia o
prdida en varias situaciones.
Los entornos competitivos, en los cuales los objetivos de los agentes estn en
conflicto, dan ocasin a problemas de bsqueda entre adversarios, a menudo
conocidos como juegos.
Los entornos multiagente, en los cuales cualquier agente tendr que considerar
las acciones de otros agentes y cmo afectan a su propio bienestar. La
imprevisibilidad de estos otros agentes puede introducir muchas posibles
contingencias en el proceso de resolucin de problemas del agente. Los entornos
competitivos, en los cuales los objetivos del agente estn en conflicto, dan ocasin
a problemas de bsqueda entre adversarios, a menudo conocidos como juegos.
En IA <<los juegos>> son, por lo general, una clase ms especializada (que los
tericos de juego llaman JUEGO DE SUMA CERO, de dos jugadores, por turnos,
de INFORMACION PERFECTA). En nuestra terminologa, 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.
DEFINICIONES
Von Neumann (1944):
Juegos en los cuales ningn jugador puede ganar excepto si otropierde (Zero-
sum).
El brasileo Fabio Otuzi Brotto (1999), basndose en las ideas de Terry Orlick,
destaca el papel educativo de los juegos cooperativos comparndolo con el de los
juegos competitivos:
Teora de 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 (IO), 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.
TIPOS DE JUEGOS
Los juegos, que ya de por si son una subcategora de problemas, tambin pueden
su clasificarse.
Una vez situados los jugadores y sus turnos, hay que saber que conocimiento
tienen estos. En los juegos los jugadores pueden tener o bien
CONOCIMIENTO PERFECTO, donde no afecta el azar y todos saben en todo
momento lo mismo, o bien CONOCIMIENTO IMPERFECTO, donde el azar si
puede participar y adems hay ocultacin de informacin entre jugadores.
Clasificacin de Juegos
Cooperacin Cooperativos/no cooperativos
Beneficios Suma nula: la suma de beneficios y prdidas de los jugadores debe ser
0. (Son habituales en IA).
Estrategias a Seguir
Lo que realmente haremos ser buscar una aproximacin de las mejores jugadas,
guindonos mediante heursticos, y prediciendo nicamente las situaciones con
mejor pinta (pues por ejemplo no sirve de nada saber las situaciones que podran
darse despus de hacer un paso en falso). Para poder realizar los clculos
computacionalmente, har falta una abstraccin codificable del juego. Entender e
implementar realmente el problema.
Necesitaremos una representacin del estado (vlida para cualquier estado), otra
del estado inicial (desde dnde se empieza a jugar y quin inicia el juego), otra del
estado ganador (ya sea por estructura o por propiedades), y finalmente definir los
operadores de movimiento vlidos de los jugadores, que determinarn las jugadas
que puede hacer un agente desde el estado actual.
computacional lo ms bajo posible. Una vez definido el universo del juego, nos
tocar aplicar el algoritmo ms adecuado.
Ajedrez: Deep Blue derrot al campen Gary Kasparov en una serie de 6 juegos
en 1997. Deep Blue realizo una bsqueda de 200 millones de posiciones por
segundo, utilizo una evaluacin muy sofisticada, y no revel mtodos para
extender algunas lneas de bsqueda arriba de 40 jugadas.
ALGORITMO MINIMAX
Hace eleccin del mejor movimiento para cada jugador, suponiendo que el
contrincante escoger el peor.
El espacio de estados se representa mediante rboles alternados donde:
Un nodo, representa una situacin del juego.
Sucesores de un nodo, son situaciones del juego a las que se accede por
movimientos legales aplicando sus reglas.
Nivel, contiene todas las situaciones posibles para cada uno de los jugadores.
7 Grupo# 5 Tcnicas de IA para la solucin de problemas
Juegos Competitivos.
Ingeniera en Sistemas Administrativos Computarizados 1952
FUNCIONAMIENTO
El funcionamiento de Mini-Max puede resumirse como elegir el mejor movimiento
para ti mismo suponiendo que tu contrincante escoger el peor para ti.
1.- Generacin del rbol de juego, se generan todos los nodos hasta llegar a un
estado terminal.
2.- Calculo de los valores de la funcin de utilidad para cada nodo terminal
3.- Calcular el valor de los nodos superiores a partir del valor de los inferiores.
Ejemplo:
El funcionamiento en un rbol generado un juego imaginario
Los posibles valores de la funcin de utilidad tienen un rango de utilidad de 1-9.
Para juegos con un factor de ramificacin elevado, esta profundidad no podr ser
muy grande, ya que el clculo necesario para cada decisin ser prohibitivo. Su
tiempo de exploracin ser muy grande. Para mejorarlo hay que utilizar heursticos
con poda, es decir se utilizar una tcnica de ramificacin y poda.
Poda de inutilidades, es una evolucin de la Poda Alfa-beta
Bsqueda Sesgada
El tablero del juego est formado por dos filas de 8 cada una. Una fila pertenece a
un jugador y la otra a su oponente. Una caracterstica de este juego es que el
nmero total de semillas en el tablero permanece constante, y que cada jugador
slo siembra en su fila. Por tanto, si un jugador captura semillas del otro jugador
est obligado a sembrar semillas de nuevo estas semillas en sus hoyos.
1.- Captura semillas: Si cae en un hoyo con un nmero impar de semillas (antes
de depositar la nueva) y el contrario en el hoyo opuesto tambin tiene un nmero
impar de semillas, se capturan las semillas del hoy opuesto y se siembran en la
fila del jugador, comenzando a sembrar a partir del siguiente hoyo a la derecha de
la ltima siembra. Tras la nueva siembra, volver analizarse el nuevo hoyo de
ltima siembra para comprobar si de nuevo hay captura o cesin.
2.- Cede semillas y cambio de turno: Si cae en un hoyo con 3 o ms semillas que
no cualifica para captura, y si el contrario tiene una o dos pero menos de 3
semillas en su hoyo opuesto, se ceden al hoyo contrario todas las semillas del
hoyo de ltima semilla y se pasa el turno al oponente.
Turno jugador B
Dado el siguiente tablero en el que el jugador B tiene el turno:
Decide jugar al hoyo, que solo tiene una semilla, que se depositar en el hoyo 3,
resultado el tablero:
El hoyo de ltima semilla ser el hoyo 3 del jugador B. Como tena semillas antes
de depositar la nueva y el hoyo opuesto del jugador A tambin tiene semillas, el
jugador B captura las 5 semillas del hoyo 4 del jugador A.
A continuacin se realiza la siembra de las semillas capturadas, que se realizar a
partir del siguiente a la derecha del fin de la siembra (hoyo 4), depositando una
semilla en los hoyos 4, 5, 6, 7 y 0
Ahora el hoyo de fin de siembra ser el 0 del jugador B que tena una
semilla(impar) antes de depositar la ltima, pero el hoyo opuesto tiene 4
semillas(par), con lo que no hay otra captura. Tampoco se dan las condiciones
para la cesin, por lo tanto, se producir el final de la jugada y el cambio de turno.
16 Grupo# 5 Tcnicas de IA para la solucin de problemas
Juegos Competitivos.
Ingeniera en Sistemas Administrativos Computarizados 1952
Decide jugar en el hoyo 0, que solo tiene una semilla, que se depositar en el
hoyo 1.
El hoyo de la ltima semilla (hoyo 1) tena semillas antes de depositar la nueva (1,
impar) y el hoyo opuesto del jugador B tambin (1, impar). Al ser ambas impares,
el jugador A captura B la semilla de su hoyo 6(1).
El ejemplo anterior contiene dos fines de turno, uno par el jugador B y uno par el
jugador A.
Optimizacin Mini-Max
En la practica el mtodo Minimax es impracticable excepto en supuestos sencillos.
Realizar la bsqueda completa requerira cantidades excesivas de tiempo y
memoria.
ANLISIS MINI-MAX
Es un mtodo general y sencillo que permite representar y buscar estrategias
ganadoras en los problemas de juego en los que hay dos adversarios. El
etiquetado de los nodos permite identificar las distintas estrategias posibles.
ALGORITMO ALFA-BETA
El algoritmo alfa-beta es un mtodo de bsqueda en juegos que le permite a la
mquina escoger la jugada ms adecuada, en un juego entre dos jugadores en el
que no existe el azar (como el ajedrez, las damas, etc.), sin necesidad de explorar
todo el espacio de jugadas futuras. Esto es posible debido a que el algoritmo
incorpora un mecanismo mediante el cual se puede evitar la evaluacin de ciertas
jugadas si es posible saber que no mejorarn la mejor jugada encontrada hasta el
momento.
Un nodo hoja ser un nodo que no tenga hijos, ya sea porque se ha alcanzado el
mximo nivel de profundidad establecido como parmetro del algoritmo o porque
no se pueden realizar ms movimientos a partir de la situacin del tablero que
representa dicho nodo (por ejemplo, porque la partida haya acabado, o no sea
posible colocar ms fichas). Cuanta mayor sea la profundidad del rbol ms
jugadas futuras se evaluarn, pero el coste temporal tambin ser mayor.
El algoritmo alfa-beta incluye un paso de poda. Cada nodo almacena dos valores
llamados alfa y beta, que son inicializados como menos infinito y ms infinito
respectivamente. Estos valores pasan de un nodo a sus nodos hijos. Cuando un
nodo MAX recibe el valor de alguno de sus hijos actualiza su valor de alfa (que
ser el mximo entre el valor obtenido y el valor de alfa anterior), y cuando un
nodo MIN recibe el valor de alguno de sus hijos actualiza su valor de beta (que
ser el mnimo entre el valor obtenido y el valor de beta anterior). Un nodo MAX
devolver su valor de alfa y un nodo MIN devolver su valor de beta. Si en algn
momento el valor de alfa es mayor o igual que el de beta para un nodo cualquiera,
se produce una poda: no se evalan ms hijos de dicho nodo y se devuelve un
valor. En el caso de un nodo MAX se devolver su valor beta y en el caso de un
nodo MIN se devolver su valor alfa.
MTODO ALFA-BETA
Problema de la bsqueda Mini-Max: el nmero de estados que tiene que
examinar es exponencial.
Es posible calcular la decisin minimax correcta sin examinar todos los
nodos del rbol.
La poda alfa-beta permite eliminar grandes partes del rbol, sin influir en la
decisin final
1. Una de generacin
2. Una de evaluacin
REGLAS DE FINALIZACIN
En los nodos MAX la condicin de poda es p p-1
(Se puede podar por debajo de un nodo MAX si su valor alfa es mayor o igual que
al menos un beta antecesor)
En los nodos MIN la condicin de poda es p p-1
(Se puede podar por debajo de un nodo MIN si su valor beta es menor o igual que
al menos un alfa antecesor)
PROCEDIMIENTO
1 Descender primero en profundidad hasta la profundidad total del ply
2 Aplicar la evaluacin heurstica a un nodo y a todos sus hermanos
3 Asignar valores al padre: el valor se oferta al abuelo como valor potencial
4 Descender a otro nieto y terminar la exploracin del padre si alguno de sus
valores cumple el criterio de parada
Si el valor del nodo MAX (alfa) es menor que el ms alto hasta este momento,
entonces omitir nodo.
SI el valor del nodo MIN (beta) es mayor que el nodo ms bajo hasta el
momento, entonces omitir nodo.
Alfa-Beta es una mejora del algoritmo Mini-Max que evita revisar porciones
dominadas del rbol, que no pueden proveer informacin til sobre la jugada
siguiente.
Estructuras de datos
Dos variables deben recordarse a lo largo de la bsqueda:
1. Ejecutar Mini-Max
2. Mantener recordados Alfa y Beta
3. Podar
As tenemos:
EJEMPLO
Poda alfa-beta
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.
Poda alfa-beta
Los dos parmetros alfa y beta describen los lmites sobre los valores que
aparecen a lo largo del camino:
BIBLIOGRAFIA
https://code.google.com/p/intart/source/browse/trunk/juegos/base/_AgenteHeuri
stico.java?r=35
https://codigoia.wordpress.com/tag/alfa-beta/
http://itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20Artificial/Apuntes/I
A/Alfa-Beta.pdf
http://jsbsan.blogspot.com/2011/01/inteligencia-artificial-algoritmos.html
http://www.efdeportes.com/efd109/los-juegos-cooperativos.htm