1 / 68

Input-Driven Pushdown Automata for Edit Distance Neighborhood

Input-Driven Pushdown Automata for Edit Distance Neighborhood V . Geffert Z . Bedn á rov á A . Szabari Dept. Computer Science, P.J. Šafárik University Košice, Slovakia. Edit Distance Neighborhood: L -- the given language l -- the given constant

jennelle
Download Presentation

Input-Driven Pushdown Automata for Edit Distance Neighborhood

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Input-Driven Pushdown Automata for Edit Distance Neighborhood V.Geffert Z.Bednárová A.Szabari Dept. Computer Science, P.J.Šafárik University Košice, Slovakia

  2. Edit Distance Neighborhood: L -- the given language l -- the given constant ElL -- an edit distance l-neighborhood: L

  3. Edit Distance Neighborhood: L -- the given language l -- the given constant ElL -- an edit distance l-neighborhood: all strings obtained by at most l edit changes from strings in L L ElL w w=w’ w’ w w’

  4. Edit Distance Neighborhood: neeyet you balat vesnced an eel ond of your nose

  5. Edit Distance Neighborhood: neeyet you balat vesnced an eel ond of your nose yet you balat vesnced an eel ontheend of your nose

  6. Edit Distance Neighborhood: neeyet you balat vesnced an eel ond of your nose yet you balatvesnced an eel ontheend of your nose neeyet you balanced an eel on the end of your nose L

  7. Edit Distance Neighborhood: nee yet you balat vesnced an eel ond of your nose yet you balatvesnced an eel ontheend of your nose neeyet you balanced an eel on the end of your nose |tvesnthee|  l L

  8. Edit Distance Neighborhood: nee yet you balat vesnced an eel ond of your nose yet you balatvesnced an eel ontheend of your nose neeyet you balanced an eel on the end of your nose |tvesnthee|  l L E’l L

  9. Edit Distance Neighborhood: Algorithm computing edit distance between two strings [Wagner&Fischer1974]

  10. Edit Distance Neighborhood: Algorithm computing edit distance between two strings [Wagner&Fischer1974] Input-driven pushdown automata [Mehlhorn1980] … while … do … if … then … else … fi … od …

  11. Edit Distance Neighborhood: Algorithm computing edit distance between two strings [Wagner&Fischer1974] Input-driven pushdown automata [Mehlhorn1980] … while … do … if … then … else … fi … od … push push pop pop

  12. **** PDA Definition **** coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  13. Finite state control coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  14. Finite state control Pushdown store coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  15. Finite state control Pushdown store Input tape coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  16. Finite state control Pushdown store Input tape  = oU+U- coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  17. o (neutral) Finite state control Pushdown store Input tape  = oU+U- co q q’ coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  18. a+pushB o (neutral) q q’ Finite state control Pushdown store Input tape  = oU+U- + (pushing) co q q’ coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  19. a+pushB o (neutral) q q’ Finite state control Pushdown store Input tape  = oU+U- + (pushing) l-popB co q q’ q q’ - (popping) coa+l-m-e+s+t+ col-i+m-a+t+e+ q BRAIN

  20. a+pushB o (neutral) q q’ + (pushing) m-pop l-popB co q q q’ q’ q q’ - (popping) coa+l-m-e+s+t+ col-i+m-a+t+e+ q 

  21. a+pushB o (neutral) q q’ + (pushing) m-pop l-popB co q q q’ q’ q q’ - (popping)  q q’ -transitions coa+l-m-e+s+t+ col-i+m-a+t+e+ q RAIN

  22. a+pushB o (neutral) q q’ + (pushing) m-pop l-popB co q q q’ q’ q q’ - (popping)  q q’ -transitions coa+l-m-e+s+t+ col-i+m-a+t+e+ q’ RAIN

  23.   a+pushB … -transitions coa+l-m-e+s+t+ col-i+m-a+t+e+ q’ q1 qr q’ q3 q4 q2 RAIN

  24.   a+pushB … a+pushB -transitions coa+l-m-e+s+t+ col-i+m-a+t+e+ q’ q1 q1 qr q’ q’ q4 q3 q2 RAIN

  25. **** PDA Motivation **** Input-Driven Pushdown Automata: Closed under Boolean operations, concatenation, Kleene star (not homomorphism)

  26. Input-Driven Pushdown Automata: Closed under Boolean operations, concatenation, Kleene star (not homomorphism) Nondeterminism can be eliminated

  27. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]:

  28. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states

  29. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||)

  30. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||) • ElL = E1El-1L

  31. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||) ElL |’|  ||2l|Q’|  |Q|||2l-1 • ElL = E1El-1L

  32. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||) ElL |’|  ||2l|Q’|  |Q|||2l-1 E1L |’| = ||+1 3 days before DLT’19 deadline • ElL = E1El-1L

  33. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||) ElL |’|  ||2l|Q’|  |Q|||2l-1 E1L |’| = ||+1 ElL |’| = ||+l|Q’|  |Q|2l(||+3/2)l 3 days before DLT’19 deadline

  34. Input-Driven Pushdown Automata: Closed under edit distance neighborhood [Okhotin&Salomaa2017]: L || stack symbols |Q| states E1L |’|  O(||2) |Q’|  O(|Q|||) ElL |’|  ||2l|Q’|  |Q|||2l-1 E1L |’| = ||+1 ElL |’| = ||+l|Q’|  |Q|2l(||+3/2)l ElL |’| = 2||+1 |Q’|  O( |Q|l||l ) This Work

  35. **** For Marked Corrections **** A Machine for Marked Corrections yetyoubalancedaneelontheendofyournose yetyoubalatvesncedaneelontheendofyournose L El L neeyet you balat vesnced an eel ond of your nose

  36. yetyoubalancedaneelontheendofyournose • ’ yetyoubalatvesncedaneelontheendofyournose L

  37. yetyoubalancedaneelontheendofyournose yetyoubalatvesncedaneelontheendofyournose • ’ yetyoubalatvesncedaneelontheendofyournose L

  38. yetyoubalatvesncedaneelontheendofyournose • ’ yetyoubalatvesncedaneelontheendofyournose

  39. • ’ •  yetyoubalatvesncedaneelontheendofyournose • ’ yetyoubalatvesncedaneelontheendofyournose

  40. • ’ • +g’ • ’

  41. g’  0…l •  = (+g’)-’  0…+l • +g’ • ’

  42. F O R T H E N I G H T     • g’  0…l •  = (+g’)-’  0…+l • +g’ • ’

  43. F O R T H E N I G H T     • g’  0…l •  = (+g’)-’  0…+l • g’ • +g’ • ’

  44. F O R T H E N I G H T     • +g’ • g’  0…l •  = (+g’)-’  0…+l • g’ • +g’ • ’

  45. F O R T H E N I G H T     • +g’ • ’ • g’  0…l •  = (+g’)-’  0…+l • g’ • +g’ • ’

  46. F O R •  T H E N I G H T     • +g’ • ’ • g’  0…l •  = (+g’)-’  0…+l • g’ • +g’ • ’

  47. F O R • Buffer • New • pushdown • store T H E N I G H T     • g’  0…l •  = (+g’)-’  0…+l • +g’ • ’

  48. **** For Neighborhood **** A Machine for Edit Distance Neighborhood L yetyoubalatvesncedaneelontheendofyournose yetyoubalatvesncedaneelontheendofyournose

  49. L yetyoubalatvesncedaneelontheendofyournose yetyoubalatvesncedaneelontheendofyournose

  50. qINI q’  L yetyoubalatvesncedaneelontheendofyournose yetyoubalatvesncedaneelontheendofyournose

More Related