ejemplo informe ia

28
2015 INTEGRANTES - Castro Bardales, Pablo 12200004 - Ocrospoma Sarasi, Carlos 12200027 - Purca Román, José UNMSM - INTELIGENCIA ARTIFICIAL Juego 4-Raya-gravedad y desplazamiento

Upload: jhonn-ayala-chero

Post on 06-Dec-2015

242 views

Category:

Documents


2 download

DESCRIPTION

inteligencia artificial K en raya

TRANSCRIPT

2015

INTEGRANTES

- Castro Bardales, Pablo 12200004- Ocrospoma Sarasi, Carlos 12200027- Purca Román, José 12200033- Ramos Rodriguez, Ronald 12200036

UNMSM - INTELIGENCIA ARTIFICIAL

Juego 4-Raya-gravedad y desplazamiento

Juego 4-Raya-gravedad y desplazamiento 2015

INDICE

1. INTRODUCCIÓN.......................................................................................................2

2. DEFINICIÓN TEXTUAL DEL JUEGO……………………........................................................3

2.1 ¿De qué trata?.................................................................................................................3

2.2 Reglas..............................................................................................................................3

2.4 ¿Cuándo se gana?............................................................................................................3

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

3. PROBLEMA DE BÚSQUEDA.......................................................................................4

Problema:...............................................................................................................................4

Objetos:..................................................................................................................................4

Estado:...................................................................................................................................4

Representación:......................................................................................................................4

Estado inicial:.........................................................................................................................4

Estado meta:..........................................................................................................................4

Reglas:....................................................................................................................................4

Sistema de Producción............................................................................................................5

4. INTERFACES.............................................................................................................5

5. IMPLEMENTACION DE JUEGO.................................................................................14

6. CONCLUSIONES......................................................................................................17

7. REFERENCIA...........................................................................................................18

Inteligencia Artificial, 2015-1 1

Juego 4-Raya-gravedad y desplazamiento 2015

1. INTRODUCCIÓN

El gomoku o Go-moku o Cinco en líneas es un juego tradicional de origen oriental que tiene como antecedente el juego Go (que se conoce desde hace 4000 años en China) Otros datos dicen que el juego de mesa Gomoku aparece en Japón con el nombre de Kakugo (que significa algo así como "cinco pasos" en japonés), 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 cuadrículas en donde las piezas se colocaban en las intersecciones de cada cuadricula [2], estas piezas debían diferenciarse, hoy en día este juego se puede jugar en cualquier tablero que mantenga el mismo formato del tablero go pero con la excepción de que las piezas pueden ir en las intersecciones o dentro de las cuadriculas [3].

Se ha desarrollado este juego para aplicaciones móviles así como también para escritorio, donde el juego puede ser offline u online [4], también hay variaciones en las fichas con las que se juega que pueden cambiar de piedras de colores hasta símbolos de círculos 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 títulos:

Año Ciudad, País Organizador Campeón

1989 Kyoto, Japón SergeyChernov

1991 Moscú, Unión Soviética Yuri Tarannikov

2009 Pardubice, República Checa ArturTamioła

2011 Huskvarna, Suecia AttilaDemján

2013 Tallin, Estonia AttilaDemján

Inteligencia Artificial, 2015-1 2

Juego 4-Raya-gravedad y desplazamiento 2015

2. DEFINICIÓN TEXTUAL DEL JUEGO

2.1 ¿De qué trata?

Las fichas se colocan en las casillas comenzando por el jugador con las fichas negras (X) y después 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 ¿Cuándo se gana?

El objetivo del juego es lograr 4 fichas consecutivas en línea del mismo color (ya sea horizontal, vertical o diagonal).En caso se haya llenado el tablero y no haya espacio libre y ningún jugador haya logrado el objetivo se da por empate la partida.

2.5 Imagen referencial

Inteligencia Artificial, 2015-1 3

Juego 4-Raya-gravedad y desplazamiento 2015

3. PROBLEMA DE BÚSQUEDA

Problema: 4-raya gravedad y desplazamiento

Objetos: Tablerom xn, fichas, turno.

Estado: Ubicación de fichas en el tablero y el turno de quien juega.

Representación:

T ,tdonde:T∈ {1,2,0 }mx n1: 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 definirán las condiciones del estado meta: Si existen “4” 1’s colineales gana x Si existen “4” 2’s colineales gana y

No gana x no gana y tablero lleno empate

t=x∧ gana x gana yganax

t= y∧ gana x gana yganay

Reglas:

colocarX ( j): coloca 1 en la posición (m , j) colocarY ( j): coloca 2 en la posición (m , j)

Inteligencia Artificial, 2015-1 4

Juego 4-Raya-gravedad y desplazamiento 2015

Sistema de Producción

Estado Regla Condición Nuevo Estado

T ,t

colocarX ( j)t=x,

T [ 1 , j ]=0,1≤ j≤n

t= y,desde i=1hastai=m−1

T [ i , j ]=T [ i+1, j ] ,T [m, j ]=1

colocarY ( j) t= y,T [ 1 , j ]=0 ,

1≤ j≤n

t=x,desde i=1hastai=m−1

T [ i , j ]=T [ i+1, j ] ,T [m, j ]=2

4. INTERFACES

El juego 4 en raya se implementó usando Processing (lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la producción de proyectos multimedia e interactivos de diseño digital)

Presentación:

Inteligencia Artificial, 2015-1 5

Juego 4-Raya-gravedad y desplazamiento 2015

Una breve presentación 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 5 opciones:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

Humano vs Maquina:Para poder jugar con la máquina. Humano vs Humano: Para poder jugar con otra persona. Configuración:Nos permitirá cambiar la dimensión del tablero y su diseño. Estadísticas:Nos indica el porcentaje de efectividad de las partidas frente a la

máquina. Créditos: Se menciona los autores del juego en mención. Salir: Se cierra y finaliza la aplicación.

Inteligencia Artificial, 2015-1 6

Juego 4-Raya-gravedad y desplazamiento 2015

Humano vs Máquina:

El jugador selecciona el nivel de dificultad de la máquina, para iniciar el juego y selecciona si el humano o la maquina es quien empieza el juego.Las jugadas de la máquina se realizan automáticamente y en corto periodo de tiempo.

Inteligencia Artificial, 2015-1 7

Juego 4-Raya-gravedad y desplazamiento 2015

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 8

Juego 4-Raya-gravedad y desplazamiento 2015

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 9

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.

Juego 4-Raya-gravedad y desplazamiento 2015

Juego finalizado:

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 menúprincipal.

Inteligencia Artificial, 2015-1 11

Juego 4-Raya-gravedad y desplazamiento 2015

Configuración:

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

Inteligencia Artificial, 2015-1 12

Juego 4-Raya-gravedad y desplazamiento 2015

Estadísticas:

-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

Inteligencia Artificial, 2015-1 13

Juego 4-Raya-gravedad y desplazamiento 2015

dificultad de la máquina. Si se ha llegado a aplicar buenos patrones de búsqueda.-Si se selecciona “regresar” vuelve a la interfaz del menú principal.

Créditos:

Inteligencia Artificial, 2015-1 14

Juego 4-Raya-gravedad y desplazamiento 2015

Se mencionan las personas involucradas en la creación del juego.Si se selecciona “regresar”vuelve a la interfaz del menú principal.jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

Inteligencia Artificial, 2015-1 15

Juego 4-Raya-gravedad y desplazamiento 2015

5. IMPLEMENTACION DE JUEGO

Algoritmo Humano -Máquina:

Para el desarrollo del algoritmo humano-máquina del juego 4 en raya con gravedad y desplazamiento, se han considerado tres estrategias de selección de la jugada para la máquina, las cuales corresponden a los 3 niveles de dificultad de la máquina en el juego. Esto lo podemos notar en la siguiente Tabla:

Nivel Estrategia Descripción Fácil No determinista Se selecciona de forma

aleatoria una de las posibles jugadas.

Medio Primero el Mejor Se selecciona la mejor jugada, esto es, la que genera mejor valor de la función evaluadora.

Difícil Mejor Diferencia de Utilidades. (Estrategia ofensiva)

Se revisan todas las posibles jugadas de la máquina y se evalúan con la función evaluadora. Luego se revisan todas las posibles jugadas del humano para cada posible jugada de la máquina, y se evalúan con la función evaluadora. Se selecciona la jugada de la máquina que presenta mayor diferencia de valor de la función evaluadora entre la jugada de la máquina y su correspondiente mejor jugada del humano.

Inteligencia Artificial, 2015-1 16

Juego 4-Raya-gravedad y desplazamiento 2015

FUNCIÓN EVALUADORA

f(e) = posiciónColumna + ventaja(jugadorActual) – ventaja(oponente)

Dónde:

posiciónColumna: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 más posibilidades de hacer rayas).

posiciónColumna=0.15∗{columna−1 ,columna≤n2

n−columna ,columna> n2

Ventaja(jugador J): Ventaja para el jugador J de la distribución de sus fichas en el tablero.

Ventaja=0.5∗f 1(e )+0.5∗f 2(e )

Dónde:

Inteligencia Artificial, 2015-1 17

0 1 2 3 2 1 0

Juego 4-Raya-gravedad y desplazamiento 2015

f 1(e) : Número máximo de fichas colineales (horizontal, vertical y diagonales)

f 1 (e )=0.05¿ (máximoVertical )2+0.35¿ (máximoHorizontal)2+0.3¿¿¿

f 2(e):Suma de fichas colineales

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

Considerando dichas estrategias tenemos por función evaluadora para el nivel difícil (Mejor diferencia de utilidades) la siguiente:

F = f (M) – f (H) ↑ ↑

Ventaja (MAX) Riesgo (MIN)

Dónde:

Ventaja: f (M) = función evaluadora para el turno de la máquina.

Riesgo: f (H) = función evaluadora para el turno del humano.

En caso algunos de los jugadores haga k-raya.

F

f (Maquina) –f (Humano) sinoesunasoluciónenqueganealgunodelosjugadores

1000 Si ganaMAQUINA

-1000 Si ganaHUMANO

Inteligencia Artificial, 2015-1 18

Juego 4-Raya-gravedad y desplazamiento 2015

6. PRUEBAS

El software del juego desarrollado fue sometido a prueba con 10 personas (incluídos miembros del grupo) mayores de 18 años para cada uno de los niveles de dificultad. Las personas que colaboraron con nosotros son compañeros de la facultad misma (FISI), es necesario decir que algunos desconocían el juego así que por acuerdo explicamos en que consistía el juego y cuáles eran las reglas y las posibles modificaciones al hacer una jugada. La elección 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 configuración del tablero de dimensión 7x7. De perder en algún nivel no se asumirá como pérdida en los niveles sucesivos y se continuará jugando en los siguientes niveles sea cual fuere el resultado. Los resultados para la máquina se describen a continuación en la Tabla:

Nivel Partidas Ganadas Partidas empatadas

Partidas perdidas Porcentaje deEfectividad

Principiante 3 0 17 15%Intermedio 7 0 13 35%Experto 19 0 1 95%

Inteligencia Artificial, 2015-1 19

Juego 4-Raya-gravedad y desplazamiento 2015

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 máquina.

• Para el algoritmo de primero el mejor y mejor diferencia de utilidades, es muy importante tener una función evaluadora bien definida ya que depende de dicha función.

• Se confirmó que el nivel de dificultad del juego varía de acuerdo al algoritmo utilizado para encontrar la jugada por parte de la máquina. Conforme el algoritmo es más complejo, el grado de dificultad del juego es mayor.

• Como se observa en los experimentos numéricos, en un inicio en el nivel principiante, la cantidad de veces que pierde la máquina es alta, pero mientras se aumenta el nivel de dificultad dicha situación se revierte haciendo que la máquina llegue alcanzar niveles de éxito hasta casi 99.99%.

Inteligencia Artificial, 2015-1 20

Juego 4-Raya-gravedad y desplazamiento 2015

8. REFERENCIAS

Para desarrollar este documento se han utilizado las siguientes fuentes, donde por supuesto podrá encontrarse más información 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 21