Genetic Programming
Genetic programming (GP) is an evolutionary algorithm based
methodology to find computer programs that perform a user-defined task.
It is a specialization of genetic
algorithms where each individual is a computer program.
Therefore it is a machine learning technique used to optimize a
population of computer programs according to a fitness landscape
determined by a program's ability to perform a given computational
task.
The first results on the GP methodology were reported by Stephen F. Smith (1980) and Nichael L. Cramer (1985). In 1981
Forsyth reported the evolution of small programs in forensic science
for the UK police. John R. Koza is a
main proponent of GP and has pioneered the application of genetic
programming in various complex optimization and search problems.
GP is very computationally intensive and so in the 1990s it
was mainly used to solve relatively simple problems. But more recently,
thanks to improvements in GP technology and to the exponential growth in CPU power,
GP produced many novel and outstanding results in areas such as quantum computing,
electronic design, game playing, sorting, searching and many more.
These results include the replication or development of several
post-year-2000 inventions. GP has also been applied to evolvable
hardware as well as computer programs, some of which have been patented.
Our contributions in the GP
field
In the last years, we have published several papers about GP for
solving several machine learning / data mining problems. The most
recent/relevant of them are:
- P.G. Espejo, S. Ventura y F. Herrera. A Survey on the Application of
Genetic Programming to Classification Tasks in Data Mining. IEEE Transactions on Systems, Man and Cybernetics: Part C (submitted).
- A. Zafra, E. L. Gibaja and S.
Ventura. Multiple Instance Learning with MultiObjective Genetic Programming for Web Mining. Eight International Conference on Hybrid Intelligent Systems (HIS 2008). Barcelona
(Spain), 2008.
- A. Zafra and S. Ventura. Multi-objective Genetic
Programming for Multiple Instance Learning. 18th European
Conference on
Machine
Learning (ECML 2007). Warsaw (Poland), 2007.
- A. Zafra, S. Ventura, E. Herrera-Viedma and C. Romero.
Multiple
Instance Learning with Genetic Programming For Web Mining. 9th
International Work-Conference on Artificial Neural Networks (IWANN 2007).
S. Sebastian (Spain), 2007.
- C. Romero, S. Ventura, C.
Hervás and
P.
González.
Rule Discovery in Web-Based Educational Systems Using Grammar-Based
Genetic Programming. WIT Transactions on Information and
Communication Tecnologies, 35, 205-214, 2005.
- C. Romero, S. Ventura, C. de
Castro and E. García.
Algoritmos Evolutivos para el Descubrimiento de Reglas de
Predicción en la Mejora de de Sistemas Educativos Basados en
Web. RELATEC (Revista
Latinoamericana De Tecnología
Educativa), 2, 1-12, 2005.
- C. Romero, S. Ventura and
P. de
Bra. Knowledge Discovery
with
Genetic Programming for Providing Feedback to Courseware Authors. User
Modelling and User Adapted Interaction, 14(5),
425-464, 2004.
(for a more detailed list, go to my
publications page).
Also, I have developed two genetic programming modules in the JCLEC framework. The
first one is related with classic genetic programming,
although it allows the implementation of STGP algorithms. The
second module implements the grammar guided genetic programming (G3P)
or grammar based genetic programming (GBGP).