Skip to main content

Evolutionary Pattern Matching Using Genetic Programming

  • Chapter
Book cover Genetic Systems Programming

Part of the book series: Studies in Computational Intelligence ((SCI,volume 13))

  • 700 Accesses

4.7 Summary

In this chapter, we presented a novel approach to generate adaptive matching automata for non-sequential pattern set using genetic programming. we first defined some notation and necessary terminologies. Then, we formulated the problem of pattern matching and the impact that the traversal order of the patterns has on the process efficiency, when the patterns are ambiguous. We also gave some heuristics that allow the engineering of a relatively good traversal order. In the main part of the chapter, we described the evolutionary approach that permits the discovery of traversal orders using genetic programming for a given pattern set. For this purpose, we presented how the encoding of traversal orders is done and consequently how the decoding of an evolved traversal order into the corresponding adaptive pattern-matcher. We also developed the necessary genetic operators and showed how the fitness of evolved traversal orders is computed. We evaluated how sound is the obtained traversal. The optimisation was based on three main characteristics for matching automata, which are termination, code size and required matching time. Finally, we compared evolutionary adaptive matching automata, obtained for some universal benchmarks, to their counterparts that were designed using classic heuristics.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Augustsson, A Compiler for Lazy ML, Proc. ACM Conference on Lisp and Functional Programming, ACM, pp. 218–227, 1984.

    Google Scholar 

  2. J. Christian, Flatterms, Discrimination Nets and Fast Term Rewriting, Journal of Automated Reasoning, vol. 10, pp. 95–113, 1993.

    Article  MathSciNet  Google Scholar 

  3. D. Cooper and N. Wogrin, Rule-Based Programming with OPS5, Morgan Kaufmann, San Francisco, 1988.

    Google Scholar 

  4. N. Dershowitz and J.P. Jouannaud, Rewrite Systems, Handbook of Theoretical Computer Science, vol. 2, chap. 6, Elsevier Science Publishers, 1990.

    Google Scholar 

  5. A.J. Field and P.G. Harrison, Functional Programming, International Computer Science Series, 1988.

    Google Scholar 

  6. J.A Goguen and T. Winkler, Introducing OBJ3, Technical report SRI-CSL-88-9, Computer Science Laboratory, SRI International, 1998.

    Google Scholar 

  7. A. Gräf, Left-to-Right Tree Pattern-Matching, Proc. Conference on Rewriting Techniques and Applications, Lecture Notes in Computer Science, vol. 488, pp. 323–334, 1991.

    Google Scholar 

  8. C.M. Hoffman and M.J. O’Donnell, Pattern-Matching in Trees, Journal of ACM, vol. 29, n. 1, pp. 68–95, 1982.

    Article  Google Scholar 

  9. P. Hudak and al., Report on the Programming Language Haskell: a Non-Strict, Purely Functional Language, Sigplan Notices, Section S, May 1992.

    Google Scholar 

  10. J.R. Koza, Genetic Programming. MIT Press, 1992.

    Google Scholar 

  11. A. Laville, Comparison of Priority Rules in Pattern Matching and Term Rewriting, Journal of Symbolic Computation, n. 11, pp. 321–347, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  12. J.F. Miller, P. Thompson and T.C. Fogarty, Designing Electronics Circuits Using Evolutionary Algorithms. Arithmetic Circuits: A Case Study, In Genetic Algorithms and Evolution Strategies in Engineering and Computer Science, Quagliarella et al. (eds.), Wiley Publisher, 1997.

    Google Scholar 

  13. N. Nedjah, C.D. Walter and S.E. Eldridge, Optimal Left-to-Right Pattern-Matching Automata, Proc. Conference on Algebraic and Logic Programming, Southampton, UK, Lecture Notes in Computer Science, Springer-Verlag, vol. 1298, pp. 273–285, 1997.

    Article  MathSciNet  Google Scholar 

  14. N. Nedjah, C.D. Walter and S.E. Eldridge, Efficient Automata-Driven Pattern-Matching for Equational programs, Software-Practice and Experience, John Wiley Eds., vol. 29, n. 9, pp. 793–813, 1999.

    Google Scholar 

  15. N. Nedjah and L.M. Mourelle, Implementation of Term Rewriting-Based Programming Languages, Hauppauge, NY, ISBN 1594-5439-09, 2005.

    Google Scholar 

  16. N. Nedjah and L.M. Mourelle (Eds.), Real-World Multi-Objective Systems Engineering, Nova Science Publishers, Hauppauge, NY, ISBN 1590-3364-53, 2003.

    Google Scholar 

  17. N. Nedjah and L.M. Mourelle, More Efficient Left-to-Right Matching for Overlapping Patterns, vol. 3, n. 2–4, pp. 230–247, 2005.

    MathSciNet  MATH  Google Scholar 

  18. M.J. O’Donnell, Equational Logic as Programming Language, MIT Press, 1985.

    Google Scholar 

  19. V. Pareto, Cours d’économie politique, volume I and II, F. Rouge, Lausanne, 1896.

    Google Scholar 

  20. R.C. Sekar, R. Ramesh and I.V. Ramakrishnan, Adaptive Pattern-Matching, SIAM Journal, vol. 24, n. 5, pp. 1207–1234, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  21. D.A. Turner, Miranda: a Non Strict Functional Language with Polymorphic Types, Proc. Conference on Lisp and Functional Languages, ACM, pp. 1–16, 1985.

    Google Scholar 

  22. P. Wadler, Efficient Compilation of Pattern-Matching, In “The Implementation of Functional Programming Languages”, S. L. Peyton-Jones, Prentice-Hall International, pp. 78–103, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Nedjah, N., Mourelle, L.d.M. (2006). Evolutionary Pattern Matching Using Genetic Programming. In: Nedjah, N., Mourelle, L.d.M., Abraham, A. (eds) Genetic Systems Programming. Studies in Computational Intelligence, vol 13. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-32498-4_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-32498-4_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29849-6

  • Online ISBN: 978-3-540-32498-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics