Learning logic programs by explaining their failures
Scientists form hypotheses and experimentally test them. If a hypothesis fails (is refuted), scientists try to explain the failure to eliminate other hypotheses. The more precise the failure analysis the more hypotheses can be eliminated. Thus inspired, we introduce failure explanation techniques for inductive logic programming. Given a hypothesis represented as a logic program, we test it on examples. If a hypothesis fails, we explain the failure in terms of failing sub-programs. In case a positive example fails, we identify failing sub-programs at the granularity of literals. We introduce a failure explanation algorithm based on analysing branches of SLD-trees. We integrate a meta-interpreter based implementation of this algorithm with the test-stage of the Popper ILP system. We show that fine-grained failure analysis allows for learning fine-grained constraints on the hypothesis space. Our experimental results show that explaining failures can drastically reduce hypothesis space exploration and learning times.
Code (0)
등록된 구현이 없습니다.
Tasks
Inductive logic programmingSimilar Papers 제목 키워드 기반
Draft-and-Prune: Improving the Reliability of Auto-formalization for Logical Reasoning
Auto-formalization (AF) translates natural-language reasoning problems into solver-executable programs, enabling symbolic solvers to perform sound logical deduction. In practice, however, AF pipelines are currently britt…
Logical ReasoningMemorization, Emergence, and Explaining Reversal Failures: A Controlled Study of Relational Semantics in LLMs
Autoregressive LLMs perform well on relational tasks that require linking entities via relational words (e.g., father/son, friend), but it is unclear whether they learn the logical semantics of such relations (e.g., symm…
"Why did you do that?": Explaining black box models with Inductive Synthesis
By their nature, the composition of black box models is opaque. This makes the ability to generate explanations for the response to stimuli challenging. The importance of explaining black box models has become increasing…
Program SynthesisTechnical Report: Inconsistency in Answer Set Programs and Extensions
Answer Set Programming (ASP) is a well-known problem solving approach based on nonmonotonic logic programs. HEX-programs extend ASP with external atoms for accessing arbitrary external information, which can introduce va…
exp(ASPc) : Explaining ASP Programs with Choice Atoms and Constraint Rules
We present an enhancement of exp(ASP), a system that generates explanation graphs for a literal l - an atom a or its default negation ~a - given an answer set A of a normal logic program P, which explain why l is true (o…
Negation