550 likes | 695 Views
Communicating Emotional Cognitive Agents. Project Team: Guillaume Aouizerate Alexandra Pencea Robert Guduvan Florian Chatré Jean-Bernard Jansen Client: Fabrice Evrard Tutor: Xavier Mechin. Plan. Software Overview Project Management Software Development Agents Objects
E N D
Communicating Emotional Cognitive Agents Project Team: Guillaume Aouizerate Alexandra Pencea Robert Guduvan Florian Chatré Jean-Bernard Jansen Client: Fabrice Evrard Tutor: Xavier Mechin
Plan • Software Overview • Project Management • Software Development • Agents • Objects • User Interface
Software Overview • Project aim: development of a realistic human behavior simulator • 2D world populated with agents and objects, • Agents with emotional, cognitive and psychological features. • Theycan: • construct and carry out plans in pursuit of their goals, • perceive their environment, • communicate, • can show empathy toward each other. • Providesan interface that allows complete control of the userover the simulation, • by creating and placing agents / objects, • and modifying their properties / behavior in real time. • 3D viewof the world
Objectives • Scenarios staging agents to check that their behaviors are similar to the ones humans would have • Creating new unexpected societies and seeing how they can organize themselves to solve complex problems and find solutions humans would not have even thought of
Project Management -Preparation • Knowing the expectations of the client • Resources available • Development strategy and resource allocation
A document called Software Requirements Specification with all technical specifications Result of a dialog between the client and the development team Lists every single specifications required by the client Defines the user interface Defines the ability for the program to evolve Software requirements
Software Design A modular software
Software Development plan Describes the organization and procedures used during the project: • Overview of the required work, • Development’s approach, • Break-down into elementary tasks, • Organization, resources and schedule, • Project monitoring activities, • Quality and configuration management means and tools, • Listing of the deliverables.
Software Development plan-Development approach Five phases: • Specifications • Software architecture • Development and integration • Tests and qualification • Delivery and support of installation and use
Software Development plan-Organization, resources and schedule
Software Development plan- Project monitoring activities • Meetings, • Reviews, • Customer interface, • Management of risks, • Management of actions, • Management of Change Requests.
Software Development plan- Quality and configuration management means and tools Configuration: • saving documents, and source files Quality: • Peer reviews • Numbered requirements • Tests traceability matrix
Software Development plan- Listing of the deliverables • Software on CD-Rom (declined in different versions) • Installation manual • User’s guide • Developer's guide
Configuration (1) • relevant documents (SRS, SDP, diagrams, schedules and reports) have been made available on an FTP server hosted by a member of the team
Configuration (2) • All source codes have been saved in an SVN-type revision tool hosted on a server, ensuring the maintenance of every version of the source files • Eclipse development environment - main tool used for developing directly interfaced with the SVN server
Test plan • A document used to verify that the software complies with the client's • specifications, - that all functionalities have been implemented correctly. - conceived as a matrix which contains: - the ID andname of each specification, - along with a testing procedure and the expected results, - and a free collumn dedicated to the actual test results. • requirements not implemented in the software are marked with: • #NOT IMPLEMENTED
Meetings • Client meetings • Client’s and end-user’s needs • Software requirements • Meetings with the tutor • Guidelines for project management and writing documents • Feedback on produced documents • Development team meetings • Schedule updates • Discussions on technical issues
Quite small project ( 5 team members ) Crash of the code sharing server Five local copies of the source code Unexpected tasks due to a client’s request or a technical challenge Validated software specifications allow to refuse new requests from the client Risk Management
Software’s functionalities overview Agents: • Health, Personality and Emotions • Goals and actions • Perception • Memory • Dictionary • Communication • Inference engine Objects: • Properties • Interactions GUI: • 3D overview • Complete control over the simulation
Agents • autonomous self-governed agents • cannot be controlled by the user once the simulation has started • avatars • controlled by the user throughout the simulation
Agents characteristics Name Initial Knowledge Cognitive abilities Initial tiredness Memory size Initial hunger AGENT Eyesight distance Amount of money Emotions Personality
Personality(1) • Curiosity: tendency to find information by himself • Cooperativeness: will to help other agents • Avarice: influences the agent's behavior in respect to his use of currency by restricting his use of money • Expressiveness: tendency to communicate with other agents • Emotional expressiveness: ability to facially express felt emotions
Personality (2) • Curiosity • Cooperativeness • Avarice • Expressiveness • Emotional expressiveness 0 10 0 10 0 10 0 10 0 10
Emotions Love Happiness Anger Fear Hope Anxiousness Sadness 0 40 100 0 85 100 0 26 100 0 60 100 0 70 100 0 61 100 0 68 100
Seven actions • Communicating • Moving • Taking an object • Dropping an object • Giving an object • Resting • Interacting with an object
Planification • Create plans (schedule actions) to achieve goals, - plan: sequence of actions, - actions influence the state of the agent • Need to find a viable plan • Possible insertion of intermediate higher priority goals - Goals for which no planhas been found for some time are abandonned - Actions are verified again before execution
The BeGoal is a state the agent has to reach A BeGoal is described by a predicate that needs to be verified. As soon as the predicate is true, the goal is reached. The property that needs to be reached can be about gauges, position and carried objects. Goals- BeGoal
The SayGoal is for an agent to say or ask something to another Reached when the message has been received Goals-SayGoal
A DoGoal represents a single action that has to be carried out. Can be either: To move to a point To take or drop an object To rest To interact with an object Goals-DoGoal
The KnowGoal is used when an agent wants to know a piece of information He can ask another agent or search for the information by himself Goals-KnowGoal
North direction North-East direction Agent’s perception • View parameters: • View angle of 90° • View distance
Memory (1) • Divided in equally sized cells that may contain either an action or a predicate about the known environment Predicate Max size Plan with 3 actions Max size
Memory (2) • Agents access their memory to retrieve information concerning objects, other agents or plans Max size Plan to open the door, when the agent is in position (a,b) Part of the plan that can be used to achieve the same goal, when the agent is in position (c,d) Object X is in position (x,y)
Dictionnary • To understand the relations between concepts • So agents are emotionally influenced by these elements • High degree of realism as agents’ behavior • is modified by their environment, • Matrix of words that links each word to the words in its definition.
Dictionary(1) • 1326 most frequently used French words (phase 1)+ • 918 introduced words (phase 2) + • 454 introduced words (phase 3) + • 14 words for object that may appear in the simulated world (phase 4) - • 72 exempt words => 2640 words in the dictionary
Dictionary (2) Définition initiale >>>>intelligence ensemble des facultés de conception de compréhension d'adaptation TreeTagger parser ensembledefacultédeconceptiondecompréhensiondeadaptation Not recognized by TreeTagger Already in dictionary Exempt words Introduced words Nouvelles définitions >>>>faculté capacité de faire quelque chose >>>>conception procréation fusion du spermatozoïde et d'un ovule donnant naissance à un nouvel être humain >>>>compréhension fait de comprendre de percevoir
Matrix manipulation • Calculating the Markovian version of this matrix, • Elevating the level of connectivity betweenconcepts by • rising the matrix to the power of 7, • Extraction of emotion from the list of concepts • Retrieval of emotions excited by a list of concepts: • extraction of the coefficients stored in the matrix • and determination of each emotion's intensity
Communications 6 types of messages: • Can you do this? • Do you have the object? • Can you give me the object? • Do you know this property? • Do you know how to …? • I feel very …!
Objects - Properties - properties shared with agents: - the unique identification number and name, - their coordinates - distinct properties: - weight, - whether it is stationary of moveable, - whether agents can occupy the same cell - number of agents they can house,
Objects-Interactions An object can have several different interactions. An interaction has: • Conditions, • A list of effects on an agent, • A list of actions
Grid • Unlimited size when placing agents and objects • Limited space once the simulation starts
A Graphical User Interface ( GUI ) aims at providing the user with a tool for the creation and visualization of complex data structures with user-friendly menus, buttons, windows, etc. In our case, the data structures are the agents, their goals, the space where they evolve, etc. The Graphical User Interface
A GUI helps the user keep his mind focused on the business application. A GUI should make the work of the user more pleasant. A GUI should be complete and let the user make the most of the software. The GUI: goalsreally useful ?
A 3D viewport is a 2D area where 3D objects are rendered. A 3D scene is the most accurate representation of real life people and objects. Demo The GUI : the 3D viewport