analysis of algorithms for membership problems on trace
play

Analysis of algorithms for membership problems on trace languages - PowerPoint PPT Presentation

Analysis of algorithms for membership problems on trace languages Massimiliano Goldwurm Dipartimento di Matematica, Universit` a degli Studi di Milano L.I.P .N., Universit e Paris XIII, 26 November 2019 [BMS82] Bertoni, Mauri, Sabadini.


  1. Analysis of algorithms for membership problems on trace languages Massimiliano Goldwurm Dipartimento di Matematica, Universit` a degli Studi di Milano L.I.P .N., Universit´ e Paris XIII, 26 November 2019 [BMS82] Bertoni, Mauri, Sabadini. Equivalence and membership problems for ... . Proc. 9th ICALP , 1982. . . . . . . [AG98] Avellone, G., Analysis of algorithms for ... . RAIRO Theoretical Informatics and Applications 32: 141–152, 1998. [GS00] G., Santini. Clique polynomials have a unique root of smallest modulus. Inform.Proc.Lett. 75, 2000 M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  2. Basic definitions Trace Monoids Free partially commutative monoids [Cartier-Foata ’69, Mazurkiewicz ’77, Zielonka ’87, ..., Diekert] � Σ finite alphabet concurrent alphabet (Σ , C ) C ⊆ Σ × Σ irreflexive, symmetric rel. ✓✏ ✓✏ b c ✒✑ ✒✑ independence graph (Σ , C ) = ✓✏ ✓✏ a d ✒✑ ✒✑ ✓✏ ✓✏ b c ✒✑ ✑ ✒✑ ✑✑✑✑ ◗◗◗◗ (Σ , C c ) = dependence graph ✓✏ ✓✏ ◗ a d ✒✑ ✒✑ M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  3. Basic definitions Definitions given (Σ , C ) � ∀ x , y ∈ Σ ∗ relation ∼ w = xaby ∼ xbay = z ∀ ( a , b ) ∈ C relation ≃ C reflexive and transitive closure of ∼ ≃ C is a congruence over Σ ∗ x ≃ C z , y ≃ C w ⇒ xy ≃ C zw M (Σ , C ) = Σ ∗ / ≃ C trace monoid (f.p.c.m.) ∀ x , y ∈ Σ ∗ [ x ] · [ y ] = [ xy ] , trace, t = [ x ] ∀ x ∈ Σ ∗ t ∈ M (Σ , C ) T ⊆ M (Σ , C ) trace language where L ⊆ Σ ∗ T = [ L ] = { [ x ] : x ∈ L } , Lin ( T ) = { x ∈ Σ ∗ : [ x ] ∈ T } , T ⊆ M (Σ , C ) M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  4. Basic definitions Trace as partially ordered set: ∀ t ∈ M (Σ , C ) � PO ( t ) = x x ∈ t where set(PO ( t ) ) = { σ i | i -th occurrence of σ in t } Examples ❦ ❦ b c (Σ , C ) = ❦ ❦ a d t = [ bacda ] t = { bacda , badca , abdca , abcda , acbda } ✲ a 1 c 1 ❍❍ ❥ a 2 ❅ t = [ bacda ] PO ( t ) = ❘ d 1 ✟✟ ✯ ❅ ✲ b 1 T = [( ab ) ∗ ] T = { t ∈ M (Σ , C ) | t = [ a n b n ] , n ∈ N } Lin ( T ) = { x ∈ { a , b } ∗ | | x | a = | x | b } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  5. Basic definitions Heaps of pieces [Viennot ’85] ❦ ❦ ❦ ❦ b c b c ❅ � (Σ , C c ) = (Σ , C ) = � ❅ ❦ ❦ ❦ ❦ a d a d clique cover of (Σ , C c ) = {{ a , c } , { a , d } , { b , d }}  σ    ∀ σ ∈ Σ − → ❄ ❄   { . . . , σ, . . . } · · · { . . . , σ, . . . }  b c d a t = [ bacdadcb ] − → c d a b { a , c } { a , d } { b , d } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  6. Basic definitions Special cases M (Σ , ∅ ) = Σ ∗ 1) free monoid C = ∅ 2) totally commutative monoid Σ = { a 1 , . . . , a m } , C = { ( a i , a j ) | i � = j } , graph (Σ , C ) complete M (Σ , C ) ≡ ( a ∗ 1 a ∗ 2 · · · a ∗ m ) t = [ a i 1 1 a i 2 2 · · · a i m m ] for i 1 , . . . , i m ∈ N 3) direct product of free monoids, C c transitive k � (Σ , C ) complete k -partite � � Σ = Σ i (disjoint), C = (Σ i × Σ j ) , (Σ , C c ) union of k cliques i = 1 i � = j M (Σ , C ) ≡ Σ ∗ 1 × Σ ∗ 2 × . . . × Σ ∗ k ✲ ✲ ✲ . . . a i 1 a 1 a 2 ✲ ✲ ✲ . . . b i 2 b 1 b 2 t = [ x 1 x 2 · · · x k ] , x i ∈ Σ ∗ i , PO ( t ) = · · · · · · ✲ ✲ ✲ . . . c i k c 1 c 2 M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  7. Basic definitions 4) free product of commutative monoids, C transitive k k � � Σ = Σ j (disjoint) C = (Σ j × Σ j ) , j = 1 j = 1 � (Σ , C ) union of k cliques (Σ , C c ) complete k -partite M (Σ , C ) ≡ ( M (Σ 1 , C 1 ) , M (Σ 2 , C 2 ) , . . . , M (Σ k , C k )) ∗ � each γ i is an antichain, γ i ⊆ Σ j i t = [ γ 1 ][ γ 2 ] · · · [ γ n ] , where γ i × γ i + 1 ⊂ C c if j i � = j i + 1 ✲ ✲ ✲ . . . PPPP PPPP PPPP c 1 a 1 ✏✏✏✏ ✶ b 1 ✏✏✏✏ ✶ ✏✏✏✏ ✶ ❅ ❅ ❅ q q q ✲ ✒ � � ✒ ✲ ✲ ✒ � . . . c 2 a 2 ❅ b 2 ❅ ❅ ◗◗◗◗ ◗◗◗◗ ◗◗◗◗ ✑✑✑✑ � ✸ ✑✑✑✑ � ✸ ✑✑✑✑ � ✸ PO ( t ) = ❅ ❅ ❅ · · · � · · · � � ❅ ❘ ❘ ❅ ❘ c j n ❅ s s s � ✲ � ✲ � ✲ . . . a j 1 b j 2 M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  8. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  9. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  10. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  11. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  12. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  13. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  14. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  15. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

  16. Prefixes Prefixes of traces Definition u prefix of t ∈ M (Σ , C ) if ∃ v s.t. t = u · v t = [ xy ] ⇒ t = [ x ] · [ y ] ⇒ [ x ] prefix of t Example ❦ ❦ b c (Σ , C ) = ❦ ❦ a d ✲ c 1 ✲ a 2 a 1 ❅ � ✒ t = [ abcda ] ≡ ❅ ❘ � ✲ d 1 b 1 Pre ( t ) = { ε, [ a ] , [ b ] , [ ab ] , [ ac ] , [ abc ] , [ abd ] , [ abcd ] , [ abcda ] } M. Goldwurm Analysis of algorithms for membership to trace languages LIPN, November 2019

Recommend


More recommend