scholarly journals Automatic programming of a time-optimal robot controller and an analog electrical circuit to implement the robot controller by means of genetic programming

Author(s):  
J.R. Koza ◽  
F.H. Bennett ◽  
M.A. Keane ◽  
D. Andre
Author(s):  
Michael A. Lones ◽  
Andy M. Tyrrell

Programming is a process of optimization; taking a specification, which tells us what we want, and transforming it into an implementation, a program, which causes the target system to do exactly what we want. Conventionally, this optimization is achieved through manual design. However, manual design can be slow and error-prone, and recently there has been increasing interest in automatic programming; using computers to semiautomate the process of refining a specification into an implementation. Genetic programming is a developing approach to automatic programming, which, rather than treating programming as a design process, treats it as a search process. However, the space of possible programs is infinite, and finding the right program requires a powerful search process. Fortunately for us, we are surrounded by a monotonous search process capable of producing viable systems of great complexity: evolution. Evolution is the inspiration behind genetic programming. Genetic programming copies the process and genetic operators of biological evolution but does not take any inspiration from the biological representations to which they are applied. It can be argued that the program representation that genetic programming does use is not well suited to evolution. Biological representations, by comparison, are a product of evolution and, a fact to which this book is testament, describe computational structures. This chapter is about enzyme genetic programming, a form of genetic programming that mimics biological representations in an attempt to improve the evolvability of programs. Although it would be an advantage to have a familiarity with both genetic programming and biological representations, concise introductions to both these subjects are provided. According to modern biological understanding, evolution is solely responsible for the complexity we see in the structure and behavior of biological organisms. Nevertheless, evolution itself is a simple process that can occur in any population of imperfectly replicating entities where the right to replicate is determined by a process of selection. Consequently, given an appropriate model of such an environment, evolution can also occur within computers.


Author(s):  
FREDERICK E. PETRY ◽  
BERTRAND DANIEL DUNAY

Automatic programming is discussed in the context of software engineering. An approach to automatic programming is presented, which utilizes software engineering principles in the synthesis and maintenance of programs. As a simple demonstration, program-equivalent Turing machines are synthesized, encapsulated, reused, and maintained by genetic programming. Turing machines are synthesized from input-output pairs for a variety of simple problems. When a problem is solved, the solution is encapsulated and becomes part of a software library. The genetic program uses the library to solve new problems by combining library components with program primitives to synthesize new programs. When a new problem is solved or a known problem is solved more efficiently, the genetic program maintains the library so as to keep it valid and efficient.


Author(s):  
A. Hafiiak ◽  
E. Borodina ◽  
A. Diachenko-Bohun

Purpose. The article is devoted to the problem of practical application of genetic programming tools as a means of solving optimization problems and the use of genetic programming in various fields of activity. It is established that the evolution of genetic programming is directly related to the development of the genetic algorithm, it is also determined that with the passage of time a significant improvement in genetic programming has occurred. Since the advent of the genetic algorithm, many modifications and software implementations have appeared. This in turn led to the implementation of the genetic algorithm toolkit in software products, namely: specialized software, applications for mathematical and analytical packages, frameworks and libraries. The article reveals the significant impact of genetic programming in the areas of: quantum computing, electrical circuit design, etc. Not only advantages, but also disadvantages are considered, attention is also paid to methods of eliminating deficiencies by improving optimization methods and applying a genetic algorithm. Results. The analysis of the main directions of the practical use of genetic programming is carried out and tasks that can be effectively solved using this toolkit are outlined. Scientific novelty. It was determined that the improvement of optimization methods and the expansion of the use of genetic algorithms, stimulates the appearance of such software products on the market, simplifies the structure of software tools, designs the interface for working with a specific commercial user community, simplifies the command language, which allows the use of genetic programming tools circle of users with different levels of training.


Author(s):  
John R. Koza

The subtitle of John Holland's pioneering 1975 book Adaptation in Natural and Artificial Systems correctly anticipated that the genetic algorithm described in that book would have "applications to.. .artificial intelligence." When the entities in the evolving population are computer programs, Holland's genetic algorithm can be used to perform the task of searching the space of computer programs for a program that solves, or approximately solves, a problem. This variation of the genetic algorithm (called genetic programming) enables the genetic algorithm to address the long-standing challenge of getting a computer to solve a problem without explicitly programming it. Specifically, this challenge calls for an automatic system whose input is a high-level statement of a problem's requirements and whose output is a satisfactory solution to the given problem. Paraphrasing Arthur Samuel [33], this challenge concerns "How can computers be made to do what needs to be done, without being told exactly how to do it?" This challenge is the common goal of such fields of research as artificial intelligence and machine learning. Arthur Samuel [32] offered one measure for success in this pursuit, namely "The aim [is].. .to get machines to exhibit behavior, which if done by humans, would be assumed to involve the use of intelligence." Since a problem can generally be recast as a search for a computer program, genetic programming can potentially solve a wide range of problems, including problems of control, classification, system identification, and design. Section 2 describes genetic programming. Section 3 states what we mean when we say that an automatically created solution to a problem is competitive with the product of human creativity. Section 4 discusses the illustrative problem of automatically synthesizing both the topology and sizing for an analog electrical circuit. Section 5 discusses the problem of automatically determining the placement and routing (while simultaneously synthesizing the topology and sizing) of an electrical circuit. Section 6 discusses the problem of automatically synthesizing both the topology and tuning for a controller. Section 7 discusses the importance of illogic in achieving creativity and inventiveness.


Sign in / Sign up

Export Citation Format

Share Document