290 likes | 390 Views
Detecting and measuring randomness in process-algebraic computations. Tommaso Bolognesi CNR - ISTI - Pisa. Abstract.
E N D
Detecting and measuring randomnessin process-algebraic computations Tommaso Bolognesi CNR - ISTI - Pisa T. Bolognesi - Randomness in Process algebraic computations
Abstract A technique is introduced for visually characterizing, by 2-D plots, the complexity of process-algebraic computations -- an area that has not been directly invested, so far, by NKS research. An extension of the familiar notion of functional derivation is proposed, that reveals some interesting properties of this class of plots. Pseudo-random features seem to emerge even for simple subsets of process algebra that are regarded as uncapable of universal computations, at least w.r.t. the standard notion of Turing universality. This apparently surprising result suggests to complement the visual inspection of process-algebraic diagrams with refined, numeric techniques for measuring their degree of randomness. In particular we explore the application of a density-dependent compressibility measure, based on pointer-encoding. We have tested this technique by applying it also to the family of elementary cellular automata, where it does indeed prove useful for discriminating between computations, most notably within Class 3. T. Bolognesi - Randomness in Process algebraic computations
Contents • Process Algebra (PA) as a citizen of the ‘World of Simple Programs’ • A set of universal PA operators and a useful 2D visual indicator • Emergent features from PA subclasses • particles - derivatives - exponential and fibonacci - emulation by compression - emergence of randomness • How much random? How much universal? • PEncode compression values for PA computations • Non universality of a PA class with randomness-capability • Next T. Bolognesi - Randomness in Process algebraic computations
Process Algebra(‘s) • Formal methods for Software Engineering • Models/languages for the specification and verification of concurrent systems (‘interaction’, ‘communication’) • CCS,ACP, CSP, LOTOS, … syntax semantics …its standard interpretation as a Labeled Transition System (LTS) A process definition … a “SOS” rules b c P := a; [b; stop [+] c; P] a b c behavior expression: an algebraic term built by operators a T. Bolognesi - Randomness in Process algebraic computations
Seven PA operators and their SOS rules… …yielding a special multiway, symbolic, non-local rewrite system easily coded in Mathematica:B ===[SOS rules]===> {(a1, B1), …, (an, Bn)} T. Bolognesi - Randomness in Process algebraic computations
PA under NKS light • Not a typical citizen of the ‘World of Simple Programs’ • Syntax: • more parameters than average NKS citizen • ==> huge spaces, hard to structure and to explore • Semantics: • several options (operational, denotational, axiomatic -- LTS, true concurrency, refusal sets…) • reactivity (interactive systems)/concurrency/nondeterminism • event-based and state-based • Some universality results available • Objectives: • find good 2D visual indicators • spot emergent features for different PA sub-classes • spotrandomnessbefore universality ? T. Bolognesi - Randomness in Process algebraic computations
Non standard interpretation of deterministic specs (no branching) a P := (a; a; P) |[a]| (a; P) a a behavior expression with parallel composition op. a operators in prefix form PA ‘plots’: different grey levels for different operators T. Bolognesi - Randomness in Process algebraic computations
Proof:PA spec using all 7 operators for emulating ECA 110 Theorem 1 - The chosen operator set is universal compression T. Bolognesi - Randomness in Process algebraic computations
Regular plots: costant or linear growth T. Bolognesi - Randomness in Process algebraic computations
Exponential growth - derivatives an = an-1 + an-1 (* Base 2 *) an = an-1 + an-2 (* Fibonacci *) analogy with (parallel) substitution systems [NKS, p. 82] T. Bolognesi - Randomness in Process algebraic computations
Emulation by compression (3) P := a[a[par[P, {a}, P]]] (4) P := a[a[par[a[a[P]], {a}, P]]] T. Bolognesi - Randomness in Process algebraic computations
first and second derivative (5) P := a[a[par[P, {a}, a[P]]]] T. Bolognesi - Randomness in Process algebraic computations
Quadratic growth (6) P := a[par[P, {a}, choice[Q, stop]]] Q := a[hideB[choice[choice[Q, Q], Q]]] derivatives (7) P := a[par[P, {a}, choice[Q, stop]]] Q := a[par[par[stop, {}, Q], {}, stop]] (8) P := par[a[Q], {b}, b[P]] Q := b[choice[stop, hideA[Q]]] (9) P := a[par[choice[Q, Q], {a}, P]] Q := a[par[stop, {}, Q]] (10) P := a[par[par[stop, {}, Q], {a}, P]] Q := par[a[par[stop, {}, Q]], {}, stop] T. Bolognesi - Randomness in Process algebraic computations
Emergence of randomness (?) (11) P := a[hideB[par[Q, {a}, hideB[Q]]]] Q := a[par[P, {}, stop]] (12) P := a[hideB[par[Q, {a}, Q]]] Q := a[par[P, {}, stop]] T. Bolognesi - Randomness in Process algebraic computations
(13) P := c[hideA[par[Q,{a,b,c,d},choice[Q,P]]]] Q := d[swap1[choice[P,stop]]] R := a[hideC[choice[c[P],P]]] (14) P := b[par[b[swap2[choice[stop,R]]],{a,b,d},P]] Q := b[hideA[choice[stop,P]]] R := d[swap2[par[hideC[P],{a,b,c,d},P]]], T. Bolognesi - Randomness in Process algebraic computations
(15) P := a[swap1[par[stop,{a,c},swap1[R]]]] Q := a[par[c[stop],{b},R]] R := a[par[P,{a},Q]] swap1 is a particular instance of the relabeling operator T. Bolognesi - Randomness in Process algebraic computations
How much random? How much universal? • Measure randomness via Pencode-compressibility (thanks to S. Wolfram!) • Find simplest PA subclass exhibiting maximum randomness (*), and • …question its universality -------------------------- (*) relative to selected measure and sample size T. Bolognesi - Randomness in Process algebraic computations
Pencode compression of spec (15) - 1st derivative - 23 rows row lengthcompress. value for equivalent (*) random row of referencecompression value for actual row … rows are bad (*) of same length, alphabet, and distribution T. Bolognesi - Randomness in Process algebraic computations
compress rows and columns of a square region of spec (15) = actual compression values = compression values of one equivalent random tuple of reference … columns are ‘good’ T. Bolognesi - Randomness in Process algebraic computations
Pencode compression of a fragment of spec (5) - 1st derivative = column lengths = actual compression values = averaged compression values of equivalent random tuple of reference … these columns are ‘good’ too… T. Bolognesi - Randomness in Process algebraic computations
How much random? How much universal? • spec(5) is based on a PA subset with only • action prefix a[…] • parallel par[{a},…,…] • instantiation P • Theorem 2: the above PA operator subset is not universal • even if we add the inaction operator (stop) • Proof • by induction on the structure of behavior expressions • shows that any such PA specification is equivalent to a context-free rewrite system, which cannot be universal [] T. Bolognesi - Randomness in Process algebraic computations
Conclusions • Useful 2D visual indicators for PA identified • similarity with NKS symbolic system / combinator diagrams [p. 103] • original notion of derivative • Emergence of randomness • spotted visually • measured by Pencode compressibility - for limited size data sets • Elements collected for questioning class 3 universality conjecture • but: is randomness-capability a clear cut property? • Next: • Other measures of randomness degree • Random-like features in derivative plots of context-free rewrite systems • Other notions of universality, e.g. intermediate degrees (Davis, Sutner - thanks to M. Szudzik!) • Maximize non-universal operator set in th. 2 T. Bolognesi - Randomness in Process algebraic computations
References • Bolognesi, T.: Process Algebra under the light of Wolfram’s NKS. In: A. Gordon and L. Aceto (editors) - Proceed. of APC 2005 - Electronic Notes in Theoretical Computer Science, Elsevier, 2005. • Davis, M.: The definition of universal Turing machines, Proc. of the American Mathematical Society, 8: 1125-1126, 1957. • Sutner, K.: Universality and cellular automata. In Proceedings of MCU 2005 - LNCS 3354, pp. 50-59, Springer-Verlag, 2005. • Wolfram, S.: A New Kind of Science, Wolfram Media, Inc., 2002. T. Bolognesi - Randomness in Process algebraic computations
Pencode compressibility in ECAs • C[Rand[Length[row], D[row]]] ± StDev D[row] C[row] rows rows rows • D[row] = (num. of 1’s in row)/Length[row] Density • C[row] = Length[PEncode[row]] Compression value • Rand[length, prob1] =random bit tuple of given length and probability of ‘1’ T. Bolognesi - Randomness in Process algebraic computations
ECA Class 3 - 12 symmetry families - 30 members Bold: density = 1/2; Italics: Pencode-ottimale <===> * = family multiple of 15 T. Bolognesi - Randomness in Process algebraic computations
Class 3 - 18,22,30, 45,60,90… T. Bolognesi - Randomness in Process algebraic computations
Class 3 - …105,106,122, 126,146,150 T. Bolognesi - Randomness in Process algebraic computations
remarks • ECA is pencode-optimal ===> ECA keeps = 1/2 • The converse is false (122, 126) • ECA is Pencode-optimal ===> the family includes a multiple of 15 • Overall, there are 66 Pencode-optimal ECAs, that include all 18 multiples of 15 T. Bolognesi - Randomness in Process algebraic computations
Class 4 - (54,147), (110,124,137,193) T. Bolognesi - Randomness in Process algebraic computations