Está en la página 1de 10

Juego Humano-MaquinaDAMAS GOLOSAS

Miriam Condori Fernandez, Martin Guzmn Baos, Roberto Salazar Csser


Universidad Nacional Mayor de San Marcos, Facultado de Ingeniera de Sistemas e Informtica
Calle Germn Amezaga N 375, Ciudad Universitaria, Lima, Per
miri_unmsm@yahoo.com,martin.agb20@gmail.com, roberto_cosser@hotmail.com



Abstract

This report shows the characteristics of the implementation of the Human-Machine game known in this case as Ladies
Doubles which is a modification of the classic game of Checkers on the number of chips, the rules and the board design
in a cross. Each player has a group of distributed files, the first in the lower right part of the board and the second in the
top and left, the tabs each player can move anywhere on the board, moving only sideways Player moving or eating chips
otherwise contrary, If any record player reaches the other end of the board can become queen, the aim of the game is that
the opposing player runs out of chips.
Search techniques were used in State Space to define the game properly and then algorithms Human-Machine game
development on the difficulty level of the machine to play when used.

Keywords: Ladies, Doubles, Intelligence, Cross, Search, state



Resumen

El presente informe muestra las caractersticas de la implementacin del juego Humano-Maquina conocido, en este caso
como Damas Dobles el cual es una modificacin del clsico juego de Damas en cuanto al nmero de fichas, las reglas y
el diseo del tablero en forma de cruz. Cada jugador cuenta con un grupo de fichas distribuidas, el primero en la parte
inferior y derecha del tablero y el segundo en la parte superior e izquierda, las fichas de cada jugador pueden moverse
hacia cualquier lugar del tablero, solo avanzando hacia el lado del jugador contrario movindose o comiendo fichas
contrarias, Si alguna ficha del jugador llega al otro extremo del tablero podr convertirse en reina , el objetivo del juego
es que el jugador oponente se quede sin fichas.
Se usaron las tcnicas de Bsqueda en Espacio de Estado para definir correctamente el juego y luego se usaron los
algoritmos de juego Humano-Maquina para el desarrollo del nivel de dificultad de la maquina a la hora de jugar.

Palabras clave: Damas, Dobles, Inteligencia, Cruz, Bsqueda, Estado
2

1- Introduccin

Las damas es un juego de mesa para dos contrincantes. El juego consiste en mover las piezas en diagonal a travs de los
cuadros negros o blancos de un tablero de 64 o 100 cuadros con la intencin de capturar (comer) las piezas del contrario
saltando por encima de ellas.

Sobre el juego original de las Damas, Hoy en da todava no existe un consenso claro sobre el lugar exacto de origen,
situndolo entre Espaa y Francia. Durante los ltimos aos se han llevado a cabo varios estudios para intentar aclarar
de una vez cul fue el lugar de nacimiento de las Damas. La mayora de ellos coinciden en afirmar que naci en Espaa
hacia el ao 1100 d.C. Se han hallado restos arqueolgicos de un juego similar a las Damas, y que lo situaran en la
antigua Persia, pero son meras especulaciones.
Sobre las circunstancias en que este juego surge existe un consenso ms generalizado y es que se origina de la fusin
entre el ajedrez y el juego de alquerque (similar al juego Tres en Raya). Del primero toma el tablero y del segundo los
movimientos.

Las Damas Golosas, es una variante nueva en la cual cada equipo, blanco y negro, tienen dos tipos de fichas, las damas y
los caballeros; el juego tiene como objetivo que alguna de las damas de un equipo llegue al otro extremo del tablero o
dejar al equipo contrario sin damas para que no gane.
El tablero es igual al juego original, los movimientos de las fichas de igual manera, el movimiento en diagonal, solo
cambian las reglas de juego; un caballero puede mover, saltar sobre un caballero o dama del otro equipo, una dama
puede mover, comer a un caballero y colocarse en esa posicin, convertir a una dama enemiga adyacente a su equipo.



2- Problema Bsqueda

Un problema de bsqueda es definido como un problema de bsqueda en un espacio de estado cuando se definen por lo
menos las siguientes caractersticas: Estado, estado inicial, estado meta y las reglas. A seguir se define Damas Golosas
como un problema de bsqueda en un espacio de estado.


2.1 Objetos:

Los Objetos considerados en este juego son el tablero, las fichas y el turno.
El tablero es representada por un matriz T de dimensin 8x8.
Las fichas son: Damas Blancas, Caballeros Blancos, Damas Oscuras y Caballeros Oscuros.
Los turnosson denotados por t, tomando este los valores: -1 = Blancas, 1 = Oscuras.


2.2 Estado:

El estado para este problema es dado por la ubicacin de las fichas en el tablero y el turno en un momento dado; y
es representado por: (T, t), en donde T {0, 1, 2, 3, -1, -2, -3, -5}8x8, y t{1,-1}.

Representacin:


Turno t
- 1 Turno de BLANCO
- -1 Turno de OSCUROS

ndo: Numero de damas oscuras
ndb: Numero de damas blancas



3

* +

- -1: ficha blanca Caballero
- -2: ficha blanca Dama
- 0: casillero vaco
- 1: ficha oscura Caballero
- 2: ficha oscura Dama


2.3 Estado inicial:

Es dado por el Tablero, se indica las posiciones donde se pueden ubicar las fichas.


2 0 20 2020
0 1 0 1 0 1 0 1
10 1 0101 0
T = 0 0 0 0 0 0 0 0
0 0 0 00 00 0
0-10-10-10-1
-10 -10-10 -10
0 -2 0 -2 0 -20-2


2.4 Estado meta:

-Gana blanco:
Si ,-,-
Si

-Gana negro:
Si ,-,-
Si


2.5 Reglas:


Mover_b(a,b,c,d): mueve caballero blanco o dama blanca de (a,b) hacia (c,d).
Mover_o(a,b,c,d): mueve caballero oscuro o dama oscura de (a,b) hacia (c, d).
Saltar_b(a,b,c,d): salta caballero blanco de (a, b) hacia (c,d).
Saltar_o(a, b, c, d): salta caballero oscuro de (a,b) hacia (c,d).
Comer_b(a, b, c, d): come dama blanca de (a, b) hacia (c,d).
Comer_o(a,b,c,d): come dama oscura de (a,b) hacia (c,d).
Cambiar_b(a,b,c,d): cambia dama blanca de (a,b) hacia (c,d).
Cambiar_o(a,b,c,d): cambia dama oscura de (a,b) hacia (c,d).





4


2.6 Sistema de Produccin:

En la siguiente tabla se muestran el conjunto de reglas para uno de los jugadores (blancos) con sus respectivas
condiciones y estados finales. En todos los casos, el estado final corresponde al cambio de turno y al cambio de la
ficha en la posicin final por el de la ficha de posicin inicial.


ESTADO REGLA CONDICIONES NUEVO ESTADO
T,t,ndb,ndn
Mover_b(a,b,c,d)
T[c][d]=0
a>0
0<=b<=8
c=a-1
d=b+1 || d=b-1
t=-1
T[c][d]=T[a][b]
T[a][b]=0
t=1
Saltar_b(a,b,c,d)
T[a][b]=-1
T[c][d]=0
T[a-1][b+1]=1
T[a-1][b-1]=1
T[a-1][b-1]=2
T[a-1][b+1]=2
0<=d<=8
c>=0
c=a-2
d=b+2 || d=b-2
t=-1

T[c][d]=T[a][b]
T[a][b]=0
t=1
Comer_b(a,b,c,d)
T[a][b]=-2
T[c][d]=1
a>0
0<=b<=8
c=a-1
d=b+1 || d=b-1
t=-1
T[c][d]=T[a][b]
T[a][b]=0
t=1

Cambiar_b(a,b,c,d)
T[a][b]=-2
T[c][d]=2
a>0
0<=b<=8
c=a-1
d=b+1 || d=b-1
t=-1
T[c][d]=-2
ndo=ndo-1
ndb=ndb+1
t=1
Tabla 1. Tabla con el sistema de produccin


Se detallaran las siguientes reglas:

Mover_b (Mover caballero blanco): Las condiciones para Mover son: Primero, se verifica que la posicin (c, d) a la
cual se desea mover el caballero blanco se encuentre dentro del rango del tablero de 8x8. Segundo, se verifica que la
variable (c, d) se encuentre en la siguiente casilla (c=a-1, d=b1) una posicin a la izquierda de la variable (a, b) o una
posicin a la derecha de variable (a, b). Tercero, se verifica que la posicin a moverse (c, d) estar vaca. El estado
resultante de la regla Mover_b se describe a continuacin. El nuevo turno ser ahora opuesto al turno actual. El valor de
la matriz de la nueva posicin ser igual al valor de la matriz de la posicin actual y el valor de la posicin actual
quedara como vaco.

5

Saltar_b(Saltar caballero blanco): Las condicione para Comer son: Primero, se verifica que la posicin (c, d) a la cual
se desea Comer el Caballero blanco se encuentra dentro del rango del tablero de 8x8. Segundo, se verifica que la
variable (c, d) se encuentre en la siguiente casilla (c=a-2, d= b2) dos posiciones a la izquierda de la variable (a, b) o
dos posiciones a la derecha de la variable (a, b). Tercero, se verifica que la posicin por la cual pase a saltar sea ocupada
por un caballero oscuro o una dama oscura. El estado resultante de la regla Saltar_b se describe a continuacin. El nuevo
turno ser ahora el turno opuesto al turno actual. El valor de la matriz de la nueva posicin ser igual al valor de la
posicin actual y el valor de la matriz en la posicin actual quedara como vaco.


Comer_b (Comer dama blanca): Las condiciones para Comer son: Primero, se verifica que la posicin (c, d) a la cual
desea Comer la dama blanca se encuentre dentro del rango del tablero de 8x8. Segundo, se verifica que la variable (c,
d) se encuentre en la siguiente casilla (c=a-1, d=b1) una posicin a la izquierda de la variable (a, b) o una posicin a la
derecha de variable (a, b). Tercero, se verifica que la posicin a comer (c, d) estar ocupada por la ficha caballero
oscuro, entonces la ficha despus de ser comido desaparecer. El estado resultante de la regla Comer_b se describe a
continuacin. El nuevo turno ser ahora opuesto al turno actual. El valor de la matriz de la nueva posicin ser igual al
valor de la matriz de la posicin actual y el valor de la posicin actual quedara como vaco.


Cambiar_b (Cambiar dama blanca):Las condiciones para Cambiar son: Primero, se verifica que la posicin (c, d) a la
cual se desea Cambiarladama blanca se encuentre dentro del rango del tablero de 8x8. Segundo, se verifica que la
variable (c, d) se encuentre en la siguiente casilla (c=a-1, d=b1) una posicin a la izquierda de la variable (a, b) o una
posicin a la derecha de variable (a, b). Tercero, se verifica que la posicin a cambiar (c, d) estar ocupada por la ficha
dama oscura, entonces la ficha despus de ser cambiadapasa a ser dama blanca. El estado resultante de la regla
Cambiar_b se describe a continuacin. El nuevo turno ser ahora opuesto al turno actual. El valor de la matriz de la
nueva posicin ser igual al valor de la matriz de la posicin actual y el valor de la posicin actual quedara como la
nueva posicin.



3- Algoritmo

Se especificara el algoritmo usado para que la maquina pueda jugar el juego; recordando que su nivel de dificultad se
obtiene gracias a la FUNCION EVALUADORA, el ARBOL DE DECISION y la ESTRATEGIA a usar.

3.1 Funcin Evaluadora

La funcin evaluadora est formada tomando en consideracin algunos aspectos para que el resultado sea variable
dependiendo del estado actual.

( ) (2)
Siendo:
pos=peso de la posicin donde termina la ficha.
jugada=la jugada a realiza, mover, saltar, comer, cambiar.
g=si en la posicin puede ser comido.
h =si en la posicin tiene aliado.
j =si la posicin hace que la dama avancems.











6

3.2 Algoritmo Humano-Maquina

El algoritmo usado permite al juego crear los siguientes estados a partir del estado actual y no terminara el juego hasta
que llegue a un posible estado meta como se verifica en la figura1.



Figura1. Diagrama de flujo del Algoritmo Humano-Maquina



3.3 Estrategia Usada

Las estrategias usadas para que la mquina decida que jugada realizar, depender del nivel de dificultad:

Nivel Fcil: solo escoger aleatoriamente un movimiento.

Nivel Normal: escoger siempre la jugada que tenga ms peso sin considerar el juego del oponente. (1
MEJOR)

Nivel Difcil: escoger la jugada que tenga ms peso y al mismo tiempo que le de menor peso a la siguiente
jugada del oponente. (DIFERENCIA DE UTILIDADES).









Si
Si
No
7

4- Sistema

4.1 Arquitectura

Se cuentan con 3 componentes (vase figura 2); la IU son las pantallas, la LOGICA DEL JUEGO son las clases que
realizan los clculos del rbol de decisin, la funcin evaluadora y las estrategias a usar. Por ltimo los OBJETOS DEL
JUEGO son las clases que representan a los objetos de nuestro juego.


Figura2. Diagrama de Componentes

4.2 Descripcin del Sistema

En general, el sistema muestra una pantalla de bienvenida(vase figura3) seguida del tablero para poder jugar (vase
figura4).
Tiene un men superior para escoger el nivel de dificultad de la maquina(vase figura5).
Tambin cuenta con un men para iniciar un nuevo juego e indicar quien inicia, si blancas o negras(vase figura6).





Figura3. Pantalla de Bienvenida

8



Figura4. Pantalla Principal




Figura5. Men de niveles





Figura6. Men de Nuevo Juego



9


4.3 Requisitos mnimos de sistema


Hardware:
Procesador: Intel Pentium III o equivalente a 800 MHz
Memoria: 512 MB
Espacio de disco: 750 MB de espacio libre en el disco

Software:
- Microsoft Windows XP Professional SP3

NetBeans IDE funciona en el kit de desarrollo de Java SE (JDK), que consta del entorno de ejecucin de Java y de
herramientas para desarrolladores para la compilacin, depuracin y ejecucin de aplicaciones escritas en lenguaje Java.
Los JDK probados con esta versin son los siguientes:
- JDK 6 Actualizacin 14
- JDK 5 Actualizacin 19

4.4 Pruebas

4.4.1 Hardware y Software usados

Se cont con computadoras de la siguiente especificacin:
-Procesador: Intel Core i5 a 3.00Ghz
-Memoria: 4Gb

-Microsoft Windows 7 Ultmate
-Netbeans 7.4
-JDK 7

4.4.2 Instancias de Pruebas

Se cont con la ayuda de 5 compaeros de nuestra facultad; tambin logramos que juegen nuestros padres en casa que
son personas entre 35 y 55 aos con estudios de secundaria completa y algunos universidad. Las dems pruebas fueron
hechas por nosotros mismos, estudiantes universitarios entre 19 y 25 aos.


4.4.3 Resultados

Hay una diferencia de resultados dependiendo del nivel como se muestra en la tabla 2; tambin se verifica una diferencia
de tiempo de procesamiento de jugadas como se muestra en la tabla3.

SISTEMA
Nivel Gana Empata Pierde
Fcil 1 2 20
Normal 6 3 13
Experto 6 10 6
Tabla2. Resultados de Juegos



Tabla3. Tiempos de procesamiento

SISTEMA HUMANO
Fcil 1 seg 2seg
Normal 1seg 4seg
Experto 1seg 4seg
10


5- Conclusiones

Se verificaque el mtodo de BUSQUEDA EN UN ESPACIO DE ESTADO nos permite formalizar correctamente un
problema de juego para luego poder realizar la implementacin del mismo.

Tambin que en nuestro juego se deben considerar varios aspectos al momento de definir una funcin evaluadora
optima, tomando en cuenta no solo las reglas del sistema de produccin sino tambin la posicin en el tablero y las
fichas que se encuentren cerca de la posicin.

Al momento de implementarlo y realizar las pruebas verificamos que: la maquina evoluciona en su capacidad de jugar
gracias a las estrategias escogidas, se verifica que la maquina empata ms en modo EXPERTO debido a que nuestra
funcin evaluadora le brinda valores que permiten que juegue de modo defensivo haciendo q no gane el humano en
lugar de buscar el ganar.



Referencias


[1] Russell S y NorvigP.Inteligencia Artificial un enfoque modernoPretincemay Hispanoamericana SA, segunda
versin.
[2] Martha moreno, ENCICLOPEDIA DE LOS JUEGOS (Barcelona Espaa) Editorial Paidotribo 2003.
[3] O. Colomina, P. Compa, R. Satorre, F. Aznar, P. Suau y R. Rizo. Aprendiendo mediante juegos: Experiencia de una
competicin de juegos inteligentes. Dpto. de Ciencia de la Computacin e Inteligencia Artificial. Universidad de
Alicante
[4] John B. Ahlquist. Game Artificial Intelligence.DelmarCengageLearning. (2006)
[5] Cazorla M., Compa P., Escolano F., Rizo R. Fundamentos de Inteligencia Artificial. Publicaciones de la
Universidad de Alicante. (1999)

También podría gustarte