Abstract [eng] |
Genetic programming is a specific application of a genetic algorithm for programming tasks that enables automation of software code writing and problem solving. The solution to the problem usually consists of applying a particular algorithm, but it is not clear whether it is possible to create a framework based on genetic programming that efficiently develops progressively improving algorithms. There is only one detailed attempt in the literature to perform such a process, but this study is only experimental, implemented a few decades ago, and attempted to develop only the simplest sorting algorithms using the technology of those times. During this work, the genetic algorithm is expanded upon with modern modifications, applying additional genetic operators and optimizing them while at the same time experimenting with a much larger population of individuals to ensure correctness of results. The work process is done by gradually writing lists of grammatical rules, which allows creating more sophisticated algorithms, while comparing the correctness and speed of their code with the algorithm variants found in public literature. It is expected that the results of this work will prove the appropriateness and flexibility of the chosen algorithm search automation method for solving various tasks, thus increasing the popularity and interest of genetic programming. |