Advertisement

Solving Combinatorial Puzzles with Parallel Evolutionary Algorithms

  • Todor BalabanovEmail author
  • Stoyan Ivanov
  • Rumen Ketipov
Conference paper
  • 74 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11958)

Abstract

Rubik’s cube is the most popular combinatorial puzzle. It is well known that solutions of the combinatorial problems are generally hard to find. If 90\(^\circ \) clockwise rotations of the cube’s sides are taken as operations it will give a minimal cube’s grammar. By building formal grammar sentences with the usage of the six operations ([L]eft, [R]ight, [T]op, [D]own, [F]ront, [B]ack) all cube’s permutations can be achieved. In an evolutionary algorithms (like genetic algorithms for example) set of formal grammar sentences can be represented as population individuals. Single cut point crossover can be efficiently applied when population individuals are strings. Changing randomly selected operation with another randomly selected operation can be used as efficient mutation operator. The most important part of such global optimization is the fitness function. For better individuals fitness value evaluation a combination between Euclidean and Hausdorff distances is proposed in this research. The experiments in this research are done as parallel program written in C++ and Open MPI.

Keywords

Distributed evolutionary algorithms Combinatorial puzzles Integer optimization 

References

  1. 1.
    MPI Parallel Implementation of Genetic Algorithm Based Rubik’s Cube Solver. http://github.com/TodorBalabanov/RubiksCubeGeneticAlgorithmsSolver. Accessed 10 Feb 2019
  2. 2.
    Balabanov, T., Zankinski, I., Barova, M.: Strategy for individuals distribution by incident nodes participation in star topology of distributed evolutionary algorithms. Cybern. Inf. Technol. 16(1), 80–88 (2016)Google Scholar
  3. 3.
    Korf, R.: Finding optimal solutions to Rubik’s cube using pattern databases. In: AAAI-1998 Proceedings, pp. 700–705. AAAI Press, Menlo Park (1998)Google Scholar
  4. 4.
    Randall, K.: Cilk - Efficient Multithreaded Computing. Doctor of Philosophy Thesis in Computer Science and Engineering, Massachusetts Institute of Technology, USA (1998)Google Scholar
  5. 5.
    Poli, R., Kozak, J.: Genetic programming. In: Burke, E.K., Kendall, G. (eds.) Search Methodologies, pp. 143–185. Springer, Boston (2014).  https://doi.org/10.1007/978-1-4614-6940-7_6CrossRefGoogle Scholar
  6. 6.
    Angelova, V.: Investigations in the area of soft computing targeted state of the art report. Cybern. Inf. Technol. 9(1), 18–24 (2009)Google Scholar
  7. 7.
    Alexandrov, A.: Ad-hoc Kalman filter based fusion algorithm for real-time wireless sensor data integration. Flexible Query Answering Systems 2015. AISC, vol. 400, pp. 151–159. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-26154-6_12CrossRefGoogle Scholar
  8. 8.
    Tashev, T., Hristov, H.: Modeling of synthesis of information processes with generalized nets. Cybern. Inf. Technol. 3(2), 92–104 (2003)Google Scholar
  9. 9.
    Atanasova T., Barova M.: Exploratory analysis of time series for hypothesize feature values. In: UniTech 2017 Proceedings, vol. 16, no. 2, pp. 399–403 (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Institute of Information and Communication Technologies, Bulgarian Academy of SciencesSofiaBulgaria

Personalised recommendations