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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend