CS4100 Artificial Intelligence - Spring 2012 -- Assignment 1 A Relational Agent Program in Python Due: January 19, 2012 via email Purpose: get acquainted with Python and the use of production rules. Relational Agents are one kind of AI program, involving animated characters that produce gestures such as smiling, blinking and nodding to make them seem more realistic. Prof. Bickmore's research attempts to see if relational agents that show empathy can influence users to improve their health behavior. We will program the gesture selection component of a relational agent. The set of actions will be: smile, frown, nod and blink. Percepts will be a user's communication to the program, consisting of two elements: the answer element, one of: positive, negative, unsure the mood element, one of: happy, sad, neutral The output is a gesture that the agent should perform when responding. The agent's gesture selection strategy will be as follows: If happy and either positive or unsure, smile If happy and negative, nod If sad, frown If neutral and positive or negative, nod If neutral and unsure, blink Your task: Implement a ****production-rule driven**** relational agent with the behavior as above. Input will be a file of 2-element Python lists, one per line. We will test your program with our own input. Example input file: ["happy", "negative"] ["neutral", "unsure"] ["sad", "unsure"] Your python source file MUST be called RelAgent.py and your top-level function MUST be called makeGestures(path), the path argument being a string representing the name of the input file, suitable as an argument to the function: f = open(path). ------------------------------------- INSTRUCTIONS FOR SUBMISSION OF COMPUTER FILES FOR CS4100 ASSIGNMENTS: Step 1. Create a directory or folder A1 where stands for your last name followed by your first initial or first and middle initials. If your last name is long you may truncate it. Examples: Name: Megan Passanini Folder: PassaniniMA1 or PassanMA1 Name: John Q Smith Folder: SmithJQA1 Step 2. Place a copy of the file(s) to be submitted in the folder (for this assignment there is only one file: Step 3. Make a zip file or a tar file from the folder (On unix the command to do this is (for example): zip SmithJQA1.zip SmithJQA1/* Step 4. E-mail the zip file or tar file AS AN ATTACHMENT to: saber@ccs.neu.edu with subject: CS4100 Assignment 1 from . The email body is not relevant. Note: assignments are due at 10 p.m. on the due date Note: you are responsible for testing your programs -- programs that crash may be downgraded severely.