Unsupervised Problem Decomposition Using Genetic Programming

  • Ahmed Kattan
  • Alexandros Agapitos
  • Riccardo Poli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6021)


We propose a new framework based on Genetic Programming (GP) to automatically decompose problems into smaller and simpler tasks. The framework uses GP at two levels. At the top level GP evolves ways of splitting the fitness cases into subsets. At the lower level GP evolves programs that solve the fitness cases in each subset. The top level GP programs include two components. Each component receives a training case as the input. The components’ outputs act as coordinates to project training examples onto a 2-D Euclidean space. When an individual is evaluated, K-means clustering is applied to group the fitness cases of the problem. The number of clusters is decided based on the density of the projected samples. Each cluster then invokes an independent GP run to solve its member fitness cases. The fitness of the lower level GP individuals is evaluated as usual. The fitness of the high-level GP individuals is a combination of the fitness of the best evolved programs in each of the lower level GP runs. The proposed framework has been tested on several symbolic regression problems and has been seen to significantly outperforming standard GP systems.


Genetic Programming Unseen Data Problem Decomposition Symbolic Regression Linear Genetic Programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge (May 1994)MATHGoogle Scholar
  2. 2.
    Angeline, P.J., Pollack, J.B.: The evolutionary induction of subroutines. In: Proceedings of the Fourteenth Annual Conference of the Cognitive Science Society, Bloomington, Indiana, USA, pp. 236–241. Lawrence Erlbaum, Mahwah (1992)Google Scholar
  3. 3.
    Spector, L.: Evolving control structures with automatically defined macros. In: Siegel, E.V., Koza, J.R. (eds.) Working Notes for the AAAI Symposium on Genetic Programming, November 10–12, pp. 99–105. MIT/AAAI, Cambridge (1995)Google Scholar
  4. 4.
    Rosca, J.P., Ballard, D.H.: Discovery of subroutines in genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming 2, ch. 9, pp. 177–202. MIT Press, Cambridge (1996)Google Scholar
  5. 5.
    Seront, G.: External concepts reuse in genetic programming. In: Siegel, E.V., Koza, J.R. (eds.) Working Notes for the AAAI Symposium on Genetic Programming, November 10–12, pp. 94–98. MIT/AAAI, Cambridge (1995)Google Scholar
  6. 6.
    Jonyer, I., Himes, A.: Improving modularity in genetic programming using graph-based data mining. In: Sutcliffe, G.C.J., Goebel, R.G. (eds.) Proceedings of the Nineteenth International Florida Artificial Intelligence Research Society Conference, Melbourne Beach, Florida, USA, May 11-13, pp. 556–561. American Association for Artificial Intelligence (2006)Google Scholar
  7. 7.
    Hemberg, E., Gilligan, C., O’Neill, M., Brabazon, A.: A grammatical genetic programming approach to modularity in genetic algorithms. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 1–11. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    McPhee, N.F., Crane, E.F., Lahr, S.E., Poli, R.: Developmental plasticity in linear genetic programming. In: Raidl, G., et al. (eds.) GECCO 2009: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, Montreal, July 8-12, pp. 1019–1026. ACM, New York (2009)CrossRefGoogle Scholar
  9. 9.
    Rosca, J., Johnson, M.P., Maes, P.: Evolutionary Speciation for Problem Decomposition (1996) (Available via Citeseer)Google Scholar
  10. 10.
    Iba, H.: Bagging, boosting, and bloating in genetic programming. In: Proceedings of the Genetic and Evolutionary Computation Conference, Orlando, Florida, USA, July 13-17, vol. 2, pp. 1053–1060. Morgan Kaufmann, San Francisco (1999)Google Scholar
  11. 11.
    Jackson, D.: The performance of a selection architecture for genetic programming. In: O’Neill, M., Vanneschi, L., Gustafson, S., Esparcia Alcázar, A.I., De Falco, I., Della Cioppa, A., Tarantino, E. (eds.) EuroGP 2008. LNCS, vol. 4971, pp. 170–181. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Poli, R., Langdon, W.B., McPhee, N.F.: A Field Guide to Genetic Programming (With contributions by J. R. Koza) (2008), http://lulu.com
  13. 13.
    Han, J., Kamber, M.: Data mining: concepts and techniques. Morgan Kaufmann, San Francisco (2006)Google Scholar
  14. 14.
    Sepulveda, F., Meckes, M., Conway, B.A.: Cluster separation index suggests usefulness of non-motor EEG channels in detecting wrist movement direction intention. In: Proceedings of the 2004 IEEE Conference on Cybernetics and Intelligent Systems, Singapore, pp. 943–947. IEEE Press, Los Alamitos (2004)CrossRefGoogle Scholar
  15. 15.
    Muni, D.P., Pal, N.R., Das, J.: A novel approach to design classifier using genetic programming. IEEE Transactions on Evolutionary Computation 8(2), 183–196 (2004)CrossRefGoogle Scholar
  16. 16.
    Boric, N., Estevez, P.A.: Genetic programming-based clustering using an information theoretic fitness measure. In: Srinivasan, D., Wang, L. (eds.) 2007 IEEE Congress on Evolutionary Computation, Singapore, September 25-28. IEEE Computational Intelligence Society, pp. 31–38. IEEE Press, Los Alamitos (2007)CrossRefGoogle Scholar
  17. 17.
    Peacock, J.A.: Two-dimensional goodness-of-fit testing in astronomy. Royal Astronomical Society, Monthly Notices 202, 615–627 (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Ahmed Kattan
    • 1
  • Alexandros Agapitos
    • 1
  • Riccardo Poli
    • 1
  1. 1.School of Computer Science and Electronic EngineeringUniversity of EssexColchesterUK

Personalised recommendations