action planning for graph transition systems
DESCRIPTION
Action Planning for Graph Transition Systems. Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto Lluch-Lafuente Department of Informatics, University of Pisa, Pisa, Italy. Graph Transition Systems. Graph Transition Systems. - PowerPoint PPT PresentationTRANSCRIPT
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.