graph automata
play

Graph Automata Jan Leike July 2nd, 2012 Motivation We want an - PowerPoint PPT Presentation

Graph Automata Jan Leike July 2nd, 2012 Motivation We want an automata model that Motivation We want an automata model that operates on graphs, generalizes nested words and tree automata, and has some nice properties. Outline 1.


  1. Graph Automata Jan Leike July 2nd, 2012

  2. Motivation We want an automata model that

  3. Motivation We want an automata model that ◮ operates on graphs, ◮ generalizes nested words and tree automata, and ◮ has some nice properties.

  4. Outline 1. Introduce graph automata and related concepts 2. Proof that their emptiness is decidable 1 3. Show applications 1 side conditions apply

  5. Definition of Graph Automata Let Σ be a finite alphabet and C be a class of Σ-labeled graphs. A graph automaton on C , GA = ( Q , ( T a ) a ∈ Σ , type ), where ◮ Q is a finite set of states, ◮ T a ⊂ Q × Q is a tiling relation for every a ∈ Σ, and ◮ type : Q → 2 Σ × 2 Σ is the type-relation.

  6. Definition of Graph Automata Let Σ be a finite alphabet and C be a class of Σ-labeled graphs. A graph automaton on C , GA = ( Q , ( T a ) a ∈ Σ , type ), where ◮ Q is a finite set of states, ◮ T a ⊂ Q × Q is a tiling relation for every a ∈ Σ, and ◮ type : Q → 2 Σ × 2 Σ is the type-relation. GA accepts a graph G = ( V , ( E a ) a ∈ Σ ) iff there is a map ρ : V → Q such that ◮ for every ( u , v ) ∈ E a , ( ρ ( u ) , ρ ( v )) ∈ T a and ◮ for every v ∈ V , type ( ρ ( v )) = ( In , Out ), where In = { a | ∃ u . ( u , v ) ∈ E a } and Out = { a | ∃ u . ( v , u ) ∈ E a } .

  7. Definition of Graph Automata Let Σ be a finite alphabet and C be a class of Σ-labeled graphs. A graph automaton on C , GA = ( Q , ( T a ) a ∈ Σ , type ), where ◮ Q is a finite set of states, ◮ T a ⊂ Q × Q is a tiling relation for every a ∈ Σ, and ◮ type : Q → 2 Σ × 2 Σ is the type-relation. GA accepts a graph G = ( V , ( E a ) a ∈ Σ ) iff there is a map ρ : V → Q such that ◮ for every ( u , v ) ∈ E a , ( ρ ( u ) , ρ ( v )) ∈ T a and ◮ for every v ∈ V , type ( ρ ( v )) = ( In , Out ), where In = { a | ∃ u . ( u , v ) ∈ E a } and Out = { a | ∃ u . ( v , u ) ∈ E a } . We restrict ourselves to graphs with at most one incoming and at most one outgoing a -labeled edge for each a ∈ Σ at any vertex.

  8. Example (simplified) Check a graph for 3-colorability. GA 3 = ( Q , ( T a ) a ∈ Σ ) where Σ = { a } , Q = { q 1 , q 2 , q 3 } and T a = { ( q i , q j ) | i � = j } . Example: 3-color the Petersen graph

  9. Example (proper) Check a graph for 3-colorability. GA 3 = ( Q , ( T a ) a ∈ Σ , type ) where Σ = { a 1 , . . . , a n } , Q = { q 1 , q 2 , q 3 } × (2 Σ × 2 Σ ) , T a = { (( q i , t ) , ( q j , t ′ )) | i � = j } for a ∈ Σ and type (( q , t )) = t for ( q , t ) ∈ Q . This restricts the graph to at most n incoming and outgoing edges at every vertex.

  10. Goal Theorem (Madhusudan and Parlato 2011 [2]) Let C be a class of MSO-definable Σ-labeled graphs. The problem of checking, given k ∈ N and a graph automaton GA , whether there is some G ∈ C of tree-width at most k that is accepted by GA , is decidable, and decidable in time | GA | O ( k ) .

  11. Monadic second order logic We use the following syntax for MSO, where x , y are variables, X is a set of vertices and E a is an a -labeled edge for a ∈ Σ. ϕ ::= x = y | E a ( x , y ) | x ∈ X | ϕ ∨ ϕ | ¬ ϕ | ∃ x .ϕ | ∃ X .ϕ

  12. Definition of tree-width The tree-decomposition of a graph G = ( V , E ) is a tuple ( T , ( B t ) t ∈ T ), where T = ( T , F ) is a tree and for every node t ∈ T , B t ⊆ V is a bag of vertices of G such that ◮ for every v ∈ V , there is a node t ∈ T such that v ∈ B t , ◮ for every edge ( u , v ) ∈ E , there is a node t ∈ T such that u , v ∈ B t , and ◮ if v ∈ B t and v ∈ B t ′ , for nodes t , t ′ ∈ T , then for every t ′′ that lies on the unique path connecting t and t ′ , v ∈ B t ′′ .

  13. Definition of tree-width The tree-decomposition of a graph G = ( V , E ) is a tuple ( T , ( B t ) t ∈ T ), where T = ( T , F ) is a tree and for every node t ∈ T , B t ⊆ V is a bag of vertices of G such that ◮ for every v ∈ V , there is a node t ∈ T such that v ∈ B t , ◮ for every edge ( u , v ) ∈ E , there is a node t ∈ T such that u , v ∈ B t , and ◮ if v ∈ B t and v ∈ B t ′ , for nodes t , t ′ ∈ T , then for every t ′′ that lies on the unique path connecting t and t ′ , v ∈ B t ′′ . The width of a tree decomposition is the size of the largest bag in it, minus one; i.e. max { # B t | t ∈ T } − 1. The tree-width of a graph is the smallest of the widths of any of its tree decompositions.

  14. Example stack one ∗ 1 2 3 4 5 6 7 stack two Input word for a 2-NWA.

  15. Example: Tree decomposition { 1 , 5 , 6 } 1 { 1 , 2 , 4 , 5 , 6 } { 1 , 5 , 6 } 2 6 { 2 , 3 , 4 } { 2 , 6 , 7 } 3 5 7 { 2 , 4 , 5 } { 3 , 4 } 4 Canonical tree decomposition of the graph. ( → Formal definition)

  16. Some facts about tree-width ◮ A graph without edges has tree-width 0. ◮ A tree has tree-width of at most 1. ◮ A graph with a k -clique has a tree-width of at least k − 1. ◮ A graph with n vertices has a minimal tree decomposition using at most n nodes. ◮ Many NP-complete problems become tractable on graphs of bounded tree-width. ◮ Computing tree-widths is NP-hard.

  17. Decidable emptiness Theorem (Madhusudan and Parlato 2011 [2]) Let C be a class of MSO-definable Σ-labeled graphs. The problem of checking, given k ∈ N and a graph automaton GA , whether there is some G ∈ C of tree-width at most k that is accepted by GA , is decidable, and decidable in time | GA | O ( k ) .

  18. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition.

  19. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node.

  20. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node. ◮ Bounded tree-width ⇒ O (2 k ) many labels suffice.

  21. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node. ◮ Bounded tree-width ⇒ O (2 k ) many labels suffice. ◮ Transform the MSO formula ϕ C defining the class of graphs C into a MSO formula � ϕ C about trees.

  22. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node. ◮ Bounded tree-width ⇒ O (2 k ) many labels suffice. ◮ Transform the MSO formula ϕ C defining the class of graphs C into a MSO formula � ϕ C about trees. ◮ Transform � ϕ C into a tree automaton TA C .

  23. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node. ◮ Bounded tree-width ⇒ O (2 k ) many labels suffice. ◮ Transform the MSO formula ϕ C defining the class of graphs C into a MSO formula � ϕ C about trees. ◮ Transform � ϕ C into a tree automaton TA C . ◮ For the graph automaton GA , define a tree automaton TA running over T .

  24. Decidable emptiness (proof sketch) Let G be an input graph and ( T , ( B t ) t ∈ T ) its tree decomposition. ◮ The node labels of T contain information on the the structure of the subgraph contained in the bag and which vertex also occurs at the parent node. ◮ Bounded tree-width ⇒ O (2 k ) many labels suffice. ◮ Transform the MSO formula ϕ C defining the class of graphs C into a MSO formula � ϕ C about trees. ◮ Transform � ϕ C into a tree automaton TA C . ◮ For the graph automaton GA , define a tree automaton TA running over T . ◮ There is a graph in C that is accepted by GA iff the intersection of TA and TA C is not empty.

  25. Labeling of the tree decomposition The labeling of tree decomposition captures the isomorphism type of the graph. For a node v ∈ T and its parent u ∈ T , let the bag B v = { v 1 , . . . , v k } and B u = { u 1 , . . . , u k } . The label for v will be (( L a ) a ∈ Σ , P , W ) where ◮ L a = { ( i , j ) | ( v i , v j ) ∈ E a } ◮ P = { ( i , j ) | v i = u j } and ◮ W = { ( i , j ) | v i = v j } . Note: Using more careful encoding, this can be achieved using O (2 k ) instead of O (2 k 2 ) many labels [2].

  26. Graph automaton as tree automaton For a graph automaton GA = ( Q , ( T a ) a ∈ Σ , type ) define a bottom-up tree automaton B = ( Labels , Q ′ , Q ′ , ∆) where Q ′ = ( Q × 2 Σ × 2 Σ ) k +1 and the transition rules ◮ check that the state at the node respects the tiling requirements T a and ◮ accumulate the In and Out sets for every vertex and cross-references them with the constraints in type .

  27. Applications

  28. Nested word automata ◮ Nested words have a tree-width of at most 2. ◮ Therefore NWAs have decidable emptiness. 1 2 8 9 3 4 7 5 6 a nested word

Recommend


More recommend