INTELIGENCIA DE REDES DE COMUNICACIONES IMPLEMENTACIÓN JUEGO BANTUMI



Documentos relacionados
MANUAL DE USUARIO DEL VISOR URBANÍSTICO

Realizar copias de seguridad de archivos

Perceptrón Adaline. ( Desarrollado en el entorno Eclipse en el lenguaje JAVA ) Jose Alberto Benítez Andrades A

Tema 4B. Inecuaciones

Instalación y Configuración de la interfaz de TPV.

Web Biblioteca Complutense 2006: Manual del Gestor de Contenidos. Versión 1.1. Mayo 2006

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias

Microsoft Excel. Excel tiene una gran variedad de cosas que si eres persona de negocios, te va a servir mucho.

PRÁCTICA 5: REDES LOCALES

INDICE. Servicios Informáticos. Guía básica del usuario de Symantec Endpoint Protection Windows Página 1 de 11

Manual de usuario para la Publicación de Becas a través de la página web institucional

Cómo configurar el aula en Moodle?

PLANIFICACIÓN DE LA ACTIVIDAD

ecompetició Inscripciones Para acceder: > Serveis Fecapa > Intranet ecompetició

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST

EL ESCRITORIO DE WINDOWS Y LA BARRA DE TAREAS

Manual de Usuario APLICACIÓN ENVOICE. Página 1. Manual de Usuario de FACTURACIÓN ELECTRÓNICA Sección Facturas

Guía de integración del módulo de Redsys en WooCommerce

Guía buscador de licitaciones MercadoPublico.cl

PENSUM ESCUELA DE PSICOLOGÍA

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN

Procedimiento P7-SIS Revisión

GUÍA FÁCIL CLAVE Y USUARIO PERSONA JURÍDICA

El agente de software de Dr.Web SaaS

Manual para instalación de Teléfono Virtual: X Lite.

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas

Créditos tributarios por gastos de cuidado de menores y dependientes

Cómo escribir el Trabajo Fin

GUIA REGISTRO USUARIOS PARA CONSULTA REPORTES PAGINA WEB APPUCE

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2

SISTEMAS OPERATIVOS. Pág. 1

BUEN USO DEL CORREO ELECTRÓNICO

Inicio. En este sitio encontrarás las indicaciones para aprender a crear una wiki en Google Sites.

Direccionamiento IP. Realice una tabla como la que se muestra y agregue s. Tome como ejemplo el número

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC Santa Bárbara de Heredia Software de Aplicación Accesorio Paint

GUÍA DE CONFIGURACIÓN DE CORREO etb.net.co EN DISPOSITIVOS MÓVILES

Presentación. Objetivos

Modelo de Garantía Antifraude

SERVIDOR VIRTUAL IPLAN

Trabajo Práctico Redes Neuronales Artificiales

Tomar conciencia de la gravedad de los problemas ambientales

Equipos de respaldo de energía eléctrica UPS, SPS

Guía del usuario: Perfil País Proveedor

MEFFLiveUpdate Configuración MANUAL DE USUARIO

PROCESO DEL SISTEMA SIWETI

1.1. Qué entiende por el concepto de generalización de una red neuronal artificial?

Carga de Facturas desde hoja Excel

FÚTBOL, MICROFUTBOL FUTBOL SALA

Su informe de crédito

Guía General Central Directo. Ingreso a la Plataforma

Implementar dicha interfaz Definir TODOS los métodos incluidos en dicha interfaz

I. INTRODUCCIÓN... 2 II. REQUERIMIENTOS... 2 III. SECCIÓN USUARIOS Objetivo...4. Acceso...4. Consulta de estado de pedimento...

4. Se puede acceder a un cliente o proveedor directamente tecleando su NIF en el campo código y pulsando la tecla INTRO.

Instalación de Trend Micro para MAC

Sistemas de numeración

Usando su ERP para la gestión de inventarios.

Correo en tu Tigo, por SMS

Relaciones de documentos.

Ejemplo: En este ejemplo veremos cómo podemos utilizar un coaxial slotted line para calcular la impedancia de carga Z L.

Gestión de Informes de i-card Loyalty INTRODUCCIÓN. Página1

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0.

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003)

Estudio ICANN sobre la prevalencia de los nombres de dominio registrados con un servicio proxy o de privacidad entre los 5 gtlds más destacados

Plataforma de formación. Guía de navegación

Logger registrador de sonido para la pre localización de fugas de agua

Importación de facturas desde Excel

Acronis Backup & Recovery 10

CASO 9187 Se corrige falla que borra el SLA de los casos relacionados entre sí luego de que se ejecute una regla que modifique casos relacionados.

REPRESENTACIÓN GRÁFICA DE FUNCIONES REALES

Gestión de Servicios de TI Gestión de Problemas ( menos y menores incidencias)

GUÍA PARA LA PRESENTACIÓN DE PONENCIAS.

HOTEL RURAL. Taller de modelado de objetos. Ingeniería del Software Curso Salamanca, 16-XI Trabajo realizado por:

CALCULADORA KERO KET021

MANUAL MANUAL. DE MICROSOFT PowerPoint 2007

Servicio de Registro de Solicitud de Acreditaciones para Dirigir u Operar Instalaciones de Radiodiagnóstico Médico

Instrucción de trabajo I7-CYA Revisión 1 01-Feb-10

Para instalar Hoteldruid, utilizaremos easyphp, cuya instalación ya se ha descrita en el vídeo de instalación de FacturaScripts

Manual General de Usuario del Proceso. P35 Recibos Digitales. 1.1 Objetivos 1.2 ROLES 1.3 Flujo 2 Inicio del proceso - Carga de archivos de nómina

CHEQUEOS A REALIZAR EN LAS CERTIFICACIONES ANUALES DE TELEFONÍA MÓVIL.

Cartas de presentación

SERVICIO ROBOT INTERACTIVO DE VOZ (IVR) Guía de Ayuda Soporte de Banca por Internet (Opción 2)

1. Objetivo de la aplicación

Base de datos en Excel

Gestión de Servicios de TI, por dónde empezamos? De las incidencias a los problemas

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF)

Guía del Firewall Router ECI B-FOCuS. - Apertura de puertos - DMZ

Trabajo Práctico N 3: Lenguaje JAVA

IMPLEMENTACIÓN DE UN PROGRAMA QUE UTILICE LA LLAMADA AL SISTEMA

PROGRAMA FORMATIVO AvANZA

VERIFICACIÓN DE REGISTROS DNS

Manual de Usuario- Vendedores. Uso del Portal

1. Antes de ir a la Universidad donde van a cursar sus estudios, deberán tener conocimiento exacto de:

Preguntas Frecuentes: Matrícula.

BANCOLOMBIA SUCURSAL VIRTUAL EMPRESAS MANUAL DE USUARIO SERVICIO ALTERNO TRANSACCIONAL

5.4. Manual de usuario

ATTEST. Manual de usuario. Gestión LOPD 1 - ÍNDICE

Servicios Relacionados con el Pago Telemático de Tasas

BRC (BRITISH RETAIL CONSORTIUM)

Transcripción:

INTELIGENCIA DE REDES DE COMUNICACIONES IMPLEMENTACIÓN JUEGO BANTUMI Rsa Delgad Rmer De Ávila 100063936 100063936@alumns.uc3m.es Sergi Rdríguez Sánchez 100032837 100032837@alumns.uc3m.es Álvar D. Serran Díaz 100032958 100032958@alumns.uc3m.es ABSTRACTO En este dcument se describe cm se ha realizad el diseñ del jueg Kalah, Bantumi en su versión reducida, y la implementada cncretamente pr nstrs. Se describe principalmente cual ha sid la estrategia seguida para su implementación. Se trata de un jueg Determinista basada en una Estrategia MINIMAX. 1. INTRODUCCIÓN 1.1 NOMBRE DEL JUEGO El nmbre inglés estaba relacinad cn alg así cm Cnde y Captura. Est se refiere al hech que n hay ningún factr de psibilidad en el jueg. La estrategia de jugadr es dependiente de la capacidad de decidir y cntar. Ganar está basad en la capacidad de un jugadr de reclamar capturar las fichas del psitr. Culturas islámicas llaman el jueg según la acción física que curre durante el jueg. Así, el nmbre que le dan es Mancala que es una palabra árabe que en inglés se traduce cm para mverse" para trasladarse". [1] Dependiend de dnde se juegue a Kalah (Bantumi), y según la cultura en la cual est echó raíces, se han dad lugar a muchs y muy diferentes nmbres para referirns a Bantumi. Ests nmbres se refieren al jueg, al tip de tabler de jueg usad, a las fichas usadas. [1] El nmbre del jueg riginal es Mancala. Aquí se ppulariza gracias a una adaptación que hiz la empresa finlandesa Nkia cn el nmbre de Bantumi, para un de sus mdels de móvil, el 3310. [1] En realidad, Mancala es el nmbre que reciben un cnjunt de juegs de mesa, también llamads juegs de cntar y capturar (cunt and capture) juegs de sembrar fichas (swing games). Aunque ls rígenes de ests juegs n están muy clars, td apunta a que se riginarn en l que ahra es Etipía alrededr de ls Sigls VI y VII de nuestra era. Existen numersas variantes que difieren sbre td en las reglas del jueg. Aun así, guardan tda una serie de características cmunes. [1] Figura 1: Bantumi Tradicinal African En cierts dialects de África ccidental, ls cuencs en el tabler de jueg, se mencinan cm wari awari que significa "casas" en inglés. Pr l tant, algunas culturas llaman al jueg Wari. A menud, las fichas que se usan en el jueg sn guijarrs, peltas de marfil, mnedas, etc. En est cas se cnce este jueg cm Adi en Nigeria debid a que las fichas sn las fichas de la planta Adi.

El tabler del jueg tiene varis btes casillas dispuests en ds cuatr filas (tant el númer de btes cm el de las filas dependen de las variantes). Las piezas del jueg, que reciben el nmbre de fichas (seeds) judías (beans), se depsitan en dichs btes. El mvimient más clásic del jueg es el de siembra (swing) arrastre que cnsiste en tmar las fichas de un de ls btes (en la mayría de las variantes se pueden tmar las judías de la fila más próxima al prpi jugadr) e irlas depsitand una a una en ls btes cntigus en sentid antihrari. Cuand se terminan ls btes de la fila prpia del jugadr, se cntinúa cn la del adversari. El bjetiv final del jueg depende de la variante aunque en casi tds ls cass cnsiste en capturar más fichas que el pnente. 2. KALAH (BANTUMI) El jueg pr l general tiene ds jugadres (el Nrte y Sur, pr ejempl), un tabler de jueg cn ds filas de seis btes y ds btes principales cntadres llamads Kalah (Bantumi)s, y 60 fichas. El tabler de jueg es clcad entre ls ds jugadres. Cada un de ls jugadres tma 30 fichas y pne cinc de ellas en cada un de ls seis btes sbre su lad del tabler de jueg. El análisis será realizad principalmente sbre Kalah (Bantumi) (1, m) y Kalah (Bantumi) (n, 1). 2.1 DISPOSICIÓN INCIAL DEL TABLERO DE JUEGO 1.2 BREVE INTRODUCCION A KALAH (BANTUMI) Kalah (Bantumi) es una variante mderna, cmercial del Mancala, que fue intrducid y puest a dispsición del públic en ls añs 50 pr una firma de la Empresa Kalah (Bantumi) Animsa. En 1960, se creó la primera versión autmatizada del jueg y muchas más versines tras éstas. Bell (1968) ya usó Kalah (Bantumi) para demstrar que un jueg pdía ser jugad pr un rdenadr, y Slagle y Dixn (1970) usó Kalah (Bantumi) para ilustrar sus algritms de búsqueda M y N. Hy día, Kalah (Bantumi) suele ser cm un jueg de ejempl en la infrmática. 1.3 DISTRIBUCIÓN COMERCIAL DEL JUEGO Bantumi fue diseñad a partir de "Mancala" que prvin en África, hace miles de añs. Una de sus variantes la creó Nkia y pr ell se hiz bastante fams entre juegs distribuids cmercialmente en terminales móviles. La versión usada pr Nkia tiene cuatr fichas en cada cuenc cuand se inicia el jueg. El bjetiv del jueg es mver las fichas de ls cuencs en el fnd de la pantalla en su cuenc a la derecha. 2.2 REGLAS Figura 2: Tabler Virtual Bantumi 1. El bjetiv será recger el mayr númer de punts psibles en el bte central derech para ganar el jueg, este será tu bte principal. 2. Tus btes serán ls 6 de la parte inferir de la pantalla. Las fichas indican el númer de punts que hay en cada bte. 3. El jugadr puede cmenzar su mvimient desde cualquier bte n vací de su lad del tabler de jueg. El jugadr n puede cmenzar su mvimient usand ls btes del lad del psitr del tabler de jueg. Pinche en el bte desead y las fichas se repartirán en ls btes cnsecutivs en el sentid cntrari a las agujas del relj.

4. Si las fichas terminan de repartirse en tu bte principal btendrás tr turn extra. 5. Al repartir las fichas se depsitaran en tds ls btes mens en el bte principal del pnente. 6. Si acabas en un de ls btes vacís, capturaras las fichas del bte puest del pnente. 7. Si una ficha aterriza en el bte principal de dich jugadr, su cntadr suma 1 y él cnserva el derech de seguir jugand. 8. Si la última ficha n termina en el bte principal de dich jugadr, el jugadr pierde su turn. 9. Las fichas que sn capturadas las que han entrad en ls btes de ambs jugadres, n entran de nuev en el jueg. El valr principal de este jueg, depende de la cnfiguración de las fichas activas las fichas que n sn capturadas. 10. Ganara el jueg aquel jugadr que btenga mayr númer de punts en su bte principal. 2.3 Inteligencia Del Jueg A la hra de diseñar un jueg cm éste, hay que tener muy presente ls prblemas de búsqueda dnde interviene al mens un adversari, es decir, ls mvimients del jugadr pr sí sls n aseguran la victria, es necesaria una estrategia de psición, en nuestr jueg, jugams cntra el rdenadr, el cual tiene su prpia estrategia de psición. En nuestr jueg, n existe un temprizadr que cntrle el tiemp dispnible de cada mvimient, pr l tant pdría servir la fuerza bruta. Est sería una psible mejra a implementar. La Estrategia seguida es Mini-Max. Esta estrategia cnsiste en elegir el mejr mvimient para un mism (MAX) supniend que el adversari (MIN) escgerá el mejr para sí mism (que también juega a ganar). Ls pass a seguir serán: General el árbl de jueg, alternand mvimients de MAX y MIN, y asignándle valres (pess) aprpiads según la estrategia de jueg que se desee aplicar. En segund lugar se debería de calcular la función de utilidad de cada nd final, recrriend recursivamente ls nds hasta el estad inicial. Y pr últim, elegir cm jugada a realizar aquel primer mvimient que cnduce al nd final cn mayr función de utilidad. [2] La estrategia del jueg, ha sid implementada mediante una estructura en árbl cn un nd raíz. De cada nd salen 6 hijs, que representan ls 6 psibles mvimients en cada partida, y así sucesivamente. Según se baja de nivel en prfundidad en el árbl. Se han definid 3 niveles de cmplejidad en el jueg: Fácil Nrmal Difícil Figura 3: Seleccinar Nivel Dificultad Para ell se utiliza un árbl de decisión de la siguiente manera, dependiend del nivel de cmplejidad que se seleccina en cada partida: Este jueg es claramente DETERMINISTA, ya que n interviene el azar.

Figura 4: Árbl de Decisión FÁCIL: Sl se tiene en cuenta la situación actual, es decir, un sl nivel del árbl cn las 6 psibles jugadas. Se mira pr tant el primer nd. NORMAL: En este nivel, se tienen en cuenta, tant nuestra psible jugada, cm las psibles jugadas en la jugada siguiente de nuestr cntrincante en respuesta a nuestra jugada. Se mira el segund nd. DIFICIL: En este últim psible nivel de jueg, se tiene en cuenta hasta el cuart nivel del árbl (quedand sin utilizar pr tant el tercer). Est quiere decir, que se prcesa nuestra psible jugada, las psibles jugadas del cntrincante en respuesta a la nuestra, y ls 2 psibles jugadas (nuestra y del rival) siguientes a nuestra jugada más la respuesta del rival. Se mira, pr tant, hasta el cuart nd. Cada nivel del árbl se basa en una iteración más de nuestra simulación, es decir, se empezará simuland el mvimient del rdenadr, después juega el human, rdenadr y pr ultim el human tra vez. Ls pess para evaluar el mejr mvimient sn ls siguientes: Si caes en el bte principal, sumas cinc Si caes en un bte vací, sumas 1 de la ficha que metes y además sumas el númer de fichas que cmas También sumams un punt cada vez que pasams pr el bte principal y metems un punt Ests pess se aplicarían igualmente al human per tds ells cn signs negativs El prblema de la estrategia MINIMAX es el númer de estads del jueg es expnencial al númer de mvimients (est es, en la mayría de juegs, generar el árbl cmplet es inviable en recurss de memria). La slución: n examinar tds ls estads. En nuestr jueg, al definir ls 3 niveles de cmplejidad, en el per de ls cass, el nivel difícil tendrá 6^4 estads, es decir, 1296 estads a examinar. En el nivel fácil, únicamente 6 estads a examinar y en el nivel nrmal, 36 estads. 2.4 Ls Resultads Psibles de un Mvimient Algunas ntas en relación a ls psibles resultads de ls mvimients sn las siguientes: La casa el Kalah -mvimient- Si la última ficha aterriza en su bte, el jugadr pdrá jugar tra rnda de nuev. La captura - Si la última ficha aterriza en un bte vací sbre el lad del jugadr en tabler de jueg, se añade a su ttal y cualquier ficha en el bte del cntrari se añade también. En este cas, finalizará la rnda de este jugadr. La Captura Nula - Si la última ficha jugada acaba en un bte vací sbre el lad del jugadr y el bte del psitr que esta justamente en frente es también vací. En este cas, la última ficha tdavía permanecerá en el Bantumi del jugadr, y se finaliza esta rnda. Si la última ficha cae en tra parte, la jugada acaba directamente. Final de Partida Hay tres psibles finalizacines del jueg: Ganar: Obtiene mas fichas en tu bte principal que el pnente. En la figura 5 se puede ver la imagen del tabler cuand se gana al rdenadr.

2.5 Observacines Algunas bservacines adicinales respect a la inteligencia del jueg implementad sn las siguientes: El valr del jueg disminuye en cada vuelta en la que cualquiera de ls ds jugadres cnsigue acertar. Figura 5: Ganas Partida Empatar: Ambs jugadres btienen el mism númer de fichas en sus btes principales. En la figura 6 se puede ver la imagen del tabler cuand se empata cn el rdenadr. El cntadr del jugadr se incrementa en al mens 1 para cada captura que él hace. Prueba: La regla define que el jugadr puede cnseguir capturar la ficha del psitr fichas frente al bte de la última ficha cnseguida, si la última ficha aterriza en un bte vací sbre su lad. Hay básicamente ds partes en esta prueba para ls cass que han sid investigads. Ls cass que serán investigads sn Kalah (Bantumi) (1, m) y Kalah (Bantumi) (n, 1). Para ambs ls cass, estas ds partes de la prueba se aplican: Figura 6: Empatas Partida Supnems que la última ficha del jugadr aterriza en un bte vací sbre su lad: Perder: El cntrincante btiene mayr puntuación que el jugadr en su bte principal. En la figura 7 se puede ver la imagen del tabler cuand se pierde cntra el rdenadr. a) El bte del psitr que está frente al bte dnde han caíd las últimas fichas del jugadr, está también vací. En este cas, el jugadr será capaz de capturar su prpia ficha. Est demuestra que si este cas sucede, el jugadr será capaz de capturar una ficha. Así, la bservación es válida. Figura 7: Pierdes Partida b) El bte del psitr que está frente al bte dnde han caíd las últimas fichas del jugadr cntienen al mens una ficha.

En este cas, el jugadr cnsigue capturar una ficha (y = 1) y la ficha del psitr (la j ³ 1) m = el númer de fichas capturadas = i+j ³ 1+1 ³ 1 Así, la bservación sería válida. Para cncluir cada captura que un jugadr hace aumentará el cntadr del jugadr pr al mens 1. En el cas de jueg nrmal, si el jugadr 1 mviend fichas, terminará en su casa, él llevaría a cab al mens tra jugada. De esta manera, él pdría ptimizar sus psibilidades de ganar llevand a cab al mens tr mvimient de frma estratégica. Hay cinc tips de mvimients que un jugadr puede hacer: a) Mvimient Captura - Este es un mvimient para capturar al mens pr sí mism (1 ficha) si el bte del psitr frente al bte del jugadr dnde aterrizarn sus últimas ficha estaba vací. Si el bte del psitr n estuviera vací, el jugadr pdrá capturar al mens 2 fichas. b) Mvimient Defensa - Este es un mvimient para prevenir una captura de una ficha que crra riesgs en el mvimient inmediat que el psitr pudiera hacer. c) Refleje el mvimient del psitr - Este es un mvimient dnde el jugadr imita ls mvimients hechs pr su psitr. d) El mvimient para irse a casa Este es un mvimient dnde la última ficha del jugadr aterriza en su Kalah (Bantumi), un mvimient de las fichas que están más cercanas a su Kalah (Bantumi). e) Mvimient Arbitrari Define cualquier tr mvimient distint a las intencines descritas de ls anterires. 2.6 Objetiv Del Jueg Ganará el jugadr cn el númer más alt de fichas en su Bantumi/Cuenc/Bte Principal. 2.7 Variacines 1. Pr l general, el jueg cmienza cn 4 fichas en cada cuenc, per también sn psibles tras cantidades (2, 3, 5, 6). Nuestr cas, está implementad cn 5 fichas iniciales. 2. L nrmal es que el jueg tenga ds jugadres, per hay variantes que permiten a un tres jugadres es para jugar el jueg. En nuestr cas, tenems 2 jugadres, aunque uns de ells es el prpi rdenadr. 3. La Captura de Fluj - Est cnsiste en la captura de las fichas (fichas) de alguns btes (cuencs) durante tu jugada en curs. De estar permitid, tant el jugadr cm el psitr pdrán usar dicha técnica. La captura de fluj puede capturar fichas (fichas) sól en tu prpi territri. 3. IMPLEMENTACIÓN 3.1 Interfaz gráfica La implementación de esta aplicación se ha realizad utilizand el lenguaje javascript. La interfaz está cmpuesta pr una tabla de 3 filas pr 6 clumnas en la cual se han integrad las imágenes crrespndientes a ls instantes iniciales del jueg así cm un fnd para el jueg.

Ls punts crrespndientes a cada bte del tabler estarán almacenads en una psición del array tabla_real. En la parte superir derecha del tabler hay 3 btnes para seleccinar la dificultad del jueg. Cuand clickeams sbre ells, se ejecuta el métd cambiarnivel que cambia el valr de la variable nivel (0 = fácil, 1 = nrmal, 2 = difícil) que se usará en el prgrama. También existe un btón en la parte inferir izquierda para cmenzar una nueva partida. Al pulsar este btón se llamará al métd nuevapartida, que reseteará las imágenes y ls punts de la tabla Para_real para cmenzar de nuev la partida. 3.2 Cmienz del jueg Para empezar a ejecutar el jueg basta cn que el jugadr haga click sbre cualquiera de sus btes, l que llama al métd jugar pasándle cm parámetr la psición de la tabla seleccinada para el mvimient. Este métd cnsta de ds partes: - Realiza el mvimient del jugadr: En primer lugar se cmprueba si la casilla seleccinada está vacía, en cuy cas se pedirá al jugadr que seleccine tra. A cntinuación se realiza la mdificación de las puntuacines en la tabla_real siguiend las reglas del jueg. Pr últim se cmprueba a quién crrespnde el siguiente turn y la finalización de la partida. - Realiza el mvimient de la CPU: Se simularán (métd simular) ls cuatr siguientes mvimients del jueg de la misma frma que se realizan ls mvimients del jugadr. Durante la simulación la aplicación irá rellenand tds ls nds del árbl de decisión. Psterirmente y en función del nivel de dificultad seleccinad, que crrespnde a la prfundidad que tendrems en cuenta en el árbl de decisión, se realizará el mvimient de la CPU crrespndiente a la celda cn mayr pes (mejr mvimient psible). Mientras la CPU psea el turn de jueg se repetirá este prces. 3.3 Métds auxiliares Para la realización del jueg se han implementad ls siguientes métds auxiliares: actualizar(destin,valr) Busca la imagen destin y la actualiza cn la imagen crrespndiente al nuev valr de la celda. cambiarpanel(resultad) Al finalizar la partida se mdifica el fnd del tabler en función del resultad btenid en la partida (ganar, perder empatar). cambiarnivel(nuevnivel) Actualiza la imagen crrespndiente a nuevnivel, cambiand su clr de rellen para indicar cual es el nivel seleccinad. cmprbarfinpartida() Cmprueba si ls btes, tant del jugadr cm de la CPU, están vacís y en cas de que est curra se llama a cambiarpanel. mver(psicin) Realiza el mvimient de la casilla crrespndiente a psición siguiend las reglas. cpiartabla(rigen,destin) Cpia ls valres de la tabla rigen en una nueva tabla destin. mver_virtual(psicin,tabla) Métd similar a mver per sin cnsecuencias sbre la tabla_real, actua sbre tabla

(tabla_virtual). Se utiliza para hallar ls pess durante la simulación de ls mvimients de CPU. simular() Genera el árbl de decisines que se usa para la elección del mvimient óptim de jueg, para ell hace referencia al métd mver_virtual(). jugar(psicin) Métd principal de nuestra aplicación que se encarga de realizar el mvimient tant del jugadr cm de la CPU. nuevapartida() Inicializa tdas las variables del jueg para cmenzar una nueva partida. árbl de decisines. Dispnems de cuatr tablas de este tip, cada una se crrespnde a un nivel de prfundidad en el árbl. pess: Array que almacena ls pess crrespndientes al mvimient de cada una de las casillas. Dispnems de cuatr tablas de pess, cada una se crrespnde a un nivel de prfundidad en el árbl. maxim: Almacena el valr de pes máxim btenid después de la simulación del árbl de decisines. indice: Indica la casilla seleccinada para el mvimient tras la decisión del maxim pes. 3.4 Variables Las variables usadas pr la aplicación han sid las siguientes: turn_jugadr: Almacena el siguiente turn de jueg. Valr true crrespnde al jugadr y false a la CPU. turn_jugadr_virtual: Similar a turn_jugadr per usada durante la simulación del árbl de decisión. fin_partida: Indica si se ha alcanzad el final de la partida cn valr true. nivel: Indica el nivel de jueg actualmente seleccinad pr el jugadr. Se inicializa a nivel fácil (cer). tabla_real: Array que almacena ls punts crrespndientes a cada bte del tabler. tabla_virtual: Similar a tabla_real, per utilizad durante la simulación del 4. CONCLUSIONES Tras el diseñ e implementación de un jueg determinista cm es el Bantumi, y siguiend una estrategia MIN-MAX, cm se ha descrit en apartads anterires, el principal aspect sbre el que merece la pena extraer cnclusines es sbre el us de arble de decisión para su implementación. Una de las principales cnclusines a las que se puede llegar durante la implementación de un jueg cm éste, es que ls árbles de decisión demuestran ser un métd muy efectiv en ésta y tr tip de prácticas. Dan claridad a ls prblemas y a las pcines que pueden ser cambiadas, permiten analizar cmpletamente tdas las psibles cnsecuencias de las decisines que se tmen en cada jugada durante la partida, en función del nivel de dificultad seleccinad para jugar. Aunque n haya sid utilizad aquí, también pueden frecer un marc de trabaj que ns ayude a cuantificar ls valres de ls resultads y las prbabilidades de alcanzarls. En la implementación de juegs, ayudan a hacer las mejres decisines de acuerd a la infrmación existente, y básicamente pdrían

ser usads en cnjunt junt cn el sentid cmún. 5. AGRADECIMIENTOS A Juli Villena, prfesr de Inteligencia en Redes de Cmunicacines. El l ha hech un pc más fácil. 6. REFERENCIAS [1] Wee Ee Ching, Academic Supervisr Assciate Prffesr Tay Ting Seng. Analysis f Kalah. Department f Mathematics Natinal University f Singapre 2000-2001. [2] Juli Villena 2007. Apuntes Inteligencia Redes de Cmunicacines, Tema Reslución de Prblemas, curs 2007-2008.