february 24th 2000peter demeester - philippe de pauw 1 object oriented agents for distributed...
TRANSCRIPT
February 24th 2000 Peter Demeester - Philippe De Pauw1
ObjeCt oriented Agents for distributed PlannIng
systems
OCAPI-COALA team
February 24th 2000Peter Demeester - Philippe De Pauw2
Overview
Presentation OCAPI – COALA Goal Description of the sample problem Representation of actors by agents Co-ordination techniques
– Blackboard– CNP
Results Demo What’s next: COALA
February 24th 2000 Peter Demeester - Philippe De Pauw3
Presentation
February 24th 2000Peter Demeester - Philippe De Pauw4
Presentation OCAPI – COALA (1)
Team members:– Patrick De Causmaecker– Peter Demeester– Philippe De Pauw-Waterschoot– Greet Vanden Berghe
URL:– OCAPI: http://www2.kahosl.be/~ocapi/– COALA: http://coala.tsx.org
February 24th 2000Peter Demeester - Philippe De Pauw5
Presentation (2)
The OCAPI project is sponsored by IWT (=Institute for the Promotion of Innovation by Science and Technology in Flanders)in the framework of the ‘HOBUfonds’.
The agent software (Correlate) used was part of a project at the KU Leuven (Academic Partner).
Concurrent object-ORiented REflective LAnguage TEchnology: extension of an OO-programming language that offers support for distributed applications.
February 24th 2000Peter Demeester - Philippe De Pauw6
Hobufonds
IWTUser committee
Academic Partners
Public
OCAPI project
February 24th 2000Peter Demeester - Philippe De Pauw7
Presentation (3)
OCAPI Alcatel e-com De Clercq Engineering Impakt KU Leuven MediaGenix Nimble
COALA Alcatel e-com De Clercq Engineering MediaGeniX Nimble SmartMove Starlab TNI Universiteit Maastricht University of Nottingham
User Committee & Academic Partners
February 24th 2000 Peter Demeester - Philippe De Pauw8
Goal of the OCAPI project
February 24th 2000Peter Demeester - Philippe De Pauw9
Goal of the OCAPI project
Show the usefulness of the intelligent agent paradigm in design & implementation.
Can agents be used to speed up the software development, to increase the maintenance & can SMEs (‘KMO’) take advantage of it?
February 24th 2000 Peter Demeester - Philippe De Pauw10
Description of the sample problem
February 24th 2000Peter Demeester - Philippe De Pauw11
Lab session planning
example to demonstrate the characteristics of agents: dynamic planning of lab sessions in a polytechnic.
negotiations between users are necessary: ideal for an agent approach.
February 24th 2000Peter Demeester - Philippe De Pauw12
The problem
there already exists a lab plan this plan changes frequently due to
– lab room is unavailable– teacher is unavailable (ill, holiday,…)
Real life: Adaptive lab session planning: hard problem
•fast decision taking
•many parties are involved
February 24th 2000Peter Demeester - Philippe De Pauw13
The problem
•Central (human) scheduler: experienced, he knows how teachers will react on a rescheduling & anticipates their reactions.•Selects those solutions which he knows will make a chance of success.
February 24th 2000Peter Demeester - Philippe De Pauw14
An example
Teacher A ,Teacher B Teacher A: ill on Wednesday, cannot give lab
session on Wednesday afternoon Teacher B: gives a lab session on Friday
afternoon to the same class group in the same lab room
Possible solution: switch session of teacher A with session of teacher B
A B
February 24th 2000Peter Demeester - Philippe De Pauw15
Example
Central scheduler Are you willing to switch with your colleague AAnswer of Teacher B can depend on a lot of personal things:
– He cannot stand teacher A– He promised his wife to take care of the kids on
Wednesday afternoon and so on
Question: How can we automate this process?
Teacher B
February 24th 2000 Peter Demeester - Philippe De Pauw16
Representation of actors by agents
February 24th 2000Peter Demeester - Philippe De Pauw17
Types of agents (RETSINA)
Information agents: system directs his questions to this kind of agent, this decreases dependency on the database structure
Task agents: can implement the algorithm Interface agents: realise the interaction
between users of the system
February 24th 2000Peter Demeester - Philippe De Pauw18
Types of agents (RETSINA)
Interface Agents
Agency
Task Agents
Information Agents
February 24th 2000Peter Demeester - Philippe De Pauw19
Agents
actors: teachers, head of department and the central scheduler
each actor is represented by an interface agent
•defend their interests
•make the system function better
February 24th 2000Peter Demeester - Philippe De Pauw20
Agents
when there has to be taken a decision:
1. Agents try to contact their actor
2. If this fails, they decide autonomously.This decision is based on information provided by the actor (information that is only known to the agent of the actor)
February 24th 2000 Peter Demeester - Philippe De Pauw21
Co-ordination techniques
February 24th 2000Peter Demeester - Philippe De Pauw22
First Solution
Agents communicate with their actors and other agents.
We experimented with 2 different negotiating protocols:1st method
– 1st step: algorithm (started by a task agent) generates the 10 ‘best’ solutions. These solutions satisfy the so-called hard constraints, these constraints ALWAYS have to be fulfilled!
February 24th 2000Peter Demeester - Philippe De Pauw23
Hard Constraints
One teacher can only be in one lab at the same timeIn a lab room there is only one lab session that can take place at the same timeA student can attend only one lab session at the same time Each lab room has a limited capacity Some lab rooms are not equipped to accommodate certain lab sessionsThese hard constraints will be taken into account in the algorithm
February 24th 2000Peter Demeester - Philippe De Pauw24
First Solution
1st method– 2nd step: agents discuss about the above
solutions.To make this negotiation possible
blackboard
February 24th 2000Peter Demeester - Philippe De Pauw25
Blackboard (1)
Principle A solution is written by an agent on the
blackboard; The other agents search on the blackboard
for solutions where they are involved; They evaluate that solution (taking into
account the ‘soft constraints’ or their own preferences) and generate a price;
February 24th 2000Peter Demeester - Philippe De Pauw26
Soft constraints
Every teacher has his own preferences about the period he wants to teach a lab session
A teacher will not be equally prepared to do concessions to all colleagues
Of those lab rooms which are equipped some are more appropriate than others
February 24th 2000Peter Demeester - Philippe De Pauw27
Preferences
February 24th 2000Peter Demeester - Philippe De Pauw28
Blackboard (2)
The solutions and the price (based on the soft constraints) are then put back on the blackboard;
The agent who has put the solution on the blackboard in the first place evaluates the prices and takes the solution with the minimal cost;
This solution is then selected and the changes are made.
February 24th 2000Peter Demeester - Philippe De Pauw29
Second solution
2nd method: in this method the agents themselves search for a solution. To make this possible
Contract Net Protocol
February 24th 2000Peter Demeester - Philippe De Pauw30
Contract Net Protocol
An agent can play 2 different roles: a manager divides a problem in sub
problems and searches for contractors who can execute the sub problems and keeps an eye on the global solution.
A contractor executes a sub task. Contractors however can also become a manager who divides the problem again and contract it out to other contractors.
February 24th 2000Peter Demeester - Philippe De Pauw31
CNP
Managers find contractors through a bid process that goes like this:
1. A manager announces a task;
2. Contractors evaluate this task (keeping in mind that they have limited capabilities);
3. Contractors submit bids to the manager;
February 24th 2000Peter Demeester - Philippe De Pauw32
CNP
4. The manager evaluates the received bids, he chooses one of these bids and thus an associated contractor and gives him the contract;
5. The manager waits for the result of the contract.
February 24th 2000Peter Demeester - Philippe De Pauw33
CNP (figure)
manager
announcement of a task
contractors
manager
submit bid
contractors
grants contract
manager
contractor
February 24th 2000Peter Demeester - Philippe De Pauw34
Sympathy (only CNP)
Up to now: cost function exists of– cost– profit
The sum of these two forms the price
We add to the cost function ‘sympathy’.
February 24th 2000Peter Demeester - Philippe De Pauw35
Sympathy (only CNP)
When an agent gets a question from another agent to change or move his lab session he takes into account not only the cost to move or change that session but also the sympathy he feels for that particular agent.
New price becomes:
new_price = cost + profit - sympathy
February 24th 2000Peter Demeester - Philippe De Pauw36
Sympathy (only CNP)
Example: Agent B will remember that agent A did him a favour. Agent A moved his own lab session to a bad period just to help agent B. When agent A asks agent B to move or switch his lab session, agent B will remember that agent A did him a favour and he will faster allow the change.
February 24th 2000 Peter Demeester - Philippe De Pauw37
Results
February 24th 2000Peter Demeester - Philippe De Pauw38
Results
Implementation of a prototype of:– Blackboard– CNP with sympathy
existing database: all teachers who give lab sessions in 1 particular department of our polytechnic
This kind of software development can be based on agents
Test case: application of our model to a dynamic scheduling problem in transportation which we worked out up to the level of analysis
February 24th 2000 Peter Demeester - Philippe De Pauw39
Demo
February 24th 2000Peter Demeester - Philippe De Pauw40
Demo
Demo of the software CNP and sympathy Blackboard
February 24th 2000 Peter Demeester - Philippe De Pauw41
What’s next?
February 24th 2000Peter Demeester - Philippe De Pauw42
COoperative And Learning Agents
Agents and Planning systems– Ontology for existing planning systems (User
Committee)– Definition of an agent interface– Integration of agents to develop
Learning Agents– Modelling the user– Modelling the system– Support maintenance and system development
February 24th 2000Peter Demeester - Philippe De Pauw43
The End
Thank you for your attention