22
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

Action Planning for Graph Transition Systems

  • Upload
    imelda

  • View
    25

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Action Planning for Graph Transition Systems

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

Action Planning for GTS - Edelkamp, Jabbar, Lafuente

2

Graph Transition Systems

Page 3: Action Planning for 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.

Page 4: Action Planning for Graph Transition Systems

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

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

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

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

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

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

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

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

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

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

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

Action Planning for GTS - Edelkamp, Jabbar, Lafuente

15

Part IIPDDL Encoding

Page 16: Action Planning for Graph Transition Systems

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

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

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

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

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

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

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.