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 (𝛡)

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