Multi-Agent Systems Course 691V - Spring 2000

Homework 1

 

Due: February 14, 2000

 

Consider the home of the future where there are software agents that are helping to manage the running of a house. There will be personal assistant agents that will be cognizant of your preferences of temperature, humidity, light, sound, etc., and who you want to interact with. There will be agents that control the environmental conditions of specific rooms. There will be agents that will run your appliances. There will be agents that manage the telephone communications. There will be agents that maintain overall efficiency of heating, cooling, electrical systems, etc. There will be agents that manage security issues such as fire, earthquake, flood protection, etc. There will also be agents that can assist you in managing the preparation of a meal; for instance, in making sure there is room in the dishwasher for the evening meal dishes, that the completion of the dish cooking on the stove is coordinated with the completion of the dish being reheated in the microwave, etc., that lighting is appropriately set in the kitchen and the dining room, etc. There will also be agents that will manage your calendar and that of the family. I am assuming that the agents will not be generated by one designer but rather when you get a new appliance it will come with an agent; for instance, the heating management agent may not come from the same company as the air-conditioning agent.

I would like you to think about the issues of having these agents work together. What are the capabilities of the agents, what type of cooperation needs to occur among them, are there needs for the agents to negotiate, are there situations where local objectives are at odds with global objectives such as minimizing electrical usage? What type of information needs to be exchanged among the agents? How would you organize the agents – would you have a hierarchy of agents in terms of their control responsibilities? How would you allow agents to integrate new agents into the system, for instance, when you buy a new appliance? Where would the need for real-time deadlines come into play? Would agents be self-interested or cooperative (i.e., how do agents balance out local objectives with more global, system-wide objectives?). In terms of types of distribution applications, is there a need for distributed situation assessment, distributed resource planning, and/or cooperation experts? Are there some problems that need a combination of these capabilities? Will there be agents operating at different levels of abstraction (resource level and application level) that need to coordinate? What are the specific characteristics required by a language in order that these agents can share information? If there are no dedicated resources for each agent, but rather a pool of resources that can be used by agents on an as-needed basis, what new issues does this introduce? Do agents need to reason about the intentions of other agents?

In answering these and related issues that you may consider, I want you to be concrete with specific and numerous examples/scenarios. You should first start out the effort by detailing the collection of agents that you see in the house of the future, what their responsibilities are, and their patterns of interaction with other agents. Including figures, it should be at least 5 to 10 pages long.