Está en la página 1de 24

2015

Juego 4-Raya-gravedad y
desplazamiento

INTEGRANTES
-

Castro Bardales, Pablo


12200004
Ocrospoma Sarasi, Carlos
12200027
Purca Romn, Jos
12200033

UNMSM
ARTIFICIAL

INTELIGENCIA

Juego 4-Raya-gravedad y 201


desplazamiento 5
INDICE
1. INTRODUCCIN..................................................................2
2. DEFINICIN TEXTUAL DEL JUEGO....................3
2.1

De qu trata?.......................................................................3

2.2

Reglas..................................................................................3

2.4

Cundo se gana?..................................................................3

2.5

Imagen referencial................................................................3

3. PROBLEMA DE BSQUEDA..................................................4
Problema:.....................................................................................4
Objetos:.......................................................................................4
Estado:.........................................................................................4
Representacin:............................................................................4
Estado inicial:...............................................................................4
Estado meta:................................................................................4
Reglas:.........................................................................................4
Sistema de Produccin..................................................................5

4. INTERFACES....................................................................... 5
5. IMPLEMENTACION DE JUEGO.............................................14
6. CONCLUSIONES................................................................17
7. REFERENCIA....................................................................18

Inteligencia Artificial, 2015-1

1.

INTRODUCCIN

El gomoku o Go-moku o Cinco en lneas es un juego tradicional de origen


oriental que tiene como antecedente el juego Go (que se conoce desde
hace 4000 aos en China) Otros datos dicen que el juego de mesa
Gomoku aparece en Japn con el nombre de Kakugo (que significa algo
as como "cinco pasos" en japons), y pronto se convirti en un
pasatiempo nacional. El juego de mesa Gomoku se introdujo en Europa
alrededor de 1885 y lleg a ser conocido en Inglaterra con el nombre de
Cinco Disfrute [1].
El gomoku se empez a jugar en un tablero go conformada por
cuadrculas en donde las piezas se colocaban en las intersecciones de
cada cuadricula [2], estas piezas deban diferenciarse, hoy en da este
juego se puede jugar en cualquier tablero que mantenga el mismo
formato del tablero go pero con la excepcin de que las piezas pueden ir
en las intersecciones o dentro de las cuadriculas [3].
Se ha desarrollado este juego para aplicaciones mviles as como
tambin para escritorio, donde el juego puede ser offline u online [4],
tambin hay variaciones en las fichas con las que se juega que pueden
cambiar de piedras de colores hasta smbolos de crculos y equis, se
puede descargar desde las tiendas de aplicaciones: Play store, Itunes
store, Blackberryworld, etc.
Campeonatos del Mundo de Gomoku han ocurrido 2 veces, en 1989 y
1991. Desde 2009 el torneo se reanuda.Lista de los torneos realizados y
los poseedores de los ttulos:

2.

Ao

Ciudad, Pas Organizador

Campen

1989

Kyoto, Japn

SergeyChernov

1991

Mosc, Unin Sovitica

Yuri Tarannikov

2009

Pardubice, Repblica Checa

ArturTamioa

2011

Huskvarna, Suecia

AttilaDemjn

2013

Tallin, Estonia

AttilaDemjn

DEFINICIN TEXTUAL DEL JUEGO


Inteligencia Artificial, 2015-1

2.1

De qu trata?

Las fichas se colocan en las casillas comenzando por el jugador con las
fichas negras (X) y despus el de fichas blancas (O), colocando una ficha
por turno, alternadamente.
Las variaciones que se han hecho son:
El jugador no puede colocar en cualquier casilla, se hace por
columna y la ficha va a la parte superior del tablero (gravedad)
Si en la columna existe una ficha en la parte superior lo que se hace
es desplazarla una casilla hacia abajo, y la nueva ficha tomar el
espacio libre.

2.2

Reglas

Cada jugador solo debe de colocar su ficha una vez por turno y su
ingreso es por una columna, su ingreso no debe ser sobre una columna
llena de fichas [5].

2.4

Cundo se gana?

El objetivo del juego es lograr 4 fichas consecutivas en lnea del mismo


color (ya sea horizontal, vertical o diagonal).
En caso se haya llenado el tablero y no haya espacio libre y ningn
jugador haya logrado el objetivo se da por empate la partida.

2.5

Imagen referencial

Inteligencia Artificial, 2015-1

3.

PROBLEMA DE BSQUEDA

Problema:

4-raya gravedad y desplazamiento

Objetos: Tablero m x n , fichas, turno.


Estado:

Ubicacin de fichas en el tablero y el turno de quien juega.

Representacin:
T , t donde: T {1,2,0 }m x n 1 : x ,2 : y ,0 : vacio
t {x , y }

Estado inicial:

T [ i, j ] 0 i , j
t=x o y (cualquiera de los dos)

Estado meta:
Como el estado meta es muy grande, se definirn las condiciones del
estado meta:
Si existen 4 1s colineales gana x
Si existen 4 2s colineales gana y
No gana
no gana
tablero lleno empate
x
y

t=x

t= y

gana
gana

gana
gana

gana
gana

Reglas:

colocarX ( j) : coloca
colocarY ( j) : coloca

1
2

en la posicin
en la posicin

(m , j)
(m , j)

Inteligencia Artificial, 2015-1

Sistema de Produccin
Estado

Regla

colocarX ( j)

Condicin
t=x ,
T [ 1, j ] =0 ,
1 j n

Nuevo Estado
t= y ,
desde i=1hasta i=m1
T [ i, j ]=T [ i+1, j ] ,
T [m , j]=1

t= y ,
T [ 1, j ] =0,
1 j n

t=x ,
desde i=1hasta i=m1
T [ i, j ]=T [ i+1, j ] ,
T [m , j]=2

T ,t

colocarY ( j)

4.

INTERFACES

El juego 4 en raya se implement usando Processing (lenguaje de


programacin y entorno de desarrollo integradode cdigo abierto basado
en Java, de fcil utilizacin, y que sirve como medio para la produccin
de proyectos multimedia e interactivos de diseo digital)

Presentacin:

Inteligencia Artificial, 2015-1

Una breve presentacin con el nombre del juego, el usuario debe hacer
clic en jugar.

Men principal:
El software cuenta con un men principal donde el jugador tiene la
posibilidad

de

elegir

entre

opciones:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkk
Humano vs Maquina:Para poder jugar con la mquina.

Humano vs Humano: Para poder jugar con otra persona.

Configuracin:Nos permitir cambiar la dimensin del tablero y

su diseo.
Estadsticas:Nos indica el porcentaje de efectividad de las

partidas frente a la mquina.


Crditos: Se menciona los autores del juego en mencin.

Salir: Se cierra y finaliza la aplicacin.

Inteligencia Artificial, 2015-1

Humano vs Mquina:
El jugador selecciona el nivel de dificultad de la mquina, para iniciar el
juego y selecciona si el humano o la maquina es quien empieza el juego.
Las jugadas de la mquina se realizan automticamente y en corto
periodo de tiempo.

Inteligencia Artificial, 2015-1

El juego finaliza hasta que el jugador o la maquina haya


completado sus 4 en raya. Y se indica un mensaje en la parte
superior si gano o perdi.

Inteligencia Artificial, 2015-1

Humano vs Humano:
Para colocar una ficha, se hace clic en la parte superior de la columna
que desea colocar la ficha, en este ejemplo la columna 5.
Si se selecciona regresar se cancela el juego, y vuelve a la interfaz
principal.
Inteligencia Artificial, 2015-1

Luego, es el turno de las fichas


amarillas y as sucesivamente de manera intercalada hasta finalizar el
juego.
Si se selecciona regresar se cancela el juego, y vuelve a la interfaz
principal.

Inteligencia Artificial, 2015-1

10

Juego finalizado:

Inteligencia Artificial, 2015-1

11

Finaliza el juego cuando alguna ficha ha llegado a tener 4 fichas


colineales, y en la parte superior se indica el color de fichas ganador.

Si el jugador quiere jugar otra partida hace clic en Regresar y vuelve al menprincipal.

Configuracin:
Inteligencia Artificial, 2015-1

12

Nos permite elegir entre tres posibles dimensiones para el tablero: 6x6,
7x7 y 8x8. As mismo la opcin de elegir el color del tablero.

Inteligencia Artificial, 2015-1

13

Estadsticas:
-Nos indica el porcentaje de efectividad de la maquina frente al humano.
-Esto nos ayudar a visualizar la eficiencia de nuestro algoritmo para los
niveles de dificultad de la mquina. Si se ha llegado a aplicar buenos
patrones

de

bsqueda.

-Si se selecciona regresar vuelve a la interfaz del men principal.

Inteligencia Artificial, 2015-1

14

Crditos:
Se mencionan las personas involucradas en la creacin del juego.
Si

se

selecciona

regresarvuelve

la

interfaz

del

men

principal.jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
j

Inteligencia Artificial, 2015-1

15

5.

IMPLEMENTACION DE JUEGO

Algoritmo Humano -Mquina:


Para el desarrollo del algoritmo humano-mquina del juego 4
en raya con gravedad y desplazamiento, se han considerado
Inteligencia Artificial, 2015-1

16

tres estrategias de seleccin de la jugada para la mquina, las


cuales corresponden a los 3 niveles de dificultad de la
mquina en el juego. Esto lo podemos notar en la siguiente
Tabla:
Nivel
Fcil

Estrategia
No determinista

Medio

Primero el Mejor

Difcil

Mejor Diferencia de
Utilidades.
(Estrategia ofensiva)

Descripcin
Se selecciona de
forma aleatoria una
de las posibles
jugadas.
Se selecciona la
mejor jugada, esto
es, la que genera
mejor valor de la
funcin evaluadora.
Se revisan todas las
posibles jugadas de
la mquina y se
evalan con la
funcin evaluadora.
Luego se revisan
todas las posibles
jugadas del humano
para cada posible
jugada de la
mquina, y se
evalan con la
funcin evaluadora.
Se selecciona la
jugada de la
mquina que
presenta mayor
diferencia de valor
de la funcin
evaluadora entre la
jugada de la
mquina y su
correspondiente

Inteligencia Artificial, 2015-1

17

mejor jugada del


humano.

FUNCIN EVALUADORA
f(e) = posicinColumna + ventaja(jugadorActual)
ventaja(oponente)
Dnde:
posicinColumna:Valor de la columna en la cual la ficha
ser insertada por el jugador actual(distanciamiento del
centro). Desde el centro hacia afuera disminuye (esto porque
desde el centro hay ms posibilidades de hacer rayas).
0

Inteligencia Artificial, 2015-1

18

n
2
posicinColumna=0.15
n
ncolumna ,columna>
2
columna1 , columna

Ventaja(jugador J): Ventaja para el jugador J de la


distribucin de sus fichas en el tablero.
Ventaja=0.5f 1 (e)+0.5f 2( e)

Dnde:

Inteligencia Artificial, 2015-1

19

: Nmero mximo de fichas


(horizontal, vertical y diagonales)
f 1 ( e)

colineales

mximoDiagonal)

2
2
f 1 ( e )=0.05 ( mximoVertical) + 0.35 (mximoHorizontal) + 0.3

f 2( e) :Suma de fichas colineales

sumaDiagonal)+0.3( sumaDiagonal )
f 2 ( e )=0.05( sumaVertical ) +0.35( sumaHorizontal ) +0.3

Considerando dichas estrategias tenemos por funcin


evaluadora para el nivel difcil (Mejor diferencia de utilidades)
la siguiente:
F

f (M)

Ventaja (MAX)

f (H)

Riesgo (MIN)

Dnde:
Ventaja: f (M) = funcin evaluadora para el turno de la
mquina.
Riesgo: f (H) = funcin evaluadora para el turno del humano.

En caso algunos de los jugadores haga k-raya.

f (Maquina) f (Humano)

sinoesunasolucinenquegane
algunodelosjugadores

1000

Si ganaMAQUINA

Inteligencia Artificial, 2015-1

20

-1000

6.

Si ganaHUMANO

PRUEBAS

El software del juego desarrollado fue sometido a prueba con 10


personas (includos miembros del grupo) mayores de 18 aos para cada
uno de los niveles de dificultad. Las personas que colaboraron con
nosotros son compaeros de la facultad misma (FISI), es necesario decir
que algunos desconocan el juego as que por acuerdo explicamos en
que consista el juego y cules eran las reglas y las posibles
modificaciones al hacer una jugada. La eleccin de las personas a
utilizar fue al azar.
Antes de iniciar una partida del juego a considerar en la tabla de prueba
se le otorg una partida de prueba para poder adaptarse a la variante
que hicimos con el juego original. Luego de la partida de prueba, se
empez jugando el nivel principiante. Cada jugador jugar 2 partidas en
cada nivel. Y lo har con la configuracin del tablero de dimensin 7x7.
De perder en algn nivel no se asumir como prdida en los niveles
sucesivos y se continuar jugando en los siguientes niveles sea cual
fuere el resultado. Los resultados para la mquina se describen a
continuacin en la Tabla:

Nivel
Principiante
Intermedio
Experto

Partidas
Ganadas
3
7
19

Partidas
empatadas
0
0
0

Partidas
perdidas
17
13
1

Inteligencia Artificial, 2015-1

Porcentaje de
Efectividad
15%
35%
95%

21

7.

CONCLUSIONES

El juego 4 en raya con gravedad y desplazamiento presenta un


grado de interactividad adecuado para personas de toda edad.
El algoritmo de mejor diferencia de utilidades es el mejor para
asegurar el ptimo resultado de las decisiones de la mquina.
Para el algoritmo de primero el mejor y mejor diferencia de utilidades,
es muy importante tener una funcin evaluadora bien definida ya que
depende de dicha funcin.
Se confirm que el nivel de dificultad del juego vara de acuerdo al
algoritmo utilizado para encontrar la jugada por parte de la mquina.
Conforme el algoritmo es ms complejo, el grado de dificultad del juego
es mayor.
Como se observa en los experimentos numricos, en un inicio en el
nivel principiante, la cantidad de veces que pierde la mquina es alta,
pero mientras se aumenta el nivel de dificultad dicha situacin se
revierte haciendo que la mquina llegue alcanzar niveles de xito hasta
casi 99.99%.

Inteligencia Artificial, 2015-1

22

8.

REFERENCIAS

Para desarrollar este documento se han utilizado las siguientes fuentes,


donde por supuesto podr encontrarse ms informacin que la aqu
expuesta:
[1] http://www.buho21.com/reglas/gomoku.jsf
[2] http://antiguosjuegosdemesa.blogspot.com/search/label/Go
[3] http://kaleidoscope.cultural-china.com/en/140Kaleidoscope3757.html
[4] http://es.mobilerated.com/gomoku-9966.html
[5] http://en.wikipedia.org/wiki/Gomoku

Inteligencia Artificial, 2015-1

23

También podría gustarte