Computer Sciences Dept.

Using Explanation-Based Learning to Acquire Programs

Analyzing Examples by Richard Maclin and Jude W Shavlik

A number of problems confront standard automatic programming methods. One problem is that the combinatorics of search make automatic programming intractable for most real-world applications. Another problem is that most automatic programming systems require the user to express information in a form that is too complex. Also, most automatic programming systems do not include mechanisms for incorporating and using domain-specific knowledge. One approach that offers the possibility of dealing with these problems is the application of explanation-based learning (EBL). In the form of EBL used for this project, explanation-based learning by observation, the user enters a description of a specific problem and solution to that problem in a form comfortable to him or her. Using domain-specific knowledge, the system constructs an explanation of the solution to the problem using the actions of the user as guidance. Next, the goal stated by the user is generalized with respect to any domain information about possible goals of actions performed by the user in the solution. Then the explanation is reconstructed with respect to the generalized goal. Finally, the explanation is transformed into a general solution which can be used to solve problems that are conceptually similar to the specific problem presented. This approach promises to overcome the problems with standard automatic programming methods discussed above.

Download this report (PDF)

Return to tech report index

Computer Science | UW Home