The specialization problem and the completeness of unfolding
We discuss the problem of specializing a definite program with respect to sets of positive and negative examples, following Bostrom and Idestam-Almquist. This problem is very relevant in the field of inductive learning. First we show that there exist sets of examples that have no correct program, i.e., no program which implies all positive and no negative examples. Hence it only makes sense to talk about specialization problems for which a solution (a correct program) exists. To solve such problems, we first introduce UD1-specialization, based upon the transformation rule unfolding. We show UD1-specialization is incomplete - some solvable specialization problems do not have a UD1-specialization as solution - and generalize it to the stronger UD2-specialization. UD2 also turns out to be incomplete. An analysis of program specialization, using the subsumption theorem for SLD-resolution, shows the reason for this incompleteness. Based on that analysis, we then define UDS-specialization (a generalization of UD2-specialization), and prove that any specialization problem has a UDS-specialization as a solution. We also discuss the relationship between this specialization technique, and the generalization technique based on inverse resolution. Finally, we go into several more implementational matters, which outline an interesting topic for future research.
|Keywords||Horn clauses, SLD-resolution, inductive logic programming, logic, logic programming, program specialization, resolution, unfolding|
Nienhuys-Cheng, S-H., & de Wolf, R.. (1996). The specialization problem and the completeness of unfolding. Retrieved from http://hdl.handle.net/1765/1434