scieee AI-readable full text Open interactive document viewer

Gestión de la personalidad en la arquitectura de agentes emocionales GenIA3

Taverner Aparicio, Joaquín José

Abstract

When it is desired to imitate human behavior using software agents it is necessary to add affective characteristics that allow the agents to make the decisions in a more similar way as we do the human beings. One of the affective characteristics necessary for the development of these emotional agents is the personality. Personality affects emotional processes and decision making. In order to be able to introduce different types of personality that allow to define agents different from each other the student must extend the GenIA3 architecture to allow the use of personality profiles, studying how to include their use in the agent's reasoning process, Decision making and in their affective state.

Full text

Departamento de Sistemas Informáticos y Computación Universitat Politècnica de València Gestión de la personalidad en la arquitectura de agentes emocionales GenIA3 Trabajo Final de Máster Máster Universitario en Inteligencia Artificial, Reconocimiento de Formas e Imagen Digital Autor: Joaquín Taverner Aparicio Tutores: Vicente Botti Navarro Emilio Vivancos Rubio Bexy Alfonso Espinosa 17 de juliol de 2017 Agradecimientos A mi pareja y a mi familia por su apoyo incondicional y a mis tutores: Vicente, Emilio y Bexy por su ayuda y motivación que han sido claves para la realización de este trabajo. Abstract In the last few years there has been a growing interest in emotional computing. This type of computation tries to include and/or use emotions in different software processes. One of the most promising areas today is the area of emotion simulation, where emotional models are applied to simulate a behavior more similar to that of the human being. One of the most relevant emotional characteristics in emotional processes is personality. Personality is defined as a set of individual characteristics that influence motivations and behaviors when facing a particular circumstance. Therefore, it is necessary to take personality into account when modeling affective processes. Through the simulation of the emotions can be improved, among others, the user’s experience with machines and simulation of human decision-making processes using multi-agent systems. In this work we propose a model for the use of personality in an architecture for affective agents, as well as the development of that model in GenIA3. Keywords: Jason, agent, emotion, personality. Resum En els últims anys hi ha hagut un interès creixent per la computació emocional. Aquest tipus de computació tracta d’incloure i/o emprar les emocions en diferents processos software. Una de les àrees més prometedores actualment, és l’àrea de la simulació d’emocions, on es tracta d’aplicar models emocionals que permeten simular un comportament més similar al de l’ésser humà. Una de les característiques afectives més rellevants en els processos emocionals és la personalitat. La personalitat es defineix com un conjunt de característiques individuals que influeixen en les motivacions i en els comportaments a l’hora d’enfrontar una determinada circumstància. Per tant, a l’hora de modelar processos afectius, la personalitat juga un factor molt important. Mitjançant la simulació d’emocions es poden millorar, entre d’altres, l’experiència de l’usuari al relacionar-se amb les màquines i les simulacions humanes en processos de presa de decisions emprant sistemes multiagent. En aquest treball proposem un model per a l’ús de la personalitat en una arquitectura per a agents afectius, així com el desenvolupament del model en GenIA3. Paraules clau: Jason, agent, emoció, personalitat. Resumen En los últimos años ha habido un interés creciente por la computación emocional. Este tipo de computación trata de incluir y/o emplear las emociones en distintos procesos software. Una de las áreas más prometedoras actualmente, es el área de la simulación de emociones, donde se trata de aplicar modelos emocionales que permitan simular un comportamiento más similar al del ser humano. Una de las características afectivas más relevantes en los procesos emocionales es la personalidad. La personalidad se define como un conjunto de características individuales que influyen en las motivaciones y en los comportamientos a la hora de enfrentar una determinada circunstancia. Por tanto, a la hora de modelar procesos afectivos, la personalidad juega un factor muy importante. Mediante la simulación de emociones se pueden mejorar, entre otras, la experiencia del usuario al relacionarse con las máquinas y las simulaciones humanas en procesos de toma de decisiones empleando sistemas multiagente. En este trabajo proponemos un modelo para el uso de la personalidad en una arquitectura para agentes afectivos, así como el desarrollo del modelo en GenIA3. Palabras clave: Jason, agente, emoción, personalidad. 2 Índice general 1 Introducción 7 1.1 Motivación............................. 7 1.2 Objetivos ............................. 8 1.3 Estructura del documento . . . . . . . . . . . . . . . . . . . . 9 2 Conceptos previos 11 2.1 Agenteinteligente......................... 11 2.1.1 Arquitecturas de agente . . . . . . . . . . . . . . . . . 13 2.1.2 Sistemas multiagente . . . . . . . . . . . . . . . . . . . 14 2.1.3 Plataforma para sistemas multiagente . . . . . . . . . . 15 2.2 El lenguaje de agentes Jason . . . . . . . . . . . . . . . . . . . 15 2.3 Las emociones y las categorías afectivas . . . . . . . . . . . . . 17 2.4 Computación afectiva . . . . . . . . . . . . . . . . . . . . . . . 21 3 La personalidad 23 3.1 El concepto de personalidad . . . . . . . . . . . . . . . . . . . 23 3.2 Distintos modelos de personalidad . . . . . . . . . . . . . . . . 24 3.2.1 La teoría de los Cinco Grandes ............. 25 3.2.2 PANAS .......................... 25 3.2.3 The Myers-Briggs Type Indicator . . . . . . . . . . . . 26 3.3 La personalidad y los procesos cognitivos . . . . . . . . . . . . 27 3.4 La influencia de la personalidad en las emociones y el estado deánimo.............................. 27 3.5 La relación de la personalidad y la memoria . . . . . . . . . . 28 3.6 El efecto de la personalidad en las decisiones . . . . . . . . . . 29 3.7 La personalidad en el proceso de evaluación . . . . . . . . . . 29 3.8 La personalidad en sistemas multiagente . . . . . . . . . . . . 30 4 Modelo de personalidad para la arquitectura GenIA333 4.1 Introducción............................ 33 4.2 GenIA3una arquitectura para agentes BDI afectivos . . . . . 34 3 Índice general 4.3 Definiendo el modelo de personalidad en GenIA3....... 39 5 Incorporando la personalidad a la plataforma GenIA347 5.1 Introducción............................ 47 5.2 Extensión del lenguaje de GenIA3............... 48 5.2.1 Especificación del sistema multiagente . . . . . . . . . 48 5.2.2 Definición de la personalidad en el agente . . . . . . . . 50 5.3 Modificaciones en los procesos cognitivos de los agentes . . . . 51 5.3.1 Influencia de la personalidad en la selección de planes . 52 5.3.2 Influencia de la personalidad en el estado de ánimo . . 53 6 Prueba de la propuesta 57 6.1 Diseño del experimento . . . . . . . . . . . . . . . . . . . . . . 57 6.2 Definición del sistema multiagente . . . . . . . . . . . . . . . . 59 6.3 Definición del agente jugador . . . . . . . . . . . . . . . . . . 60 6.4 Análisis de resultados . . . . . . . . . . . . . . . . . . . . . . . 61 7 Conclusiones y futuras ampliaciones 67 4 Capítulo 2 Conceptos previos En este capítulo vamos a ver una serie de conceptos necesarios para la comprensión del trabajo. Desarrollaremos el concepto de agente inteligente y hablaremos sobre las arquitecturas de agente así como de los sistemas multiagente y las plataformas para estos sistemas. Describiremos brevemente sobre Jason que es un intérprete para un lenguaje de agentes, y lo emplearemos para desarrollar nuestra propuesta. Posteriormente veremos una introducción a las emociones y las categorías afectivas donde explicaremos algunos de los conceptos y teorías más relevantes que se han propuesto. Por último, introduciremos el concepto de computación afectiva. 2.1 Agente inteligente El concepto de agente software no es sencillo de definir, pues el debate sobre qué constituye un agente inteligente está todavía abierto. Una de las definiciones más generales y aceptadas define a un agente inteligente como “un sistema reactivo que desarrolla su actividad dentro de un entorno y presenta cierto grado de autonomía en el sentido en que se le delega una tarea, y el propio sistema determina la mejor manera de lograr esta tarea” [78]. Los agentes tienen una serie de objetivos que deben alcanzar y un conjunto de acciones que pueden realizar. Deben ser capaces de reaccionar a los cambios que se produzcan en su entorno y de planificar por sí mismos las acciones que deben realizar para lograr sus objetivos [76] [62]. Además, estos agentes deben tener la capacidad de interactuar con otros agentes. La forma de interactuar no debe ser simplemente intercambiando datos, si no participando en actividades sociales de forma análoga a como lo hacen los seres humanos en el día a día: cooperando, coordinándose o negociando entre otras. Para poder interactuar con el entorno, estos agentes deben ser capaces de analizar dicho 11 Capítulo 2. Conceptos previos entorno mediante el uso de sensores, y deben tener un repertorio de posibles acciones a realizar, con el fin de modificar su entorno usando los actuadores. Además del entorno, los agentes tienen una serie de propiedades generales: •Autonomía: El agente debe ser capaz de operar de forma independiente con el fin de alcanzar los objetivos que se le delegan. Por lo tanto, un agente autónomo toma decisiones de forma independiente sobre cómo lograr sus objetivos delegados. Sus decisiones (y por tanto sus acciones) están bajo su propio control. •Reactividad: El agente debe ser sensible a los cambios que se produzcan en su entorno y reaccionar tomando las decisiones adecuadas en cada momento. •Proactividad: El agente debe ser capaz de exhibir un comportamiento dirigido a un objetivo. Asume el pleno control de su conducta de modo activo, lo que implica la toma de iniciativa en el desarrollo de acciones que se traduzcan en el cumplimiento de sus objetivos. La proactividad descarta por completo los agentes pasivos, que nunca tratan de hacer nada. •Capacidad social: Se refiere al intercambio de información crucial para la toma de decisiones en los agentes, esto es, que los agentes deben intercambiar creencias, planes y objetivos para conseguir un fin común. En la literatura existen otras características que se les atribuyen a los agentes entre las que se destacan [54]: •Veracidad: se refiere a la capacidad del agente para engañar a otros agentes a través de sus mensajes o de su comportamiento. Por lo tanto, un agente puede ser veraz al no engañar intencionalmente a otros agentes. Además, un agente que es mentiroso puede tratar de engañar a otros agentes, ya sea proporcionando información falsa o actuando de manera engañosa. •Adaptabilidad: es la capacidad de un agente para modificar su comportamiento en el tiempo. •Racionabilidad: El agente debe realizar las acciones pertinentes en función de la información que recibe de su entorno. •Disposición: se refiere a la “actitud” del agente hacia otros agentes, y su disposición a cooperar con ellos. 12 2.1. Agente inteligente •Continuidad temporal: Se considera que los agentes tienen una ejecución infinita. •Benevolencia: un agente siempre puede intentar realizar una tarea cuando se le pide (benevolente), o puede actuar en su propio interés de colaborar con otros agentes sólo cuando sea conveniente hacer (interesarse por sí mismo), o podría tratar de dañar a otros agentes o destruirlos de alguna manera (malévolos). 2.1.1 Arquitecturas de agente Las arquitecturas de agente deben describir los diferentes módulos que forman parte de un agente y cómo éstos se interconectan para que el agente pueda exhibir una determinada conducta. Frente a otras tecnologías con componentes fijos como la de objetos (objetos, atributos y métodos) o la de sistemas basados en el conocimiento (motor de inferencia, base de hechos, base de conocimiento y otros elementos opcionales), en los agentes es posible encontrar una gran variedad de arquitecturas [51]. Las arquitecturas de agente se pueden clasificar atendiendo a diferentes criterios. [74,77]: •Deliberativas: Un agente deliberado es aquel que contiene un modelo simbólico del mundo explícitamente representado y en el que las decisiones se hacen a través de un razonamiento lógico. •Reactivas: Nacen como respuesta a los problemas acarreados por el uso de la IA simbólica. Este tipo de arquitecturas no incluyen ningún tipo de modelo central simbólico del mundo y no emplean un razonamiento simbólico complejo. •Híbridas: Estas arquitecturas plantean que ni el enfoque deliberativo ni el reactivo son adecuados para el desarrollo de agentes inteligentes y emplean distintos enfoques alternativos algunos basados en las dos arquitecturas anteriores. Una de las arquitecturas más importantes y usadas es la BDI (Beliefs, Desires, Intentions). La arquitectura BDI es una arquitectura deliberativa que se fundamenta en la teoría filosófica del razonamiento práctico [47] [15] en el que las acciones se deciden en consonancia con los objetivos. En la arquitectura BDI los agentes están diseñados como un sistema intencional donde al agente se le atribuye un conjunto de actitudes mentales. Los agentes están formados por un conjunto de creencias (que en Jason se denomina base de creencias), deseos e intenciones. Las creencias representan la información que tiene el agente sobre el estado de su entorno. Esta información no tiene 13 Capítulo 2. Conceptos previos por que ser completa como razonaron Rao yGeorgeff en su definición de la lógica BDI [50]. Los deseos son objetivos que el agente quiere conseguir, por ello tienen preferencia. Las intenciones son compromisos que adquiere el agente, es decir aquellos objetivos que selecciona para ejecutarlos. Los agentes toman la decisión de qué acción realizar en función del estado en el que se encuentren. Los agentes BDI llevan a cabo el proceso de razonamiento a través de cuatro procesos más específicos que son: la revisión de las creencias (donde se comprueban las percepciones, los mensajes nuevos y se contrastan con las creencias actuales para obtener nuevas creencias), la generación de opciones (las opciones son deducidas por el agente a partir de la base de creencias y las intenciones actuales), el filtro (determina las nuevas intenciones en relación con la base de las creencias actuales, los deseos y las intenciones), y la selección de acciones (que determina la acción a realizar teniendo en cuenta las intenciones actuales) [3]. La arquitectura GenIA3, sobre la que vamos a trabajar, es una arquitectura para agentes afectivos basada en BDI que se explicará con mayor detalle en la sección 4.2. Por tanto, los agentes que vamos a emplear serán agentes BDI y contarán con deseos, intenciones y creencias. La modificación de la personalidad propuesta en este trabajo deberá será capaz de incidir en la selección de las intenciones como veremos más adelante. 2.1.2 Sistemas multiagente Los sistemas multiagente son un área de conocimiento dentro de la inteligencia artificial distribuida, pero también constituyen una nueva aproximación metodológica al estudio y caracterización del comportamiento de los sistemas complejos. En general los sistemas multiagente tratan sobre la coordinación inteligente entre una colección de agentes autónomos, y de cómo pueden coordinar sus conocimientos, metas, prioridades y planes para tomar una decisión o resolver un problema [11]. Los sistemas multiagente son sistemas computacionales en los que dos o más agentes interactúan para alcanzar un conjunto de objetivos [76]. El crecimiento de los recursos de información en red requiere sistemas de información que se pueden distribuir en una red e interoperar con otros sistemas. Estos sistemas no pueden realizarse fácilmente con las tecnologías de software tradicionales debido a los límites de estas para hacer frente a la distribución y a la interoperabilidad. Las tecnologías basadas en agentes parecen ser una respuesta prometedora para facilitar la realización de tales sistemas, ya que fueron inventados justamente para hacer frente a la distribución y la inter14 2.2. El lenguaje de agentes Jason operabilidad 2.1.3 Plataforma para sistemas multiagente Las plataformas de agentes surgen como respuesta a la necesidad de crear sistemas multiagente que, generalmente, requieren de unas ciertas características para poder dar servicio a la funcionalidad de los agentes. Por tanto, este tipo de sistemas requieren mucho tiempo de implementación y un nivel alto de programación, puesto que la concurrencia en los sistemas multiagente es esencial y programar sistemas concurrentes es una tarea compleja. Para acelerar el proceso de implementación de este tipo de sistemas es necesario emplear herramientas que permitan la abstracción del usuario lo máximo posible, de forma que el esfuerzo deba de ser mínimo. Para cubrir esta necesidad nacen las plataformas para sistemas multiagente, que generalmente proporcionan soporte para multi-subprocesos, comunicación y otras interfaces básicas de tal manera que el diseñador del sistema puede concentrarse más en el modelado del dominio de la aplicación. Entre otras cosas, permiten a los desarrolladores de software crear sistemas basados en agentes mientras eliminan algunas de las tareas más tediosas y complejas. Además, generalmente proporcionan un interfaz de usuario, herramientas para la programación, funcionalidades predefinidas, lenguajes y ontologías que facilitan la escritura del código simplificandolo de forma que puede ser comprendido por usuarios sin mucha experiencia. En este trabajo vamos a implementar el modelo de personalidad que proponemos en la plataforma de agentes GenIA3implementada sobre Jason y que, siguiendo la filosofía de estas plataformas, permitirá la definición de agentes afectivos de una forma sencilla, permitiendo a los usuarios comprobar sus teorías sin tener que desarrollar todo el sistema desde cero. Nuestra propuesta, como veremos en el cuarto capítulo, permitirá que se empleen distintas teorías de personalidad dentro de la plataforma, ofreciendo las interfaces necesarias para facilitar lo máximo posible su versatilidad manteniendo la facilidad de uso por parte de los usuarios. Además ofreceremos un modelo por defecto dentro de la propia plataforma, que ya contará con todo lo necesario para introducir diferentes comportamientos en base a la personalidad. 2.2 El lenguaje de agentes Jason Jason [12] es un intérprete basado en Java de una extensión de AgentSpeak [49]. AgentSpeak es un lenguaje de programación orientado a agentes 15 Capítulo 2. Conceptos previos con una arquitectura BDI [78]. Un agente en Jason consta de un conjunto de creencias, un conjunto de planes y un conjunto de objetivos. •Las creencias representan el conocimiento que tiene el agente del estado actual del entorno donde se encuentra. No son estáticas, de hecho suelen estar en constante cambio durante la ejecución del agente. Cuando se definen las creencias, también se pueden añadir reglas que permitan deducirlas. Estas reglas constan de una parte izquierda con la creencia que se deducirá, y una parte derecha con el conjunto de condiciones que deben cumplirse. La estructura es la siguiente: creencia :- condición . En las condiciones pueden ponerse otras creencias, acciones internas o expresiones mediante una sintaxis parecida a Prolog. •Los objetivos son los logros que debe alcanzar el agente. Existen dos tipos: los Achivement Goals y los Test Goals. Los Achivement Goals se denotan con el símbolo “!” y son objetivos a alcanzar por el agente que serán verdaderos una vez alcanzados. En cambio los Test Goals se expresan mediante el símbolo “?” y se usan para realizar consultas a la base de creencias. •Los planes son una secuencia de acciones que debe llevar a cabo el agente para lograr un objetivo. Los planes tienen tres partes: el evento disparador del plan, el contexto y el cuerpo, estos dos últimos son opcionales. La estructura para los planes es la siguiente: evento_disparador : contexto <- cuerpo . Uno de los elementos más relevantes para la implementación de nuestra propuesta son las etiquetas de los planes. Las etiquetas se pueden interpretar como un nombre que se le asigna a un plan. No es necesario explicitarlas ya que Jason le asigna a cada plan un nombre por defecto. Cuando a un plan se le asigna un nombre, se permite al usuario poder seleccionar ese plan en cualquier punto de la ejecución. Una de las cosas más importantes de las etiquetas es que pueden llevar asociadas distintas anotaciones. Esto permite que puedan existir distintos planes con un mismo evento disparador, incluso con el mismo contexto pero 16 2.3. Las emociones y las categorías afectivas Figura 2.1: Ciclo de razonamiento Jason original. con distintas etiquetas, que permiten realizar una selección de planes más clara. Incluso se pueden usar en el propio código interno del agente para realizar distinciones entre planes. Cuando se añaden las etiquetas los planes quedan con la siguiente estructura: @etiqueta [ anotación1, ..., anotaciónn] evento_disparador : contexto <- cuerpo . En Jason los agentes tienen un ciclo de razonamiento propio. En cada ciclo de razonamiento el agente comprueba los mensajes que recibe e interactúa con el entorno (percepción). Estas acciones pueden añadir creencias u objetivos que generarán eventos que pueden llevar asociados planes. Del conjunto de planes aplicables se selecciona uno que será el que se ejecutará. El ciclo de razonamiento (Figura 2.1) es un autómata de estados finitos que consta de los siguientes estados: ProcMsg estado inicial en el que se procesan los mensajes recibidos, SelEv donde se selecciona el evento, RelPl aquí se realiza la selección de los planes que son relevantes, ApplPl en este paso se hace una comprobación de cuales de los planes relevantes son aplicables, SelAppl se selecciona un plan a aplicar, en el estado AddIM se añade la nueva intención al conjunto de intenciones, SelInt es el estado donde se selecciona una intención, ExecInt en este paso se ejecuta la intención, ClrInt aquí es donde se eliminan las intenciones que se hayan ejecutado en el paso anterior. 2.3 Las emociones y las categorías afectivas Las emociones tienen muchas facetas que involucran sentimientos, experiencias, comportamientos, conocimientos, fisiolofías y conceptualizaciones [43]. 17 Capítulo 2. Conceptos previos Existe una amplia gama de conceptos cognitivos que describen las características afectivas en los seres humanos. La corriente actual en psicología y filosofía sostiene que las emociones juegan un papel muy importante en el razonamiento práctico [27]. Aristóteles definió el razonamiento práctico como el razonamiento que concluye en una acción, donde el razonamiento debemos verlo como un proceso mental que tiene lugar en la mente del razonador y su conclusión debe ser un estado mental. Bajo este punto de vista, el razonamiento práctico es el encargado de conducir los procesos de toma de decisiones. Posteriormente esta teoría ha sido estudiada en profundidad en psicología y filosofía por autores como Hume o Kant y, en la actualidad, es una de las teorías más aceptadas en su campo. Si, como acabamos de ver, las emociones afectan al razonamiento práctico también van a tener una influencia significativa en los procesos de toma de decisiones [15,44]. Bajo este punto de vista, las emociones están muy ligadas a los procesos racionales y también es una tendencia de las áreas de investigación, como la psicología o la neurociencia que han formulado distintas teorías. Una de las teorías afectivas más conocidas en el ámbito de la psicología es la teoría de la evaluación [61,63]. Esta teoría sostiene que las emociones son provocadas por evaluaciones que se realizan sobre eventos y situaciones. De forma que, las emociones no son meras respuestas a estímulos si no que son el resultado de la evaluación que realiza el individuo de estos estímulos [56]. Esta interpretación establece un número amplio de estados emocionales que se adaptan a las diferentes situaciones a las que se pueden enfrentar un individuo. Además, se tiene en cuenta que una misma serie de circunstancias pueden provocar reacciones emocionales muy distintas en función del individuo, es decir, las diferencias individuales como por ejemplo, las causadas en función de la personalidad, influyen en el tipo de emociones que van a ser manifestadas. Por tanto, la evaluación desencadena y regula los estados emocionales. El modelo propuesto en [33] trata de explicar la forma en la que funciona el proceso de evaluación. En este modelo se asume que no existe una relación directa entre una emoción y una evaluación concreta. Divide el procedimiento en dos etapas: •La evaluación primaria: que es la encargada de determinar el valor emocional que produce un evento. Puede ser consecuencia de un acto inconsciente, por ejemplo, un acto de supervivencia. Es subjetiva. •La evaluación secundaria: donde el individuo decide la forma en la que va a confrontar la situación teniendo en cuenta el estado de la etapa 18 2.3. Las emociones y las categorías afectivas anterior. La activación de la emoción es consecuencia, no solo de una evaluación si no, del resultado de un conjunto de evaluaciones. La evaluación del evento es la que se encarga de seleccionar la emoción y no el evento evaluado. De esta forma, explica como dos individuos distintos pueden tener reacciones distintas a un mismo evento y como un mismo individuo puede mostrar distintas reacciones a un mismo evento. Además, en la segunda fase, el individuo puede adaptar su respuesta emocional a un evento concreto. Las emociones también están relacionadas con la memoria [3]. Existe evidencia de que las personas recuerdan mejor los fenómenos que han sido emocionalmente significativos. La memoria también afecta a las emociones, de forma que un evento que en el pasado generó una emoción, condiciona la emoción producida cuando se repite de nuevo el evento. En la relación de la emoción y la memoria dos procesos importantes se pueden destacar: en primer lugar el proceso a cargo de determinar qué recuerdos van a almacenarse y de qué forma. En segundo lugar, el proceso que determina cómo estos recuerdos evolucionan con el tiempo ya que las emociones inicialmente tienen un impacto fuerte en los individuos, que con el tiempo, va disminuyendo. La generación de comportamiento reactivo generalmente se realiza principalmente empleando las experiencias pasadas y la memoria emocional. Lo mismo ocurre con la toma de decisiones, que también se lleva a cabo mediante la evaluación de las expectativas [65]. La mayoría de las investigaciones en psicología afectiva giran sobre tres conceptos afectivos: las emociones, los estados de ánimo y la personalidad. Generalmente se acepta que las emociones son reacciones a determinados estímulos [43], se dividen en dos tipos: las emociones primarias que tienen una relación directa con capacidades expresivas como expresiones faciales, posturas corporales o inflexión de voz, y las emociones secundarias que surgen como el resultado de un razonamiento acerca de los acontecimientos actuales teniendo en cuenta las expectativas y experiencias pasadas. Para poder representar estas emociones los modelos deben evaluar todas las posibles situaciones en las que el individuo se pueda encontrar y también deben proporcionar una estructura para las variables que influyen en la intensidad de las emociones. El modelo más empleado para la representación de las emociones es OCC [43], que clasifica las emociones en veintidós categorías basadas en reacciones a distintas situaciones [8]. OCC es un modelo estándar para la síntesis de emociones donde los aspectos cuantitativos de las emociones se describen mediante tres términos: la potencia, el umbral y la intensidad. 19 Capítulo 2. Conceptos previos Por ejemplo, para la intensidad existen veinticinco variables distintas. Para cada emoción existen una serie de variables de intensidad que le afectan. Las variables de intensidad están divididas en locales y globales. Las locales solo afectan a ciertas emociones, mientras que las globales afectan a todas las emociones. Solo cuatro variables están identificadas como variables globales: el sentido de la realidad, la proximidad psicológica, lo inesperado, y la activación fisiológica [64]. Un ejemplo del uso práctico de OCC es el proyecto ALMA [24]. En ALMA se desarrollan personajes virtuales interactivos que simulen el comportamiento humano. Estos personajes interactivos tienen un perfil de personalidad y muestran las emociones y los estados de ánimo en tiempo real. En la representación de las emociones es fundamental mostrar los distintos estados de ánimo. El estado de ánimo es la disposición que muestra un individuo en un momento determinado [66]. Los estados de ánimo son diferentes de las emociones o los sentimientos en cuanto a que son menos específicos, menos intensos y tienen menos probabilidades de ser desencadenados por un estímulo o evento en particular. Además los estados de ánimo son menos volátiles que las emociones, es decir varían menos con el tiempo y tienen una duración mayor [9]. Los estados de ánimo típicamente tienen un valor positivo, negativo o neutro [29], es lo que comúnmente se conoce como buen o mal humor. El estado de ánimo suele sufrir oscilaciones en el tiempo como respuesta a eventos positivos o negativos. El estado de ánimo es un estado interno que depende de cada individuo. Cuando un estado de ánimo se prolonga en el tiempo se denomina estado de equilibrio, humor dominante o estado fundamental de ánimo. Este estado es al que tiende el sujeto cuando no tiene estímulos externos que puedan alterarlo. Este estado de equilibrio depende de los rasgos de la personalidad, es decir la personalidad predispone a ciertos estados de ánimo. Por ejemplo, un sujeto con una personalidad nerviosa puede tener como estado de equilibrio un estado con un nivel alto de exaltación, activación y nerviosismo. Los estados de ánimo, como se ha mencionado anteriormente, son más duraderos que las emociones y no tienen por que estar relacionados directamente con un único estímulo. Las condiciones en las que se modifica el estado de ánimo son: la aparición de un evento ligeramente positivo o negativo, el desplazamiento de un evento inductor de una emoción, el recuerdo de una experiencia emocional y la inhibición de la respuesta emocional en presencia de un evento emocional inductor [41]. Existen diferentes interpretaciones a la hora de modelar los estados de ánimo. Uno de los modelos más usados para modelar los estados de ánimo, sobre todo en investigación en computación emocional, es PAD (Pleasure, Arou20 3.3. La personalidad y los procesos cognitivos toma de decisiones [14]. Por ejemplo, una persona podría ser introvertida, intuitiva, racional y perceptiva. Como podemos apreciar, la diferencia con el enfoque de rasgos, reside en que las personas son clasificadas mediante tipos fijos sin tener un porcentaje, si una persona es introvertida significa que no es extravertida. 3.3 La personalidad y los procesos cognitivos La cognición debemos entenderla como el conocimiento alcanzado mediante el ejercicio de las facultades mentales [53]. En psicología se habla de distintos procesos cognitivos que tienen una influencia en el propio ser de la persona. Entre estos procesos se encuentra el razonamiento, la memoria, la atención, la toma de decisiones, la capacidad para resolver problemas o la percepción entre otros. También existe una relación fuerte entre las emociones y las capacidades cognitivas, de forma que las emociones son capaces de deformar estos procesos y producir resultados distintos en función del tipo de emoción, uno de los procesos más afectados por las emociones es la memoria [21,39]. De hecho, la evidencia empírica sugiere un impacto crítico de la emoción sobre la cognición y una alta variabilidad de estos efectos entre individuos con diferentes rasgos de personalidad. La personalidad es importante tanto para la función cognitiva como para el deterioro cognitivo. Por ejemplo, personas que tienen un nivel alto de apertura y un nivel bajo de neuroticismo tienen una mayor capacidad a la hora de realizar distintas pruebas cognitivas. Así mismo, las personas extravertidas tienden a superar a las personas introvertidas en las tareas basadas en la reacción, mientras que las personas introvertidas tienden a superar a las personas extrovertidas en las tareas de procesamiento y razonamiento [6]. 3.4 La influencia de la personalidad en las emociones y el estado de ánimo La personalidad juega un factor muy importante en las emociones, de hecho la personalidad puede hacer que la persona sea más o menos propensa a experimentar cierto tipo de emociones [80]. Por ejemplo, el rasgo de extraversión predispone a experimentar un afecto más positivo de forma más frecuente y con mayor intensidad, con escalas que evalúan la alegría, el entusiasmo, la emoción y la energía y también se relaciona con la audacia y la confianza [72]. Por el contrario, el neuroticismo predispone a un afecto ne27 Capítulo 3. La personalidad gativo así como a padecer los estados emocionales negativos como el temor, la ansiedad, la tristeza, la culpabilidad, la depresión, la insatisfacción o la ira entre otros [19,28]. La personalidad tiene una interacción con el estado de ánimo de forma que hace que la influencia de las emociones sea útil para algunas personas y perjudicial para otras. Por ejemplo, las personas difieren en la medida en que utilizan o ponderan sus emociones al hacer juicios y decisiones [80]. Los estados de ánimo y las emociones influyen en los procesos cognitivos, por ejemplo, los estados de ánimo negativos producen un sesgo en los juicios de la personas en una dirección negativa aumentando así la percepción del riesgo. 3.5 La relación de la personalidad y la memoria Los distintos rasgos de la personalidad también influyen en el aprendizaje y la memoria [45]. La importancia de nuestras experiencias emocionales, el valor que le otorgamos a los recuerdos y la forma en la que los recordamos están influenciadas por las características únicas que nos definen como individuos [32], y entre estas características destacamos en este trabajo la importancia de la personalidad. La personalidad tiene una relevancia especial en la memoria emocional, que es la memoria que se relaciona con eventos emocionalmente relevantes para el individuo. Como mencionamos anteriormente, la personalidad influye en el tipo de emociones que manifestamos en función de un determinado estímulo, por tanto, la memoria emocional se ve afectada por los distintos rasgos de la personalidad [16]. Diversos trabajos abalan esta afirmación por ejemplo, en [6,34] se concluye que los sujetos con un nivel alto de apertura y un nivel bajo de neuroticismo tenían una mejor memoria tanto a corto como a largo plazo y también manifestaban un bajo nivel de deterioro de la misma. Además, las personas con niveles altos de extraversión almacenan mejor los recuerdos que tiene que ver con estímulos positivos y mantienen durante más tiempo un estado de ánimo positivo tras rememorar un recuerdo positivo, mientras que las personas con un nivel alto de neuroticismo tienden a almacenar recuerdos negativos [31]. 28 3.6. El efecto de la personalidad en las decisiones 3.6 El efecto de la personalidad en las decisiones Como hemos visto anteriormente, la personalidad tiene una fuerte influencia en los procesos cognitivos y en las emociones, donde están asentados entre otros los procesos de toma de decisiones. De hecho, la personalidad puede influir tanto en el tipo como en la forma de las emociones. Por lo tanto, va a jugar un papel importante a la hora de determinar las emociones que afectarán a los procesos cognitivos entre los que se encuentra el proceso de toma de decisiones [13]. Pero, también se ha demostrado la existencia de una influencia directa de determinados rasgos de la personalidad en el proceso de toma de decisiones. Por ejemplo, en estados afectivos relativamente leves, las personas con alto nivel de extraversión tienden a juzgar las situaciones de manera más positiva, en comparación con las personas con niveles bajos de este rasgo [80]. También se observa que los estados de ánimo negativos pueden acelerar las decisiones, pero sólo entre las personas con niveles de neuroticismo elevados. Una vez más, los rasgos que parecen tener una mayor relevancia en la toma de decisiones también son el neuroticismo y la extraversión. Estos dos rasgos permiten predecir la medida en que una mayor probabilidad e intensidad de las emociones positivas o negativas y el del estado afectivo influirán en la decisión. Por lo tanto, se deduce que la personalidad contribuirá a tomar decisiones buenas o malas cuando las emociones positivas o negativas, interpretaciones y juicios formen la base de estas decisiones [52]. Mediante la personalidad se pueden realizar predicciones en los procesos de decisión debido a la tendencia que genera en los procesos emocionales. Esta característica está siendo explotada en los sistemas de recomendación puesto que, al emplear la personalidad, se producen mejoras significativas en la satisfacción de los usuarios en relación a las recomendaciones que aporta el sistema, así como se eliminan los problemas de usuarios nuevos o de falta de conocimiento [22,68]. 3.7 La personalidad en el proceso de evaluación Como vimos en la sección 2.3, una de las teorías más aceptadas en psicología es la teoría de la evaluación (“appraisal”) [57,61,63]. Esta teoría sostiene que las emociones son provocadas por evaluaciones que se realizan sobre eventos y situaciones. La personalidad tiene una influencia muy alta en los procesos que tienen en cuenta las emociones. La evaluación no es una excepción, las 29 Capítulo 3. La personalidad relaciones que se producen en los procesos de evaluación varían en función de los rasgos de personalidad. Por ejemplo, las personas que tienen un nivel alto de neuroticismo tienden a realizar procesos de evaluación más negativos (mostrando emociones negativas como la ira, la tristeza el miedo o la culpa) que las personas con bajos niveles en este rasgo [69]. 3.8 La personalidad en sistemas multiagente De los modelos propuestos para definir la personalidad, el más empleado en computación afectiva es el modelo de los Cinco Grandes, puesto que proporciona un espacio multidimensional cuantificable que resulta muy útil a la hora de trabajar con modelos computacionales. Existen diversos trabajos que emplean la personalidad en tecnologías de agente, pero ninguno proporciona un modelo genérico que permita amoldarse a las distintas teorías. Por ejemplo, en [60] se propone un modelo de sistema multiagente, que emplea la personalidad para simular un grupo de personas en una tarea de negociación. Para ello, cada agente está programado en función de la personalidad del usuario, obtenida mediante la realización de un test de personalidad. La personalidad fue modelada empleando el modelo de los Cinco Grandes y agrupándola en distintos perfiles: negociador, agresivo, sumiso y evitador. A cada faceta le asociaron un comportamiento distinto. De esta forma, los estilos de gestión de conflictos y de toma de decisiones se diferenciaban en función de la personalidad. Los resultados obtenidos en esta investigación obtienen como conclusión que algunos grupos de agentes afectivos alcanza un acuerdo más rápido que los grupos de agentes sin características específicas. Por ejemplo, si cada agente clasifica sus soluciones en tres categorías (preferidas, aceptables e inaceptables), se puede observar que los agentes agresivos consiguen un mayor número de soluciones categorizadas como preferidas que los agentes negociadores. Sin embargo, los agentes negociadores logran soluciones más preferidas y aceptables que los agentes agresivos, es decir, los agentes negociadores producen menos soluciones inaceptables. Otro ejemplo de uso de la personalidad en agentes sería el propuesto en ALMA [24], donde proponen un modelo de agente virtual. Emplean distintos perfiles de personalidad para evaluar los diferentes comportamientos de los usuarios al interactuar con el sistema. Además, se emplean una combinación de distintas variables de la personalidad Big-Five para calcular el estado de ánimo equivalente en el modelo PAD: Placer = 0,21 ∗E+ 0,59 ∗A+ 0,19 ∗N 30 3.8. La personalidad en sistemas multiagente Excitacion = 0,15 ∗AE + 0,30 ∗A−0,57 ∗N Dominacion = 0,25 ∗AE + 0,17 ∗R+ 0,60 ∗E−0,32 ∗A donde E representa la variable Extroversión, A representa la Amabilidad, N el Neuroticismo, R la Responsabilidad y AE es la Apertura a la Experiencia. De esta forma calculan el estado de equilibrio en base a la personalidad del personaje virtual. Para realizar las oscilaciones en los estados de ánimo se emplean las emociones, de forma que cuando se produce un nuevo estímulo que genera una emoción se evalúa el nuevo estado de ánimo. Para poder realizar este proceso de evaluación han creado una relación directa entre las emociones y el espacio PAD. A cada emoción se le ha asignado tres valores correspondientes a las tres variables del espacio PAD. Cuando llega una nueva emoción el estado de ánimo actual se genera en base al estado de ánimo anterior modificándolo con los valores asignados a esa emoción. De esta forma se impiden los cambios bruscos entre los distintos estados de ánimo y también esto permite distinguir la varianza del estado de ánimo en función del tipo de emoción. Por ultimo, en [5] emplean la arquitectura para agentes afectivos OA3 [1] para modelar distintos agentes con distintas categorías afectivas. Para ello definen distintos perfiles de personalidad: sociable, mediador, negociador y realista. Estos perfiles los comparan mediante el uso de juegos clasicos de teoría de juegos, como son el dilema del prisionero y el Trust Game. Para la representación de la personalidad emplean el modelo de los Cinco Grandes. Una de las conclusiones que obtienen en este trabajo es que la personalidad es uno de los factores que mejor explica las diferencias entre los agentes y la variabilidad que se produce durante las simulaciones. Lo cual es coherente y acorde con diferentes teorías de la personalidad como hemos visto anteriormente. 31 Capítulo 3. La personalidad 32 Capítulo 4 Modelo de personalidad para la arquitectura GenIA3 En este capítulo vamos a desarrollar una propuesta de personalidad para la arquitectura GenIA3. Comenzaremos con una pequeña introducción para, posteriormente, hacer un resumen de la arquitectura GenIA3con especial énfasis en los aspectos más relevantes para nuestra propuesta. Por último, explicaremos nuestra propuesta que consistirá en la extensión de la sintaxis de GenIA3analizando los diferentes aspectos que se van a modificar dentro de la arquitectura para ampliar su versatilidad permitiendo el uso genérico de distintas teorías de personalidad. 4.1 Introducción Como vimos en la sección 3, la personalidad es un factor que afecta a los procesos cognitivos que alteran la forman en la que tomamos las decisiones. La personalidad también tiene que ver con el tipo de emociones y los estados de ánimo que pueden experimentarse. Por tanto, si queremos simular el comportamiento humano mediante agentes es necesario emplear la personalidad, puesto que permitirá mostrar comportamientos diferentes en distintos agentes. Existen dos enfoques principales donde se sustentan los distintos modelos para la representación de la personalidad: el enfoque de tipo y el enfoque de rasgos. También vimos que existen diferentes modelos para la representación de la personalidad y que uno de los modelos más empleados es el modelo de los Cinco Grandes. En la actualidad, existen diferentes propuestas de sistemas multiagente que introducen la personalidad en los procesos de toma de decisiones. Sin 33 Capítulo 4. Modelo de personalidad para la arquitectura GenIA3 embargo, la mayoría de estas propuestas desarrollan un modelo para un dominio específico que no resulta muy útil a la hora de desarrollar otros tipos de dominios o teorías. Nosotros vamos a proponer un modelo genérico que permita adaptarse a cualquier teoría de la personalidad de una forma sencilla siguiendo con la filosofía de las plataformas multiagente. Para ello, vamos a emplear la arquitectura GenIA3para agentes afectivos, que desarrolla un modelo genérico de agente afectivo y realizaremos una extensión de esta arquitectura, permitiendo así que se adapte a cualquier tipo de teoría de la personalidad, tanto si es de tipos como de rasgos. Para estos últimos vamos a implementar el uso de distintos perfiles o facetas, como hacen por ejemplo en [60], que van a permitir subdividir a los sujetos en grupos para estudiar los distintos comportamientos. Vamos a realizar una ampliación de la sintaxis del sistema multiagente propuesto en GenIA3, que, como veremos en la sección 4.3, permitirá el uso de diferentes teorías de personalidad. Además, realizaremos una implementación de la propuesta empleando la extensión de Jason para agentes afectivos de la arquitectura GenIA3. De esta forma, ampliaremos la implementación de GenIA3ofreciendo una plataforma que permitirá evaluar diferentes teorías de la personalidad de una forma sencilla, siguiendo con la filosofía de las plataformas para sistemas multiagente. 4.2 GenIA3una arquitectura para agentes BDI afectivos GenIA3[4] es una arquitectura de propósito general para agentes BDI. Para poder llevar a cabo la implementación de agentes afectivos en Jason empleando la arquitectura GenIA3se propone la formalización descrita a continuación. En la formalización de GenIA3se propone modificar la semántica operacional de AgentSpeak [49] y la sintaxis de Jason para permitir el desarrollo de agentes BDI dotados de características y comportamientos afectivos. Las teorías psicológicas y neurológicas se han centrado tradicionalmente en la descripción de varias características y procesos relacionados con la emoción y con la personalidad. Los procesos relacionados con la emoción generalmente se estudian desde una perspectiva cognitiva y se pueden agrupar en la generación de la emoción, la experiencia de la emoción y los efectos que produce la emoción. La arquitectura GenIA3incluye los procesos centrales en estos tres grupos, así como los procesos de una arquitectura tradicional de agente 34 4.2. GenIA3una arquitectura para agentes BDI afectivos Figura 4.1: Estructura de la arquitectura GenIA3[4]. BDI teniendo en consideración los rasgos de personalidad que pueden influir en los procesos de razonamiento del agente. La arquitectura GenIA3está basada en la modalidad de emoción cognitiva y divide el ciclo afectivo en los siguientes cinco procesos [2]: •Evaluación: Es el proceso mediante el cual se derivan un conjunto de variables de evaluación como resultado de una transformación de la situación actual del agente, sus preocupaciones, y su estado cognitivo. •Generador afectivo: En este proceso las variables de evaluación, obtenidas en el proceso anterior se transforman en una representación del estado afectivo del agente. •Estrategias de afrontamiento: Este proceso atiende a la necesidad de dar una respuesta emocional, determinando cuales serán los comportamientos emocionales y las respuestas de afrontamiento. Por ejemplo, los gestos o expresiones faciales. •Modulación afectiva de las creencias: Determina cómo el estado afectivo debe modificar las creencias del agente. Por ejemplo, si el agente se encuentra en un estado afectivo negativo, tendrá la tendencia a confiar menos en sus creencias. 35 Capítulo 4. Modelo de personalidad para la arquitectura GenIA3 •Dinámica temporal del estado afectivo: Este proceso es independiente del resto, y determina cómo varía la intensidad del estado afectivo en el tiempo. Cuando un ser humano recibe un estimulo negativo, por ejemplo suspender una asignatura, inicialmente el impacto sobre su estado afectivo es mayor. Conforme el tiempo va pasando este impacto disminuye y en ocasiones desaparece. Mediante este procedimiento se pretende simular esta cualidad humana. Estos procesos se ejecutan en paralelo junto con los procesos propios de un agente BDI. Como puede verse en la Figura 4.1, la secuencia de los procesos afectivos es independiente de la secuencia de los procesos de BDI permitiendo que se puedan ejecutar en hilos independientes, pudiéndose escoger el nivel de racionalidad o emoción de cada agente modificando la frecuencia de los ciclos. Por ejemplo, se podrían tener diez ciclos emocionales por cada ciclo racional, de esta forma las emociones tomarían mayor peso en la toma de decisiones obteniéndose un agente más emotivo que racional. De la misma forma el proceso “Dinámica temporal del estado afectivo” también puede ejecutarse de forma independiente a los otros. El ciclo afectivo propuesto en la arquitectura GenIA3tiene la siguiente secuencia de ejecución: cuando se genera un evento (interno o externo) se evalúa en el proceso de evaluación. Este proceso tiene en cuenta la información cognitiva del agente como por ejemplo, la personalidad, las preocupaciones o las creencias. El resultado de este proceso se emplea por el generador afectivo para modificar el estado afectivo del agente. En función de ese estado afectivo el regulador del afecto se encarga de seleccionar las estrategias de afrontamiento necesarias, así como de tomar las acciones pertinentes para modificar el estado afectivo a un estado deseado pudiendo modificar para ello las creencias del agente. Esta modificación de las creencias es llevada a cabo por el proceso de modulación afectiva de las creencias, que también puede ser activado por la función de revisión de creencias (brf ). De este modo se puede determinar la forma en la que el estado actual influye en el contenido y en el peso de las creencias. La función de modulación afectiva de las creencias tiene acceso a la base de creencias y puede modificarla para añadir o eliminar creencias. Esta función también puede reactivar el proceso de evaluación. Para poder modelar el estado afectivo, GenIA3introduce también nuevos parámetros en el agente además de los de la arquitectura BDI. Estos parámetros son: las preocupaciones, la personalidad, el estado afectivo y eventos relevantes para el cálculo del estado afectivo. La gramática EBNF propues36 4.3. Definiendo el modelo de personalidad en GenIA3 de forma que afecte al proceso de selección afectivo, introduciendo así los planes que contengan un perfil de personalidad. De esta forma permitiremos que distintos perfiles puedan realizar distintos planes seleccionados por el usuario. Por tanto, podrán realizarse estudios de comportamiento en función de los perfiles de personalidad. Como mencionamos en la sección 2.3, la teoría de la evaluación sostiene que las emociones se generan mediante un proceso que tiene en cuenta las diferencias existentes en los individuos lo que conlleva, que distintos individuos van a desarrollar distintas emociones. El diseño por defecto de GenIA3 cuenta con un proceso de evaluación en el que se seleccionan las emociones y además se actualiza el estado de ánimo. Actualmente, la plataforma cuenta con seis emociones diferentes: sorpresa, esperanza, alegría, miedo, tristeza e ira, que pueden ser fácilmente ampliables por el usuario en caso de necesidad. Sin embargo, de la forma en que se ha planteado este diseño por defecto, las emociones no cuentan con intensidad, por lo que hemos modificado también las emociones. Aun así la intensidad de las emociones no se tiene en cuenta en el modelo por defecto y por tanto se ha tenido que realizar la modificación en el estado de ánimo. Para tomar esta decisión de diseño hemos tenido en cuenta lo siguiente: si modificamos las emociones siguiendo las teorías actuales, necesitamos una intensidad que permita eliminar ciertas emociones en función de la personalidad y de la intensidad de la emoción. Por ejemplo, un individuo con un neuroticismo alto podría eliminar la esperanza si la intensidad de la emoción no supera cierto umbral [60]. Sin embargo, al no tener intensidad, la alternativa sería eliminar por completo la emoción esperanza de los agentes con alto nivel de neuroticismo lo cual no es del todo correcto. Por tanto, hemos decidido ir directamente a determinar cómo la personalidad afectará, en función de las emociones, al estado de ánimo, y hemos preparado la plataforma para emplear la personalidad junto con las emociones con intensidad si en el futuro se incorpora. El diseño por defecto de GenIA3está basado en el que se realiza en ALMA [24]. Cuenta con un método de actualización del estado de ánimo empleando el PAD. Las emociones tienen unos valores asignados que permiten calcular el nuevo PAD en función de una serie de valores. Cuando se ha realizado la selección de emociones en el proceso de evaluación, se genera un nuevo PAD a partir de esas emociones. Pero este nuevo estado de ánimo no reemplaza el estado de ánimo actual del agente si no que lo modifica. Como se usa un espacio tridimensional donde cada dimensión se corresponde con un componente del PAD, se divide el espacio en ocho octantes. En función del octante donde está el estado de ánimo actual y el octante donde 43 Capítulo 4. Modelo de personalidad para la arquitectura GenIA3 se encuentra el estado de ánimo producido por las emociones, se produce un desplazamiento en el estado de ánimo actual. Este desplazamiento simula una atracción o repulsión entre ambos estados de ánimo, de forma que si cae en el mismo octante el estado de ánimo actual será empujado por el estado de ánimo calculado, y si están en octantes distintos el estado de ánimo actual será atraído por el calculado. Esto trata de simular el comportamiento humano, teniendo en cuenta que si estamos en un estado de ánimo positivo y nos llegan emociones positivas, el estado de ánimo crece positivamente (esto es lo que entendemos por repulsión), mientras que si las emociones que llegan son negativas el estado de ánimo tiende al negativo pero no quiere decir que lo sea (esto es lo que entendemos por atracción). Sin embargo, el modelo empleado no tiene en cuenta la personalidad cuando actualiza el estado de ánimo, simplemente se emplea para el cálculo del estado de equilibrio, que es el estado al que tenderá el agente en ausencia de emociones. Pero, como hemos visto, la personalidad afecta al estado de ánimo teniendo en cuenta que las personas que tienen mayores niveles de extraversión tienden a estados de ánimo más positivos que las personas con altos niveles de neuroticismo.gae [26]. Proponemos a modificar la forma en la que se realiza la atracción o la repulsión. Actualmente GenIA3añade un desplazamiento adicional fijo que determina la forma en la que se va a desplazar el estado de ánimo. Nosotros proponemos modificar ese valor fijo, de forma que se calculará teniendo en cuenta el neuroticismo y la extraversión de la siguiente forma: personalityDisplacement =      pe npe ∗e−ne nne ∗n      (4.2) donde pe es el número de emociones positivas activas, es decir, las emociones que han sido calculadas en la fase de evaluación y que están presentes en el agente en el momento actual y van a afectar a su estado de ánimo. Del mismo modo ne es el número de emociones activas negativas, npe ynne representan el número total de emociones positivas y negativas respectivamente. Por último eynson el nivel de extraversión y neuroticismo. Esta ecuación está acotada entre cero y uno2, permitiendo que el desplazamiento que se va a realizar, tanto si es para expulsar o atraer, se vea afectado por la personalidad. Por ejemplo, si el número de emociones positivas es cero y el de negativas es mayor que cero y la persona tiene un alto grado de neutoricismo, el desplazamiento que realizará el estado de ánimo será hacia un octante negativo y será mayor que si tiene un grado de neuroticismo bajo. 2Esta función esta acotada entre cero y uno teniendo en cuenta que los rasgos de la personalidad también están acotados entre cero y uno. 44 4.3. Definiendo el modelo de personalidad en GenIA3 Vamos a ampliar el modelo por defecto que ofrece GenIA3actualmente. Además de añadir los perfiles de personalidad, vamos a ampliar la capacidad de gestión de las emociones creando las clases y los métodos necesarios para facilitar al usuario interesado en utilizar diferentes teorías de personalidad lo pueda hacer de forma sencilla. También implementaremos los métodos que se relacionan con los procesos cognitivos del agente, modificando tanto la toma de decisiones como la forma en la que se actualiza el estado de ánimo teniendo en cuenta la personalidad. De esta forma enriqueceremos la arquitectura y el modelo por defecto permitiendo una mayor funcionalidad. 45 Capítulo 4. Modelo de personalidad para la arquitectura GenIA3 46 Capítulo 5 Incorporando la personalidad a la plataforma GenIA3 En este capítulos vamos a hablar sobre el desarrollo de la propuesta en GenIA3. Veremos que cambios se han realizado en el actual desarrollo de la arquitectura GenIA3tanto para permitir el uso genérico de la personalidad, como para implementar un diseño por defecto empleando el modelo de personalidad de los Cinco Grandes y el modelo PAD para el estado de ánimo. 5.1 Introducción Como hemos mencionado a lo largo de este trabajo, vamos a realizar una implementación de la extensión propuesta para la arquitectura GenIA3. El objetivo es ofrecer una plataforma de sistemas multiagente que se pueda adaptar a cualquier teoría de la personalidad. Para ello, va a ser necesario añadir la nueva sintaxis al analizador sintáctico de GenIA3, y modificar la semántica para que se genere el código de forma automática al compilar el sistema multiagente. Vamos a ofrecer una interfaz genérica para la personalidad, así como para los distintos perfiles de la personalidad, de forma que el usuario solo tenga que implementar esta interfaz para poder desarrollar su modelo. Crearemos un modelo por defecto basado en la teoría de los Cinco Grandes, realizando las modificaciones necesarias para que la personalidad afecte en los distintos procesos cognitivos (en este caso la selección de las intenciones) y a los procesos de toma de decisiones del agente. De la misma forma, crearemos una anotación para los planes de forma que se puedan definir di47 Capítulo 5. Incorporando la personalidad a la plataforma GenIA3 ferentes planes en función del perfil de personalidad, permitiendo así que distintos perfiles de personalidad realicen distintas acciones. 5.2 Extensión del lenguaje de GenIA3 5.2.1 Especificación del sistema multiagente Como mencionamos en la sección 2.2, Jason es un intérprete de AgentSpeak realizado en el lenguaje de programación Java que lee los ficheros del sistema multiagente y de los agentes, empleando dos analizadores sintácticos que implementan el lenguaje Jason: uno para el sistema multiagente y otro para los agentes. El código del sistema multiagente emplea un fichero con la extensión “.mas2j” y los ficheros de agente emplean la extensión “.asl”. Estos analizadores están desarrollados en javacc que es una herramienta que permite generar analizadores sintácticos especificando la gramática EBNF mediante funciones. Una vez definida la sintaxis javacc genera automáticamente el código java asociado al fichero analizado. Antes de centrarnos en las modificaciones realizadas en el analizador sintáctico veremos un ejemplo de la definición de distintos perfiles de la personalidad: 0personality_profiles: 1perfil_1 ( <0.0 ,0.5 > , <0.0 ,0.5 > , <0.0 ,0.5 > , <0.0 ,0.5 > , <0.0 ,0.5 >) , 2perfil_2 ( <0.5 ,1.0 > , <0.5 ,1.0 > , <0.5 ,1.0 > , <0.5 ,1.0 > , <0.5 ,1.0 >) ; Como podemos ver, se emplea un símbolo especial denominado personality_profiles como se especifica en la extensión propuesta (ver sección 4.3). Después se añaden los perfiles deseados, acompañados de los rangos o los valores de personalidad que van a caracterizar cada perfil, separados por comas. En este ejemplo estamos empleando cinco rasgos que se corresponden con una teoría de cinco dimensiones, como por ejemplo la de los Cinco Grandes. El usuario deberá introducir en el código del agente la personalidad de dicho agente. En el caso de teorías de tipos proponemos el siguiente uso: 0personality_profiles: 1tipo_1, 2tipo_2; En este caso también habrá que introducir cambios en el fichero de compilación de los agentes como veremos más adelante en la sección 5.2.2. Ahora nos centraremos solo en el sistema multiagente. Hemos permitido el uso de los 48 5.2. Extensión del lenguaje de GenIA3 tipos en el sistema a modo de validación de los ficheros de agente. Es decir, el usuario introducirá los tipos que va a permitir en su sistema multiagente e implementará sus agentes con algunos de esos tipos. El sistema validará si los tipos introducidos en los agentes son correctos basándose en esos tipos permitidos. Para introducir la extensión de la gramática EBNF que hemos propuesto, ha sido necesario modificar la sintaxis de GenIA3correspondiente al sistema multiagente. Hemos añadido un nuevo símbolo denominado personality_profiles y creado las distintas funciones representando cada uno de los no terminales de la gramática propuesta. Vamos a ver una de esas funciones con el fin de aclarar la forma de trabajo empleada y facilitar futuras modificaciones y/o ampliaciones: 505 void personality_profiles() : { Token ac; } 506 { 507 [ <PERSONALITY_PROFILES > 508 ":" 509 ( personality_profile())(","personality_profile())* 510 ";" 511 ] 512 } Esta función representa la primera regla de la gramática: personality_profiles →“personality_profiles:” personality_profile (“,”personality_profile)*“;” Como podemos ver, para crear una regla dentro de Javacc hay que crear una función para cada no terminal. Las funciones pueden tener un valor de retorno, en este caso void. Después se introduce el nombre de la función con los parámetros que necesita (en este caso no requiere de ninguno) seguido de dos puntos. En la primera linea dentro de las llaves se definen las variables que se van a emplear dentro de la función, en este caso un Token. Seguidamente, se introduce el código de la función. En este caso, lo primero que necesitamos es introducir el símbolo reservado personality_profiles que se corresponde con <PERSONALITY_PROFILES>. Luego añadimos los dos puntos entre comillas para indicar que se espera ese carácter, al igual que ocurre con el símbolo de la coma y el de los dos puntos. El resto de la función es autodescriptiva puesto que se corresponde con la gramática EBNF de las Figuras 4.3 y 4.4. En este caso, esta función no necesita ningún tipo de código en Java. Para introducir acciones Java se debe poner entre llaves en cualquier línea empleando la sintaxis de Java. 49 Capítulo 5. Incorporando la personalidad a la plataforma GenIA3 Para que el compilador sea capaz de generar el código es necesario asociar distintas clases y funciones que generen la estructura proporcionada por la sintaxis. Para esta propuesta hemos tenido que realizar las siguientes aportaciones al código de GenIA3: •Clase PersonalityProfiles: Hemos creado esta clase para recoger los diferentes perfiles de personalidad. Esta clase tiene un mapa, donde la clave es la cadena de caracteres que representa el perfil y el valor es una lista de rangos. Esta clase implementa todos los métodos necesarios para la gestión de los perfiles de personalidad, como añadir los rasgos, obtener un perfil determinado o determinar los perfiles de personalidad en los que se encuentra un agente en función de sus rasgos o tipos determinados. •Clase MAS2JParser: Esta es la clase encargada de generar el código Java del sistema multiagente a partir de la especificación del usuario en código AgentSpeak. Hemos realizado las modificaciones necesarias para que esta clase sea capaz de adoptar los perfiles de la personalidad, creando un atributo de tipo PersonalityProfiles, con sus correspondientes funciones que permiten realizar las modificaciones en tiempo de ejecución del compilador. •Clase RUNCentralizedMAS: Es la clase encargada de la gestión del sistema multiagente centralizado y en ella se añaden los perfiles de la personalidad obtenidos durante la fase de compilación al código de cada agente. •Clase MAS2JProyect: Esta clase es la que va a inicializar las variables del sistema multiagente, y en ella es donde hay que situar la inicialización de nuestros perfiles de personalidad y los métodos get yset necesarios para que el compilador pueda recoger y almacenar los perfiles de personalidad que ha introducido el usuario en su sistema multiagente. 5.2.2 Definición de la personalidad en el agente Como mencionamos anteriormente, GenIA3tiene dos tipos de ficheros de configuración, el fichero del sistema multiagente, y el del propio agente. En este trabajo hemos decidido ampliar la gramática del agente para permitir el uso de teorías basadas en tipos de una forma sencilla, de modo que la sintaxis no limite su uso. Nuestra propuesta para introducir los tipos en el agente es la siguiente: 50 5.3. Modificaciones en los procesos cognitivos de los agentes personality__:(tipo1,tipo2, ..., tipon) Para poder realizar esta codificación ha sido necesario extender la gramática GenIA3como puede verse en la Figura 4.4. Por tanto, ha sido necesario modificar el fichero de especificación de la gramática de agentes AS2JavaParser.jcc para introducir los nuevos cambios. También ha sido necesario modificar la clase Personality para añadir un nuevo campo, que será una lista de tipos. Por último, hemos añadido un método para comprobar si los tipos descritos en el agente están incluidos en la especificación del sistema multiagente. Gracias a estas modificaciones, estamos extendiendo GenIA3 permitiendo el uso de distintos modelos de personalidad, lo que le permitirá adaptarse a un mayor número de usuarios y aumentará su versatilidad. 5.3 Modificaciones en los procesos cognitivos de los agentes Como mencionamos en la sección 4.3 vamos a introducir los perfiles de personalidad en los agentes, de forma que distintos perfiles produzcan distintos comportamientos. Por tanto, va a ser necesario modificar los procesos cognitivos de los agentes. En Jason modificaremos el proceso de selección de intenciones y en GenIA3realizaremos cambios en el proceso afectivo de la clase EmotionEngine y que se implementa por defecto en la clase DefaultEmotionEngine. Además será necesario ajustar distintos parámetros del sistema multiagente para adecuarlos al uso de los perfiles de personalidad y a las variaciones que van a producirse en los procesos afectivos del agente. De forma genérica ha sido necesario modificar las siguientes clases para permitir el uso de los perfiles de personalidad: •Personality: Es la clase abstracta de la que se debe heredar para implementar nuevas teorías de personalidad. En esta clase ha sido necesario añadir la lista que contendrá los perfiles de personalidad en los que se encuentra el agente, así como los métodos que permitan asignar y obtener esos perfiles. También se ha añadido un método abstracto denominado personalityInfluence(Emotions em) que deberá ser implementado por los usuarios que deseen modificar las emociones empleando la personalidad y el método getMoodDisplacement(Emotions em) que recibe una lista de emociones y devolverá el desplazamiento que deberá realizar el estado de ánimo en función de la personalidad del agente. 51 Capítulo 5. Incorporando la personalidad a la plataforma GenIA3 •OCEANPersonality: Esta clase se corresponde con el diseño por defecto de GenIA3, donde se emplea el modelo de los Cinco Grandes en su representación conocida como OCEAN que viene de Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism (los distintos rasgos del modelo). Por tanto en esta clase es donde se van a seleccionar los perfiles de personalidad del agente, haciendo uso del método propuesto en la clase PersonalityProfiles. Además, en esta clase es donde deberán de implementar los métodos personalityInfluence(Emotions em) ygetMoodDisplacement(Emotions em). 5.3.1 Influencia de la personalidad en la selección de planes Como mencionamos en la sección 4.3, vamos a permitir que en los planes de los agentes se pueda especificar el perfil de personalidad que queremos que tenga, para así tener una mayor predisposición a realizar este plan. Esto no quiere decir que otros perfiles no puedan usar este plan, puesto que dependerá de la selección de planes y del nivel de racionalidad de los agentes. Como vimos, realizaremos dos tipos de selecciones de planes: la selección normal de Jason y la selección afectiva. En esta última es donde va a influir la personalidad. Mediante el uso de una anotación personalityProfiles__(perfil1, perfil2, ..., perfiln), se van a seleccionar planes que coincidan con el perfil de personalidad del agente, y entrarán dentro del proceso de selección, lo cual no garantiza que sean elegidos, puesto que depende del modelo de selección (por defecto se empleará la Fórmula 4.1). De esta forma conseguimos facilitar al usuario la modificación del comportamiento de los agentes en función del perfil de personalidad. También permitirá emplear el modelo de personalidad basado en tipos puesto que los usuarios van a poder introducir en la propia anotación los distintos tipos de personalidad que tiene un mismo agente, y el plan se seleccionará si el agente pertenece a uno de esos tipos. El método encargado de calcular los planes afectivos es calcAffectRanking(List<Option>options), al cual se le pasan las opciones actuales del agente y devuelve una lista ordenada según el orden en el que aparecen las opciones que contienen anotaciones afectivas. Este método lo hemos extendido para que también determine como opciones afectivas aquellas que contienen la anotación personalityProfiles__ en las anotaciones. Además, cuando el plan tenga más de una anotación afectiva, determinar si un plan será o no afectivo dependerá de si cumple todas las condiciones de las anotaciones. En este caso, contamos con dos anotaciones, la que proponemos para la perso52 6.2. Definición del sistema multiagente repartirá inicialmente dos cartas a cada jugador y dos para la banca de las cuales el jugador solo conocerá la puntuación de la primera. Por su parte los jugadores podrán realizar dos1acciones: •Pedir: Un jugador pide a la banca una carta y ésta le responde enviándole una nueva carta y el agente deberá elegir nuevamente si pedir o plantarse. •Plantarse: Un jugador puede plantarse en cualquier momento. Una vez se planta ya no podrá realizar más acciones y la banca jugará su turno. 6.2 Definición del sistema multiagente Una vez visto el funcionamiento del juego pasaremos a ver la definición del sistema multiagente. Como hemos mencionado, tendremos dos tipos de agentes: la banca y los jugadores. También vamos a definir dos perfiles de personalidad perfil uno yperfil dos de la siguiente forma: 27 personality_profiles: 28 perfil_uno (<0.0:1.0>,<0.0:1.0>,<0.0:0.6>,<0.0:1.0>,<0.6:1.0>), 29 perfil_dos (<0.0:1.0>,<0.0:1.0>,<0.6:1.0>,<0.0:1.0>,<0.0:0.6>); Vamos a emplear la plataforma por defecto, por tanto empleamos el modelo de los Cinco Grandes ordenado como OCEAN, por tanto el tercer valor se corresponde con la extraversión y el quinto valor con el neuroticismo. Los agentes con un perfil uno de personalidad van a tener un nivel de neuroticismo alto y un nivel de extraversión bajo y mientras que los agentes con perfil dos de personalidad tendrán un nivel alto de extraversión y bajo de neuroticismo. El resto de valores no se van a se usados por los agentes. Para poder probar nuestra plataforma hemos decido crear sesenta agentes, treinta para cada perfil. Los valores de la personalidad se calculan de forma aleatoria (entre cero y uno) y el sistema determina en que perfil se encuentra cada agente (garantizando que el número de individuos de cada perfil sea treinta). De esta forma vamos a tener agentes con distintos valores de personalidad, por tanto habrán diferencias en el cálculo del estado de ánimo y en la forma en la que las emociones lo alteran. El estado de ánimo, que en la plataforma por defecto emplea el modelo PAD, lo hemos definido empleando la descripción que proponen en ALMA [24]: 1En el juego original del BlackJack pueden realizarse tres acciones, pedir, plantarse o doblar. Nosotros no hemos considerado esta última puesto que no vamos a tener en cuenta las ganancias de los agentes. 59 Capítulo 6. Prueba de la propuesta 32 affcategories : 33 exuberante (<0.01:1.0>,<0.01:1.0>,<0.01:1.0>), 34 dependiente ( <0.01:1.0 > , <0.01:1.0 > , < -1.0:0.0 >) , 35 relajado ( <0.01:1.0 > , < -1.0:0.0 > , <0.01:1.0 >) , 36 docil ( <0.01:1.0 > , < -1.0:0.0 > , < -1.0:0.0 >) , 37 aburrido ( < -1.0:0.0 > , < -1.0:0.0 > , < -1.0:0.0 >) , 38 esquivo ( < -1.0:0.0 > , < -1.0:0.0 > , <0.01:0.1 >) , 39 ansioso ( < -1.0:0.0 > , <0.01:1.0 > , < -1.0:0.0 >) , 40 hostil (<-1.0:0.0>,<0.01:1.0>,<0.01:1.0>); Estas seis categorías las emplearemos, junto con los perfiles de personalidad, para determinar las decisiones. Para facilitar la implementación hemos decidido agrupar las categorías afectivas en dos grupos, en función del valor de la dimensión correspondiente con el placer. En este caso al emplear PAD el placer se corresponde con el primer rango de la categoría afectiva: Un grupo contendrá los estados de ánimo exuberante, dependiente, relajado y dócil, mientras que el otro agrupará los estados aburrido, esquivo, ansioso y hostil. El estado de equilibrio para esta prueba será cero para las tres dimensiones del PAD, de esta forma podemos ver de un modo más claro las diferencias que se producen en el estado de ánimo en función de la personalidad partiendo todos los agentes del mismo estado. 6.3 Definición del agente jugador Los jugadores tendrán dos acciones principales: pedir o plantarse. Hemos dividido estas acciones en ocho planes, uno por cada grupo de estado de ánimo y perfil de personalidad. De esta forma los agentes que estén en un perfil determinado solo van a tener en consideración aquellas acciones propias de ese perfil. Por ejemplo la acción pedir quedaría de la siguiente forma: 1@pstandNb [ affect__ (bored , disdainful ,anxious , hostile ), personalityProfile__(perfil_uno)] 2+! play (MCV ,BCV ,_) 3: currentPlay ( CP) & currentRound ( CR ) & 4gsynchronizer (S) & MCV > 12 & MCV <= 21 5<- 6. print (" STAND with ",MCV ," and bank has ",BCV ," on play ", 7CP ," of round ",CR); 8. send (S,achieve , playerStand ( MCV )); Donde MCV (My Card Value) yBCV (Bank Card Value) representan los puntos del jugador y la banca respectivamente2. Si el jugador tiene más 2BCV representa los puntos de la carta visible de la banca. Cabe recordar que pese a que la banca tiene dos cartas iniciales al igual que el jugador, solo una de ellas es visible. 60 6.4. Análisis de resultados de doce puntos y menos de veintiuno (puesto que con veintiuno gana automáticamente) decidirá plantarse. Pero, como podemos apreciar, el plan tiene dos anotaciones afectivas: affect__(aburrido,esquivo,ansioso,hostil) y personalityProfile__(perfil_uno). Por tanto, no entrará en la lista de planes emocionales a menos que el agente tenga el perfil uno de personalidad (alto de neuroticismo y bajo de extraversión) y se encuentra en cualquiera de los cuatro estados de ánimo: aburrido, esquivo, ansioso u hostil. El Algoritmo 1 muestra, mediante pseudocódigo, la forma en la que los agentes jugadores van a tomar sus decisiones en función de su personalidad, su estado de ánimo y sus puntos actuales. Como puede verse existen ocho alternativas distintas y las hemos modelado como distintas acciones. Además los agentes que tengan un perfil uno de personalidad serán más conservadores basándonos en la asunción de que el neuroticismo aumenta la propensión a padecer estados de ánimo y emociones negativas y que las personas con estados de ánimo negativos tienen una mayor percepción del riesgo [20]. Los jugadores van a sufrir dos tipos de emociones: tristeza y alegría. Cada emoción tendrá un efecto distinto en el estado de ánimo, concretamente la tristeza convertida a PAD [58] va a estar en la posición del espacio tridimensional [-0.63, -0.27, -0.33] y la alegría va a estar en [+0.76, +0.48, +0.35]. El estado de ánimo se va a desplazar hacia esos puntos conforme se vayan generando emociones, la velocidad con la que se aproxime a esos puntos va a depender de la Fórmula 4.2. Además, como vimos en la sección 4.2, el proceso de dinámica temporal del estado afectivo también afectará al estado de ánimo haciendo que tienda hacia el estado de equilibrio. 6.4 Análisis de resultados Realizamos una prueba con los sesenta agentes jugador y un agente banca y obtuvimos una serie de datos los cuales vamos a describir de forma analítica. Pero antes vamos a ver un pequeño resumen del experimento. Definimos sesenta agentes emocionales, que van a tener una personalidad basada en el modelo de Cinco Grandes, y cada dimensión se va a calcular de forma aleatoria asegurando la equidad entre los dos perfiles de personalidad que hemos definido para este ejemplo. Recordemos que tenemos el perfil uno con agentes que tienen un nivel de neuroticismo más alto y un nivel de extraversión más bajo que el perfil dos. Por tanto, hay treinta agentes en cada perfil, que serán clasificados de forma automática por el sistema. Los 61 Capítulo 6. Prueba de la propuesta Algoritmo 1 Pseudocódigo para el proceso de toma de decisiones en los agentes. 1: si perfil de personalidad =Perfil_uno entonces 2: 3: si estado de ánimo ∈{exuberante, dependiente, relajado, dócil} entonces 4: 5: si MCV >14 entonces 6: Plantarse 7: si no 8: Pedir 9: fin si 10: si no 11: 12: si MCV >12 entonces 13: Plantarse 14: si no 15: Pedir 16: fin si 17: fin si 18: si no 19: 20: si estado de ánimo ∈{exuberante, dependiente, relajado, dócil} entonces 21: 22: si MCV >15 entonces 23: Plantarse 24: si no 25: Pedir 26: fin si 27: si no 28: 29: si MCV >13 entonces 30: Plantarse 31: si no 32: Pedir 33: fin si 34: fin si 35: fin si 62 6.4. Análisis de resultados resultados obtenidos con este experimento se resumen en las Figuras 6.1, 6.2 y 6.3. En las dos primeras, se muestran las rondas ganadas y perdidas y el estado de ánimo antes de empezar cada ronda3y permiten analizar el comportamiento de cada dimensión del estado de ánimo por separado. Mientras que en la Figura 6.3 se observan las diferencias en las decisiones tomadas por los agentes. (a) Placer. (b) Excitación. (c) Dominio. Figura 6.1: Comparativa de la evolución de las tres dimensiones del estado de ánimo en las personalidades perfil_1 y perfil_2. Cuando analizamos la evolución que ha tenido el estado de ánimo en las distintas dimensiones (Figura 6.1) podemos apreciar que los jugadores con 3El estado de equilibrio en este ejemplo es el [0.0,0.0,0.0] para que todos los agentes partan del mismo estado y se puedan apreciar mejor las diferencias. 63 Capítulo 6. Prueba de la propuesta niveles bajos de extraversión y altos de neuroticismo, que se corresponden con el perfil uno, han obtenido niveles mas bajos en las tres dimensiones del estado de ánimo. También se observa que el perfil uno tiene una tendencia a la baja, mientras que el perfil dos presenta una tendencia al alza. Otra cosa que podemos apreciar, es que el perfil uno sufre un decremento más elevado cuando pierde que el perfil dos como puede apreciarse por ejemplo en la Figura 6.1a, donde se observa que de la ronda once a la catorce, cuyo resultado es perder, los agentes con perfil uno sufren un mayor descenso que los agentes con perfil dos. Recordemos que, al perder se genera la emoción negativa tristeza y al ganar la emoción positiva alegría. Del mismo modo, se observa que los agentes que están clasificados en el perfil dos sufren un mayor aumento en su estado de ánimo cuando llega una emoción positiva. Por ejemplo, de la ronda seis a la siete se aprecia un incremento mayor en el perfil dos que en el perfil uno. Por tanto, se observa que la Fórmula 4.2 consigue que las emociones positivas afecten en mayor medida a las personalidades con mayor nivel de extraversión y viceversa. Y lo mismo ocurre con las emociones negativas y el nivel de neuroticismo, como puede verse en las partidas de la once a la doce, donde los agentes con mayor nivel de neuroticismo sufren un decremento mayor en todas las dimensiones del estado de ánimo que los que tienen bajo nivel de este rasgo. Una de las cosas que se puede apreciar al observar las gráficas es que el perfil uno y el perfil dos de la ronda seis a la once sufren una subida en su estado de ánimo bastante similar. Esto se debe a que, conforme nos acercamos al punto teórico de la emoción las curvas se suavizan, por eso en la gráfica parece que el perfil uno tenga un incremento mayor que el perfil dos en estas partidas. En la gráfica de la Figura 6.1b podemos ver claramente el efecto que tiene el proceso de dinámica temporal del estado afectivo que, recordemos que este proceso se encarga de apaciguar el estado de ánimo con el paso del tiempo, de forma que el estado de ánimo tiende al estado de equilibrio. Si nos fijamos por ejemplo, en las partidas de la ocho a la diez, en el perfil uno, podemos ver como hay un decremento en el crecimiento de la gráfica debido a este proceso. En cuanto a la comparativa de las distintas dimensiones que puede verse en la Figura 6.2, podemos apreciar como en los distintos perfiles aparecen distintos comportamientos entre sus dimensiones. El placer es la dimensión que más se desplaza en ambos perfiles, debido al tipo de emociones que estamos empleando, puesto que en ambos casos el nivel de placer es mayor que el del resto de dimensiones. Podemos ver que todas las dimensiones del perfil 64 6.4. Análisis de resultados (a) Personalidad perfil_1. (b) Personalidad perfil_2. Figura 6.2: Comparativa de la evolución de las dimensiones del estado de ánimo en los distintos tipos de personalidad. uno acaban con un nivel inferior a las del perfil dos, puesto que en el primer caso todas acaban por debajo de cero y en el segundo caso todas acaban por encima de cero. Por tanto, aun que los agentes cuentan con distintos valores en los rasgos de la personalidad, podemos apreciar un comportamiento diferente entre cada perfil. Como hemos visto, los agentes del perfil uno permanecieron con niveles negativos en las distintas dimensiones del PAD durante más tiempo que los del perfil dos. Por tanto, los estados de ánimo habrán afectado a la toma de decisiones haciendo que los agentes de este perfil tomen decisiones más conservadoras. Cabe mencionar aquí que las cartas que se reparten a los agentes son aleatorias, teniendo siempre en cuenta que las partidas tienen un resultado prefijado. También hay que tener en cuenta que en todas las rondas los jugadores o se pasan de veintiún puntos o se plantan en algún momento. Por tanto, para poder comparar de una forma más realista, hemos decidido emplear solo las decisiones que los agentes tomaron al ver las dos primeras cartas. Los resultados pueden verse en la gráfica de la Figura 6.3. Si observamos la gráfica vemos que los agentes que están en el perfil uno tienden a pedir menos y, por consiguiente, a plantarse más que los de perfil dos. Esto se debe en gran medida a que el estado de ánimo de los agentes de perfil uno generalmente tenían el nivel de placer negativo y los de perfil dos positivo. La brecha pasa a ser de tres puntos de diferencia, de doce para el perfil uno a quince para el perfil dos. Por tanto, de forma general los agentes de perfil uno tuvieron un comportamiento distinto que los agentes de perfil 65 Capítulo 6. Prueba de la propuesta Figura 6.3: Comparativa de la suma para todas las rondas del número de veces que los agentes de cada perfil se han plantado o han pedido al recibir las cartas iniciales. dos. 66 Capítulo 7 Conclusiones y futuras ampliaciones La computación afectiva es un área que suscita un gran interés por parte de la comunidad académica y de la empresa debido, en gran parte, al avance de las nuevas tecnologías como por ejemplo en materia de recursos hardware, en reconocimiento, en aprendizaje automático o en la aparición de los asistentes personales que pueden ayudar a que la computación afectiva sea cada vez más una realidad. Dotar a los sistemas de una interfaz capaz de reconocer, gestionar e interactuar con las emociones, debe verse como un paso natural para conseguir una relación mejor entre el hombre y la máquina. Investigaciones como las realizadas en este trabajo van a ayudar a la comprensión y la mejora de las emociones y las categorías afectivas en procesos software, no solo para la simulación si no también para aplicarse al reconocimiento o sistemas de recomendación entre otras. Como hemos visto a lo largo de este trabajo, la personalidad es un factor crucial a la hora de comprender las diferencias individuales que afectan en la forma en la que percibimos el entorno o las emociones y que tienen una repercusión en nuestro estado de ánimo y en los procesos cognitivos. Hemos visto diferentes formas de representar la personalidad a nivel teórico y distintos modelos a nivel práctico. También hemos visto como los diferentes rasgos de la personalidad pueden influir de forma directa en determinadas emociones y comportamientos. En este trabajo hemos usado el modelo de los Cinco Grandes centrándonos en el neuroticismo y la extraversión como los factores más importantes a la hora de hablar de procesos afectivos y cognitivos puesto que distintas teorías en el ámbito de la psicología sostienen que son los factores con mayor relevancia en los procesos afectivos y cognitivos. Pero, hemos visto que existen otros modelos como por ejemplo, el modelo 67 Capítulo 7. Conclusiones y futuras ampliaciones PANAS que nos habla del afecto positivo y negativo y de como estos dos rasgos tienen un efecto similar al descrito anteriormente. En este trabajo hemos propuesto una extensión para la arquitectura de agentes afectivos GenIA3y hemos realizado la implementación de dicha propuesta. Nuestra extensión amplia y generaliza el uso de la personalidad dentro de la arquitectura ampliando su adaptabilidad permitiendo emplear teorías de tipos y rasgos. Hemos modificado los procesos cognitivos de los agentes permitiendo que la personalidad influya en el proceso de razonamiento y toma de decisiones influyendo en la forma en la que los agentes seleccionan los planes. También hemos propuesto una fórmula para actualizar el estado de ánimo en función de los distintos parámetros de la personalidad, basándonos en distintas teorías y trabajos que relacionan el neuroticismo con las emociones y los estados de ánimo negativos y la extraversión con las emociones y los estados de ánimo positivos. Mediante la anotación personalityProfiles__ los usuarios podrán implementar planes para un determinado grupo de agentes que coincidan con ese perfil de personalidad. Hemos diseñado un experimento a modo de ejemplo para comprobar el uso de nuestra extensión dentro de la plataforma GenIA3para el desarrollo de agentes afectivos. En este ejemplo hemos empleado dos perfiles de personalidad uno con neuroticismo alto y extraversión baja y otro con neuroticimo bajo y extraversión alta. Hemos creado treinta agentes de cada perfil con distintos parámetros de personalidad y hemos analizado tanto su estado de ánimo como su toma de decisiones. Los resultados que hemos obtenido indican que existe un comportamiento distinto entre los dos perfiles de personalidad tanto en su estado de ánimo como en sus decisiones. Por tanto, avalan la teoría y la implementación propuestas, generando comportamientos distintos y coherentes tanto en los procesos afectivos como en los procesos de toma de decisiones. Gracias a esta extensión, la arquitectura GenIA3aumenta su capacidad de simular el comportamiento emocional humano al permitir considerar diversas teorías de la personalidad. Esto facilita el avance hacia una mejor comprensión del comportamiento humano, lo cual facilitará que aparezcan nuevas propuestas e investigaciones que permitan mejorar tanto la simulación como las relaciones entre el hombre y la máquina. Entre las líneas actuales y futuras de trabajo, proponemos seguir estudiando el proceso de dinámica temporal del estado afectivo. Actualmente este proceso calcula el decaimiento del estado de ánimo hacia el estado de equilibrio empleando un número fijo y constante para todos los agentes. Una posible mejora sería investigar como afectan los rasgos de la personalidad en 68 Bibliografía [47] Christian Pillar. Normative practical reasoning: Christian pillar. In Aristotelian Society Supplementary Volume, volume 75, pages 195–216. Wiley Online Library, 2001. [48] Surangika Ranathunga, Martin Purvis, and Stephen Cranefield. Integrating expectation handling into Jason. University of Otago, 2011. [49] Anand Rao. AgentSpeak (l): BDI agents speak out in a logical computable language. Agents breaking away, pages 42–55, 1996. [50] Anand S Rao and Michael P Georgeff. Modeling rational agents within a BDI-Architecture. Proceedings of Knowledge Representation and Reasoning, 91:473–484, 1991. [51] Anand S Rao, Michael P Georgeff, et al. BDI agents: From theory to practice. In ICMAS, volume 95, pages 312–319, 1995. [52] Stephen L Ristvedt and Kathryn M Trinkaus. Psychological factors related to delay in consultation for cancer symptoms. Psycho-Oncology, 14(5):339–350, 2005. [53] Julio Alberto Rodríguez. Cognición y ciencia cognitiva. Documento en línea] Disponible www. supervivir. otg/cgn/cognición. pdf.[Consultado 20 Mayo de 2017], 2002. [54] Lorena Rodriguez, Emilio Insfran, and Luca Cernuzzi. Requirements Modeling for Multi-Agent Systems. INTECH Open Access Publisher, 2011. [55] Peter Rosati. Academic progress of canadian engineering students in terms of MBTI personality type. International Journal of Engineering Education, 14(5):322–327, 1998. [56] Ira J Roseman. Appraisal determinants of emotions: Constructing a more accurate and comprehensive theory. Cognition & Emotion, 10(3):241– 278, 1996. [57] Ira J Roseman and Craig A Smith. Appraisal theory. Appraisal processes in emotion: Theory, methods, research, pages 3–19, 2001. [58] James A Russell and Albert Mehrabian. Evidence for a three-factor theory of emotions. Journal of research in Personality, 11(3):273–294, 1977. 75 Bibliografía [59] Bonifacio Sandín, Paloma Chorot, Lourdes Lostao, Thomas E Joiner, Miguel A Santed, and Rosa M Valiente. Escalas PANAS de afecto positivo y negativo: validación factorial y convergencia transcultural. Psicothema, 11(1):37–51, 1999. [60] Ricardo Santos, Goreti Marreiros, Carlos Ramos, José Neves, and José Bulas-Cruz. Personality, emotion, and mood in agent-based group decision making. IEEE Intelligent Systems, 26(6):58–66, 2011. [61] Klaus R Scherer. Appraisal considered as a process of multilevel sequential checking. Appraisal processes in emotion: Theory, methods, research, 92(120):57, 2001. [62] Michael Schumacher. Objective coordination in multi-agent system engineering: design and implementation. Springer-Verlag, 2001. [63] Craig A Smith, Richard S Lazarus, et al. Emotion and adaptation. Handbook of personality: Theory and research, pages 609–637, 1990. [64] Bastiaan Reinier Steunebrink. The logical structure of emotions. PhD thesis, Utrecht University, 2010. [65] Joaquín Taverner, Bexy Alfonso, Emilio Vivancos, and Vicente J. Botti. Integrating expectations into Jason for appraisal in emotion modeling. In Proceedings of the 8th International Joint Conference on Computational Intelligence, IJCCI 2016, Volume 1: ECTA, Porto, Portugal, November 9-11, 2016., pages 231–238, 2016. [66] Robert E Thayer. The origin of everyday moods: Managing energy, tension, and stress. Oxford University Press, USA, 1997. [67] Marko Tkalcic, Andrej Kosir, and Jurij Tasic. Affective recommender systems: the role of emotions in recommender systems. In Proc. The RecSys 2011 Workshop on Human Decision Making in Recommender Systems, pages 9–13. Citeseer, 2011. [68] Marko Tkalcic, Matevz Kunaver, Jurij Tasic, and Andrej Košir. Personality based user similarity measure for a collaborative recommender system. In Proceedings of the 5th Workshop on Emotion in HumanComputer Interaction-Real world challenges, pages 30–37, 2009. [69] Eddie MW Tong. Personality influences in appraisal–emotion relationships: The role of neuroticism. Journal of Personality, 78(2):393–417, 2010. 76 Bibliografía [70] Wenbo Wang, Lu Chen, Krishnaprasad Thirunarayan, and Amit P Sheth. Harnessing twitter"big data"for automatic emotion identification. In Privacy, Security, Risk and Trust (PASSAT), 2012 International Conference on Social Computing (SocialCom), pages 587–592. IEEE, 2012. [71] David Watson, Lee A Clark, and Auke Tellegen. Development and validation of brief measures of positive and negative affect: the PANAS scales. Journal of personality and social psychology, 54(6):1063, 1988. [72] David Watson and Kristin Naragon-Gainey. Personality, emotions, and the emotional disorders. Clinical Psychological Science, 2(4):422–442, 2014. [73] David Watson and Auke Tellegen. Toward a consensual structure of mood. Psychological bulletin, 98(2):219, 1985. [74] Gerhard Weiss. Multiagent systems: a modern approach to distributed artificial intelligence. MIT press, 1999. [75] Wikipedia. Blackjack, 2017. Consultado el 26 de Junio de 2017 en https://es.wikipedia.org/wiki/Blackjack. [76] Michael Wooldridge. An introduction to multiagent systems. John Wiley & Sons, 2009. [77] Michael Wooldridge and Nicholas R Jennings. Agent theories, architectures, and languages: a survey. In International Workshop on Agent Theories, Architectures, and Languages, pages 1–39. Springer, 1994. [78] Michael Wooldridge and Nicholas R Jennings. Intelligent agents: Theory and practice. The knowledge engineering review, 10(02):115–152, 1995. [79] Cristian Zanon, Micheline Roat Bastianello, Juliana Cerentini Pacico, and Claudio Simon Hutz. Relationships between positive and negative affect and the five factors of personality in a brazilian sample. Paidéia (Ribeirão Preto), 23(56):285–292, 2013. [80] John M Zelenski. The role of personality in emotion, judgment and decision making. Vohs K, Baumeister R, Loewenstein G, Do Emotions Help or Hurt Decision Making, 2007. [81] Jian Zhao, Liang Gou, Fei Wang, and Michelle Zhou. Pearl: An interactive visual analytic tool for understanding personal emotion style 77 Bibliografía derived from social media. In Visual Analytics Science and Technology (VAST), 2014 IEEE Conference on, pages 203–212. IEEE, 2014. 78