Uniformisation of Two-Way Transducers Rodrigo de Souza UFRPE – Recife – Brazil Supported by CAPES Foundation
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b
A two-way transducer − → ← − − → a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b An input word ⊲ aababaa ⊳
A two-way transducer − → ← − − → a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b The initial configuration ⊲ paababaa ⊳
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − → − b | b b | 1 b | b A computation − → a ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ The output : a
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b A computation − → − → a a ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ The output : aa
A two-way transducer − → ← − → − a | a a | 1 a | a ← − − → b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − → − b | b b | 1 b | b A computation ← − − → − → a a b ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ − − → ⊲ aqababaa ⊳ The output : aab
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b A computation ← − − → − → a a b ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ − − → ⊲ aqababaa ⊳ ← − ← − − → − → a a a ⊲ − − → ⊲ qaababaa ⊳ − − → q ⊲ aababaa ⊳ − − → ⊲ raababaa ⊳ − − → ⊲ arababaa ⊳ − → → − − → → − a b a b − − → ⊲ aarbabaa ⊳ − − → ⊲ aabrabaa ⊳ − − → ⊲ aabarbaa ⊳ − − → ⊲ aababraa ⊳ − → − → → − a a a − − → ⊲ aababara ⊳ − − → ⊲ aababaar ⊳ − − → ⊲ aababaa ⊳ r The output : aabaababaa
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b Another computation – same input − → → − − → a a b ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ − − → ⊲ aabpabaa ⊳ ← − ← − → − ← − a b a b − − → ⊲ aabapbaa ⊳ − − → ⊲ aabqabaa ⊳ − − → ⊲ aaqbabaa ⊳ − − → ⊲ aqababaa ⊳ → − ← − ← − → − a a a ⊲ − − → ⊲ qaababaa ⊳ − − → q ⊲ aababaa ⊳ − − → ⊲ raababaa ⊳ − − → ⊲ arababaa ⊳ − → → − − → − → a b a b − − → ⊲ aarbabaa ⊳ − − → ⊲ aabrabaa ⊳ − − → ⊲ aabarbaa ⊳ − − → ⊲ aababraa ⊳ − → − → − → a a ⊳ − − → ⊲ aababara ⊳ − − → ⊲ aababaar ⊳ − − → ⊲ aababaa ⊳ r
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − → − b | b b | 1 b | b Another computation – same input − → − → − → a a b ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ − − → ⊲ aabpabaa ⊳ ← − ← − → − ← − a b a b − − → ⊲ aabapbaa ⊳ − − → ⊲ aabqabaa ⊳ − − → ⊲ aaqbabaa ⊳ − − → ⊲ aqababaa ⊳ → − ← − ← − → − a a a ⊲ − − → ⊲ qaababaa ⊳ − − → q ⊲ aababaa ⊳ − − → ⊲ raababaa ⊳ − − → ⊲ arababaa ⊳ − → − → − → − → a b a b − − → ⊲ aarbabaa ⊳ − − → ⊲ aabrabaa ⊳ − − → ⊲ aabarbaa ⊳ − − → ⊲ aababraa ⊳ − → → − − → a a ⊳ − − → ⊲ aababara ⊳ − − → ⊲ aababaar ⊳ − − → ⊲ aababaa ⊳ r The output : aababaababaa
A two-way transducer − → ← − → − a | a a | 1 a | a ← − → − b | b ⊲ | 1 ⊲ ⊳ p q r → − ← − − → b | b b | 1 b | b Another computation – same input − → − → − → a a b ⊲ paababaa ⊳ − − → ⊲ apababaa ⊳ − − → ⊲ aapbabaa ⊳ − − → ⊲ aabpabaa ⊳ ← − ← − → − ← − a b a b − − → ⊲ aabapbaa ⊳ − − → ⊲ aabqabaa ⊳ − − → ⊲ aaqbabaa ⊳ − − → ⊲ aqababaa ⊳ → − ← − ← − − → a a a ⊲ − − → ⊲ qaababaa ⊳ − − → q ⊲ aababaa ⊳ − − → ⊲ raababaa ⊳ − − → ⊲ arababaa ⊳ − → → − → − − → a b a b − − → ⊲ aarbabaa ⊳ − − → ⊲ aabrabaa ⊳ − − → ⊲ aabarbaa ⊳ − − → ⊲ aababraa ⊳ − → − → → − a a ⊳ − − → ⊲ aababara ⊳ − − → ⊲ aababaar ⊳ − − → ⊲ aababaa ⊳ r The output : aababaababaa The behaviour : u → { xbu | xb prefix of u }
Sequential ? An (one-way) automaton... a c b p q b
Sequential ? An (one-way) automaton... a c b p q b
Sequential ? An (one-way) automaton... ... and a deterministic equivalent one a c a b c b b c p q 10 11 01 a b
Sequential ? An (one-way) automaton... ... and a deterministic equivalent one a c a b c b b c p q 10 11 01 a b One-way automata (Rabin–Scott 1959) Subset construction Two-way automata (Rabin–Scott 1959, Shepherdson 1959) Crossing sequence construction
Sequential ? A transducer for a function f ... a | a a | 1 b | 1 p q ( uba n ) f = u b | b
Sequential ? A transducer for a function f ... a | a a | 1 b | 1 p q ( uba n ) f = u b | b
Sequential ? A transducer for a function f ... ... which is not sequential a | a a | 1 || ba n , ba n b || = 1 b | 1 p q || ( ba n ) f , ( ba n b ) f || = n + 1 b | b Functional one-way transducers (Choffrut 1977) f sequential ⇔ f uniformly divergent
Sequential ? Functional 2 -way transducers (Engelfriet–Hoogeboom 2001) Via MSO definable graph relations
Sequential ? Functional 2 -way transducers (Engelfriet–Hoogeboom 2001) Via MSO definable graph relations Complexity ?
Sequential ? Functional 2 -way transducers (Engelfriet–Hoogeboom 2001) Via MSO definable graph relations Complexity ? Functional 2 -way transducers (RdS 2013) Via structural constructions
Sequential ? Functional 2 -way transducers (Engelfriet–Hoogeboom 2001) Via MSO definable graph relations Complexity ? Functional 2 -way transducers (RdS 2013) Via structural constructions 4-exp
Our true result Theorem (Kobayashi 1969) r one-way transducer admits uniformisation f functional unambigu- ous transducer
Our true result Theorem (Kobayashi 1969) r one-way transducer admits uniformisation f functional unambigu- ous transducer dom r = dom f , f ⊆ r
Our true result Theorem (Kobayashi 1969) r one-way transducer admits uniformisation f functional unambigu- ous transducer dom r = dom f , f ⊆ r Theorem (RdS 2013) r two-way transducer admits uniformisation f sequential two-way transducer
Our true result Theorem (Kobayashi 1969) r one-way transducer admits uniformisation f functional unambigu- ous transducer dom r = dom f , f ⊆ r Theorem (RdS 2013) r two-way transducer admits uniformisation f sequential two-way transducer uniformisation construction functional two-way equivalent sequential �
Outline of the proof U = T ×L×R L R T A S B
Outline of the proof U = T ×L×R L R T A S B underlying input automaton of T
Outline of the proof U = T ×L×R L R T A S B folding of A
Outline of the proof U = T ×L×R L R T A S B Proposition successful computations one-way S ↔ successful loop-free computations two-way A
Outline of the proof U = T ×L×R L R T A S B lexicographic covering of S (JS & RdS 2007)
Outline of the proof U = T ×L×R L R T A S B Proposition successful computations unambiguous one-way B ։ successful loop-free computations A
Outline of the proof U = T ×L×R L R T A S B left (Hopcroft & Ullman 1967) / right pathfinders for B
Outline of the proof U = T ×L×R L R T A S B T + L + R = sequential bidirectional reading folded computations
Outline of the proof U = T ×L×R L R T A S B Main result sequential two-way U realises an uniformisation of T
Outline of the proof U = T ×L×R L R T A S B The folding construction
Recommend
More recommend