1 UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCUELA ACADEMICO PROFESIONAL DE INFORMATICA MONOGRAFÍA PROBLEMA DEL JUEGO DE DAMAS AUTORES: - Navez Mariños Alex - Pita Chávez Sergio - Quicate Blas Steve TRUJILLO - PERU 2014
Juego de Damas en Prolog Navez Maiños Alex Sergio Pita Chavez Quilcate Blas Steve
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Dedico este humilde trabajo para mis compañeros de informática
que nos acompañaron en el curso de Prolog.
Que junto a ellos sali aprendi este lenguaje de programación tan útil para sistemas expertos
4
INTRODUCCION
El programa desarrollado permite hacer un juego de damas entre un
jugador humano y el ordenador. Todavía puede ser utilizado como
una plataforma para un juego entre dos jugadores humanos,
permitiendo que sólo los movimientos que cumplen con las normas
aplicadas. Las reglas que se utilizan en el programa se basan en el
juego de damas jugado desde su creación que consiste en un tablero
con 64 casillas dispuestas de cuadriculas de 8 x 8.
El tablero en el mismo que el ajedrez común y cada jugador dispone
sus fichas en cada lado del tablero dentro de un recuadro de color
negro o blanco.
Implementaremos este programa es la reproducción en las fichas
basadas en el algoritmo Minimax con cortes alfa – beta.
El programa debe permitir al usuario elegir el nivel de profundidad de
la investigación llevada a cabo por el algoritmo, simulando así
diferentes niveles de dificultad para el juego.
5
I. Capítulo 1: Marco Teórico.
1.1. Realidad Problemática
En los centros educativos primarios como secundarios se
podría desarrollar torneos de juego de damas, así podríamos
motivar a los niños y jóvenes por este juego lúdico que se ha
perdido con el pasar el tiempo con el avance de tecnología.
Este juego era muy popular en la época en que los niños
practicaban juegos de mesa como ajedrez, monopolio, cartas,
etc. Estos juegos despiertan la inteligencia del niño, lo hacen
más despierto, más reflexivo, mejora su mente pues tiene que
analizar las posibles jugadas y predecir un poco el movimiento
del oponente.
6
II. Capítulo 2: Descripción y algoritmos utilizados.
2.1. Características.
2.1.1. El tablero
Es cuadrado con 64 casillas más pequeñas (cajas)
dispuestas en una cuadrícula de 8 x 8. Igual que el tablero de ajedrez estándar. El juego de damas se desarrolla en casas oscuras. Cada jugador dispone de un lado en el
tablero con una casa oscura a la derecha y una "double-corner" de casas oscuras.
2.1.2. Piezas.
Un jugador juega con las piezas blancas y el otro jugando
con piezas negras. Las piezas pueden ser de tipo peón y la reina. (En el juego físico, los peones son cilíndricos y piezas planas, formando una reina por la superposición
de dos peones y así coronas).
2.1.3. El estado inicial del juego.
Inicialmente doce fichas asignados a cada jugador se colocan en las doce casillas negras más cercanas a cada
lado del tablero. La siguiente figura muestra un tablero de ajedrez con la disposición inicial de las piezas.
Figura 1. Disposición inicial en el juego de damas.
7
2.1.4. Un simple movimiento.
Un peón se mueve una casilla diagonalmente hacia adelante (es decir, hacia el lado de los opositores de la junta). Una ficha sólo se puede mover a una casilla vacía.
Una reina se mueve de una casa en diagonal hacia
delante o hacia atrás. Movimiento de captura.
2.1.5. Movimiento de captura.
Póngase una pieza del oponente saltando por encima de
él, en diagonal, a la casa adyacente a la misma. Un peón
captura en diagonal hacia delante.
Una captura de la reina en diagonal hacia delante o
hacia atrás.
En cada salto se puede capturar sólo una parte, pero
también se pueden hacer varias capturas en una fila,
saltando de casa en casa gratis libre siempre con el
mismo número (múltiples capturas).
Las piezas capturadas son retiradas del tablero y en el
caso de una captura múltiple, la eliminación se produce
después de la última captura (es decir, durante un
múltiples casas de captura que ya han capturado las
piezas permanecen empleados). Sólo puede capturar
las piezas del oponente hacia arriba. Un peón puede
capturar una dama. No se puede alcanzar el mismo
número dos veces a la vez múltiple.
Si hay una posible captura, se requiere la captura, y una
captura múltiple posible, llevarlo a cabo se requiere. Una
captura múltiple debe ser completado (es decir, sigue
una situación en la que no es posible alcanzar cualquier
captura). Si hay varias alternativas para la captura, se
puede seleccionar uno, independientemente uno del
otro y no son múltiples.
8
2.1.6. Promoción.
Cuando un peón alcanza la última fila de la tabla (es decir, la fila más alejada de la parte oponente), se convierte en reina. Un peón que se convirtió en la reina
durante una captura múltiple ya no puede capturar.
2.1.7. Las piezas blancas comienzan la partida.
Jugadores se turnan. En un tiempo transcurre un solo movimiento (captura o captura múltiple). En una jugada,
es obligatorio hacer un movimiento. Si un jugador no puede mover ninguna pieza, pierde el juego. Si un jugador captura de todas las piezas de la oponente gana
el juego.
2.2. Estructura del programa.
El diagrama mostrado en la figura siguiente ilustra la división de
jugador de damas programa en dos módulos principales. El
módulo que implementa la interfaz gráfica permite al usuario
controlar, por medio de los botones, de un conjunto de opciones
de juego (incluyendo el color de las piezas que desea jugar y el
nivel de dificultad del juego). Este módulo también permite al
jugador a actuar directamente en una representación en el
tablón de anuncios, a fin de hacer su propia cuenta.
9
Después de cada movimiento realizado por el usuario, la
interfaz gráfica se traduce el nivel de dificultad de elegir un nivel
de profundidad a los movimientos de investigación y construye
una descripción del estado actual del tablero de juego. Esta
información se proporciona al módulo jugador artificial, que
devuelve el GUI una buena jugada de equipo. La interfaz
gráfica a continuación, actualiza la representación de la junta
en la pantalla, para reflejar el movimiento de la computadora.
El diagrama que se muestra en la siguiente figura, un menor
nivel de abstracción, la formación del módulo Reproductor
artificial. El algoritmo minimax sub-módulo recibe la información
proporcionada por la interfaz gráfica, utilizando como punto de
partida para la construcción y la búsqueda de un árbol se
mueve con profundidad determinada (es decir, una búsqueda
de árbol). Este sub-módulo implementa el algoritmo Minimax
con cortes alfa-beta. Este es un algoritmo de
búsqueda genéricos juegos con dos jugadores y la información
completa, por lo que tiene que utilizar los otros tres sub-
módulos para Damas de información específicos
implementados.
10
Cada vez que el pequeño sub-módulo de identificación de usuario recibe una descripción del estado de la junta, se
devuelve información sobre qué jugador jugará la siguiente (la descripción del estado de la junta que contiene información codificada).
Cuando la función de evaluación sub-módulo recibe una junta
estatal estima un deseablemente proporcional a la probabilidad de que la victoria de uno de los jugadores (y con posibilidades
de derrotar al rival) valor numérico real.
Durante la construcción del árbol de búsqueda, el algoritmo Minimax sub-módulo debe establecer continuamente de los Estados para cumplir con el tablero, que son los sucesores
legales de un estado dado. Esa es la función de los Estados sucesores de Investigación sub-módulo, que investiga todos
los movimientos posibles (individuales o de captura, posiblemente múltiple) de que un jugador puede hacer a partir de un determinado estado de la junta, determinando de este
modo todos los Estados sucesores respetando las reglas del juego. Tenga en cuenta que todo el conocimiento de las
normas específicas de los inspectores de que el jugador artificial se ha centrado en este sub-módulo.
11
2.3. Estructura de datos y algoritmos utilizados
Unidos para representar el tablero de juego, el módulo tablero
artificial utiliza estructuras de datos que contienen un registro
por cada pieza que se encuentra en la bandeja. Para cada
número se almacena información sobre su situación
(capturado, vivo, movido o promovido), posición en el tablero,
color y tipo (peón o reina). La siguiente figura muestra un
ejemplo de un estado de la junta directiva y la estructura de
datos de la representación correspondiente, en el supuesto de
que la última pieza para mover era la señora de negro en la
casa E-3, después de haber capturado un peón blanco en la
casilla D- 2.
[[ACTIVE peón NEGRO B8]
[ACTIVE F 8 NEGRO pawn] [ACTIVE peón blanco H6]
[H ACTIVE WHITE LADY 4] [MOVED Y NEGRO LADY 3] [ACTIVE peón blanco G3]