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 func tional 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 efficiently. 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 specific 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 first if interpretability is sacrificed for increased accuracy.