1 / 23

Checking - Calculus Structural Congruence is Graph Isomorphism Complete

Checking - Calculus Structural Congruence is Graph Isomorphism Complete. Victor Khomenko 1 and Roland Meyer 2 1 School of Computing Science, Newcastle University, UK 2 Department of Computing Science, University of Oldenburg, Germany. - Calculus Syntax.

presta
Download Presentation

Checking - Calculus Structural Congruence is Graph Isomorphism Complete

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Checking -Calculus Structural Congruence is Graph Isomorphism Complete Victor Khomenko1 and Roland Meyer2 1School of Computing Science, Newcastle University, UK 2Department of Computing Science, University of Oldenburg, Germany

  2. -Calculus Syntax P ::=0| K⌊a1,…,an⌋| P + P| P | P|.P|a:P ::= a<b>| a(x)| No replication operator ‘!’ – using recursive definitions of the form K⌊a1,…,an⌋:=P instead Input prefix a(x).P and restriction x:Pbind name x in P NOCLASH assumption (can always be enforced by -conversion): • each name is bound at most once • the sets of bound and free names are disjoint

  3. Structural congruence The smallest congruence ≡ defined by the following axioms: α-conversion of bound names is permitted (α) + and | are associative and commutative (AC+), (AC|) 0 is a neutral element for + and | (0+), (0|) x:P ≡ P if x is not a free name of P (P) x:y:P ≡ y:x:P (C) x:(P | Q) ≡ P | x:Q if x is not a free name of P (SE|) Note:≡does not expand recursive calls

  4. SOS rules Not needed!

  5. Checking structural congruence • SC – the problem of checking structural congruence ≡ of two -Calculus terms • Repeatedly solved by -Calculus tools (e.g. the states of the system are the equivalence classes w.r.t. ≡) • hence the computational complexity of SCis of interest • reduction of SC to Graph Isomorphism (GI) problem allows for an efficient solution in practice, by employing a GI solver

  6. Graph isomorphism problem (GI) G1=(V1,E1) and G2=(V2,E2) are isomorphic if there is a 1-to-1 mapping :V1V2 such that {v,w}E1 iff {(v),(w)}E2 (a) = 1 (b) = 6 (c) = 8 (d) = 3 (g) = 5 (h) = 2 (i) = 4 (j) = 7 Source: Wikipedia

  7. The complexity of GI • Trivially in NP, but not believed to be NP-complete (as Stockmeyer’s polynomial hierarchy PH would then collapse) • No polynomial-time algorithm known • Can be solved very efficiently in practice • Complexity class GI – comprises problems Cook reducible to GI, e.g. Digraph Isomorphism (DGI), Labelled Digraph Isomorphism (LDGI) and many others

  8. GISC reduction (SC is GI-hard) • It is enough to reduce DGI to SC • Given a digraph G(V,E), where V={v1,…,vn}, build the term • The reduction uses a very restricted -Calculus fragment: • all the restrictions are in the beginning of the term • no +, prefixing operator ‘.’, actions, public channels • | can be replaced by + • calls to process identifiers can be replaced by actions, e.g., L⌊v,w⌋ can be replaced by v<w>.0 • Summary:, at least one of | or +, and some means of referring to bound names are enough to make the fragment GI-hard

  9. SCGI reduction (SC is in GI) • Reduce SC to the Term Equality problem (TE), which is known to be equivalent to GI[Basin’94]:Decide if two terms built using • quantifiers introducing bound names; some of these quantifiers may commute, i.e., θx:θy:t θy:θx:t • associative, commutative and associative-commutative binary operators • uninterpreted functional symbols and constants • the names bound by the quantifiers are equivalent modulo • associativity, commutativity and associativity-commutativity axioms for the corresponding operators • the commutativity of corresponding quantifiers • α-conversion of bound names

  10. SCTE reduction: main ideas Problem 1: the input prefixes are different from quantifiers in TE, and the individual prefixes do not directly correspond to constants or variables in TE Solution: substitute a<b> by s(a,b) and x(y).P by ρy:r(x,y).P, where ρ isa new non-commutative quantifier Problem 2: some axioms in the definition of ≡ have no analogs in TE, viz. (0+), (0|), (P), (SE|) Solution: translate the terms into the following normal form: • enforce the NOCLASH assumption • use (0+), (0|) and (P) to simplify the terms until none of these axioms applies • maximise the scope of restrictions using (SE|) (in the reverse direction) This normal form does not require these axioms to prove structural congruence (long and tedious proof in the paper)

  11. SCTE reduction (cont’d) The resulting terms comprise an instance of TE, where: • + and | are associative-commutative operators • s(_,_), r(_,_), the prefixing operator ‘.’ and the process identifiers are uninterpreted functional symbols •  is a commutative quantifier and ρ is a non-commutative quantifier • public channels,  and 0 are constants (since all the axioms for 0 no longer apply, it can be regarded as uninterpreted) • the names introduced by the restriction and input prefixes are the names bound by the quantifiers  and ρ

  12. SCTE reduction: an example x:a<x>.b(z).z<x>.0 | y:a(p).b<y>.0 | q:.0 | t:0 x:a<x>.b(z).z<x>.0 | y:a(p).b<y>.0 | .0 x:y:(a<x>.b(z).z<x>.0 | a(p).b<y>.0 | .0) x:y:(s(a,x).ρz:r(b,z).s(z,x).0 | ρp:r(a,p).s(b,y).0 | .0) ≡ (P), (0|) ≡ (SE|)  translation

  13. * 1 2 3 4 Gt4 Gt3 Gt2 Gt1 TELDGI reduction [Basin’94] • Build the parse tree of the TE term • Compound the vertices corresponding to associative and associative-commutative operations into vertices with larger out-degrees • Drop the arc labels for commutative operators (t1*t2)*(t3*t4) (* is not the top-level operator of t1-t4)

  14. θ Gt TELDGI reduction (cont’d) • Translating the quantifiers • Erase the names of bound variables (to express that they can be changed by α-conversion) • Drop the arc labels for commutative quantifiers for n=2 1 2 θx1:…:θxn:t (θ-quantification is not the top-level operation of t) x2 x1 x2

  15. TELDGI reduction: an example x:y:s(a,x).ρz:r(x,z).s(z,y).K(a,x) | .s(a, b).K(a,b) + .0 + .K(a,b) | ρp:r(a,p).s(p,c).ρq:r(c,q).s(q, a).0

  16. TELDGI reduction: optimisation-1 • Share sub-terms whose structural congruence is easy to check (e.g. restriction-free or trivial sub-terms only)

  17. TELDGI reduction: optimisation-2 • Eliminate ρ-vertices, together with the associated auxiliary vertices (their position can always be recovered)

  18. TELDGI reduction: optimisation-3 • After the common sub-terms are shared (and parallel arcs removed), the auxiliary vertices for  quantifiers have the in- and out-degree one, and can be contracted • Adjacent vertices corresponding to the prefixing operator ‘.’ can be compounded • The 0 vertex (unique after sharing common sub-terms) can be eliminated • The unlabelled vertices corresponding to the variables can be labelled by either ρ or  (depending on the type of the binding quantifier)

  19. The result of these optimisations Reduction from 60/63 down to 26/38 vertices/arcs

  20. Summary and extensions These results are not affected if either or both of the following axioms are added: x:(P + Q) ≡ P + x:Q if x is not a free name of P (SE+) x:.P ≡ .x:P if x does not occur in (SE)

  21. Conclusions • Showed that SCis a GI-complete problem • The result is robust: • holds for restricted fragments of -Calculus • holds for alternative definitions of ≡, viz. with (SE+) and/or (SE) • -Calculus fragments for which SC is in P have been identified • Practical algorithm for solving SC: • reduce to TE • use the optimised TELDGItranslation • use a GI solver

  22. Future work • Extension to the following axioms looks plausible: x:.P ≡ 0ifhas the form x<·> or x(·) (P) x:(P + Q) ≡ x:P + x:Q (D+) • Also generalisation of (P) to an axiom replacing any process that has no behaviour in any context by 0 Related work • Engelfriet and Gelsema • Gadducci • Romanel and Priami

  23. Thank you! Any questions?

More Related