Logics on Graph Properties and their Semantics A Survey Michele Borassi January 30, 2014
Contents . . 1 Introduction . . 2 Basic Graph Logic . . Hybrid Graph Logic 3 . . Monadic Second-Order Logic (MSO) 4 . . Functional Logic (if time allows) 5 . 6 Conclusions Michele Borassi 1/18
Networks in the Real World The collaboration network of all people who wrote an article with Erdös (source: http://www.orgnet.com/Erdos.html). Introduction Michele Borassi 2/18
Networks in the Real World The yeast protein interaction network (source: http://www.bordalierinstitute.com/target1.html). Introduction Michele Borassi 3/18
Analyzing Networks Some important properties and parameters: Connectivity: for each v , w , is there a path from v to w ? Diameter: maximum distance between two connected vertices. Colorability: is it possible to color the graph using k colors such that no two adjacent vertices have the same color? Planarity: can we draw the graph without crossing edges? Hamiltonicity: is there a cycle touching each vertex exactly once? . Example . ▶ Connected; . . . . . . 0 4 3 ▶ Diameter=3; ▶ 3-colorable; ▶ Planar; 5 1 2 ▶ not Hamiltonian. . Introduction Michele Borassi 4/18
How to Check those Properties? Diameter A different algorithm for each property. Hamiltonicity Planarity 3-colorability Connectivity Introduction Michele Borassi 5/18
One Algorithm to Rule Them All 1. Design a logic that is able to express those properties: a. syntax; b. semantics. 2. Design an efficient algorithm to verify queries in this logic (model-checker). Introduction Michele Borassi 6/18
One Algorithm to Rule Them All 1. Design a logic that is able to express those properties: a. syntax; b. semantics. 2. Design an efficient algorithm to verify queries in this logic (model-checker). . Example (a context where this paradigm works) . Labeled transition systems Graphs HML (with recursion) Graph logic Expresses almost all Not expressive enough interesting properties (extensions are needed) Polynomial-time verifiable Depends on the extension . Introduction Michele Borassi 6/18
One Algorithm to Rule Them All 1. Design a logic that is able to express those properties: a. syntax; b. semantics. 2. Design an efficient algorithm to verify queries in this logic (model-checker). . Example (a context where this paradigm works) . Labeled transition systems Graphs HML (with recursion) Graph logic Expresses almost all Not expressive enough interesting properties (extensions are needed) Polynomial-time verifiable Depends on the extension . Introduction Michele Borassi 6/18
Basic Graph Logic (BGL): Syntax Alphabet: ▶ logical symbols ∧ , ¬ , ⊤ ; ▶ symbols ♢ , ♢ + ; ▶ countable set of propositional symbols { p i } . . Definition ([BS09]) . ♢ + ϕ ϕ ::= p | ⊤ | ¬ ϕ | ϕ ∧ ϕ | ♢ ϕ | . . Example . ϕ = ♢¬ p (there is a neighbor of v not satisfying p ) ϕ = ♢ + ( p ∧ q ) (a vertex reachable from v satisfies p and q ). . Basic Graph Logic Michele Borassi 7/18
BGL: Denotational Semantics . Definition ([BS09]) . Let f : { p i } → P ( V ) be a function and v be a vertex. = p ⇔ v ∈ f ( p ) ; ▶ ( V , E , f , v ) | ▶ ( V , E , f , v ) | = ⊤ always; = ¬ ϕ ⇔ ( V , E , f , v ) ̸| = ϕ ; ▶ ( V , E , f , v ) | ▶ ( V , E , f , v ) | = ϕ ∧ ψ ⇔ ( V , E , f , v ) | = ϕ and ( V , E , f , v ) | = ψ ; = ♢ ϕ ⇔ ∃ wEv , w | = ϕ ; ▶ ( V , E , f , v ) | ▶ ( V , E , f , v ) | = ♢ + ϕ ⇔ ∃ wE + v , w | = ϕ ; = ϕ if for each f : { p i } → V , v ∈ V , ( V , E , f , v ) | = ϕ . ( V , E ) | . . Example . = ♢⊤ if there is no isolated vertex. ( V , E ) | = ( ♢ + p ) → ♢ p if it is a disjoint union of cliques. ( V , E ) | . Basic Graph Logic Michele Borassi 8/18
BGL: Model-Checking Algorithm Algorithm to verify if G = ( V , E ) satisfies ϕ at v 0 . 1 for each subformula ψ of ϕ in increasing order { for each v ∈ V { 2 if v satisfies ψ mark v with ψ ; 3 if v does not satisfy ψ mark v with ¬ ψ ; 4 } 5 6 } 7 if v 0 is marked with ϕ return true ; 8 if v 0 is marked with ¬ ϕ return true ; . Example ( ( V , E , f , 4) ̸| = ( ♢ + p ) → ♢ p ) . ψ := p . . . . . . 0 4 3 0 : ♢ + 3 : 4 : 1 : 5 p 1 2 5 : p 2 : . Basic Graph Logic Michele Borassi 9/18
BGL: Model-Checking Algorithm Algorithm to verify if G = ( V , E ) satisfies ϕ at v 0 . 1 for each subformula ψ of ϕ in increasing order { for each v ∈ V { 2 if v satisfies ψ mark v with ψ ; 3 if v does not satisfy ψ mark v with ¬ ψ ; 4 } 5 6 } 7 if v 0 is marked with ϕ return true ; 8 if v 0 is marked with ¬ ϕ return true ; . Example ( ( V , E , f , 4) ̸| = ( ♢ + p ) → ♢ p ) . ψ := ♢ + p . . . . . . 0 4 3 0 : ♢ + p 3 : ♢ + p 1 : ♢ + p 4 : ♢ + p 5 p 1 2 2 : ♢ + p 5 : p , ♢ + p . Basic Graph Logic Michele Borassi 9/18
BGL: Model-Checking Algorithm Algorithm to verify if G = ( V , E ) satisfies ϕ at v 0 . 1 for each subformula ψ of ϕ in increasing order { for each v ∈ V { 2 if v satisfies ψ mark v with ψ ; 3 if v does not satisfy ψ mark v with ¬ ψ ; 4 } 5 6 } 7 if v 0 is marked with ϕ return true ; 8 if v 0 is marked with ¬ ϕ return true ; . Example ( ( V , E , f , 4) ̸| = ( ♢ + p ) → ♢ p ) . ψ := ♢ p . . . . . . 0 4 3 0 : ♢ + p , ♢ p 3 : ♢ + p 1 : ♢ + p , ♢ p 4 : ♢ + p 5 p 1 2 2 : ♢ + p 5 : p , ♢ + p . Basic Graph Logic Michele Borassi 9/18
BGL: Model-Checking Algorithm Algorithm to verify if G = ( V , E ) satisfies ϕ at v 0 . 1 for each subformula ψ of ϕ in increasing order { for each v ∈ V { 2 if v satisfies ψ mark v with ψ ; 3 if v does not satisfy ψ mark v with ¬ ψ ; 4 } 5 6 } 7 if v 0 is marked with ϕ return true ; 8 if v 0 is marked with ¬ ϕ return true ; . Example ( ( V , E , f , 4) ̸| = ( ♢ + p ) → ♢ p ) . ψ := ( ♢ + p ) → ♢ p . . . . . . 0 4 3 0 : ♢ + p , ♢ p , ♢ + p → ♢ p 3 : ♢ + p 1 : ♢ + p , ♢ p , ♢ + p → ♢ p 4 : ♢ + p 5 p 1 2 2 : ♢ + p 5 : p , ♢ + p . Basic Graph Logic Michele Borassi 9/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Those graphs are equivalent? . . . . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Spoiler chooses sets of vertices p 1 , . . . , p n and puts a peeble on a vertex v in one graph at its choice. . . . p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Duplicator does the same in the other graph. . . . p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Spoiler performs one of the following moves: ▶ move a peeble to an adjacent vertex; ▶ move a peeble to a reachable vertex; . . . p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Duplicator performs the same move in the other graph; . . . p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . They repeat the third and fourth move until the peebled vertices have different properties p i . If this happens, Spoiler wins. . . . p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Another example. . . . . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Spoiler chooses sets of vertices p 1 , . . . , p n and puts a peeble on a vertex v in one graph at its choice. . . . . . . p 1 , p 2 p 3 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Duplicator does the same in the other graph. . . . . . . . p 1 , p 2 p 3 p 1 , p 2 p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Birational Equivalence Equivalence in BGL can be tested using games. . Example (for more background see [Imm99]) . Spoiler performs one of the following moves: ▶ move a peeble to an adjacent vertex; ▶ move a peeble to a reachable vertex; . . . . . . . p 1 , p 2 p 3 p 1 , p 2 p 1 p 1 . Winning strategy for Spoiler ⇔ BGL-distinguishable graphs. Basic Graph Logic Michele Borassi 10/18
Recommend
More recommend