Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science...
-
Upload
bertina-lawrence -
Category
Documents
-
view
215 -
download
0
Transcript of Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science...
Action Planning for Graph Transition
SystemsStefan Edelkamp
Shahid Jabbar
Computer Science DepartmentUniversity of Dortmund, Dortmund, Germany
Alberto Lluch-LafuenteDepartment of Informatics, University of Pisa, Pisa, Italy
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
2
Graph Transition Systems
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
3
Graph Transition Systems A graph transition system (GTS) is a pair <M,g>,
where M is a weighted transition system and g is a partial graph morphism.
The weights of a transition system is modeled by a generalize cost-algebra based on monoids structure. See “Edelkamp, Jabbar, and Lafuente, Cost-Algebraic Heuristic
Search, in Proc. of 20th National Conference on Artificial Intelligence (AAAI’05), July 2005, Pittsburgh, PA. (to appear).” for more details.
Applications: Biology – Changing molecular structure, Networks – Clients appearing and disappearing.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
4
Objectives How to model and check GTS?
How to encode the application of partial graph morphism?
How to deal with flexible goals? How to guide the search process?
Solution: Model the problem of checking graph transition systems in PDDL and use planning heuristics to guide the search process.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
5
Outline Arrow Distributed Directory Protocol – An
example of GTS. PDDL Encoding of Arrow Distributed
Directory Protocol. Experimental Results
Performance: Planner vs. Model Checker Scaling behavior of the model
Conclusions
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
6
Directory Service Protocol Assume a distributed environment. Clients: The nodes in the distributed network
e.g., different computers. Mobile Objects:
Could be a file, a process or any other data structure. It can be transmitted over a network from one node to
another. It “lives” only on one node at a time.
Purpose of a Directory Service: Navigation: To provide the ability to locate a mobile
object. Synchronization: To ensure mutual exclusion in the
presence of concurrent requests.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
7
Usual Approach “home”-based structure. Each object has its own “home”. “home” keeps track of the object’s location. All requests are send to the “home”. “home” sends a message to the client currently
holding the object. That client forwards the object to the requesting
client. Bottleneck: Communication costs between
“home” and clients.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
8
The Arrow Distributed Directory Protocol (Demmer and Herlihy) Based on the idea of a trail of pointers Distributed Network G = (V,E,w)
z
u4
u
v
w
u3 u2u1
Mobile Object
Spanning Tree – defined by the link
predicates.
link(u3 ) = u
link(u) = u Following green links will take you to the
object.o
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
9
Properties of the Protocol If link(v) = v (self-loop) => The object either
resides at v, or will soon reside at v. Else, the object resides some where in the
region of the directory containing link(v).
v w
link(v) = w o
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
10
Messages and Constructs link(u,v): Defines the spanning tree. find(v): Request for the object issued by the node
v. move(v): The object is free to be moved to v. It
travels with the object, following the links in the original graph.
pending(u,v): Every link(u,v) has a buffer that keeps the request. Not a FIFO, but reliable.
queue(u) = {v, NULL}: A predicate attached with every node. Tells that u has to transfer the object to v when it is finished with the object.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
11
Working of the Protocol v issues a request find(v) for the object.
z
u4
u
v
w
u3 u2u1
find(v)
u issues move(v) when it is
finished with the object
o
find(v) inserted in the pending buffer
move(v)
A queue predicate is declared for v:
queue(u) = v
The object is moved to v following the shortest path in G (blue edges)
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
12
Concurrent Requests find(v) stuck in the communication channel. w also issues a request in the meanwhile.
find(v) stuck in
the com.
channel
z
u4
u
v
w
u3 u2u1
find(w)
w’s request would be
diverted to v instead
queue(v) = w
z also issues a request
find(z)
oqueue(u) = z
find(v) released
find(v)
queue(z) = v
All future requests will be
forwarded to wObject Path: u – z – v - w
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
13
Advantages A distributed queue structure. Object request messages travel the
shortest path in the spanning tree and not in the original graph.
The queue structure ensures locality: all requests will go directly to the object or to another terminal. Do not have to pass through a “home”.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
14
Properties to Verify / Types of Goals Can a particular node u be a terminal? (Subgraph
matching)
Can a particular node u be a terminal and all arrow paths end at u? (Graph Matching)
Can an arbitrary node ui be a terminal? (Subgraph isomorphism)
Can an arbitrary node ui be a terminal and all arrow paths end at ui? (Graph isomorphism)
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
15
Part IIPDDL Encoding
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
16
PDDL Encoding: Morphism as PDDL Actions A morphism operation that inverses an
edge can easily be defined as a very simple action.
(:action morphism-inverse:parameters(?u ?v - node):precondition
(link ?u ?v):effect
(and (not (link ?u ?v)) (link ?v ?u)))
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
17
PDDL Encoding of Goals: Graph and Subgraph Matching. Subgraph and graph matching are easy to
encode. Encode the goal graph with (link u v) and owner with (owner w) predicates.
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
18
PDDL Encoding of Goals: Subgraph Isomorphism Goals are strictly more expressive. Need an existential quantification over all
the nodes to be described. ADL (Pednault 1989)
(:goal <existential-expression> <goal-condition>)
Using ADL, subgraph isomorphism can be encoded as (:goal (exists (?n - node) (owner ?n)))
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
19
PDDL Encoding of Goals: Graph Isomorphism Existential quantifier can again be used ..
(:goal (exists ?v0 ?v1 ?v2 ?v3 ?v4
?v5 - node)
(and (link ?v0 ?v0) (link ?v1 ?v0)
(link ?v2 ?v0) (link ?v3 ?v1)
(link ?v4 ?v0) (link ?v5 ?v4)
(owner ?v3)))
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
20
Performance: Model Checker(HSF-Spin) vs. Planner (FF) – Subgraph MatchingStar DFS BFS + hf EHC + RPHStored nodes 6,253 30 6
Sol. length 134 58 5
Chain DFS BFS + hf EHC + RPHStored nodes 78,112 38 6
Sol. length 118 74 5
Tree DFS BFS + hf EHC + RPHStored nodes 24,875 34 6
Sol. length 126 66 5
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
21
Scaling Behavior of the ModelTopology Nodes Stored Plan Length
Star
10 6 5
25 7 6
50 7 6
70 7 6
Chain
10 6 5
25 33 28
50 100 73
70 138 101
Tree
10 6 5
25 22 16
50 47 25
70 61 311.9 GB
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
22
Conclusions First such efforts to model GTS with PDDL. Advantages: Planning heuristics can be
employed directly. Successfully modeled Arrow Distributed
Directory Protocol. Still some limitations in modeling the full-
fledged specification of GTS. Dynamic insertions and deletions of nodes and
edges. Can be circumvented to some extent by using
a pool of available objects.