Reusing Learned Functionality to Address Complex Boolean Functions

Although it is possible to identify building blocks of knowledge created by a learning classifier system in order to reuse them to solve larger scale problems, a scaling limit was still reached in certain domains. Furthermore, it was not possible to transfer functionality from one domain to another. Initial investigations have shown that it is possible and practical to reuse learned rule sets as functions in very simple problems in the same domain. The novel work here seeks to reuse learned knowledge and functionality to scale to complex problems in the same domain and to a related domain for the first time. The past work showed that the reuse of knowledge through the adoption of code fragments, GP-like sub-trees with a depth of at most two, into the XCS learning classifier system framework could provide dividends in scaling; the technique made it possible to solve until then intractable problems like the 135 bit multiplexer. The main contribution of this investigation is that a growing set of learned functions reused in the inner nodes of a code fragment tree can be beneficial. This is anticipated to lead to a reduced search space and increased performance both in terms of instances needed to solve a problem and classification accuracy. We show that through the reuse of learned functionality at the root and leaf nodes of code fragment trees, it is possible to solve complex problems such as the 18 bit hidden multiplexer problem.

[1]  Noam Nisan,et al.  The Elements of Computing Systems - Building a Modern Computer from First Principles , 2005 .

[2]  Pier Luca Lanzi,et al.  Learning classifier systems: then and now , 2008, Evol. Intell..

[3]  Martin V. Butz,et al.  Rule-Based Evolutionary Online Learning Systems - A Principled Approach to LCS Analysis and Design , 2006, Studies in Fuzziness and Soft Computing.

[4]  Nickolas J. G. Falkner,et al.  Computer Science Education: The First Threshold Concept , 2013, 2013 Learning and Teaching in Computing and Engineering.

[5]  Will N. Browne,et al.  Learning overlapping natured and niche imbalance boolean problems using XCS classifier systems , 2013, 2013 IEEE Congress on Evolutionary Computation.

[6]  Stewart W. Wilson Classifier Fitness Based on Accuracy , 1995, Evolutionary Computation.

[7]  Jason H. Moore,et al.  Learning classifier systems: a complete introduction, review, and roadmap , 2009 .

[8]  Mengjie Zhang,et al.  Reusing Building Blocks of Extracted Knowledge to Solve Complex, Large-Scale Boolean Problems , 2014, IEEE Transactions on Evolutionary Computation.

[9]  John R. Koza Hierarchical Automatic Function Definition in Genetic Programming , 1992, FOGA.

[10]  Ronald Tocci,et al.  Digital Systems: Principles and Applications , 1977 .

[11]  Robert Rosen,et al.  Progress in Theoretical Biology , 2012 .

[12]  Sebastian Thrun,et al.  Is Learning The n-th Thing Any Easier Than Learning The First? , 1995, NIPS.

[13]  Mengjie Zhang,et al.  Evolving optimum populations with XCS classifier systems , 2012, Soft Computing.

[14]  Mengjie Zhang,et al.  Reusing learned functionality in XCS: code fragments with constructed functionality and constructed features , 2014, GECCO.

[15]  Mengjie Zhang,et al.  Extending learning classifier system with cyclic graphs for scalability on complex, large-scale boolean problems , 2013, GECCO '13.