Home
Acceso manual al juego AI-LIVE - e-Archivo Principal
Contents
1. PS_ACTOR_VVQGGEM9RT INSTANCE _010 3 FindFreeCell FINDFREECELL DEFAULT STAGE r CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_098 4 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT LN STANCE_097 5 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_096 93 FindFreeCe FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_002 94 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_001 95 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE 000 Insert the action s number to run 0 EXIT and press ENTER IV N UZQUIANO MATEO 15 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 10 A continuaci n elegimos la primera acci n para crear los gustos del cliente Para ello introduciremos 7 y pulsaremos ENTER mostr ndose esto RUN FIN RUN client Action sent client Receiving state Create likeness sent CLIPS ACTOR VVQGGEM9RT ACTIONS workObjectGoal MOVEACTION OURGOAL DEFAULT STAGE E E
2. Como se puede observar el servidor ha realizado dos acciones una para seleccionar el objeto de trabajo WorkObjectGoal y otra para moverse a la casilla de acceso a ste move sin embargo en los pasos anteriores s lo realizaba una Esto es debido a que las acciones xxxObjectGoal implican que una vez se ha seleccionado el objeto se mueva el actor mediante la acci n de movimiento move lo que no ocurre con el resto de las acciones Iv N UZQUIANO MATEO 17 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 12 Posteriormente seleccionamos la primera acci n para que el actor utilice el objeto de trabajo Para ello introduciremos 7 y pulsaremos ENTER mostr ndose esto RUN FIN RUN client Action sent client Receiving state KKXKXKXKKXXKXKX regla Working KKXKXKKXKKKXk objeto de trabajo Computer 1 id ACTIONS read CLIENTID READ DEFAULT_STAGE CLIPS ACTOR VVOGGEM9RT Bag _1_idl Book_1_id 2 play CLIENTID PLAY DEFAULT_STAGE CLIPS ACTOR VVOGGEM9RT Bag _1_ id
3. FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_098 4 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_097 5 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEMORT IN STANCE_096 93 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_002 94 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_001 95 FindFreeCell FINDFREECELL DEFAULT STAGE r CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_000 Insert the action s number to run 0 EXIT and press ENTER Iv N UZQUIANO MATEO 18 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE Fin de ejecuci n Cliente manual 13 Para finalizar con la ejecuci n del cliente manual introduciremos 0 y pulsaremos ENTER en el terminal de comandos donde se ha ejecutado el cliente manual mostr ndose esto RUN KKXKKXKXKKXXKX regla read KKXKXKKXKKKXk objecto de lectura seleccionado Book 1 id FIN RUN client Action sent client Receiving state Client TERMINATED Al terminar con la ejecuci n se enviar al servidor la ltima acci n que ser la primera de la lista de acciones anteriormente mostrada read Una vez hecho esto se generar el archivo traza txt en el directorio
4. E E E 13 NEIVA A r e E a E a e E E 13 Cliente manudl dci 14 e 19 UA AAA A e iE Ea E 19 SEVA AE E SAA EA E 19 Iv N UZQUIANO MATEO UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 1 Introducci n Este trabajo dirigido se basa en la creaci n de una interfaz manual que permita al usuario elegir las decisiones que va a tomar un jugador en el juego AI LIVE ste fue desarrollado anteriormente como proyecto de fin de carrera por otros alumnos de la Universidad Carlos III de Madrid ALLIVE es un juego similar a Los Sims que fue creado con el objetivo de simular el mundo real donde los humanos son jugadores denominados actores que toman decisiones implementadas mediante t cnicas de inteligencia artificial stas se ordenan seg n las caracter sticas propias de cada jugador el cu l interact a con su entorno tambi n llamado escenario formado por objetos y otros jugadores El juego sigue el modelo cliente servidor de manera que el servidor es el encargado de asignar los turnos a cada uno de los actores para que puedan realizar las acciones pertinentes Adem s ste se encarga de actualizar el estado de los objetos y los actores seg n las acciones solicitadas Actualmente se est ampliando el juego con nuevos m dulos que hacen que se asemeje m s a la realidad como son la implementaci n de la interfaz gr fica la influencia del estado de nimo en la toma de decisiones los roles padre hijo et
5. a ontology clp la misma que en el servidor el escenario inicial DEFAULT STAGE el perfil del actor DEFAULT ACTOR el servidor con el que conectarse localhost y el puerto de conexi n a ste 6969 El perfil de cada actor DEFAULT ACTOR se encuentra en el directorio ALFLIVE client xxx profiles En l se deben indicar las caracter sticas b sicas name _ gender weight otras relacionadas con el rol social age sex status y otras m s espec ficas relacionadas con la personalidad conscientiousness extraversion neuroticism openness agreeableness y las emociones valence y arousal cuyo valor est comprendido entre 1 y 1 donde el valor 0 es la posici n neutral IV N UZQUIANO MATEO 8 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 5 3 Ejecuci n 5 3 1 Servidor y cliente manual Antes de ejecutar el cliente manual es necesario iniciar un terminal de comandos accediendo desde ste al directorio del servidor AL LIVE server y ejecutar la sentencia make para generar el archivo ejecutable server A continuaci n hay que ejecutar la sentencia run Una vez hecho esto se debe iniciar un nuevo terminal de comandos accediendo ahora al directorio AI LIVE client manual y ejecutar de la misma forma la sentencia make que generar el archivo ejecutable client y a continuaci n la sentencia run Por cada turno se le mostrar al usuario el conjunto de acciones que pued
6. a ste mediante el establecimiento de un socket TCP IP utilizando un protocolo de comunicaci n especial creado para el juego Se sigue una pol tica rotatoria para controlar el turno de los clientes 3 2 1 Servidor El servidor es el encargado de ejecutar las acciones solicitadas por los actores en cada turno Adem s env a la informaci n del estado actual de todas las entidades del juego objetos y actores a los clientes encarg ndose de actualizar sta una vez ha sido modificado su estado Para saber c mo est n dispuestos los objetos del escenario el servidor utiliza el archivo initial state que contiene la definici n de los objetos iniciales de las clases incluidas en la ontolog a El servidor est formado por dos archivos principales server c se encarga de realizar las conexiones con los clientes recibir las solicitudes de acciones de los actores actualizar y enviar el estado de las entidades a los clientes controlar los turnos de los actores y gestionar el motor de inteligencia artificial del servidor Requiere de la ontolog a ontology clp del estado inicial initial state y del archivo server clp server clp contiene el sistema de producci n implementado en CLIPS encargado de la creaci n de nuevos actores del control de las decisiones de cada actor y de la actualizaci n del estado del juego mediante los m todos y funciones definidos 3 2 2 Clientes Los clientes son los encargados de tomar las d
7. de la siguiente manera 1 Recibir el estado actual del servidor 2 Iniciar el motor de inteligencia artificial con la ontolog a y el cliente 3 Si no se ha terminado con la ejecuci n del programa Cargar el estado actual en el motor de inteligencia artificial Cargar la instancia del cliente en el motor de inteligencia artificial Seleccionar la acci n a ejecutar selectAction Ejecutar el motor de inteligencia artificial para generar el archivo que guarda la acci n Enviar la acci n al servidor mediante el archivo generado Borrar el archivo que guarda la acci n Volver al paso 1 4 Sino se ha terminado con la ejecuci n del programa Cargar el hecho de fin de traza en el motor de inteligencia artificial Generar el archivo que guarda la acci n de fin de ejecuci n Enviar la acci n al servidor mediante el archivo generado Borrar el archivo que guarda la acci n Iv N UZQUIANO MATEO 7 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 5 Manual de usuario A continuaci n se muestra el conjunto de pasos que hay que realizar para la instalaci n configuraci n y utilizaci n del juego AI LIVE junto con la interfaz manual 5 1 Requisitos generales Se requiere una distribuci n de Linux Debian Ubuntu para poder ejecutar la aplicaci n Se necesita tambi n PHP 4 3 o superior http www php net downloads php con CLI para poder ejecutar los archiv
8. ef Ee Us o TAS SEA server Listener enabled IV N UZQUIANO MATEO 13 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE Cliente manual 8 Abrimos un nuevo terminal de comandos accedemos al directorio home ai_08_01_15 client manual y ejecutamos la sentencia make para generar el archivo ejecutable client y a continuaci n la sentencia run mostr ndose esto client Connected receiving first state ACTIONS 1 assigningBag CLIENTID ASSIGNINGBAG DEFAULT STAGE CLIPS ACTOR VVOGGEM9RT Ba g_3_id 2 assigningBag CLIENTID ASSIGNINGBAG DEFAULT STAGE CLIPS ACTOR VVOGGEM9RT Ba g_2 id 3 assigningBag CLIENTID ASSIGNINGBAG DEFAULT STAGE CLIPS ACTOR VVOGGEM9RT Ba g_1 id 4 createlikeness CREATE CLIENTID 5 workObjectGoal MOVEACTION OURGOAL DEFAULT STAGE Computer _1 id CLI E NTID CLI PS_A
9. sito del trabajo dirigido evitando as desarrollar la aplicaci n desde cero La utilizaci n del lenguaje CLIPS integrado en C ha permitido alcanzar el cometido del trabajo dirigido introduciendo nuevas funcionalidades no usadas en CLIPS como son la forma de impresi n de la agenda en el formato indicado as como la eliminaci n de la activaci n actual de sta que es aquella que se va a ejecutar Iv N UZQUIANO MATEO 10 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 7 Bibliograf a A continuaci n se muestra la bibliograf a que ha servido de ayuda para la elaboraci n de la interfaz manual CLIPS Definici n http es wikipedia org wiki CLIPS PHP Definici n http www php es com CLIPS Documentaci n http clipsrules sourceforge net PHP Documentaci n y descargas http www php net IV N UZQUIANO MATEO 11 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AIL LIVE ANEXO A Ejemplo de ejecuci n de AI LIVE Este anexo pretende mostrar al usuario un ejemplo de instalaci n configuraci n y ejecuci n del juego AI LIVE con la interfaz manual implementada Preinstalaci n 0 Comprobamos que tenemos instalado PHP 4 3 o superior con CLI accediendo al directorio ete phpX cli donde X es la versi n 4 5 Si no se encuentra instalaremos la ltima versi n abriendo un terminal de comandos y ejecuta
10. situado en el directorio home ai_08_01_15 client manual profiles Nota Para m s informaci n sobre la configuraci n consultar el apartado 5 2 Iv N UZQUIANO MATEO 12 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE Ejecuci n 6 Antes de continuar comprobaremos en las propiedades tanto del servidor como del cliente manual que los archivos run tienen permisos de ejecuci n como programa si no es el caso asignarle esta caracter stica Servidor 7 Abrimos un terminal de comandos accedemos al directorio home ai_08_01_15 server y ejecutamos la sentencia make la cu l nos generar el archivo ejecutable server y seguidamente la sentencia run mostr ndose esto Defining defglobal numVC Defining deffunction sign Defining defgeneric printExp Method 1 defined Defining defrule Gossip j j j j j Defining defrule TellLikenessShared j j j Defining defrule TellLikenessNotShared j Defining d ule createRelationship j j Defining d ule createExplicitRelationship j Defining d ule modifyRelationship j j Defining defrule createLikeness j kkxkxkxkxkxkxkxkxkxkkxkxkxkxkxkxkkxkkxkxkxkxkkxkkkxkxkxkkkxkkkxkxkxkxkxkxkxkkkxkkkxkxkkkxkkxkkxkkkxkkkx kxxk EARNERS CHERS Initralished x State TILES WETCEEN KERESE RKEE kkxkxkxkxkxkxkxkxkkxkxkxkkkxkkxkkkkxkxkkkxkkxkkkxkxkkkkxkkkxkxkkkkkkkkkkxkkkxkxkxkkkxkkkkkxxkxk j j j j j j f f
11. ya sea en el servidor o en cualquiera de los clientes asegurarse de que los archivos run as como los archivos client y server tienen permisos de ejecuci n como un programa Iv N UZQUIANO MATEO 9 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 6 Conclusiones En este apartado se van a comentar las conclusiones a las que se ha llegado tras la implementaci n de la interfaz manual 6 1 Conclusiones generales La creaci n de la interfaz manual permite observar c mo influyen las acciones tomadas por el actor manual en las decisiones de los dem s actores implementados con inteligencia artificial Esto proporciona un sistema de prueba del comportamiento de este tipo de actores Adem s garantiza una forma de comprobar que las acciones realizadas por los actores de inteligencia artificial est n correctamente implementadas ya que el cliente manual se basa estructuralmente en los clientes de inteligencia artificial El estudio de las decisiones tomadas por el cliente manual permite extrapolar la informaci n de ste para la creaci n de nuevos clientes de inteligencia artificial cuyo comportamiento se asemeje m s al de un humano 6 2 Conclusiones personales La interfaz manual ha resultado m s f cil de implementar gracias a que est basada principalmente en la estructura de un cliente de inteligencia artificial Se han introducido nuevos m todos a los ya realizados para lograr el prop
12. CTOR_VVQGGEM9RT INSTANCE _010 6 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_098 7 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVQOGGEM9RT IN STANCE_097 8 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_096 96 FindFreeCe FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_002 97 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_001 98 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE 000 Insert the action s number to run 0 EXIT and press ENTER IV N UZQUIANO MATEO 14 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 9 Ahora elegimos una acci n para que la ejecute el servidor por ejemplo la tercera para asignarle al actor la bolsa Bag 1 id Para ello introduciremos 3 y pulsaremos ENTER mostr ndose esto RUN FIN RUN client Action sent client Receiving state KKXKXKKKXXKXKX regla AssigningBag KKXKXKKXKKKKX bolsa asignada Bag_1 id ACTIONS createlikeness CREATE CLIENTID 2 workObjectGoal MOVEACTION OURGOAL DEFAULT STAGE Computer 1 id CLI E NTID CLI
13. KKKXXKXKX regla WorkO0bjectGoal KKXKXKKXKXXKXKX vamos a por Computer 1 id situado en x 1 y 1 coordenadas actuales del actor X 2 Y 1 celda de acceso INSTANCE 010 T kkxkxkxkxkxkxkxxkxx k regla move KKXKXKKXKKKXk Se va a mover el actor con el Id CLIPS ACTOR VVQOGGEM9RT Coordenadas futuras del actor X 1 Y 0 ACTIONS 1 Working CLIENTID WORKING DEFAULT STAGE CLIPS_ACTOR_VVQGGEM9RT Compute r 1 id INSTANCE 010 2 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_098 3 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_097 4 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVQOGGEM9RT IN STANCE_096 92 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_002 93 FindFreeCell FINDFREECELL DEFAULT STAGE y CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_001 94 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE 000 Insert the action s number to run 0 EXIT and press ENTER
14. Q O 3 O uter 1 id CLIENTID CLI PS_ACTOR_VVQGGEM9RT INSTANCE_ 010 2 FindFreeCell FINDFREECELL DEFAULT_STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_098 3 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_097 4 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_096 92 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_002 93 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT IN STANCE_001 94 FindFreeCell FINDFREECELL DEFAULT STAGE CLIENTID CLIPS ACTOR VVOGGEM9RT LIN STANCE_000 Insert the action s number to run 0 EXIT and press ENTER Iv N UZQUIANO MATEO 16 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 11 Ahora elegimos la primera acci n para acceder a un objeto de trabajo Para ello introduciremos y pulsaremos ENTER mostr ndose esto RUN FIN RUN client Action sent client Receiving state KKXKXKX
15. UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLIT CNICA SUPERIOR INGENIER A T CNICA EN INFORM TICA DE GESTI N TRABAJO DIRIGIDO Acceso manual al juego AI LIVE Alumno Iv n Uzquiano Mateo Tutor Javier Ortiz Laguna A o 2008 TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE Indice 1 Introducci e 1 2 DD A a A 2 O 3 3 1 Jer rq ia ALEA A A e en a E A R RNE 3 3 2 Atguite t ra A ea a a T a 4 A A 4 LN O E A a AR 4 3 3 Estructura del archivo A id 5 NI Programa Principal A E EEE A E E E R 5 3 3 2 Funciones y m todos implementados ooooonnnnininnnnnnnnncoccnnanccncnnanccnoo 5 4 Ampliaci n del SISTEMA AS A 6 4 1 Nuevos m todos implementidOS 3 6 4 1 1 void showActions int num daa 6 4 1 2 void SelectA CON VWI 6 4 2 Modificaci n del bucle principal del programa ooooooccnnncocccnnoooccccnononanoncnnnnnss 7 EE de us ari AAA A a n E a a a aat 8 Sl Requisitos DEN ad td dd le 8 5 2 CONDUCIR AAA a ia 8 5 3 EJECUCION sn ada ass 9 5 3 1 Servidor y cliente MARU SRA AA A AE 9 5 3 2 Clientes de inteligencia artificiOl ooooonnnnnnnnnnnnncnnnnanacccinnancccncnnnrrrro 9 A A a EEA E EE E A a aa 10 6 1 Conclusiones Sora a a iii 10 6 2 Conclusiones PESA dd 10 TEBIUOEAA E a 11 ANEXO A Ejemplo de ejecuci n de ARLIVE oooooococccccccccccooononnnnonononononnnno nono 12 E A 12 A NE E EE AN REE ERE EA A E EA 12 Contistiraci n veian idad 12 SAM da daoo autos ep N 12 Cliente manud E ia a AAA Ada 12 A aa r e a E E
16. c Algunos m dulos ya implementados son Interacci n con objetos del escenario actual cama nevera ordenador etc Interacci n con otros actores hablar sobre determinados temas otros actores gustos etc Modificaciones de las caracter sticas de cada actor estado de nimo higiene hambre etc seg n la interacci n con objetos y otros actores Cambio de escenario para realizar otras acciones Iv N UZQUIANO MATEO 1 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 2 Objetivos Las decisiones de los actores de AI LIVE est n controladas mediante t cnicas de inteligencia artificial seg n las necesidades actuales de cada uno Esto hace que los actores se comporten de manera autom tica por lo que parece necesario crear una interfaz manual que permita a un usuario controlar a un actor Para ello el usuario necesitar conocer las acciones que puede realizar el actor manual en el turno actual y una vez mostradas elegir la acci n para enviarla al servidor y que ste la pueda ejecutar Esto permitir simular el comportamiento humano en la toma de decisiones dentro del juego y comprobar c mo influyen stas en las acciones que realizan los actores implementados con inteligencia artificial Adem s el estudio de las decisiones tomadas por el actor manual proporcionar informaci n que permita la creaci n de futuros actores implementados con inteligencia artificial cu
17. cliente es el siguiente 1 Recibir el estado actual del servidor 2 Iniciar el motor de inteligencia artificial con la ontolog a y el cliente 3 Si no se ha terminado con la ejecuci n del programa Cargar el estado actual en el motor de inteligencia artificial Cargar la instancia del cliente en el motor de inteligencia artificial Ejecutar el motor de inteligencia artificial para generar el archivo que guarda la acci n Enviar la acci n al servidor mediante el archivo generado Borrar el archivo que guarda la acci n Volver al paso 1 4 Sino se ha terminado con la ejecuci n del programa Cargar el hecho de fin de traza en el motor de inteligencia artificial Generar el archivo que guarda la acci n de fin de ejecuci n Enviar la acci n al servidor mediante el archivo generado Borrar el archivo que guarda la acci n 3 3 2 Funciones y m todos implementados buffer GenerateActorKey void genera una clave aleatoria para el actor Devuelve la clave en un buffer void SendProfile int ss char actor char stage char actor_id env a el perfil del actor actor cuya clave es actor_id perteneciente al escenario stage al servidor cuyo socket es ss int ServerConnect char serverhost int serverport char actor char stage conecta el actor actor al servidor serverhost a trav s del puerto serverport en el escenario stage mediante los protocolos de comunicaci n establecidos as
18. del cliente manual Servidor 14 Para finalizar con la ejecuci n del servidor pulsaremos Control C en el terminal de comandos donde se ha ejecutado el servidor mostr ndose esto Playing CLIPS ACTOR VVOGGEM9RT on stage DEFAULT STAG RXEXERKAR RKARX Action Exit Actor xx xkx XX X X XX Actor CLIPS ACTOR VVOGGEM9RT goes out of stage DEFAULT STAGE El E Iv N UZQUIANO MATEO 19 19 UNIVERSIDAD CARLOS III DE MADRID
19. e realizar el actor en ese momento Cada acci n contiene un n mero que la identifica su nombre as como el conjunto de objetos que est n involucrados en ella Es por ello por lo que no se introducen par metros para la ejecuci n de las acciones ya que stas contemplan todas las posibilidades que puede realizar el actor en cada turno El usuario debe introducir el n mero de la acci n que desea que realice el actor y pulsar ENTER para que posteriormente se env e la acci n al servidor y ste pueda ejecutarla Si el usuario desea salir de la aplicaci n debe pulsar 0 y despu s ENTER en el terminal donde ha ejecutado el cliente manual en cuyo momento se generar el archivo de traza traza txt Seguidamente debe pulsar Control C en el terminal donde ha ejecutado el servidor para finalizar 5 3 2 Clientes de inteligencia artificial Tambi n se pueden ejecutar clientes de inteligencia artificial junto con el servidor Para ello es necesario iniciar un terminal de comandos accediendo desde ste al directorio AI LIVE client xxx donde xxx es el nombre de un cliente distinto a manual y ejecutar la sentencia run Para terminar la ejecuci n de estos clientes basta con pulsar Control C en el terminal donde se ha ejecutado el cliente de inteligencia artificial Al igual que para el cliente manual se generar el archivo de traza traza txt para cada uno Nota Si no permite ejecutar en un terminal de comandos la sentencia run
20. ecisiones y enviarlas al servidor para que las ejecute as como de recibir el estado actual de las entidades del juego Una vez finalizadas sus ejecuciones cada uno genera el archivo traza txt que contiene la secuencia de decisiones tomadas por el actor hasta el fin de su ejecuci n Cada cliente est formado por dos archivos principales client c se encarga de conectarse al servidor enviar la decisi n del actor recibir el estado actual y gestionar el motor de inteligencia artificial del cliente Requiere de la ontolog a ontology clp la misma que en el servidor y del archivo client clp client clp contiene el sistema de producci n implementado en CLIPS encargado de la toma de decisiones del actor as como los m todos y funciones necesarios para la creaci n de la traza traza txt IV N UZQUIANO MATEO 4 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 3 3 Estructura del archivo client c El archivo client c es el principal objeto de estudio ya que ste va a ser en donde se va a implementar la nueva funcionalidad encargada de alcanzar el objetivo del trabajo dirigido Por ello se va a mostrar a continuaci n c mo est organizado ste 3 3 1 Programa principal int main int argc char argv es el encargado de la ejecuci n de las funciones y m todos posteriormente descritos El algoritmo del bucle principal del programa encargado de la ejecuci n completa de un
21. ign ndole una clave al actor y enviando el perfil del ste al servidor Devuelve el socket del servidor buffer ReceiveState int ss recibe el estado actual de las entidades a trav s del socket del servidor ss Devuelve el estado en un buffer void SendAction int ss const char f env a la acci n solicitada por el actor al socket del servidor ss La acci n est almacenada en el archivo f void killClient int signal captura la se al signal Control C para terminar con la ejecuci n del cliente Iv N UZQUIANO MATEO 5 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 4 Ampliaci n del sistema Para la creaci n del interfaz manual ha sido necesario modificar la estructura de un cliente de inteligencia artificial S lo se ha requerido modificar el archivo client c El archivo client clp no ha sido modificado debido a que es irrelevante c mo se organizan las decisiones del actor ya que es el usuario el encargado de elegir la acci n que quiere que ejecute el servidor 4 1 Nuevos m todos implementados 4 1 1 void showActions int num Muestra al usuario las acciones que puede realizar el actor en el turno actual num contiene el n mero de acciones que puede realizar El algoritmo utilizado se detalla a continuaci n 1 Obtener la primera activaci n de la agenda La agenda contiene la secuencia de activaciones acciones ordenadas que puede realizar el actor en el turno actua
22. l 2 Mientras que i iniciado a 0 sea menor que el n mero total de activaciones Imprimir 1 1 el nombre de la activaci n y los objetos que utiliza sta Obtener la siguiente activaci n Incrementar i 4 1 2 void selectAction void Permite que el usuario seleccione la acci n que quiere que realice el actor en el turno actual El algoritmo utilizado se detalla a continuaci n 1 Obtener la primera activaci n de la agenda 2 Mientras que haya m s activaciones Aumentar el contador de activaciones iniciado a 0 Obtener la siguiente activaci n 3 Invocar al m todo showActions 4 Mientras que no haya errores en la introducci n del n mero y ste no est entre 0 y el n mero total de activaciones Pedirle al usuario que introduzca el n mero de acci n a ejecutar Si hay alg n error o el n mero introducido es 0 o Indicar que finalice la ejecuci n del programa 5 Borrar todas las activaciones anteriores al n mero introducido ya que la acci n que se ejecuta es siempre la primera de la agenda Iv N UZQUIANO MATEO 6 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 4 2 Modificaci n del bucle principal del programa Tras la implementaci n de los dos nuevos m todos que realizan la funcionalidad requerida se ha de introducir la sentencia que permite al usuario seleccionar la acci n a ejecutar quedando el bucle principal del programa
23. ndo la sentencia apt get install php5 php5 cli Instalaci n 1 Extraemos el archivo ai_08 01 15 tar gz en el directorio home de nuestra distribuci n Linux En el nombre se indica la versi n del juego en donde 08 es el a o 01 el mes y 15 es el d a en el que se ha hecho la versi n 2 A continuaci n extraemos el archivo client manual tar tgz en el directorio home ai_08_01_15 generado por la extracci n del archivo anterior cre ndose dentro un nuevo directorio llamado client manual que contiene el propio cliente manual Configuraci n Servidor 3 Accedemos al directorio home ai_08_01_15 server y comprobamos que en el archivo server ini la configuraci n por defecto es correcta existiendo los archivos ontology clp e initial state en el directorio del servidor Cliente manual 4 Realizamos la misma operaci n para el cliente manual accediendo al directorio home ai_08_01_15 client manual Una vez hecho esto comprobamos que en el archivo client ini la configuraci n por defecto es correcta existiendo el archivo ontology clp en el directorio del cliente manual y que el puerto de conexi n es el mismo que el de acceso al servidor configurado anteriormente en el archivo server ini 5 No es necesario modificar el perfil del actor para el cliente manual ya que vamos a ser nosotros los encargados de tomar las decisiones por l Pero si se quiere modificar algunas caracter sticas el archivo DEFAULT ACTOR profile est
24. os run encargados de la ejecuci n del juego PHP PHP Hypertext Pre processor es un lenguaje interpretado multiplataforma libre y de prop sito general que est dise ado especialmente para desarrollo web pero tambi n puede emplearse para la creaci n de scripts CLI Command Line Interface es una interfaz de programaci n de uso del servidor para PHP que permite ejecutar aplicaciones o scripts implementadas en lenguaje PHP bajo l nea de comandos No se requerir ninguna versi n de CLIPS http clipsrules sourceforge net para la ejecuci n de los archivos c p ya que se encuentra integrado en el lenguaje C CLIPS C Language Integrated Production System es una herramienta libre de programaci n creada por la NASA que permite realizar sistemas expertos basados en inteligencia artificial Soporta programaci n l gica para utilizar reglas de cumplimiento Si A gt B imperativa para ejecutar algoritmos y orientada a objetos para dise ar sistemas complejos mediante m dulos 5 2 Configuraci n La configuraci n del servidor y de los clientes est definida en los archivos ini incluidos en los directorios AI LIVE server y AI LIVE client xxx respectivamente donde xxx es el nombre del cliente server ini en l se debe indicar d nde se encuentra la ontolog a ontology clp el estado inicial initial state y el puerto de escucha 6969 client ini en l se debe indicar d nde se encuentra la ontolog
25. yo comportamiento se asimile m s al de un ser humano real Iv N UZQUIANO MATEO 2 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 3 Estudio Antes de la realizaci n del interfaz manual es necesario realizar un estudio de c mo est estructurado el juego AI LIVE tanto f sica como l gicamente 3 1 Jerarqu a de archivos Para proporcionar una visi n f sica de c mo est n estructurados los archivos se muestra a continuaci n la jerarqu a de directorios y archivos m s significativos ALLIVE client manual profiles DEFAULT ACTOR profile client client c client clp client ini run traza txt ontology clp server initial state run server server c server clp server ini ontology clp A continuaci n se va a describir el contenido de los archivos comunes al servidor y a los clientes en el juego ontology clp contiene la definici n de la jerarqu a de clases del juego Debe ser la misma tanto en el servidor como en todos los clientes run script que ejecuta las sentencias del archivo ini perteneciente al directorio donde se encuentra Los dem s archivos ser n descritos en pr ximos apartados Iv N UZQUIANO MATEO 3 19 UNIVERSIDAD CARLOS III DE MADRID TRABAJO DIRIGIDO ACCESO MANUAL AL JUEGO AI LIVE 3 2 Arquitectura del juego Actualmente el juego est formado por un servidor y uno o m s clientes que se pueden conectar
Download Pdf Manuals
Related Search
Related Contents
RIDGID R9700 Use and Care Manual 電 言 盤 - キタムラ産業 50MHz DIFFERENTIAL PROBE USER'S MANUAL 1 1 DEVELOPMENT OF SHARED ENVIRONMETAL INFORMATION Copyright © All rights reserved.
Failed to retrieve file