1. 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
Autores:
Roddy Andrés Correa & Liliana Janeth Pacheco Jara.
06/02/2014
2. 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"
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
3. 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.
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
4. 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.
1
2
3
5
41
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.
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
5. -
Diseño del árbol de búsqueda
a=13
b=11
c=7
0
1
a=13
13
2
b=11
c=7
20
24
3
5
c=7
1
-
4
1
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.
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
6. 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
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
7. 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.
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial
8. 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/20031/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-deJuegos/Arbol-de-Decisiones-en-Juegos.htm
Roddy Correa & Liliana Pacheco
UTPL – Inteligencia Artificial