Strongly typed evolutionary programming
نویسنده
چکیده
As the potential of applying machine learning techniques to perplexing problems is realised, increasingly complex problems are being tackled, requiring intricate explanations to be induced. Escher is a functional logic language whose higher-order constructs allow arbitrarily complex observations to be captured and highly expressive generalisations to be conveyed. The work presented in this thesis alleviates the challenging problem of identifying an underlying structure normally required to search the resulting hypothesis space e ciently. This is achieved through STEPS, an evolutionary based system that allows the vast space of highly expressive Escher programs to be explored. STEPS provides a natural upgrade of the evolution of concept descriptions to the higher-order level. In particular STEPS uses the individual-as-terms approach to knowledge representation where all the information provided by an example is localised as a single closed term so that examples of arbitrary complexity can be treated in a uniform manner. STEPS also supports -abstractions as arguments to higher-order functions thus enabling the invention of new functions not contained in the original alphabet. Finally, STEPS provides a number of specialised genetic operators for the design of speci c concept learning strategies. STEPS has been successfully applied to a number of complex real world problems, including the international PTE2 challenge. This problem involves the prediction of the Carcinogenic activity of a test set of 30 chemical compounds. The results produced by STEPS rank joint second if the hypothesis must be interpretable and joint rst if interpretability is sacri ced for increased accuracy.
منابع مشابه
A Depth Controlling Strategy for Strongly Typed Evolutionary Programming
This paper presents a dynamic strategy for monitoring the depth of program trees evolved by STEPS (Strongly Typed Evolutionary Programming System). STEPS evolves higher-order functional programs in the form of trees, which are allowed to grow or shrink to fit the size of the problem, via specialised genetic operators. Thus, the need for arbitrary cut-off mechanisms is eliminated.
متن کاملStrongly Typed Genetic Programming
Genetic programming is a powerful method for automatically generating computer programs via the process of natural selection (Koza, 1992). However, in its standard form, there is no way to restrict the programs it generates to those where the functions operate on appropriate data types. In the case when the programs manipulate multiple data types and contain functions designed to operate on par...
متن کاملIncremental evolution of fast moving and sensing simulated snake-like robot with multiobjective GP and strongly-typed crossover
In genetic programming (GP), most often the search space grows in a greater than linear fashion as the number of tasks required to be accomplished increases. This is a cause for one of the greatest problems in evolutionary computation; scalability. The aim of the work presented here is to facilitate the evolution of complex designs that have multiple features. We use a combination of mechanisms...
متن کاملUser-Centered Evolutionary Software Development Using Python and Java
The two language approach to software development has been investigated by several language designers. The primary hypothesis of such an approach being that both strong compile-time type checking and loose run-time type checking are desirable in evolutionary software development. Java is a strongly typed language which offers performance, robustness and modularity as such, while Python is a wea...
متن کاملStrongly-Typed Recurrent Neural Networks
Recurrent neural networks are increasing popular models for sequential learning. Unfortunately, although the most effective RNN architectures are perhaps excessively complicated, extensive searches have not found simpler alternatives. This paper imports ideas from physics and functional programming into RNN design to provide guiding principles. From physics we introduce type constraints, analog...
متن کاملTwo fast tree-creation algorithms for genetic programming
Genetic programming is an evolutionary optimization method that produces functional programs to solve a given task. These programs commonly take the form of trees representing LISP s-expressions, and a typical evolutionary run produces a great many of these trees. For this reason, a good tree-generation algorithm is very important to genetic programming. This paper presents two new tree-generat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000