Descargar

Problemas de búsqueda entre adversarios (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Decisiones imperfectas en juegos de dos adversarios Decisión imperfecta ? Estrategia Mixta El algoritmo minimax asume una expansión hasta el final (en realidad es imposible). Se usa una función de evaluación (f), que sea una estimación de u. Función de evaluación: El papel de f es el de u en nodos terminales Ejemplos: Si hay 50% posibilidades de ganar, 25% de perder y 25% de empate, f=1*0.50+(-1)*0.25+0*0.25=0.25 En el ajedrez: peón=1, alfil=3, …. Suponiendo que MAX=fichas-blancas: f=(num-peones-negros)*1 + (num-alfiles-negros)*3 …. -(num-peones-blancos)*1 – (num-alfiles-blancos)*3 ….

edu.red

Decisiones imperfectas en juegos de dos adversarios Dada una función de evaluación f, se puede aplicar una búsqueda minimax con límite de profundidad: Se elige un límite de profundidad Observación: el límite puede tener una posición desventajosa en un nivel más abajo. Se pueden elegir sucesivos límites de profundidad. El límite de profundidad se debería aplicar sólo a posiciones “inactivas”. En ajedrez, serían por ejemplo posiciones en las que es poco probable que existan capturas Problema del horizonte Surge cuando el programa se enfrenta a una acción del oponente, inevitable y que causa serios perjuicios. Ejemplo: en la figura anexa, peón blanco amenaza convertirse en dama. Torre negra amenaza con jaque. La ventaja actual es negra y la inmediata futura es blanca (evaluación calidad piezas).

edu.red

Decisiones imperfectas en juegos de dos adversarios Exploración y evaluación: El procedimiento de exploración visto separa por completo el proceso de generación del árbol de exploración y la evaluación de posiciones. Se puede reducir el esfuerzo requerido si se hace evaluación de los nodos finales y se llevan hacia atrás esas evaluaciones con la generación el árbol Fcd-max: número de filas, columnas o diagonales libres para MAX Fcd-min: número de filas, columnas o diagonales libres para MIN Ejemplo: Tres en raya Definimos la función de utilidad:

edu.red

Decisiones imperfectas en juegos de dos adversarios Ejemplo: Tres en raya ver Nilsson

edu.red

Poda Consiste en tratar de localizar la decisión óptima minimax sin tener que explorar todos los nodos del árbol. Aplicable a árboles de cualquier profundidad Puede podar subárboles enteros Principio general El algoritmo efectúa una búsqueda en profundidad. Si durante la misma se produce que m es mejor que n para un jugador, entonces nunca se llegará a n en el juego

edu.red

Fundamentos del algoritmo de poda: Si n es ascendiente de m, si se verifica alguna de estas condiciones: Si n nodo MAX, m nodo MIN: el valor alpha se alcanza en nodo hijo de n

n nodo MIN, m nodo MAX: el valor alpha se alcanza en nodo hijo de n

En ambos casos no hace falta seguir examinando por debajo de m (se producen podas). El nodo m no afecta al resultado final y es prescindible. Definimos Un valor es una cota inferior para el valor obtenido por propagación. Un valor es una cota superior para el valor obtenido por propagación. Poda

edu.red

Algoritmo (Russell & Norvig) Poda Es similar al minimax salvo sendas líneas en las rutinas MIN-VALUE y MAX-VALUE que mantienen los valores de alpha y beta

edu.red

Estimación en el ajedrez Un agente puede examinar unas 1000 posiciones/segundo. Si tenemos 150 segundos para pensar un movimiento, entonces, como b es aproximadamente 35, podemos descender 3 ó 4 niveles en el árbol. La poda va a permitir bajar hasta más niveles. Ejemplos, I 3 12 8 2 4 6 14 5 2 (Gp:) =3

(Gp:) < =2

(Gp:) =2

(Gp:) =3

Ejemplo sencillo de poda

edu.red

Ejemplos, II “2” “5” “1” 2 “7” “3” 6 4 “0” 3 “5” “1” 9 6 2 8 [? ?] [-??] [-??] [-??] [-??] (Gp:) [-?”2”]

(Gp:) [“2” ?]

(Gp:) [2 ?]

(Gp:) [“2” 1]

(Gp:) [-?2]

(Gp:) [-?2]

(Gp:) [-?2]

(Gp:) [-?”2”] (Gp:) No mejoran ? = 2

(Gp:) [2 ”2”]

? > ? ! ? = ? ! ? = ? ! (Gp:) [-?”2”] (Gp:) No mejora valor de ? (lo devuelve hacia arriba)

(Gp:) [2 ?]

(Gp:) [2 ?]

(Gp:) [2 ?]

(Gp:) [2 ?]

(Gp:) [“2” 0]

? > ? ! (Gp:) [“2” ?]

(Gp:) [“2” 2]

(Gp:) [2 ?]

(Gp:) [2 5]

(Gp:) [“2” 1]

edu.red

Efectividad de la poda La poda depende del orden en que se examinan los nodos En el ejemplo de la página siguiente, no se producen podas por debajo del nodo n porque la rama se expande la última. Si se pudiera elegir el nodo más conveniente (el nodo de f mínima en el caso de MIN): Knuth y Moore [1], demostraron que la complejidad temporal es:

Por tanto, el factor de ramificación efectivo sería en lugar de b. En el ajedrez tendríamos Podríamos bajar hasta el nivel 8. Es una situación ideal (supondría expandir los nodos para calcular el de menor f).

[1] Donald E. Knuth; Ronald W. Moore; An analysis of alpha-beta pruning. Artificial Intelligence 6(4); 293-326 (1975)

edu.red

Efectividad de la poda Knuth y Moore demostraron también que si examinan los sucesores de forma aleatoria para valores moderados de b, la complejidad temporal es aproximadamente: O(b 3d/4)

3 12 8 2 4 6 14 5 2 n [-??] [-??] [-?, 3] [3, ?] [3, ?] [3, 2] [3, ?] [3, 14] [3, 5] [3, 2]

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente