action planning for graph transition systems stefan edelkamp shahid jabbar computer science...
TRANSCRIPT
![Page 1: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/1.jpg)
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
![Page 2: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/2.jpg)
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
2
Graph Transition Systems
![Page 3: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/3.jpg)
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.
![Page 4: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/4.jpg)
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.
![Page 5: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/5.jpg)
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
![Page 6: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/6.jpg)
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.
![Page 7: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/7.jpg)
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.
![Page 8: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/8.jpg)
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
![Page 9: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/9.jpg)
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
![Page 10: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/10.jpg)
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.
![Page 11: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/11.jpg)
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)
![Page 12: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/12.jpg)
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
![Page 13: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/13.jpg)
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”.
![Page 14: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/14.jpg)
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)
![Page 15: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/15.jpg)
Action Planning for GTS - Edelkamp, Jabbar, Lafuente
15
Part IIPDDL Encoding
![Page 16: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/16.jpg)
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)))
![Page 17: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/17.jpg)
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.
![Page 18: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/18.jpg)
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)))
![Page 19: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/19.jpg)
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)))
![Page 20: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/20.jpg)
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
![Page 21: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/21.jpg)
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
![Page 22: Action Planning for Graph Transition Systems Stefan Edelkamp Shahid Jabbar Computer Science Department University of Dortmund, Dortmund, Germany Alberto](https://reader030.vdocuments.us/reader030/viewer/2022032707/56649e035503460f94aedc53/html5/thumbnails/22.jpg)
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.