Affiliation:
1. Department of Computer Systems and Technologies University of Ruse 8 Studentska Str., Ruse BULGARIA
Abstract
mperative languages like Java, C++, and Python are mostly used for the implementation of Genetic algorithms (GA). Other programming paradigms are far from being an object of study. The paper explores the advantages of a new non-mainstream programming paradigm, with declarative and nondeterministic features, in the implementation of GA. Control Network Programming (CNP) is a visual declarative style of programming in which the program is a set of recursive graphs, that are graphically visualized and developed. The paper demonstrates how the GA can be implemented in an automatic, i.e. non-procedural (declarative) way, using the built-in CNP inference mechanism and tools for its control. The CNP programs are easy to develop and comprehend, thus, CNP can be considered a convenient programming paradigm for efficient teaching and learning of nondeterministic, heuristic, and stochastic algorithms, and in particular GA. The outcomes of using CNP in delivering a course on Advanced Algorithm Design are shown and analyzed, and they strongly support the positive results in teaching when CNP is applied.
Publisher
World Scientific and Engineering Academy and Society (WSEAS)
Subject
Computer Science Applications,Information Systems
Reference40 articles.
1. J. L. J. Merelo, J.J., Romero, G., Arenas, M.G., Castillo, P.A., Mora, A.M., Laredo, “Implementation Matters: Programming Best Practices for Evolutionary Algorithms,” in Advances in Computational Intelligence. IWANN 2011. Lecture Notes in Computer Science, vol 6692, G. Cabestany, J., Rojas, I., Joya, Ed. Springer, 2011, pp. 333–340.
2. G. J.-J. Merelo, M. García-Valdez, and S. Rojas-Galeano, “Implementation matters, also in concurrent evolutionary algorithms,” in Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion, 2020, pp. 1591–1598.
3. J. et al. Merelo-Guervós, “Ranking Programming Languages for Evolutionary Algorithm Operations,” in Applications of Evolutionary Computation. EvoApplications 2017. Lecture Notes in Computer Science, vol 10199, G. Squillero and K. Sim, Eds. Springer, 2017, pp. 689–704.
4. E. Wirsansky, Hands-On Genetic Algorithms with Python, 1st editio. Packt Publishing, 2020.
5. I. Gridin, Learning Genetic Algorithms with Python. BPB Publications, 2021.