online timed pattern matching using derivatives
play

Online Timed Pattern Matching using Derivatives Dogan Ulus , Thomas - PowerPoint PPT Presentation

Online Timed Pattern Matching using Derivatives Dogan Ulus , Thomas Ferr` ere , Eugene Asarin , and Oded Maler Verimag , Universit e Grenoble-Alpes & CNRS, France IRIF , Universit e Paris Diderot, France


  1. Online Timed Pattern Matching using Derivatives Dogan Ulus † , Thomas Ferr` ere † , Eugene Asarin †† , and Oded Maler † † Verimag , Universit´ e Grenoble-Alpes & CNRS, France †† IRIF , Universit´ e Paris Diderot, France April 7, 2016 TACAS 2016, Eindhoven Online Matching using Derivatives Dogan Ulus 1 / 22

  2. The Problem of Finding All Sprints ◮ Assume you’re a football manager interested in formal methods. ◮ You want to find all sprints by a player formally . ◮ You have a sprint specification: ◮ A period of high acceleration followed by a period of high speed for 1 second at least. ◮ How to solve? Hint: This is a problem of timed pattern matching. Online Matching using Derivatives Introduction Dogan Ulus 2 / 22

  3. The Problem of Finding All Sprints ◮ Assume you’re a football manager interested in formal methods. ◮ You want to find all sprints by a player formally . ◮ You have a sprint specification: ◮ A period of high acceleration followed by a period of high speed for 1 second at least. ◮ How to solve? Hint: This is a problem of timed pattern matching. Online Matching using Derivatives Introduction Dogan Ulus 2 / 22

  4. The Problem of Finding All Sprints ◮ Given data and pattern, we perform timed pattern matching. Figure: All sprints by Olcan Adin, Galatasaray v Sivasspor, 16 Jan 2016. Online Matching using Derivatives Introduction Dogan Ulus 3 / 22

  5. Timed Pattern Matching ◮ Finding all segments of a dense-time signal that satisfy a timed regular expression . ◮ For given an expression ϕ and a signal w : M ( ϕ, w ) = { ( t, t ′ ) | w [ t, t ′ ] | = ϕ } ◮ Example: ◮ A pattern ϕ = � p · q � [4 , 7] . t ′ 10 ◮ A signal w over p and q . p q 0 3 8 10 0 10 t Online Matching using Derivatives Introduction Dogan Ulus 4 / 22

  6. Timed Pattern Matching ◮ Finding all segments of a dense-time signal that satisfy a timed regular expression . ◮ For given an expression ϕ and a signal w : M ( ϕ, w ) = { ( t, t ′ ) | w [ t, t ′ ] | = ϕ } ◮ Example: ◮ A pattern ϕ = � p · q � [4 , 7] . t ′ 10 ◮ A signal w over p and q . 7 p q 0 2 7 10 0 2 10 t Online Matching using Derivatives Introduction Dogan Ulus 4 / 22

  7. Timed Pattern Matching ◮ Previously we presented an offline procedure in [UFAM’14]. ◮ We now develop an online procedure to ◮ Perform matching on streams. ◮ Monitor and alert in real time. ◮ Have better memory performance. ◮ Our online procedure is based on the concept of derivatives . Online Matching using Derivatives Introduction Dogan Ulus 5 / 22

  8. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  9. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  10. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  11. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  12. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  13. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  14. Recipe Analogy The original concept of derivatives can be explained by an analogy: ◮ A recipe is a list of actions to be done sequentially. ◮ To-do list for an eggplant puree: ◮ Wash and prick the eggplants with a fork. ◮ Bake eggplants for 25 mins. ◮ Smash eggplants. ◮ Add flour. ◮ Add milk and mix it well. ◮ Each time, you complete an action, you delete the item. ◮ Do everything correct and you will end up the empty list . (You are missing the point if you think of the puree.) ◮ Obviously this is an online acceptance procedure. Online Matching using Derivatives Introduction Dogan Ulus 6 / 22

  15. Derivatives Definition The derivative of a language L over Σ ∗ with respect to a word u is defined as D u ( L ) := { v ∈ Σ ∗ | u · v ∈ L} . Language Membership w ∈ L iff ǫ ∈ D w ( L ) ◮ Compute derivatives and check empty word containment . ◮ Pattern matching is more than that: Membership queries for all subwords . Online Matching using Derivatives Discrete Setting Dogan Ulus 7 / 22

  16. Derivatives of Regular Expressions ◮ RE syntax: r := ∅ | ǫ | a | r 1 · r 2 | r 1 ∨ r 2 | r ∗ ◮ The derivative of a regular expression r with respect to a letter a can be found recursively by these rewrite rules. (Brzozowski 1964) Empty Word Extraction ν ( ∅ ) = ∅ ν ( r 1 · r 2 ) = ν ( r 1 ) · ν ( r 2 ) ν ( ǫ ) = ǫ ν ( r 1 ∨ r 2 ) = ν ( r 1 ) ∨ ν ( r 2 ) ν ( r ∗ ) ν ( a ) = = ∅ ǫ Derivatives of Regular Expressions D a ( ∅ ) = ∅ D a ( r 1 · r 2 ) = D a ( r 1 ) · r 2 ∨ ν ( r 1 ) · D a ( r 2 ) D a ( ǫ ) = D a ( r 1 ∨ r 2 ) = D a ( r 1 ) ∨ D a ( r 2 ) ∅ D a ( r ∗ ) D a ( r ) · r ∗ D a ( a ) = = ǫ D a ( b ) = ∅ Online Matching using Derivatives Discrete Setting Dogan Ulus 8 / 22

  17. Matching using Derivatives Example: Let ϕ = a ∗ ( bc ) ∗ and w = abcbc . Symbols a b c b c Positions 1 2 3 4 5 a ∗ ( bc ) ∗ 1 ϕ − → Da ǫ ∈ D a ( ϕ ) → a ∈ ϕ Online Matching using Derivatives Discrete Setting Dogan Ulus 9 / 22

  18. Matching using Derivatives Example: Let ϕ = a ∗ ( bc ) ∗ and w = abcbc . Symbols a b c b c Positions 1 2 3 4 5 a ∗ ( bc ) ∗ c ( bc ) ∗ 1 ϕ − → − → Da Db ǫ / ∈ D ab ( ϕ ) → ab / ∈ ϕ Online Matching using Derivatives Discrete Setting Dogan Ulus 9 / 22

  19. Matching using Derivatives Example: Let ϕ = a ∗ ( bc ) ∗ and w = abcbc . Symbols a b c b c Positions 1 2 3 4 5 a ∗ ( bc ) ∗ c ( bc ) ∗ ( bc ) ∗ 1 ϕ − → − → − → Da Db Dc ǫ ∈ D abc ( ϕ ) → abc ∈ ϕ Online Matching using Derivatives Discrete Setting Dogan Ulus 9 / 22

  20. Matching using Derivatives Example: Let ϕ = a ∗ ( bc ) ∗ and w = abcbc . Symbols a b c b c Positions 1 2 3 4 5 a ∗ ( bc ) ∗ c ( bc ) ∗ ( bc ) ∗ c ( bc ) ∗ 1 ϕ − → − → − → − → Da Db Dc Db ǫ / ∈ D abcb ( ϕ ) → abcb / ∈ ϕ Online Matching using Derivatives Discrete Setting Dogan Ulus 9 / 22

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