Using Program Synthesis and Inductive Logic Programming to solve Bongard Problems

The ability to recognize and make analogies is often used as a measure of or to even test human intelligence [8]. The ability to solve Bongard problems is an example of such a test [8]. It has also been postulated that the ability to rapidly construct novel abstractions is critical to being able to solve analogical problems [3,9]. Given an image, the ability to construct a program that would generate that image is one form of abstraction, as exemplified in the Dreamcoder project [7]. In this paper we present a preliminary examination of whether programs constructed by Dreamcoder can be used for analogical reasoning to solve certain Bongard problems. We use Dreamcoder to discover programs that generate the images in a Bongard problem and represent each of these as a sequence of state transitions. We decorate the states using positional information in an automated manner and then encode the resulting sequence into logical facts in Prolog. We use inductive logic programming (ILP), to learn an (interpretable) theory for the abstract concept involved in an instance of a Bongard problem. Experiments on synthetically created Bongard problems for concepts such as ‘above/below’ and ‘clockwise/counterclockwise’ demonstrate that our end-to-end system can solve such problems. We study the importance and completeness of each component of our approach, highlighting its current limitations and pointing to directions for improvement in our formulation as well as in elements of any Dreamcoder-like program synthesis system used for such an approach.

[1]  Luc De Raedt,et al.  Inductive Logic Programming: Theory and Methods , 1994, J. Log. Program..

[2]  Charles Cole,et al.  Fluid concepts and creative analogies: Computer models of the fundamental mechanisms of thought , 1996 .

[3]  Jacob Andreas,et al.  Leveraging Language to Learn Program Abstractions and Search Heuristics , 2021, ICML.

[4]  Charles Ling,et al.  A Deeper Look at Bongard Problems , 2020, Canadian Conference on AI.

[5]  Armando Solar-Lezama,et al.  DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning , 2021, PLDI.

[6]  Saul Amarel,et al.  On representations of problems of reasoning about actions , 1968 .

[7]  A. Tate A measure of intelligence , 2012 .

[8]  B. Ripley,et al.  Pattern Recognition , 1968, Nature.

[9]  Armando Solar-Lezama,et al.  Learning to Infer Graphics Programs from Hand-Drawn Images , 2017, NeurIPS.

[10]  Leslie Pack Kaelbling,et al.  Few-Shot Bayesian Imitation Learning with Logic over Programs , 2019, ArXiv.

[11]  Melanie Mitchell,et al.  Artificial Intelligence: A guide for Thinking Humans , 2020 .

[12]  Armando Solar-Lezama,et al.  Write, Execute, Assess: Program Synthesis with a REPL , 2019, NeurIPS.

[13]  Frank Jäkel,et al.  Solving Bongard Problems with a Visual Language and Pragmatic Reasoning , 2018, ArXiv.

[14]  Kazumi Saito,et al.  A concept learning algorithm with adaptive search , 1993, Machine Intelligence 14.

[15]  Justus H. Piater,et al.  25 Years of CNNs: Can We Compare to Human Abstraction Capabilities? , 2016, ICANN.