Immune programming
Introduction
Having computers automatically solve problems without being explicitly programmed to do so is a central goal of Artificial Intelligence [21]. With regard to problem-solving, Fogel et al. [9] argues that methods can be sought by “mechanizing the scientific method in an algorithmic formulation so that a machine may carry out the procedure and similarly [to the scientific method] gain knowledge about its environment and adapt its behavior to meet goals”. The area corresponding to this paradigm is known as evolutionary computation (EC) [8], [10] and encompasses a broad range of methods such as evolution strategies (ES), evolutionary programming (EP), genetic algorithms (GA), and genetic programming (GP). Refer to [10] for a comprehensive account of these methods and their historical foundations. Evolutionary techniques can be viewed as search or optimization techniques [24] based on the principles of natural evolution. Genetic programming [19] is of special importance in the context of this paper, as it can provide solutions to problems in the form of computer programs.
There has recently been growing interest in the use of methods inspired by the immune system and its principles and mechanisms [5]. There are several analogies between Artificial Immune Systems (AIS) and EC found at different levels: both frameworks are inspired by biological systems, both employ some form of evolutionary principles, and both can be used in largely overlapping application domains. There are, however, significant differences that make AIS a separate area of research. These systems have already been applied to numerous types of problems such as computer security, data analysis, clustering, pattern matching and parametric optimization [7]. However, an immune parallel to genetic programming has not yet been proposed: there has been no attempt to use principles of immunity to automatically create computer programs. Immune programming (IP), introduced in this paper, is a novel paradigm combining the program-like representation of solutions to problems with the principles and theories of the immune system. IP is an extension of immune algorithms, particularly the clonal selection algorithm [1], [2], in AIS. However, IP is not limited to finding an optimized solution for a specific problem as in immune algorithms; it is a domain-independent approach in which solutions (computer programs) are generated that can, in turn, solve an entire class of similar problems. To paraphrase John Koza [20], a pioneer in the field of genetic programming, “[Immune programming] is a systematic method for getting computers to automatically solve a problem”.
This paper is organized in six sections. The basic concepts and mechanisms of immunity that form the basis of the new approach are described in Section 2. A brief overview of current research related to the use of artificial immune systems for program generation is provided in Section 3. Principles of IP are outlined in Section 4, along with a detailed description of its implementation and experimental results demonstrating its enormous potential. Sensitivity studies and a comparison of IP and GP are conducted in Section 5. Finally, Section 6 presents main conclusions and outlines possible directions for future work.
Section snippets
Immune systems
The vertebrate immune system (IS) is one of the most intricate bodily systems and its complexity is sometimes compared to that of the human brain. With advances in biology and molecular genetics, comprehension of how the immune system behaves is increasing very rapidly. Knowledge of immune system functioning has revealed several of its main operative mechanisms. These mechanisms are very interesting not only from a biological standpoint, but also from a computational perspective. Similar to the
Related research
Although AISs have been actively studied as of late [6], [14], [22], [23], [25], [31], direct use of immune principles for generation of computer programs has not been reported. However, several works related to the topic are described in the following text.
Nikolaev et al. introduced an immune version of GP (iGP) [25]. In iGP, the progressive search for programs is controlled by a dynamic fitness function based on an analogy of the immune network dynamics. The method is applied to a
Immune programming
In this section, the proposed paradigm of Immune Programming is described in detail. After introducing the computing architecture chosen for execution of the generated programs, the algorithm of IP is summarized and its individual steps are explained. A running example is used to illustrate the concepts.
Performance evaluation
To evaluate performance of the IP system, several additional experiments are conducted to study the evolution of affinity and the sensitivity of convergence to algorithm parameters. A comparison of the new system to its main competitor, genetic programming, is also provided.
Conclusions
This paper introduced a new paradigm of evolutionary computing entitled ‘Immune Programming’ (IP). As an extension to Artificial Immune System (AIS) concepts, IP is a systematic, domain-independent method to intelligently solve programming problems with no human interaction.
The problem to be solved is described by an antigen, and a set of candidate solutions is described by a repertoire of antibodies. Each antibody contains a string representing a sequence of stack-based assembly instructions,
References (32)
Negative selection of lymphocytes
Cell
(1994)- et al.
Theoretical studies of clonal selection: Minimal antibody repertoire size and reliability of self-non-self discrimination
Journal of Theoritical Biology
(1979) - et al.
The clonal selection theory
Scientific American
(1987) - L.N. De Castro, F.J. Von Zuben, The clonal selection algorithm with engineering applications, GECCO’00—Workshop...
- et al.
Learning and optimization using the clonal selection principle
IEEE Transactions on Evolutionary Computing
(2002) - et al.
Artificial Immune Systems: A New Computational Intelligence Paradigm
(2002) - et al.
Artificial immune systems as a novel soft computing paradigm
Soft Computing
(2003) - et al.
Hybridizing a genetic algorithm with an artificial immune system for global optimization
Engineering Optimization
(2004) - et al.
Artificial immune system (AIS) research in the last five years
- et al.
Introduction to Evolutionary Computing
(2003)
Artificial Intelligence through Simulated Evolution
Evolutionary Computation: Toward a New Philosophy of Machine Intelligence
Computer Immunology
Communications of the ACM
Self-nonself discrimination in a computer
Proceedings of the IEEE Symposium on Research in Security and Privacy
Using genetic algorithms to explore pattern recognition in the immune system
Evolutionary Computation
Fast immunized evolutionary programming
Proceedings of the Congress on Evolutionary Computation
Cited by (100)
Immune Plasma Programming: A new evolutionary computation-based automatic programming method
2024, Applied Soft ComputingA comprehensive review of automatic programming methods
2023, Applied Soft ComputingDifference-based firefly programming for symbolic regression problems
2023, Computer Standards and InterfacesA quick semantic artificial bee colony programming (qsABCP) for symbolic regression
2019, Information SciencesEnsemble of heterogeneous flexible neural trees using multiobjective genetic programming
2017, Applied Soft Computing JournalA feasibility study of BBP for predicting shear capacity of FRP reinforced concrete beams without stirrups
2016, Advances in Engineering Software