Production Matching for Large Learning Systems Robert B. Doorenbos January 31, 1995 CMU-CS-95-113 Computer Science Department Carnegie Mellon University Pittsburgh, PA Submitted in partial ful(cid:12)llment of the requirements for the degree of Doctor of Philosophy. Thesis Committee: Jill Fain Lehman, Computer Science Department Tom Mitchell, Computer Science Department Manuela Veloso, Computer Science Department Paul Rosenbloom, University of Southern California/InformationSciences Institute (cid:13)c 1995 Robert B. Doorenbos This research was sponsored in part by a National Science Foundation Graduate Fellowship, and by the Wright Laboratory, Aeronautical Systems Center, Air Force Materiel Command, USAF, and the Advanced Research Projects Agency (ARPA) under grant number F33615-93-1-1330. Views and conclusions contained in this document are those of the author and should not be interpreted as necessarily representing o(cid:14)cial policies orendorsements, either expressed or implied, ofWright Laboratoryor the United States Government. The U.S. Government is authorized toreproduce and distribute reprints forGovernmental purposes, notwithstanding any copyright notation thereon. Keywords: arti(cid:12)cial intelligence, large-scale production systems, machine learning, produc- tion match, Soar Abstract One of the central results of AI research in the 1970’s was that to achieve good performance, AI systems must have large amounts of knowledge. Machine learning techniques have been developed to automatically acquire knowledge, often in the form of if-then rules (productions). Unfortunately, this often leads to a utility problem | the \learning" ends up causing an overall slowdown in the system. This is because the more rules a system has, the longer it takes to match them against the current situation in order to determine which ones are applicable. To address this problem, this thesis is aimed at enabling the scaling up of the number of rules in production systems. We examine a diverse set of testbed systems, each of which learns at least 100,000 rules. We show that with the best existing match algorithms, the match cost increases linearly in the number of rules in these systems. This is inadequate for large learning systems, because it leads to a utility problem. We then examine the causes of this linear increase, and develop techniques which eliminate the major causes. The end result is an improved match algorithm, Rete/UL, which is a general extension of the existing state-of-the- art Rete match algorithm. Rete/UL’s performance scales well on a signi(cid:12)cantly broader class of systems than existing match algorithms. The use of Rete/UL rather than Rete signi(cid:12)cantly reduces or eliminates the utility problem in all the testbed systems. iii iv To my parents v vi Contents Acknowledgments xiii 1 Introduction 1 1.1 Previous Approaches to the Utility Problem : : : : : : : : : : : : : : : : : : : : 2 1.2 Overview of the Thesis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.3 Delimiting the Scope of the Thesis : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.4 Organization of the Thesis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2 The Basic Rete Algorithm 7 2.1 Overview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.2 Alpha Net Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 2.3 Memory Node Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18 2.4 Join Node Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23 2.5 Removals of WMEs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28 2.6 Adding and Removing Productions : : : : : : : : : : : : : : : : : : : : : : : : : 33 2.7 Negated Conditions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39 2.8 Conjunctive Negations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 44 2.9 Miscellaneous Implementation Notes : : : : : : : : : : : : : : : : : : : : : : : : 50 2.10 Other Optimizations for Rete : : : : : : : : : : : : : : : : : : : : : : : : : : : : 53 2.11 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55 3 Basic Rete: Performance and Observations 59 3.1 The Testbed Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59 3.2 Problem Generators : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66 3.3 Performance of Basic Rete on the Testbed Systems : : : : : : : : : : : : : : : : 67 3.4 Number of Productions A(cid:11)ected by WMEs : : : : : : : : : : : : : : : : : : : : : 70 3.5 Sharing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 75 3.6 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 77 vii 4 Adding Right Unlinking to Rete 81 4.1 Null Right Activations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 83 4.2 Right Unlinking: Basic Idea : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 85 4.3 Right Unlinking: Implementation : : : : : : : : : : : : : : : : : : : : : : : : : : 87 4.4 Right Unlinking: Empirical Results : : : : : : : : : : : : : : : : : : : : : : : : : 92 5 Adding Left Unlinking to Rete 95 5.1 Null Left Activations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96 5.2 Left Unlinking: Basic Idea : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97 5.3 Interference Between Left and Right Unlinking : : : : : : : : : : : : : : : : : : : 99 5.4 Left Unlinking and Rete/UL: Implementation : : : : : : : : : : : : : : : : : : : 101 5.5 Interference: Theoretical Results : : : : : : : : : : : : : : : : : : : : : : : : : : : 104 5.6 Left Unlinking and Rete/UL: Empirical Results : : : : : : : : : : : : : : : : : : 109 5.7 Generalizing Unlinking : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 113 5.8 Alternative Approaches : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 115 6 Theoretical Analysis 127 6.1 Keeping Match Cost Polynomial in W and C : : : : : : : : : : : : : : : : : : : 128 6.2 Keeping Match Cost Sublinear in P : : : : : : : : : : : : : : : : : : : : : : : : : 129 6.3 Analysis of Rete/UL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 131 6.4 Minimally Expressive Representations : : : : : : : : : : : : : : : : : : : : : : : : 138 7 Match and the Utility Problem 141 7.1 Methodology : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 142 7.2 Empirical Results : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 143 8 Summary and Future Work 145 8.1 Summary of Results and Contributions : : : : : : : : : : : : : : : : : : : : : : : 145 8.2 Directions for Future Work : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 146 A Final Pseudocode 149 B Static Characteristics of the Testbed Systems 167 C Distribution of Sizes of A(cid:11)ect Sets 173 D Reducing Unique-Attribute Trees to Atomic WMEs 177 E Detailed Results of Utility Problem Experiments 181 Bibliography 187 viii List of Tables 3.1 Domains and basic problem-solving techniques of the testbed systems. : : : : : : 61 3.2 Sizes of the testbed systems. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61 5.1 Join node activations per WM change, with di(cid:11)erent matchers. : : : : : : : : : : 109 5.2 Speedup factors from using Rete/UL rather than Rete, with 100,000 rules. : : : 113 5.3 Correspondence between unlinking with k-ary joins and virtual memory paging. 115 5.4 Number of wasted join node table lookups, with 100,000 rules. : : : : : : : : : : 117 5.5 Classifying schemes for data(cid:13)ow reduction. : : : : : : : : : : : : : : : : : : : : : 122 6.1 Summary of theoretical results on e(cid:14)cient matching. : : : : : : : : : : : : : : : 131 7.1 Summary of results of the utility problem experiments. : : : : : : : : : : : : : : 144 8.1 Types and locations of increasing activations, and ways to avoid them. : : : : : 146 B.1 Raw data, with 100,000 rules. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 168 B.2 Per-production data, with 100,000 rules. : : : : : : : : : : : : : : : : : : : : : : 169 B.3 Static sharing factors, with 100,000 rules. : : : : : : : : : : : : : : : : : : : : : : 169 B.4 Raw data, with initial rules only. : : : : : : : : : : : : : : : : : : : : : : : : : : 170 B.5 Per-production data, with initial rules only. : : : : : : : : : : : : : : : : : : : : 170 B.6 Static sharing factors, with initial rules only. : : : : : : : : : : : : : : : : : : : : 171 C.1 Distribution of sizes of WME a(cid:11)ect sets, with 100,000 rules in each system. : : : 175 E.1 Number of problems in the training and test sets. : : : : : : : : : : : : : : : : : 181 E.2 Results of the experiments when using the basic Rete matcher. : : : : : : : : : : 182 E.3 Results of the experiments when using Rete/UL. : : : : : : : : : : : : : : : : : : 182 E.4 Summary of cognitive, computational, and net e(cid:11)ects of learning. : : : : : : : : 183 E.5 Factoring the computational e(cid:11)ect. : : : : : : : : : : : : : : : : : : : : : : : : : 184 ix x
Description: