extracting semi dyck words from fsa using the cyk
play

Extracting semi-Dyck words from fsa using the CYK algorithm Thomas - PowerPoint PPT Presentation

Extracting semi-Dyck words from fsa using the CYK algorithm Thomas Ruprecht November 30, 2018 Outline Motivation Finding appropriate restrictions CYK algorithm for extraction of semi-Dyck words goal: extract semi-Dyck words from reg.


  1. Extracting semi-Dyck words from fsa using the CYK algorithm Thomas Ruprecht November 30, 2018

  2. Outline Motivation Finding appropriate restrictions CYK algorithm for extraction of semi-Dyck words

  3. β–Ά goal: extract semi-Dyck words from reg. language 𝑆 ∩ β„Ž βˆ’1 (π‘₯) β–Ά ChoSchΓΌ parsing [Hul11]: β–Ά def. of 𝑆 and 𝐸 using grammar imply β–Ά bijection between 𝑆 ∩ 𝐸 and derivation trees β–Ά bijection between 𝑆 ∩ 𝐸 ∩ β„Ž βˆ’1 (π‘₯) and derivation trees for π‘₯ Motivation: Chomsky-SchΓΌtzenberger parsing such that 𝑀 = β„Ž(𝑆 ∩ 𝐸) β–Ά ChoSchΓΌ theorem [CS63]: decompose context-free language into β–Ά reg. language 𝑆 β–Ά alph. string homomorphism β„Ž β–Ά semi-Dyck language D

  4. β–Ά goal: extract semi-Dyck words from reg. language 𝑆 ∩ β„Ž βˆ’1 (π‘₯) Motivation: Chomsky-SchΓΌtzenberger parsing such that 𝑀 = β„Ž(𝑆 ∩ 𝐸) β–Ά ChoSchΓΌ theorem [CS63]: decompose context-free language into β–Ά reg. language 𝑆 β–Ά alph. string homomorphism β„Ž β–Ά semi-Dyck language D β–Ά ChoSchΓΌ parsing [Hul11]: β–Ά def. of 𝑆 and 𝐸 using grammar imply β–Ά bijection between 𝑆 ∩ 𝐸 and derivation trees β–Ά bijection between 𝑆 ∩ 𝐸 ∩ β„Ž βˆ’1 (π‘₯) and derivation trees for π‘₯

  5. Motivation: Chomsky-SchΓΌtzenberger parsing such that 𝑀 = β„Ž(𝑆 ∩ 𝐸) β–Ά ChoSchΓΌ theorem [CS63]: decompose context-free language into β–Ά reg. language 𝑆 β–Ά alph. string homomorphism β„Ž β–Ά semi-Dyck language D β–Ά ChoSchΓΌ parsing [Hul11]: β–Ά def. of 𝑆 and 𝐸 using grammar imply β–Ά bijection between 𝑆 ∩ 𝐸 and derivation trees β–Ά bijection between 𝑆 ∩ 𝐸 ∩ β„Ž βˆ’1 (π‘₯) and derivation trees for π‘₯ β–Ά goal: extract semi-Dyck words from reg. language 𝑆 ∩ β„Ž βˆ’1 (π‘₯)

  6. β–Ά relies on recursive structure of Dyck words: concatenation and bracketing β–Ά dynamic programming: store intermediate results (backlinks) for state β–Ά backlinks are equivalent to reduct grammar [BPS61] if (π‘ž, π‘Ÿ) = (π‘Ÿ init , π‘Ÿ fjn ) then yield 𝑀 𝐡 βˆͺ= {(𝑝, πœπ‘€πœ, 𝑠) ∣ (𝑝, 𝜏, π‘ž), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ} βˆ– 𝐷 8: 𝐡 βˆͺ= {(𝑝, 𝑣𝑀, π‘Ÿ) ∣ (𝑝, 𝑣, π‘ž) ∈ 𝐷} βˆ– 𝐷 7: 𝐡 βˆͺ= {(π‘ž, 𝑀π‘₯, 𝑠) ∣ (π‘Ÿ, π‘₯, 𝑠) ∈ 𝐷} βˆ– 𝐷 6: Motivation: existing algorithm to extract Dyck words [Hul11] Require: fjnite state automaton 𝒝 = (𝑅, 𝛡 βˆͺ 𝛡, π‘Ÿ init , π‘Ÿ fjn , π‘ˆ) 𝐡 βˆ–= {(π‘ž, 𝑀, π‘Ÿ)}; 𝐷 βˆͺ= {(π‘ž, 𝑀, π‘Ÿ)} 4: for (π‘ž, 𝑀, π‘Ÿ) ∈ 𝐡 do 3: 𝐡, 𝐷 ∢= {𝑀 ∣ (π‘ž, 𝜏, π‘Ÿ), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ}, βˆ… 2: 1: procedure extractDyck ( 𝒝 ) Ensure: enumerate words in L (𝒝) ∩ D (𝛡) 5:

  7. β–Ά dynamic programming: store intermediate results (backlinks) for state β–Ά backlinks are equivalent to reduct grammar [BPS61] if (π‘ž, π‘Ÿ) = (π‘Ÿ init , π‘Ÿ fjn ) then yield 𝑀 𝐡 βˆͺ= {(𝑝, πœπ‘€πœ, 𝑠) ∣ (𝑝, 𝜏, π‘ž), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ} βˆ– 𝐷 8: 𝐡 βˆͺ= {(𝑝, 𝑣𝑀, π‘Ÿ) ∣ (𝑝, 𝑣, π‘ž) ∈ 𝐷} βˆ– 𝐷 7: 𝐡 βˆͺ= {(π‘ž, 𝑀π‘₯, 𝑠) ∣ (π‘Ÿ, π‘₯, 𝑠) ∈ 𝐷} βˆ– 𝐷 6: Motivation: existing algorithm to extract Dyck words [Hul11] Require: fjnite state automaton 𝒝 = (𝑅, 𝛡 βˆͺ 𝛡, π‘Ÿ init , π‘Ÿ fjn , π‘ˆ) 𝐡 βˆ–= {(π‘ž, 𝑀, π‘Ÿ)}; 𝐷 βˆͺ= {(π‘ž, 𝑀, π‘Ÿ)} 4: for (π‘ž, 𝑀, π‘Ÿ) ∈ 𝐡 do 3: 𝐡, 𝐷 ∢= {𝑀 ∣ (π‘ž, 𝜏, π‘Ÿ), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ}, βˆ… 2: 1: procedure extractDyck ( 𝒝 ) Ensure: enumerate words in L (𝒝) ∩ D (𝛡) 5: β–Ά relies on recursive structure of Dyck words: concatenation and bracketing

  8. β–Ά backlinks are equivalent to reduct grammar [BPS61] Require: fjnite state automaton 𝒝 = (𝑅, 𝛡 βˆͺ 𝛡, π‘Ÿ init , π‘Ÿ fjn , π‘ˆ) 𝐡 βˆͺ= {(𝑝, πœπ‘€πœ, 𝑠) ∣ (𝑝, 𝜏, π‘ž), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ} βˆ– 𝐷 8: 𝐡 βˆͺ= {(𝑝, 𝑣𝑀, π‘Ÿ) ∣ (𝑝, 𝑣, π‘ž) ∈ 𝐷} βˆ– 𝐷 7: 𝐡 βˆͺ= {(π‘ž, 𝑀π‘₯, 𝑠) ∣ (π‘Ÿ, π‘₯, 𝑠) ∈ 𝐷} βˆ– 𝐷 6: if (π‘ž, π‘Ÿ) = (π‘Ÿ init , π‘Ÿ fjn ) then yield 𝑀 Motivation: existing algorithm to extract Dyck words [Hul11] 𝐡 βˆ–= {(π‘ž, 𝑀, π‘Ÿ)}; 𝐷 βˆͺ= {(π‘ž, 𝑀, π‘Ÿ)} 4: for (π‘ž, 𝑀, π‘Ÿ) ∈ 𝐡 do 3: 𝐡, 𝐷 ∢= {𝑀 ∣ (π‘ž, 𝜏, π‘Ÿ), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ}, βˆ… 2: 1: procedure extractDyck ( 𝒝 ) Ensure: enumerate words in L (𝒝) ∩ D (𝛡) 5: β–Ά relies on recursive structure of Dyck words: concatenation and bracketing β–Ά dynamic programming: store intermediate results (backlinks) for state

  9. Motivation: existing algorithm to extract Dyck words [Hul11] Require: fjnite state automaton 𝒝 = (𝑅, 𝛡 βˆͺ 𝛡, π‘Ÿ init , π‘Ÿ fjn , π‘ˆ) 𝐡 βˆͺ= {(𝑝, πœπ‘€πœ, 𝑠) ∣ (𝑝, 𝜏, π‘ž), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ} βˆ– 𝐷 8: 𝐡 βˆͺ= {(𝑝, 𝑣𝑀, π‘Ÿ) ∣ (𝑝, 𝑣, π‘ž) ∈ 𝐷} βˆ– 𝐷 7: 𝐡 βˆͺ= {(π‘ž, 𝑀π‘₯, 𝑠) ∣ (π‘Ÿ, π‘₯, 𝑠) ∈ 𝐷} βˆ– 𝐷 6: if (π‘ž, π‘Ÿ) = (π‘Ÿ init , π‘Ÿ fjn ) then yield 𝑀 5: 𝐡 βˆ–= {(π‘ž, 𝑀, π‘Ÿ)}; 𝐷 βˆͺ= {(π‘ž, 𝑀, π‘Ÿ)} 4: for (π‘ž, 𝑀, π‘Ÿ) ∈ 𝐡 do 3: 𝐡, 𝐷 ∢= {𝑀 ∣ (π‘ž, 𝜏, π‘Ÿ), (π‘Ÿ, 𝜏, 𝑠) ∈ π‘ˆ}, βˆ… 2: 1: procedure extractDyck ( 𝒝 ) Ensure: enumerate words in L (𝒝) ∩ D (𝛡) β–Ά relies on recursive structure of Dyck words: concatenation and bracketing β–Ά dynamic programming: store intermediate results (backlinks) for state β–Ά backlinks are equivalent to reduct grammar [BPS61]

  10. Outline Motivation Finding appropriate restrictions CYK algorithm for extraction of semi-Dyck words

  11. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  12. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  13. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  14. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  15. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  16. β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example

  17. β–Ά C (𝛡, π‘œ) βŠ† D (𝛡) β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡)

  18. β–Ά C (𝛡, β‰€π‘œ) = ⋃ π‘œ β€² β‰€π‘œ C (𝛡, π‘œ β€² ) β–Ά C (𝛡, β‰€βˆž) = ⋃ π‘œ β€² βˆˆβ„• C (𝛡, π‘œ β€² ) = D (𝛡) π‘œ -centered semi-Dyck languages [()]{([ ]⟦{}⟧)} is 3 -centered β–Ά example β–Ά π‘œ -centered semi-Dyck word o.t.f. π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ where βˆ— β‹… 𝛡 βˆ— β–Ά π‘₯ 𝑗 ∈ 𝛡 β–Ά π‘₯ 0 ( 1 ) 1 π‘₯ 1 …( π‘œ ) π‘œ π‘₯ π‘œ ∈ D (𝛡) β–Ά C (𝛡, π‘œ) βŠ† D (𝛡)

Recommend


More recommend