SlideShare una empresa de Scribd logo
1 de 30
Búsqueda entre adversarios Donde examinaremos los problemas que surgen cuando tratamos de planear en un mundo donde otros agentes planean contra nosotros. Presenta: Geovany Pérez Santa Cruz
SUBTEMAS 6.1 Juegos. 6.2 Decisiones óptimas en juegos. 6.3 Poda alfa-beta. 6.4 Decisiones en tiempo real imperfectas. 6.5 Juegos que incluyen un elemento de posibilidad.
6.1 Juegos En IA, los juegos son, por lo general, una clase más especializada (que los teóricos de juegos llaman juegos de suma cero, de dos jugadores, por turnos, determinista, de información perfecta). Por ejemplo, si un jugador gana un juego de ajedrez (+ 1), el otro jugador necesariamente pierde (- 1). Esta oposición entre las funciones de utilidad de los agentes hace la situación entre adversarios. Los juegos han ocupado las facultades intelectuales de la gente (a veces a un grado alarmante) mientras ha existido la civilización. Para los investigadores de IA, la naturaleza abstracta de los juegos los hacen un tema atractivo aestudiar. El jugar a juegos fue una de las primeras tareas emprendidas en IA. Hacia 1950, casi tan pronto como los computadores se hicieron programables, el ajedrez fue abordado por Konrad Zuse (el inventor del primer computador programable y del primer lenguaje de programación), por Claude Shannon (el inventor de la teoría de información), por NorbertWiener(el creador de la teoría de control moderna), y por Alan Turing.
Los juegos, como el mundo real, requieren la capacidad de tomar alguna decisión cuando es infactible calcular la decisión óptima. Los juegos también castigan la ineficiencia con severidad. Mientras que una implementación de la búsqueda A* que sea medio eficiente costará simplemente dos veces más para ejecutarse por completo, un programa de ajedrez que sea medio eficiente en la utilización de su tiempo disponible, probablemente tendrá que descartarse si no intervienen otros factores. La poda nos permite ignorar partes del árbol de búsqueda que no marcan ninguna diferencia para obtener la opción final, y las funciones de evaluación heurísticas nos permiten aproximar la utilidad verdadera de un estado sin hacer una búsqueda completa. Finalmente, veremos cómo se desenvuelven los programas de juegos contra la oposición humana y las direcciones para el desarrollo futuro.
6.2 Decisiones óptimas en juegos Consideraremos juegos con dos jugadores, que llamaremos M AX y MIN por motivos que pronto se harán evidentes. 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 penalizaciones al perdedor. Un juego puede definirse formalmente como una clase de problemas de búsqueda con los componentes siguientes: El estado inicial, que incluye la posición del tablero e identifica al jugador que mueve. Una función sucesor, que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta. Un test terminal, que determina cuándo se termina el juego. A los estados donde el juego se ha terminado se les llaman estados terminales.
Una función utilidad (también llamada función objetivo o función de rentabilidad), que da un valor numérico a los estados terminales. En el ajedrez, el resultado es un triunfo, pérdida, o empate, con valores + 1, - 1 o 0.Algunos juegos tienen una variedad más amplia de resultados posibles: las rentabilidades en el backgammon se extienden desde + 192 a - 192. Este capitulo trata principalmente juegos de suma cero, aunque mencionemos brevemente juegos con «suma no cero». El estado inicial y los movimientos legales para cada lado definen el árbol de Juegos. La Figura 6.1 muestra la parte del árbol de juegos para el tic-tac-toe (tres en raya). Desde el estado inicial, MAX tiene nueve movimientos posibles. El juego alterna entre la colocación de una X para MAX y la colocación de un O para MIN, hasta que alcancemos nodos hoja correspondientes a estados terminales, de modo que un jugador tenga tres en raya o todos los cuadrados estén llenos.
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 algo que decir sobre ello. MAX por lo tanto debe encontrar una estrategia contingente, que especifica el movimiento MAX en el estado inicial, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN de los anteriores movimientos, etcétera.
Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el árbol de juegos entero, por tanto cambiemos al juego trivial de la Figura 6.2. Los movimientos posibles para MAX, en el nodo raíz, se etiquetan por                              y        . Las respuestas posibles a      , para MIN, son                 , etc. Este juego particular finaliza después de un movimiento para MAX y MIN. (En el lenguaje de juegos, decimos que este árbol es un movimiento en profundidad, que consiste en dos medios movimientos, cada uno de los cuales se llama capa.) Las utilidades de los estados terminales en este juego varía desde dos a 14. Considerando un árbol de juegos, la estrategia Óptima puede determinarse examinando el valor mínimax de cada nodo, que escribimos como el VALOR-MINIMAX(n). El valor minimax de un nodo es la utilidad (para MAX) de estar en el estado correspondiente, asumiendo que ambos jugadores juegan óptimamente desde allí al final del juego.
Además, considerando una opción, MAX preferirá moverse a un estado de valor máximo, mientras que MIN prefiere un estado de valor mínimo. Entonces tenemos lo siguiente:
El algoritmo minimax El algoritmo minimax (Figura 6.3) calcula la decisión minimax del estado actual. Usa un cálculo simple recurrente de los valores minimax de cada estado sucesor, directamente implementando las ecuaciones de la definición. La recursión avanza hacia las hojas del árbol, y entonces los valores minimax retroceden por el árbol cuando la recursión se va deshaciendo. Por ejemplo, en la Figura 6.2, el algoritmo primero va hacia abajo a los tres nodos izquierdos, y utiliza la función UTILIDAD para descubrir que sus valores son 3, 12 y 8 respectivamente.
Decisiones óptimas en juegos multi-jugador Muchos juegos populares permiten más de dos jugadores. Primero, tenemos que sustituir el valor para cada nodo con un vector de valores. Por ejemplo, en un juego de tres jugadores con jugadores A, B y C, un vector                            asociado con cada nodo. Para los estados terminales, este vector dará la utilidad del estado desde el punto de vista de cada jugador. (En dos jugadores, en juegos de suma cero, el vector de dos elementos puede reducirse a un valor porque los valores son siempre opuestos.) Ahora tenemos que considerar los estados no terminales. Consideremos el nodo marcado con X en el árbol de juegos de la Figura. 6.4. En ese estado, el jugador C elige que hacer. Las dos opciones conducen a estados terminales con el vector de utilidad                              y                           . Como 6 es más grande que 3, C debería elegirlo como primer movimiento. Esto significa que si se alcanza el estado X, el movimiento siguiente conducirá a un estado terminal con utilidades                      . De ahí, que el valor que le llega a X es este vector.
6.3 Poda alfa-beta El problema de la búsqueda minimax es que el número de estados que tiene que examinar es exponencial en el número de movimientos. Lamentablemente no podemos eliminar el exponente, pero podemos dividirlo, con eficacia, en la mitad. A la técnica que examinaremos se le llama poda alfa-beta. Cuando lo aplicamos a un árbol minimax estándar, devuelve el mismo movimiento que devolvería minimax, ya que podar las ramas no puede influir, posiblemente, en la decisión final.
Otro modo de verlo es como una simplificación de la fórmula  VALOR-MINIMA X. Los  dos sucesores no evaluados del nodo C de la Figura 6.5 tienen valores x e y, y sea z el mínimo entre x e y. El valor del nodo raíz es MINIMA X- EVALUE (raíz)= max(min(3,12 , 8),min(2,x , y), min(14,5 , 2))                                           = max(3, min(2, x, y),2) = max(3, z, 2) donde z ≤ 2                                           = 3 En otras palabras, el valor de la raíz y de ahí la decisión minimax son independientes de los valores de las hojas podadas x e y. La poda alfa-beta puede aplicarse a árboles de cualquier profundidad, y, a menudo, es posible podar subárboles enteros. El principio general es: considere un nodo n en el árbol (véase la Figura 6.6), tal que el Jugador tiene una opción de movimiento a ese nodo. Si el Jugador tiene una mejor selección m en el nodo padre de n o en cualquier punto más lejano, entonces n nunca será alcanzado en el juego actual.
La poda alfa-beta consigue su nombre de los dos parámetros que describen los límites sobre los valores hacia atrás que aparecen a lo largo del camina: α = el valor de la mejor opción (es decir, valor mas alto) que hemos encontrado hasta ahora en cualquier punto elegido a Io largo del camino para MAX. β = el valor de la mejor opción (es decir, valor más bajo) que hemos encontrado hasta ahora en cualquier punto elegido a lo largo del camino para MIN. La búsqueda alfa-beta actualiza el valor de α y β según se va recorriendo el árbol y poda las ramas restantes en un nodo(es decir, termina la llamada recurrente) tan pronto como el valor del nodo actual es peor que el actual valor α o β para MAX o MIN, respectivamente. La Figura 6.7 nos da el algoritmo completo. Animamos al lector a trazar su comportamiento cuando lo aplicamos al árbol de la Figura 6.5.
6.4 Decisiones en tiempo real imperfectas El algoritmo minimax genera el espacio de búsqueda entero, mientras que el algoritmo alfa-beta permite que podemos partes grandes de él. Sin embargo, alfa-beta todavía tiene que buscar en todos los caminos, hasta los estados terminales, para una parte del espacio de búsqueda. Esta profundidad no es, por lo general, práctica porque los movimientos deben hacerse en una cantidad razonable de tiempo (típicamente, unos minutos como máximo).
Funciones de evaluación Una función de evaluación devuelve una estimación de la utilidad esperada de una posición dada, tal como hacen las funciones heurísticas que devuelven una estimación de la distancia al objetivo. La idea de una estimación no era nueva cuando Shannon la propuso. Durante siglos, los jugadores de ajedrez (y aficionados de otros juegos) han desarrollado modos de juzgar el valor de una posición, debido a que la gente es aún más limitada, en cantidad de la búsqueda, que los programas de computador. En la práctica, esta clase de análisis requiere demasiadas categorías y demasiada experiencia para estimar todas las probabilidades de ganar. En cambio, la mayoría de las funciones de evaluación calculan las contribuciones numéricas de cada característica y luego las combinan para encontrar el valor total.
Corte de la búsqueda El siguiente paso es modificar la BUSQUEDA-ALFA-BETA  de modo que llame a la función heurística  EVAL cuando se corte la búsqueda. En términos de implementación, sustituimos las dos líneas de la Figura 6.7, que mencionan al TEST-TERMINAL , con la línea siguiente: si TEST-CORTE(estado profundidad) entones devolver EVAL(estado). También debemos llevar la contabilidad de la profundidad de modo que la profundidad actual se incremente sobre cada llamada recursiva. La aproximación más sencilla para controlar la cantidad de búsqueda es poner un límite de profundidad fijo, de modo que TEST-CORTE(estado, profundidad) devuelva verdadero para toda profundidad mayor que alguna profundidad fija d. (También debe devolver verdadero para todos los estados terminales, tal como hizo el TEST-TERMINAL.)  La profundidad d se elige de modo que la cantidad de tiempo usado no exceda de lo que permiten las reglas del juego.
6.5 Juegos que incluyen un elemento de posibilidad En la vida real, hay muchos acontecimientos imprevisibles externos que nos ponen en situaciones inesperadas. Muchos juegos reflejan esta imprevisibilidad con la inclusión de un elemento aleatorio, como el lanzamiento de dados. Backgammon es un juego típico que combina la suerte y la habilidad. Se hacen rodar unos dados, al comienzo del turno de un jugador, para determinar los movimientos legales. En la posición backgammon de la Figura 6.10, por ejemplo, Blanco ha hecho rodar un 6-5, y tiene cuatro movimientos posibles. Aunque Blanco sabe cuáles son sus propios movimientos legales, no sabe lo que le va a salir a Negro con los dados y por eso no sabe cuales serán sus movimientos legales. Esto significa que Blanco no puede construir un árbol de juegos estándar de la forma que vimos en el ajedrez y tic-tac-toe.
Un árbol de juegos en el backgammon debe incluir nodos de posibilidad además de los nodos MAX y MIN. En la Figura 6.1 I se rodean con círculos los nodos de posibilidad. Las ramas que salen desde cada nodo posibilidad denotan las posibles tiradas, y cada una se etiqueta con la tirada y la posibilidad de que ocurra. Hay 36 resultados al hacer rodar dos dados, cada uno igualmente probable; pero como un 6-5 es lo mismo que un 5-6, hay sólo 21 resultado distintos. Los seis dobles (1-1 a 6-6) tienen una posibilidad de 1/36, los otros 15 resultados distintos un 1/18 cada uno.
El promedio ponderado de los valores que se obtienen de todos los resultados posibles, es decir, donde la función sucesor para un nodo de posibilidad n simplemente aumenta el estado n con cada resultado posible para producir cada sucesor s, y P(s) es la probabilidad de que ocurra ese resultado. Estas ecuaciones pueden aplicarse recursivamente hasta la raíz del árbol, como en minimax.
FIN

Más contenido relacionado

La actualidad más candente

Segura 2013 -- criterios de solución - dominancia - v2
Segura   2013 -- criterios de solución - dominancia - v2Segura   2013 -- criterios de solución - dominancia - v2
Segura 2013 -- criterios de solución - dominancia - v2
Juan Segura
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12
YO Por Que
 
Método de eliminación gauss jordán
Método de eliminación gauss jordánMétodo de eliminación gauss jordán
Método de eliminación gauss jordán
eskarlethguerrero
 
Practicas derive 6
Practicas derive 6Practicas derive 6
Practicas derive 6
Edson Olvera
 

La actualidad más candente (20)

Xna game studio presentación 04
Xna game studio   presentación 04Xna game studio   presentación 04
Xna game studio presentación 04
 
Búsqueda entre adversarios
Búsqueda entre adversariosBúsqueda entre adversarios
Búsqueda entre adversarios
 
Decisiones Optimas en Juego
Decisiones Optimas en JuegoDecisiones Optimas en Juego
Decisiones Optimas en Juego
 
Xna game studio presentación 05
Xna game studio   presentación 05Xna game studio   presentación 05
Xna game studio presentación 05
 
Segura 2013 -- criterios de solución - dominancia - v2
Segura   2013 -- criterios de solución - dominancia - v2Segura   2013 -- criterios de solución - dominancia - v2
Segura 2013 -- criterios de solución - dominancia - v2
 
Funciones as3
Funciones as3Funciones as3
Funciones as3
 
MinMax
MinMaxMinMax
MinMax
 
Guía de programación de videojuegos i
Guía de programación de videojuegos iGuía de programación de videojuegos i
Guía de programación de videojuegos i
 
Teoría de Juegos - Daniel Velásquez
Teoría de Juegos - Daniel VelásquezTeoría de Juegos - Daniel Velásquez
Teoría de Juegos - Daniel Velásquez
 
Teoria de los juegos
Teoria de los juegosTeoria de los juegos
Teoria de los juegos
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12
 
Presentacion de inv. de operaciones ii
Presentacion de inv. de operaciones iiPresentacion de inv. de operaciones ii
Presentacion de inv. de operaciones ii
 
Problemas condicionales
Problemas condicionalesProblemas condicionales
Problemas condicionales
 
Método de eliminación gauss jordán
Método de eliminación gauss jordánMétodo de eliminación gauss jordán
Método de eliminación gauss jordán
 
Semana 10: Derivadas Parciales
Semana 10: Derivadas ParcialesSemana 10: Derivadas Parciales
Semana 10: Derivadas Parciales
 
Acmar trucos de visual basic(2)
Acmar   trucos de visual basic(2)Acmar   trucos de visual basic(2)
Acmar trucos de visual basic(2)
 
TEORIA DE JUEGOS STALIN MEZA
TEORIA DE JUEGOS STALIN MEZATEORIA DE JUEGOS STALIN MEZA
TEORIA DE JUEGOS STALIN MEZA
 
Teoria de juegos.
Teoria de juegos.Teoria de juegos.
Teoria de juegos.
 
Numeros aleatorios
Numeros aleatoriosNumeros aleatorios
Numeros aleatorios
 
Practicas derive 6
Practicas derive 6Practicas derive 6
Practicas derive 6
 

Similar a Busqueda entre adversarios

Paper
PaperPaper
Paper
Alex
 
Ejercicios IA - PSR & Poda alfa-beta
Ejercicios IA - PSR & Poda alfa-betaEjercicios IA - PSR & Poda alfa-beta
Ejercicios IA - PSR & Poda alfa-beta
Liliana Pacheco
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gato
EdwinVega49
 

Similar a Busqueda entre adversarios (20)

Arboles min max
Arboles min maxArboles min max
Arboles min max
 
Paper
PaperPaper
Paper
 
1789019.ppt
1789019.ppt1789019.ppt
1789019.ppt
 
Juegos dinamicos
Juegos dinamicosJuegos dinamicos
Juegos dinamicos
 
Teoria del juego
Teoria del juegoTeoria del juego
Teoria del juego
 
Minimax
MinimaxMinimax
Minimax
 
Proyecto
ProyectoProyecto
Proyecto
 
Ejercicios IA - PSR & Poda alfa-beta
Ejercicios IA - PSR & Poda alfa-betaEjercicios IA - PSR & Poda alfa-beta
Ejercicios IA - PSR & Poda alfa-beta
 
Teoria de juegos investigacion de operaciones 2
Teoria de juegos investigacion de operaciones 2Teoria de juegos investigacion de operaciones 2
Teoria de juegos investigacion de operaciones 2
 
Teoria de juegos
Teoria de juegosTeoria de juegos
Teoria de juegos
 
Guía de programacion de videojuegos II
Guía de programacion de videojuegos IIGuía de programacion de videojuegos II
Guía de programacion de videojuegos II
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gato
 
Teoria de juegos
Teoria de juegosTeoria de juegos
Teoria de juegos
 
Juego de damas
Juego de damasJuego de damas
Juego de damas
 
Revista teoria de juegos
Revista teoria de juegosRevista teoria de juegos
Revista teoria de juegos
 
Teoria de juegos
Teoria de juegosTeoria de juegos
Teoria de juegos
 
Revista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegosRevista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegos
 
Revista
RevistaRevista
Revista
 
45 92-1-sm
45 92-1-sm45 92-1-sm
45 92-1-sm
 
Teoría de Juegos
Teoría de JuegosTeoría de Juegos
Teoría de Juegos
 

Último

Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Último (20)

Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 

Busqueda entre adversarios

  • 1. Búsqueda entre adversarios Donde examinaremos los problemas que surgen cuando tratamos de planear en un mundo donde otros agentes planean contra nosotros. Presenta: Geovany Pérez Santa Cruz
  • 2. SUBTEMAS 6.1 Juegos. 6.2 Decisiones óptimas en juegos. 6.3 Poda alfa-beta. 6.4 Decisiones en tiempo real imperfectas. 6.5 Juegos que incluyen un elemento de posibilidad.
  • 3. 6.1 Juegos En IA, los juegos son, por lo general, una clase más especializada (que los teóricos de juegos llaman juegos de suma cero, de dos jugadores, por turnos, determinista, de información perfecta). Por ejemplo, si un jugador gana un juego de ajedrez (+ 1), el otro jugador necesariamente pierde (- 1). Esta oposición entre las funciones de utilidad de los agentes hace la situación entre adversarios. Los juegos han ocupado las facultades intelectuales de la gente (a veces a un grado alarmante) mientras ha existido la civilización. Para los investigadores de IA, la naturaleza abstracta de los juegos los hacen un tema atractivo aestudiar. El jugar a juegos fue una de las primeras tareas emprendidas en IA. Hacia 1950, casi tan pronto como los computadores se hicieron programables, el ajedrez fue abordado por Konrad Zuse (el inventor del primer computador programable y del primer lenguaje de programación), por Claude Shannon (el inventor de la teoría de información), por NorbertWiener(el creador de la teoría de control moderna), y por Alan Turing.
  • 4. Los juegos, como el mundo real, requieren la capacidad de tomar alguna decisión cuando es infactible calcular la decisión óptima. Los juegos también castigan la ineficiencia con severidad. Mientras que una implementación de la búsqueda A* que sea medio eficiente costará simplemente dos veces más para ejecutarse por completo, un programa de ajedrez que sea medio eficiente en la utilización de su tiempo disponible, probablemente tendrá que descartarse si no intervienen otros factores. La poda nos permite ignorar partes del árbol de búsqueda que no marcan ninguna diferencia para obtener la opción final, y las funciones de evaluación heurísticas nos permiten aproximar la utilidad verdadera de un estado sin hacer una búsqueda completa. Finalmente, veremos cómo se desenvuelven los programas de juegos contra la oposición humana y las direcciones para el desarrollo futuro.
  • 5. 6.2 Decisiones óptimas en juegos Consideraremos juegos con dos jugadores, que llamaremos M AX y MIN por motivos que pronto se harán evidentes. 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 penalizaciones al perdedor. Un juego puede definirse formalmente como una clase de problemas de búsqueda con los componentes siguientes: El estado inicial, que incluye la posición del tablero e identifica al jugador que mueve. Una función sucesor, que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta. Un test terminal, que determina cuándo se termina el juego. A los estados donde el juego se ha terminado se les llaman estados terminales.
  • 6. Una función utilidad (también llamada función objetivo o función de rentabilidad), que da un valor numérico a los estados terminales. En el ajedrez, el resultado es un triunfo, pérdida, o empate, con valores + 1, - 1 o 0.Algunos juegos tienen una variedad más amplia de resultados posibles: las rentabilidades en el backgammon se extienden desde + 192 a - 192. Este capitulo trata principalmente juegos de suma cero, aunque mencionemos brevemente juegos con «suma no cero». El estado inicial y los movimientos legales para cada lado definen el árbol de Juegos. La Figura 6.1 muestra la parte del árbol de juegos para el tic-tac-toe (tres en raya). Desde el estado inicial, MAX tiene nueve movimientos posibles. El juego alterna entre la colocación de una X para MAX y la colocación de un O para MIN, hasta que alcancemos nodos hoja correspondientes a estados terminales, de modo que un jugador tenga tres en raya o todos los cuadrados estén llenos.
  • 7. 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 algo que decir sobre ello. MAX por lo tanto debe encontrar una estrategia contingente, que especifica el movimiento MAX en el estado inicial, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN, después los movimientos de MAX en los estados que resultan de cada respuesta posible de MIN de los anteriores movimientos, etcétera.
  • 8.
  • 9. Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el árbol de juegos entero, por tanto cambiemos al juego trivial de la Figura 6.2. Los movimientos posibles para MAX, en el nodo raíz, se etiquetan por y . Las respuestas posibles a , para MIN, son , etc. Este juego particular finaliza después de un movimiento para MAX y MIN. (En el lenguaje de juegos, decimos que este árbol es un movimiento en profundidad, que consiste en dos medios movimientos, cada uno de los cuales se llama capa.) Las utilidades de los estados terminales en este juego varía desde dos a 14. Considerando un árbol de juegos, la estrategia Óptima puede determinarse examinando el valor mínimax de cada nodo, que escribimos como el VALOR-MINIMAX(n). El valor minimax de un nodo es la utilidad (para MAX) de estar en el estado correspondiente, asumiendo que ambos jugadores juegan óptimamente desde allí al final del juego.
  • 10. Además, considerando una opción, MAX preferirá moverse a un estado de valor máximo, mientras que MIN prefiere un estado de valor mínimo. Entonces tenemos lo siguiente:
  • 11.
  • 12. El algoritmo minimax El algoritmo minimax (Figura 6.3) calcula la decisión minimax del estado actual. Usa un cálculo simple recurrente de los valores minimax de cada estado sucesor, directamente implementando las ecuaciones de la definición. La recursión avanza hacia las hojas del árbol, y entonces los valores minimax retroceden por el árbol cuando la recursión se va deshaciendo. Por ejemplo, en la Figura 6.2, el algoritmo primero va hacia abajo a los tres nodos izquierdos, y utiliza la función UTILIDAD para descubrir que sus valores son 3, 12 y 8 respectivamente.
  • 13.
  • 14. Decisiones óptimas en juegos multi-jugador Muchos juegos populares permiten más de dos jugadores. Primero, tenemos que sustituir el valor para cada nodo con un vector de valores. Por ejemplo, en un juego de tres jugadores con jugadores A, B y C, un vector asociado con cada nodo. Para los estados terminales, este vector dará la utilidad del estado desde el punto de vista de cada jugador. (En dos jugadores, en juegos de suma cero, el vector de dos elementos puede reducirse a un valor porque los valores son siempre opuestos.) Ahora tenemos que considerar los estados no terminales. Consideremos el nodo marcado con X en el árbol de juegos de la Figura. 6.4. En ese estado, el jugador C elige que hacer. Las dos opciones conducen a estados terminales con el vector de utilidad y . Como 6 es más grande que 3, C debería elegirlo como primer movimiento. Esto significa que si se alcanza el estado X, el movimiento siguiente conducirá a un estado terminal con utilidades . De ahí, que el valor que le llega a X es este vector.
  • 15.
  • 16. 6.3 Poda alfa-beta El problema de la búsqueda minimax es que el número de estados que tiene que examinar es exponencial en el número de movimientos. Lamentablemente no podemos eliminar el exponente, pero podemos dividirlo, con eficacia, en la mitad. A la técnica que examinaremos se le llama poda alfa-beta. Cuando lo aplicamos a un árbol minimax estándar, devuelve el mismo movimiento que devolvería minimax, ya que podar las ramas no puede influir, posiblemente, en la decisión final.
  • 17.
  • 18. Otro modo de verlo es como una simplificación de la fórmula VALOR-MINIMA X. Los dos sucesores no evaluados del nodo C de la Figura 6.5 tienen valores x e y, y sea z el mínimo entre x e y. El valor del nodo raíz es MINIMA X- EVALUE (raíz)= max(min(3,12 , 8),min(2,x , y), min(14,5 , 2)) = max(3, min(2, x, y),2) = max(3, z, 2) donde z ≤ 2 = 3 En otras palabras, el valor de la raíz y de ahí la decisión minimax son independientes de los valores de las hojas podadas x e y. La poda alfa-beta puede aplicarse a árboles de cualquier profundidad, y, a menudo, es posible podar subárboles enteros. El principio general es: considere un nodo n en el árbol (véase la Figura 6.6), tal que el Jugador tiene una opción de movimiento a ese nodo. Si el Jugador tiene una mejor selección m en el nodo padre de n o en cualquier punto más lejano, entonces n nunca será alcanzado en el juego actual.
  • 19.
  • 20. La poda alfa-beta consigue su nombre de los dos parámetros que describen los límites sobre los valores hacia atrás que aparecen a lo largo del camina: α = el valor de la mejor opción (es decir, valor mas alto) que hemos encontrado hasta ahora en cualquier punto elegido a Io largo del camino para MAX. β = el valor de la mejor opción (es decir, valor más bajo) que hemos encontrado hasta ahora en cualquier punto elegido a lo largo del camino para MIN. La búsqueda alfa-beta actualiza el valor de α y β según se va recorriendo el árbol y poda las ramas restantes en un nodo(es decir, termina la llamada recurrente) tan pronto como el valor del nodo actual es peor que el actual valor α o β para MAX o MIN, respectivamente. La Figura 6.7 nos da el algoritmo completo. Animamos al lector a trazar su comportamiento cuando lo aplicamos al árbol de la Figura 6.5.
  • 21.
  • 22. 6.4 Decisiones en tiempo real imperfectas El algoritmo minimax genera el espacio de búsqueda entero, mientras que el algoritmo alfa-beta permite que podemos partes grandes de él. Sin embargo, alfa-beta todavía tiene que buscar en todos los caminos, hasta los estados terminales, para una parte del espacio de búsqueda. Esta profundidad no es, por lo general, práctica porque los movimientos deben hacerse en una cantidad razonable de tiempo (típicamente, unos minutos como máximo).
  • 23. Funciones de evaluación Una función de evaluación devuelve una estimación de la utilidad esperada de una posición dada, tal como hacen las funciones heurísticas que devuelven una estimación de la distancia al objetivo. La idea de una estimación no era nueva cuando Shannon la propuso. Durante siglos, los jugadores de ajedrez (y aficionados de otros juegos) han desarrollado modos de juzgar el valor de una posición, debido a que la gente es aún más limitada, en cantidad de la búsqueda, que los programas de computador. En la práctica, esta clase de análisis requiere demasiadas categorías y demasiada experiencia para estimar todas las probabilidades de ganar. En cambio, la mayoría de las funciones de evaluación calculan las contribuciones numéricas de cada característica y luego las combinan para encontrar el valor total.
  • 24. Corte de la búsqueda El siguiente paso es modificar la BUSQUEDA-ALFA-BETA de modo que llame a la función heurística EVAL cuando se corte la búsqueda. En términos de implementación, sustituimos las dos líneas de la Figura 6.7, que mencionan al TEST-TERMINAL , con la línea siguiente: si TEST-CORTE(estado profundidad) entones devolver EVAL(estado). También debemos llevar la contabilidad de la profundidad de modo que la profundidad actual se incremente sobre cada llamada recursiva. La aproximación más sencilla para controlar la cantidad de búsqueda es poner un límite de profundidad fijo, de modo que TEST-CORTE(estado, profundidad) devuelva verdadero para toda profundidad mayor que alguna profundidad fija d. (También debe devolver verdadero para todos los estados terminales, tal como hizo el TEST-TERMINAL.) La profundidad d se elige de modo que la cantidad de tiempo usado no exceda de lo que permiten las reglas del juego.
  • 25. 6.5 Juegos que incluyen un elemento de posibilidad En la vida real, hay muchos acontecimientos imprevisibles externos que nos ponen en situaciones inesperadas. Muchos juegos reflejan esta imprevisibilidad con la inclusión de un elemento aleatorio, como el lanzamiento de dados. Backgammon es un juego típico que combina la suerte y la habilidad. Se hacen rodar unos dados, al comienzo del turno de un jugador, para determinar los movimientos legales. En la posición backgammon de la Figura 6.10, por ejemplo, Blanco ha hecho rodar un 6-5, y tiene cuatro movimientos posibles. Aunque Blanco sabe cuáles son sus propios movimientos legales, no sabe lo que le va a salir a Negro con los dados y por eso no sabe cuales serán sus movimientos legales. Esto significa que Blanco no puede construir un árbol de juegos estándar de la forma que vimos en el ajedrez y tic-tac-toe.
  • 26. Un árbol de juegos en el backgammon debe incluir nodos de posibilidad además de los nodos MAX y MIN. En la Figura 6.1 I se rodean con círculos los nodos de posibilidad. Las ramas que salen desde cada nodo posibilidad denotan las posibles tiradas, y cada una se etiqueta con la tirada y la posibilidad de que ocurra. Hay 36 resultados al hacer rodar dos dados, cada uno igualmente probable; pero como un 6-5 es lo mismo que un 5-6, hay sólo 21 resultado distintos. Los seis dobles (1-1 a 6-6) tienen una posibilidad de 1/36, los otros 15 resultados distintos un 1/18 cada uno.
  • 27.
  • 28.
  • 29. El promedio ponderado de los valores que se obtienen de todos los resultados posibles, es decir, donde la función sucesor para un nodo de posibilidad n simplemente aumenta el estado n con cada resultado posible para producir cada sucesor s, y P(s) es la probabilidad de que ocurra ese resultado. Estas ecuaciones pueden aplicarse recursivamente hasta la raíz del árbol, como en minimax.
  • 30. FIN