Download presentation
Presentation is loading. Please wait.
Published byKrista Roake Modified over 10 years ago
1
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
2
2 -Calculus Syntax P ::= 0 | K ⌊ a 1,…,a n ⌋ | P + P | P | P | .P | a:P ::= a | a(x) | No replication operator ‘!’ – using recursive definitions of the form K ⌊ a 1,…,a n ⌋ :=P instead Input prefix a(x).P and restriction x:P bind 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
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
4 SOS rules Not needed!
5
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 SC is of interest reduction of SC to Graph Isomorphism (GI) problem allows for an efficient solution in practice, by employing a GI solver
6
6 Graph isomorphism problem (GI) Source: Wikipedia (a) = 1 (b) = 6 (c) = 8 (d) = 3 (g) = 5 (h) = 2 (i) = 4 (j) = 7 G 1 =(V 1,E 1 ) and G 2 =(V 2,E 2 ) are isomorphic if there is a 1-to- 1 mapping :V 1 V 2 such that {v,w} E 1 iff { (v), (w)} E 2
7
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
8 GI SC reduction ( SC is GI -hard) It is enough to reduce DGI to SC Given a digraph G(V,E), where V={v 1,…,v n }, 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.0 Summary:, at least one of | or +, and some means of referring to bound names are enough to make the fragment GI -hard
9
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
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 by s(a,b) and x(y).P by ρy:r(x,y).P, where ρ is a 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
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
12 SC TE reduction: an example x:a.b(z).z.0 | y:a(p).b.0 | q: .0 | t:0 x:a.b(z).z.0 | y:a(p).b.0 | .0 x: y:(a.b(z).z.0 | a(p).b.0 | .0) x: y:(s(a,x).ρz:r(b,z).s(z,x).0 | ρp:r(a,p).s(b,y).0 | .0) ≡ (SE | ) ≡ (P ), (0 | ) translation
13
13 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 1 2 3 4 * G t4 G t3 G t2 G t1 (t 1 *t 2 )*(t 3 *t 4 ) (* is not the top-level operator of t 1 -t 4 )
14
14 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 1 2 θ GtGt θx 1 :…:θx n :t (θ-quantification is not the top-level operation of t) x1x1 x2x2 x2x2 for n=2
15
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
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
17 TE LDGI reduction: optimisation-2 Eliminate ρ-vertices, together with the associated auxiliary vertices (their position can always be recovered)
18
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
19 The result of these optimisations Reduction from 60/63 down to 26/38 vertices/arcs
20
20 Summary and extensions These results are not affected if either or both of the following axioms are added: x:(P + Q) ≡ P + x:Qif x is not a free name of P(SE + ) x: .P ≡ . x:Pif x does not occur in (SE ) -Calculus fragmentComplexity of SC full -Calculus GI -complete, at least one of + or |, and some means of referring to restricted channels (i/o prefixes, process identifiers) GI -complete without both + and | in P without in P
21
21 Conclusions Showed that SC is 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 LDGI translation use a GI solver
22
22 Future work Extension to the following axioms looks plausible: x: .P ≡ 0 if 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
23 Thank you! Any questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.