230 likes | 365 Vues
This paper introduces a framework for Action Planning in Graph Transition Systems (GTS), defined as a pair <M, g>, where M represents a weighted transition system and g a partial graph morphism. The study focuses on modeling and verifying GTS, utilizing cost-algebraic heuristics to guide search processes. Applications are discussed across fields like biology and network protocols. An experimental analysis comparing planner performance with model checkers demonstrates the approach's effectiveness and scalability.
E N D
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 Action Planning for GTS - Edelkamp, Jabbar, Lafuente
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
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
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
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
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
link(u3 ) = u link(u) = u Following green links will take you to the object. Spanning Tree – defined by the link predicates. Mobile Object The Arrow Distributed Directory Protocol (Demmer and Herlihy) • Based on the idea of a trail of pointers • Distributed Network G = (V,E,w) v z u4 u1 u2 u3 u w o Action Planning for GTS - Edelkamp, Jabbar, Lafuente
Properties of the Protocol • Iflink(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). link(v) = w o v w Action Planning for GTS - Edelkamp, Jabbar, Lafuente
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
v z u4 u1 u2 u3 u w Working of the Protocol • v issues a request find(v) for the object. find(v) o move(v) u issues move(v) when it is finished with the object The object is moved to v following the shortest path in G (blue edges) A queue predicate is declared for v: queue(u) = v find(v) inserted in the pending buffer Action Planning for GTS - Edelkamp, Jabbar, Lafuente
v z u4 u1 u2 u3 u w Concurrent Requests • find(v) stuck in the communication channel. • w also issues a request in the meanwhile. queue(v) = w queue(z) = v find(z) w’s request would be diverted to v instead find(v) stuck in the com. channel find(v) z also issues a request All future requests will be forwarded to w o find(v) released queue(u) = z find(w) Object Path: u – z – v - w Action Planning for GTS - Edelkamp, Jabbar, Lafuente
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
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
Part IIPDDL Encoding Action Planning for GTS - Edelkamp, Jabbar, Lafuente
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
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
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
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
Performance: Model Checker(HSF-Spin) vs. Planner (FF) – Subgraph Matching Action Planning for GTS - Edelkamp, Jabbar, Lafuente
Scaling Behavior of the Model 1.9 GB Action Planning for GTS - Edelkamp, Jabbar, Lafuente
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. Action Planning for GTS - Edelkamp, Jabbar, Lafuente