Ejercicios IA - PSR & Poda alfa-beta

8
2014 Autores: Roddy Andrés Correa & Liliana Janeth Pacheco Jara. 06/02/2014 TITULACIÓN DE SISTEMAS INFORMÁTICOS Y COMPUTACION INTELIGENCIA ARTIGICIAL TRABAJO DE FIN DE CICLO Tutor: Ing. Guido Riofrío Calderón Paralelo “B” Periodo Académico Octubre 2013 – Febrero 2014

Transcript of Ejercicios IA - PSR & Poda alfa-beta

Page 1: Ejercicios IA - PSR & Poda alfa-beta

2014

Autores:

Roddy Andrés Correa & Liliana Janeth Pacheco Jara.

06/02/2014

TITULACIÓN DE SISTEMAS INFORMÁTICOS Y COMPUTACION

INTELIGENCIA ARTIGICIAL

TRABAJO DE FIN DE CICLO

Tutor: Ing. Guido Riofrío Calderón

Paralelo “B”

Periodo Académico Octubre 2013 – Febrero 2014

Page 2: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

TRABAJO DE FIN DE CICLO

EJERCICIO DEL TEXTO BASE

6.10. Describa o implemente las descripciones de los estados,

generadores de movimiento, test terminal, función de utilidad y

funciones de evaluación para el juego de póker.

Estado inicial

El póker se juega con 52 cartas. Las cartas tienen los valores 2, 3, 4, 5, 6,

7, 8, 9, 10, J, Q, K, A. Tenemos a su vez cuatro palos disponibles que

podemos ver en la siguiente tabla:

♠ picas

♥ Corazones

♣ Tréboles

♦ Diamantes

Para empezar el juego de póker se debe cumplir con los siguientes

aspectos:

Un jugador reparte las cartas. Esta posición se reconoce por una

marca y rota en la dirección de las manillas del reloj en cada partida

Los dos jugadores a la izquierda del repartidor de las cartas son

conocidos como el small blind y el big blind, respectivamente.

Estos dos jugadores están forzados a apostar una cantidad

predeterminada de dinero y son los únicos que apuestan antes de

que las cartas sean repartidas.

Cada jugador recibe dos cartas boca abajo que con las "hole cards"

Page 3: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

Función sucesor

A continuación se muestran las acciones que se pueden dar durante el

juego de póker:

Pasar: los jugadores solamente pueden pasar cuando no hay apuestas en

la ronda actual, y la acción de pasar lleva el turno de actuar a la siguiente

persona en la mano en dirección horaria. Si todos los jugadores activos

pasan, la ronda se considera como completada.

Apostar: los jugadores pueden apostar si ningún otro jugador ha apostado

durante la ronda actual.

Retirarse: los jugadores que se retiran renuncian a sus cartas y no pueden

ganar o actuar nuevamente durante la mano actual.

Igualar: los jugadores pueden igualar si otros jugadores han apostado

durante la ronda actual; esto requiere que el jugador iguale la apuesta más

alta.

Subir: los jugadores pueden subir si otros jugadores han apostado durante

la ronda actual; esto requiere que el jugador que sube iguale la apuesta

más alta, y haga una apuesta subsiguiente.

Una vez que se ha igualado la última apuesta o subida durante la ronda

final de apuestas, ocurre la confrontación final o “showdown”; los jugadores

activos restantes deben mostrar o “declarar” sus manos, y el/los

jugador(es) con la(s) mejor(es) manos gana(n) el bote.

Test terminal

El jugador con la mejor combinación de cartas.

Función utilidad

1. Gana la partida el jugador quien posea la mejor combinación de cartas.

2. Gana el juego sin tener que mostrar sus cartas quien envida o reenvida

si ninguno de los otros jugadores acepta o iguala su envite.

Page 4: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

EJERCICIOS INVESTIGADOS

Problema de satisfacción de restricciones - PSR

1. Búsqueda con vuelta atrás para PSR, (Cap. 5)

Problema: Dado un conjunto de números enteros (13, 11 ,7), encontrar

si existe algún subconjunto cuya suma sea exactamente 20.

Variables: para el siguiente problema se ha considerado como

variables las siguientes letras: a, b, c.

Tipo variable: Discretas y dominios finitos

Dominio: 13, 11, 7

Restricción: La representación de la solución (s1…sm), donde

m<n y Si ɛ a,b,c.. Cada nodo es una posible solución; será válida

si la suma es 20.

Técnica de búsqueda: Se usará la búsqueda con vuelta atrás

PSR estudiada en el capitulo 5.

Solución:

- Formulación incremental

Estado Inicial: Asignación vacía (0).

Función sucesor: Suma de números utilizando el valor de las

variables dado el, dado el grafo.

Test objetivo: dados los valores, llegar a una suma que tenga

como total 20.

Costo camino: El costo depende del valor de las variables y de

la posición en que se encuentre.

41

1

2

3 5

Page 5: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

- Diseño del árbol de búsqueda

a=13

b=11

c=7

- Dado el estado anterior seleccionar la solución válida cuya

suma es 20

Para dar una solución al problema se va a realizar una búsqueda en

profundidad, a continuación se mostrará todo el procedimiento:

Estado 1: El primer nodo debe de iniciar con cero (0), como no es el

resultado buscado se continua al siguiente estado.

Estado 2: En este caso el elemento es trece (13), con una suma igual a

13, como este valor tampoco es el buscado se continua con la búsqueda.

Estado 3: Al agregar otro elemento (puede ser la ruta por el elemento b

o elemento c); la ruta del elemento b, su suma 24, como no es lo que se

busca, se procede a seleccionar otro elemento del conjunto restante

Estado 4: para concluir con la búsqueda solamente queda el elemento

c, sin embargo la suma sigue siendo diferente de 20, y como no hay más

elementos, entonces retrocede posicionándose en el estado 3

nuevamente, como en ese estado ya probó con el único elemento,

vuelve a retroceder y pasa al estado 2, procediendo a buscar en la otra

rama del árbol.

4

1

1

2

3 5

0

24

20

1

13 a=13

c=7 b=11

c=7

Page 6: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

Estado 5: se prueba con el valor de c, con lo que se obtiene una suma

igual a lo que se está buscando, por ende el procedimiento termina.

Se puede concluir que esta es una búsqueda recursiva ya que se debe

regresar a ver qué nodo tiene algún subconjunto que se pueda llegar a

obtener la suma de 20.

Búsqueda entre adversarios

2. Poda alfa-beta, (Cap. 6)

Problema

El juego de nim se plantea a partir de una serie de filas con un número

determinado de cerillas o palillos en cada una de ellas. Cada uno de los

dos jugadores debe retirar en su turno de una sola fila una cerilla como

mínimo, y hasta un máximo de todas las cerillas que queden. Gana el

jugador que retira la última cerilla.

Planteamiento:

Estado inicial: Una pila con N fichas.

Función Sucesor: Coger 1, 2, 3 o n fichas de la pila.

Test terminal: Obligar al adversario a coger la última ficha, en el

grafico que se muestra a continuación se identifica a 0 como nodo

terminal.

Función utilidad: la victoria será para el jugador que logre obligar a su

oponente a tomar la última ficha que quede de todo el conjunto.

Desarrollo

Se va a suponer que hay dos jugadores A y B juegan al Nim usando una

pila conformada por 6 fichas, las franjas de color verde corresponden al

abanico de decisiones que en cada ramificación puede adoptar el jugador

A en su turno de juego, y las franjas de color azul corresponden al

abanico de decisiones que en cada ramificación puede adoptar el jugador

B en su turno. Cada círculo de color rojo con un número en el centro es

un nodo, y representa la cantidad de fichas que quedan en la pila luego

de que alguno de los jugadores ha retirado 1, 2 ó 3 fichas en su turno (a

excepción del primer nodo que representa la situación inicial en la que la

pila está conformada por 6 fichas). Las líneas negras que salen de cada

nodo son las ramificaciones que representan las alternativas de

decisiones o movidas que cada jugador puede realizar en su respectivo

turno. Las alternativas que se incluyen como ramificaciones de cada

Page 7: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

nodo corresponden tanto a las movidas favorables como a las movidas

desfavorables que en su turno podría realizar un jugador.

Los nodos de color verde son triunfos de A y los de rojo son triunfos de

B.

Estado inicial – Fichas sobre el tablero

Poda alfa-beta

La poda del árbol se inicia desde cada uno de los nodos terminales ya

sombreados ascendiendo por la respectiva ramificación hasta el nodo del

nivel superior del cual derivan, y simultáneamente se aplican las

anteriores reglas para determinar si esa ramificación analizada debe ser

cercenada o dejada intacta, y así se va ascendiendo hacía los nodos de

los demás niveles superiores hasta llegar al nodo raíz que representa la

posición inicial del juego.

Page 8: Ejercicios IA - PSR & Poda alfa-beta

Roddy Correa & Liliana Pacheco

UTPL – Inteligencia Artificial

Una vez que se ha realizado la poda del árbol aplicando las reglas antes

mencionadas, se observa que si el árbol es recorrido desde arriba hacia

abajo partiendo del Nodo Raíz, entonces hay fracturas en las

ramificaciones que implican que el subsiguiente nodo no debería ocurrir

en el juego a la luz de la aplicación de la Estrategia Pura, y del mismo

modo no deberían ocurrir los demás nodos sucesores que derivan de la

misma ramificación fracturada.

Bibliografía Baeza, C. (19 de 07 de 2010). Backtraking para PSR. Recuperado el 02 de

02 de 2014, de http://www.inf.utfsm.cl/~ccastro/IIA-401/2003-

1/APUNTES/backtracking-iia-401-2003-1.pdf.gz

García, N. (2013). Representación de un juego mediante un árbol de

decisiones. Recuperado el 03 de 02 de 2014, de

http://www.eyeintheskygroup.com/Azar-Ciencia/Teoria-de-

Juegos/Arbol-de-Decisiones-en-Juegos.htm