Upload
matilda-bishop
View
214
Download
0
Embed Size (px)
Citation preview
Local Distributed Agent Matchmaking
Elth Ogston and Stamatis Vassiliadis
Computer Engineering Laboratory
TU Delft
Multi Agent Systems•Fine grain distributed computing•Distributed control•Cooperation without predefined structure•Scalability
Simulation of very simple systems to look for useful global behavior (observe vs. tell)
Matchmaking
Our Interests
•The matchmaking problem and common solutions
•Overview of the model we simulate
•Simulation results
•Summary of further work
This Presentation
Matchmaking: how do agents that require an outside service find other agents who are willing to provide that service?
•Basic function in many multi-agent systems
•Commonly solved in a centralized manner
•A function that always doesn’t need to be done perfectly
Common solutionsMiddle agents/directories
efficient, but centralized
Broadcast requests (in general a market approach)expensive in terms of messages, who is everyone?often ends up with a central auctioneer
Social networksagents end up passing on a lot of messages for their friendsmessages reduced by storing neighbor’s capabilitiessomething needs to be done to keep messages from circling
All: agents need to be able to succinctly describe “I’m looking looking for…”How about a peer-to-peer method where agents exchange unwanted neighbors instead of messages?
Our Model:
Parameters:•Number of agents•Number of task types•Number of tasks per agent•Probability of breaking
7
18
3
511 7
•“Connect”
511
18 3
2
5
11
2
511
A
B
C A
B
C
22
18
3
511 1
•“Break”511
18 3
Actions
•“Shuffle”
Components
•Agents
•Links/Connections
7
18
3
•Tasks •of varying types
2
5
11
What can we do about this single cluster?
Adjust the rate at which clusters break up?
System sits either on the far left or far right of the curve.
Distribute cluster operation?
Rotate instead of shuffle works: but how to do connections?:To connect ai to bj :
•Method 1 : ai-1, bj+1,…, bj-1, ai+1
•Method 2 : ai-1, ai+1 …, bj-1, bj+1
Put a cluster ID in agents, but this must be maintained.
And then how to break connections?
Operations are at least linear with the size of the cluster
Limit Cluster Size?
This works fairly well, though it doesn’t support as many task types
What if we now break connections?
It works (even with limited size clusters)…. but decays eventually.
There’s a problem with the task type distribution.
We can have agents give up on unmatched tasks replacing them with a new task type.h
This was the form of behavior we were looking for!
ConclusionsMatchmaking can be done in a distributed peer-to-peer manner
Tweaks: (but reasonable ones from an agent viewpoint)•limit cluster size (agent resources)•replace hopeless tasks (give up if you can’t do anything)
Some limits….•the number of tasks types (see next slide)
•distribution of task types - we assume random while it is easy to create a worst case ordered distribution, what is a real application’s profile?
As you increase the tasks per agent you rapidly increase the number of task types supported
With 6 tasks per agent the system supports around 2000 task types
Further Work
•Timing•Non deterministic matching
•One-to-one markets•Limiting cluster moves per turn
More Info….
http://ce.et.tudelft.nl/~elth/