Download presentation
Presentation is loading. Please wait.
1
Asynchronous Partitioning Framework
The Open University of Israel Vitaliy Freidovich Department of Mathematics and Computer Science Vice President R&D of Amnon Meisels Ben-Gurion University Of the Negev Department of Computer Science
2
Missing features of DCSP algorithms
Order of search unrelated to structure of constraints graph Structure of constraints graph can enhance the use of the fail first principle Utilization of graph structure in distributed search needs a method for agent cooperation and coordination
3
A better idea might be Analyze cooperatively the constraints graph
Find regions which are the most heavily constrained, and partition the graph by those regions Solve the local problem inside each region Achieve globally consistent assignment by propagating relevant assignments between the different regions
4
Advantages Enhancing the Fail First Principle
Concentrating on the toughest parts of the problem first Improving performance by allowing parallel search inside different regions
5
Asynchronous Partitioning Framework
A general framework for agent cooperation and coordination Composed of 4 distinct components: GroupPartition algorithm - pluggable Partition into disjoint groups Select a group leader LocalSearch algorithm - pluggable GlobalSearch algorithm - pluggable Agents are represented by their group leaders Coordination engine Adapt to assignments in higher priority groups Ignore constraints with lower priority groups
6
Asynchronous Partitioning Framework
Requirements: GroupPartition algorithm: Form disjoint groups Each group must contain at least one ‘fully’ connected agent Elect one such agent to be a group leader Assign injective priorities to groups Order the agents inside each group LocalSearch algorithm: Synchronous - exactly one token Allocate each agent an agent view Update the agent view upon reception of a token GlobalSearch algorithm: The above requirements enable correctness
7
Asynchronous Group Partition
A first implementation of APF Phases: Initialization Priority calculation Group partitioning Group ordering Search for a solution SBT for LocalSearch CBJ for GlobalSearch Phases 2-4 implement GroupPartition
8
An Example 3-coloring problem
Find an assignment out of: {Red, Green, Blue}, such that no two connected agents are painted with the same color
9
Phase 1: Initialization
Main goal: Initialize agent priority Pai = ki + ∑j=1 ki (CommonNeighbors (ai, aj)) ki – number of neighbors of ai Initially: Pai = ki
10
Phase 2: Priority calculation
a4 a6 a7 a8,a9 1 a3 P=4 a4 P=2 a4 a6 a7 a8,a9 a5 P=5 a9 P=4 a4 a6 a7 a8,a9 2 a4 a6 a7 a8,a9 a4 a6 a7 a8,a9 1 a2 P=1 a6 P=3 2 a7 P=3 Each agent sends a list of its neighbors, to all its neighbors Upon receiving this message, each agent replies with the number of joint neighbors The originating agent, adds the replies to its priority, and notifies all the agents about its priority
11
Phase 2: Priority calculation
Each agent sends a list of its neighbors, to all its neighbors Upon receiving this message, each agent replies with the number of joint neighbors The originating agent, adds the replies to its priority, and notifies all the agents about its priority
12
Phase 3: Group partitioning
Each agent performs a local search in its neighborhood When an agent receives such a request: If group leader: approves If not a group leader: denies If not determined: wait until is, and reply The search continues until: Some agent had approved the request The current agent has the highest priority
13
Phase 3: Group partitioning
JOIN JOIN a3 P=4 a4 P=2 a5 P=11 a9 P=8 JOIN W:{a1} W:{a10} JOIN W:{a9} JOIN a2 P=1 a6 P=5 a7 P=7 W:{a3}
14
Phase 3: Group partitioning
W:{a1} a4 P=2 a5 P=11 W:{a9,a6} a9 P=8 W:{a10} a2 P=1 a6 P=5 a7 P=7 W:{a3}
15
Phase 3: Group partitioning
W:{a1} a4 P=2 GL a5 P=11 a9 P=8 NOT_JOINED JOINED W:{a10} JOINED a2 P=1 NOT_JOINED a6 P=5 a7 P=7 W:{a3}
16
Phase 3: Group partitioning
JOINED GL a3 P=4 a4 P=2 GL a5 P=11 a9 P=8 JOIN JOINED a2 P=1 a6 P=5 a7 P=7
17
Phase 3: Group partitioning
JOIN a10 P=2 a1 P=2 NOT_JOINED a8 P=4 JOIN JOINED GL a3 P=4 a4 P=2 GL a5 P=11 a9 P=8 JOIN JOINED JOINED JOIN a2 P=1 a6 P=5 a7 P=7 a1 and a10 have the same priority a1 has a higher lexicographical priority
18
Phase 3: Group partitioning
GL a10 P=2 a8 P=4 GL a3 P=4 a4 P=2 GL a5 P=11 a9 P=8 a2 P=1 a6 P=5 a7 P=7
19
Phase 4: Group ordering Group Priority Group Leader Priority
Inner Group Priority (IGP): Calculated for each agent inside a group IGPai = PGai + ∑jPcgij IGPai – The Inner Group Priority of agent ai PGai – The Priority of the Group of agent ai Pcgij – The Priority of Connected Group j –The priority of the jth Group, to which agent ai is connected In this way, agents connected to a greater number of bigger groups will have a higher IGP
20
Phase 4: Group ordering GL a10 P=2 a1 P=2 IGP=4+2 a8 P=4 IGP=17 IGP=6 IGP=11 GL a3 P=4 GL a5 P=11 a9 P=8 a4 P=2 IGP= IGP=26 IGP=15 IGP=11 IGP=13 a2 P=1 a6 P=5 a7 P=7 IGP=4 IGP=4 IGP=15 IGP=11 Each agent notifies the other agents in its group about its IGP The agents in each group are ordered by their calculated IGP Equal priorities are resolved lexicographically
21
Phase 4: Group ordering GL a10 a1 O=2 a8 O=1 O=6 GL a3 O=1 GL a5 a9 a4
IGP=6 O=2 a8 IGP=17 O=1 IGP=11 O=6 GL a3 IGP=26 O=1 GL a5 a9 a4 IGP=15 O=1 IGP=11 O=4 IGP=13 O=3 a2 IGP=4 O=3 a6 IGP=15 O=2 a7 IGP=11 O=5
22
Phase 5: Search for solution
The search proceeds in two levels in parallel: SBT as APF’s LocalSearch CBJ as APF’s GlobalSearch Inside each group: The token is being expanded through the group leader Keeps consistency with: Inter-group constraints Higher priority intra-group constraints Lower priority intra-group constrained agents are notified upon value changes
23
Phase 5: Search for solution
A global token is moved between the group leaders When a group leader receives the global token: Group is consistent: advance Group is inconsistent: backtrack Groups’ state hasn’t been determined: wait Termination: Last group is consistent First group is inconsistent Detailed example: Appendix (No time )
24
AGP-CBJ A second implementation of APF
Identical to AGP; the LocalSearch algorithm is upgraded to be CBJ Was formally proven to be correct
25
Experimental Evaluation
Three sets of experiments on randomly generated problems: (n=10, k=10, 0.1≤p1≤0.9, 0.1≤p2≤0.9) (n=15, k=10, 0.1≤p1≤0.9, 0.1≤p2≤0.9) (n=20, k=10, 0.1≤p1≤0.9, 0.1≤p2≤0.9) For each combination 10 instances 2430 problems in total
26
How important is LocalSearch?
27
Partitioning – What good is it?
AGP-CBJ Partitioning appears to be beneficial 1 Group → Most likely an almost Clique
28
APF – Where is it best? We expect it to be best for low values of p1
29
Why static partitioning?
30
Where is coordination best ?
31
Where is coordination best ?
P1=0.4
32
Conclusions Preliminary results indicate that partitioning into groups can be beneficial Most efficient for sparse problems and for highly dense problems Upgrading LocalSearch & GlobalSearch may improve performance AFC-CBJ Can APF’s requirements be relaxed ? ABT
33
Thank You!
34
Appendix – AGP’s Search For Solution
35
Future work Upgrading LocalSearch & GlobalSearch
AFC-CBJ Relaxing APF’s requirements ABT Upgrading heuristics Partitioning priorities Group ordering heuristic Upgrading the partitioning strategy Limiting the number of agents in a group?
36
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a10 is the first agent to start execution a10 as a group leader: Not the first one - generates no global token Generates a new Token Sends Token to the first agent in its group
37
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a10 as an agent: Finds consistent assignment Returns token to its group leader a10 as a group leader: Enters the consistent state
38
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 Group Leader a5 starts execution First one - Generates a new GlobalToken Generates a new Token Sends Token to the first agent in its group
39
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a4: Finds consistent assignment Notifies a3 Returns Token to a5
40
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a3 – group leader: First generates a new Token Sends to first agent a3 – agent: Finds consistent assignment Returns Token to group leader
41
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token Token V_C_H a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a3 - Group leader: Forwards the value change message to the addressee a3 - agent: Updates agent view Notifies group leader that value change was handled
42
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 R_T Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a3 - Group leader: Asks a3 to regenerate new token a3 - agent: Regenerates Token Returns Token to group leader
43
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a3 – group leader: Sends Token to a3 a3 – agent: Finds consistent assignment
44
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a3 – group leader: Sends Token to a3 a3 – agent: Finds consistent assignment Returns Token to group leader
45
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
46
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
47
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
48
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token Token a2 P=1 O=3 a6 P=5 O=2 V_C a7 P=7 O=5
49
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 Token a9 P=8 O=3 V_C a4 P=2 O=1 Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
50
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 Token V_C Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
51
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 V_C_H GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 Token Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
52
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 Token V_C_H GlobalToken Token GL a5 P=11 O=4 a9 P=8 O=3 R_T GL a3 P=4 O=1 a4 P=2 O=1 Token Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
53
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
54
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 Token a8 P=4 O=6 GlobalToken GL a3 P=4 O=1 V_C_H Token GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token R_T V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
55
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
56
A more complicated example
Demonstrating the backtracking mechanisms of AGP: a10 is prohibited to be assigned any value different from Red Execution continues as before, till a10 handles value changes from a1 and a9
57
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 B_Token Token a8 P=4 O=6 C={a9} GlobalToken GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 State after token had been regenerated in a10‘s group a10 tries to find consistent assignment: Checks first against a9, as it is in the highest priority group a9 eliminates all values Execution continues as before till a10 receives the global token
58
Phase 5: Search for solution
B_GlobalToken GlobalToken GL a10 P=2 O=1 a1 P=2 O=2 R_C_S a8 P=4 O=6 C={a9} GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token Token B_TOKEN R_T a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 a10 as a group leader: Requests conflict sets from all agents in its group a10 as an agent: Returns its conflict set Backtracks GlobalToken with C={a9}
59
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
60
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token Token B_Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
61
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token V_C Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
62
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 Token Token B_Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
63
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5 V_C
64
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 Token V_C Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
65
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token V_C Token a2 P=1 O=3 B_Token a6 P=5 O=2 a7 P=7 O=5
66
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C Token Token V_C V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
67
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 V_C V_C Token V_C a2 P=1 O=3 Token a6 P=5 O=2 a7 P=7 O=5
68
Phase 5: Search for solution
GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 GlobalToken V_C V_C GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token V_C V_C Token V_C a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
69
Phase 5: Search for solution
B_GlobalToken GL a10 P=2 O=1 a1 P=2 O=2 a8 P=4 O=6 Token R_C_S C={a1} GlobalToken B_Token V_C Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 V_C a4 P=2 O=1 V_C B_Token R_T V_C Token Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
70
Phase 5: Search for solution
V_C GL a10 P=2 O=1 a1 P=2 O=2 Token a8 P=4 O=6 GlobalToken Token Token GL a3 P=4 O=1 GL a5 P=11 O=4 a9 P=8 O=3 a4 P=2 O=1 Token a2 P=1 O=3 a6 P=5 O=2 a7 P=7 O=5
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.