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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Augustsson, A Compiler for Lazy ML, Proc. ACM Conference on Lisp and Functional Programming, ACM, pp. 218–227, 1984.
J. Christian, Flatterms, Discrimination Nets and Fast Term Rewriting, Journal of Automated Reasoning, vol. 10, pp. 95–113, 1993.
D. Cooper and N. Wogrin, Rule-Based Programming with OPS5, Morgan Kaufmann, San Francisco, 1988.
N. Dershowitz and J.P. Jouannaud, Rewrite Systems, Handbook of Theoretical Computer Science, vol. 2, chap. 6, Elsevier Science Publishers, 1990.
A.J. Field and P.G. Harrison, Functional Programming, International Computer Science Series, 1988.
J.A Goguen and T. Winkler, Introducing OBJ3, Technical report SRI-CSL-88-9, Computer Science Laboratory, SRI International, 1998.
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.
C.M. Hoffman and M.J. O’Donnell, Pattern-Matching in Trees, Journal of ACM, vol. 29, n. 1, pp. 68–95, 1982.
P. Hudak and al., Report on the Programming Language Haskell: a Non-Strict, Purely Functional Language, Sigplan Notices, Section S, May 1992.
J.R. Koza, Genetic Programming. MIT Press, 1992.
A. Laville, Comparison of Priority Rules in Pattern Matching and Term Rewriting, Journal of Symbolic Computation, n. 11, pp. 321–347, 1991.
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.
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.
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.
N. Nedjah and L.M. Mourelle, Implementation of Term Rewriting-Based Programming Languages, Hauppauge, NY, ISBN 1594-5439-09, 2005.
N. Nedjah and L.M. Mourelle (Eds.), Real-World Multi-Objective Systems Engineering, Nova Science Publishers, Hauppauge, NY, ISBN 1590-3364-53, 2003.
N. Nedjah and L.M. Mourelle, More Efficient Left-to-Right Matching for Overlapping Patterns, vol. 3, n. 2–4, pp. 230–247, 2005.
M.J. O’Donnell, Equational Logic as Programming Language, MIT Press, 1985.
V. Pareto, Cours d’économie politique, volume I and II, F. Rouge, Lausanne, 1896.
R.C. Sekar, R. Ramesh and I.V. Ramakrishnan, Adaptive Pattern-Matching, SIAM Journal, vol. 24, n. 5, pp. 1207–1234, 1995.
D.A. Turner, Miranda: a Non Strict Functional Language with Polymorphic Types, Proc. Conference on Lisp and Functional Languages, ACM, pp. 1–16, 1985.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)