Professional Documents
Culture Documents
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Informe
Juego de Inteligencia artificial
Damas Suicidas
CURSO
Inteligencia Artificial
PROFESOR
Dr Mauricio Sanchez
INTEGRANTES
04200210
05200058
05200125
2012-I
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INTRODUCCIN
En el presente informe se desarrolla el juego Damas Suicidas. Para el desarrollo del
juego inteligente se us la tcnica de bsqueda en un espacio de estados y se us algoritmo
humano mquina con los niveles de Principiante, Normal y Master para los cuales se us
las estrategias: no determinstico, primero el mejor y diferencia de utilidades
respectivamente.
Para el anlisis, desarrollo e implementacin del juego se ha tenido en cuenta el
aprendizaje sobre la definicin del problema y los mtodos de bsqueda. Para el juego, se
ha definido su correspondiente problema en un espacio de estado, las reglas y el objetivo
del juego. Se ha implementado el Software en 3 niveles de dificultad, como son: fcil,
normal y difcil. Correspondiendo para cada nivel los mtodos de bsqueda no
determinstico, primero el mejor y minmax con mejor diferencia de utilidades. Los
objetivos del juego se cumplen y se desarrolla una interfaz amigable y entendible por el
usuario (humano) que jugar con la mquina.
1. Introduccin
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Comer:
Para comer una pieza contraria debe estar justo delante de una de tus
piezas. Se realiza en direccin diagonal tanto hacia adelante como hacia
atrs, desplazndose a la ubicacin de la ficha comida.
Las capturas no se pueden encadenar. Por ejemplo si despus de haber
desplazado nuestra ficha despus de haber comido una ficha del
oponente y desde esta posicin existe una ficha que podramos comer y
ya lo podemos hacer ya que solo podemos comer una ficha por turno.
Si se da el caso de que el oponente nos da una de sus fichas para que
esta sea comida y nosotros tenemos opcin a escaparnos, se nos esta
obligado a comer la ficha del oponente.
Esta limitado a comer a las fichas que se encuentren adyacentes.
Ficha invisible:
Cuando una pieza acaba un movimiento en alguna casilla de la ltima
renglera, esta ficha desaparece, esto quiere decir que la ficha del
jugador sale del juego, favoreciendo al jugador ya que el juego consta
que gana el que al final pierda sus fichas.
Final de partida:
Gana quien se queda sin piezas sobre el tablero.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
En sus inicios el juego era llamado "ferses", el nombre por el que se conoca a
la reina en el ajedrez. Conviene indicar que las piezas en las damas se mueven
como lo haca la reina en el ajedrez de la poca. El nuevo movimiento que
introdujo este juego fue la habilidad de saltar sobre las piezas del contrario y
capturarlas. En ese momento el juego pas a ser conocido como "fierges". Fue
en 1508 cuando se le empez a llamar por su nombre actual.
En sus orgenes, las reglas de juego eran muy diferentes; por ejemplo, capturar
la pieza del contrario era opcional. Ms adelante, en 1535 se introdujo la
obligatoriedad como regla y, antes de convertirla en estndar, se jugaba como
una variante llamada "jeu forc" (juego forzado).
Durante algunas pocas, el juego de las damas se vio desprestigiado por
considerarlo de mujeres, dado que el de hombres era el ajedrez. Sin embargo,
jugarlo bien implica una buena estrategia; los grandes jugadores llegan a
planificar entre 15 y 20 movimientos por adelantado.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Problema de 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 continuacin se define Damas Suicidas 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.
2.2. Estado
El estado para el problema de bsqueda en un espacio estado se define
como el turno de un jugador y la ubicacin de las fichas en el tablero
adems del nmero de fichas y damas de color rojo y negro.
T, t, n, r
T 0,1,1
8 x8
0: Casillero vacio
1: Ficha de color rojo
-1: Ficha de color negro
T: representa el tablero de juego
t {N,R}
n: nmero de fichas negras
r: nmero de fichas rojas
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1
1
1
1
0
0
0
0
1
1
1
1
0
, t N , n 12, r 12
2.5. Reglas
moverFR(x1,y1,x2,y2) : mover ficha roja de la posicin
(x1,y1) a (x2,y2)
moverFN(x1,y1,x2,y2) : mover ficha negra de la posicin
(x1,y1) a (x2,y2)
comerFR(x1,y1,x2,y2) : comer con la ficha roja de la posicin
(x1,y1) a la ficha negra de la posicin (x2,y2)
comerFN(x1,y1,x2,y2) : comer con la ficha negra de la
posicin (x1,y1) a la ficha roja de la posicin (x2,y2)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Regla
Condicin
t=R
moverFR(x1,y1,x2
,y2)
comerFR(x1,y1,x2
,y2)
comerFN(x1,y1,x2
,y2)
T, t=N, r, n
T(x1, y1)=1
T(x1,y1)0
T(x2, y2)=0
1
x2
T(x2,y2)
=x1+18
1
y2
=y118
t=N
moverFN(x1,y1,x2
,y2)
T, t=R, r, n
T(x1, y1)=-1
T(x1,y1)0
T(x2, y2)=0
1, si 1 y 2 7
1
x2
T(x2,y2) 0 _ si, y 2 1,
=x1+18
n n 1
1
y2
=y118
t=R
T, t=N, r, n n-1
T(x1,y1)=1
T(x2, y2)=-1
1x2=x1+1
8
1y2=y11
8
T(x1,y1)0
1 si, y 2 7
T ( x 2, y 2)
0 si, y 2 8
t=N
T, t=R, n, r r-1
T(x1,y1) 0
T(x1,y1)=-1
T(x2, y2)=1
1x2=x1+1
8
1y2=y11
8
1, si y 2 2
T(x2,y2) 0 si, y 2 1,
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Algoritmo Humano-Maquina
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
10
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
11
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nivel
Estrategia
Descripcin
Principiante
No determinstica
Primero el mejor
Normal
(Glotn)
jugadas y, de acuerdo
a la funcin
evaluadora, se elige
la que tenga mayor
Mejor diferencia
Experto
valor.
La mquina revisa las
posibles jugadas de la
de utilidades
mquina y las evala
con la funcin
evaluadora. Luego,
evala las posibles
jugadas del humano
con la funcin
evaluadora.
Finalmente, la
mquina
selecciona la jugada
que presenta mayor
diferencia de
utilidades.
3.1.
La funcin evaluadora
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
12
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10
10
5
10
2
2
1
1
2
5
10
10
1
2
5
10
, t N , n 12, r 12
5
10
10
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
13
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
: no hay disposicin
4. Implementacin
El juego Damas Suicidas se implement usando el lenguaje Java con el IDE Netbeans 6.9.1.
Estrategias
4.2.1. Estrategia No Determinstico:
private static Estado azar(Vector<Estado> vec) {
Estado est = new Estado();
Random rand = new Random();
int x = rand.nextInt(vec.size());
for (int i = 0; i < vec.size(); i++) {
est = vec.elementAt(i);
est.imprimirEstado();
}
est = vec.elementAt(x);
return est;
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
14
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
return est;
} else {
return null;
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
15
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
16
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
return est;
} else {
return null;
}
}
5. Pruebas
5.1.La mquina gana
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
17
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
18
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6. Conclusiones
- Luego de jugar varias veces con el programa comprobamos que a medida que se avanza
en la dificultad se hace ms complicado ganar a la mquina, con lo cual podemos
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
19
UNMSM - FISI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
afirmar que las estrategias seleccionadas para los diferentes niveles son las correctas y
que los mtodos informados son mejores que los mtodos ciegos.
- Mientras mayor es el nivel de ramificacin es factible encontrar una mejor solucin
pero con el coste de tener un mayor tiempo de demora.
7. Referencias
[1]
[2]
DamasRusas : http://www.ludoteka.com/damas_rusas.html
interfaz de las Damas:
http://www.gamesforthebrain.com/spanish/checkers/
[3]
www.cs.us.es/cursos/iia-2008/temas/tema-01.pdf
Representacin de problemas
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inteligencia Artificial
20