Playgol: learning programs through play
By Andrew Cropper. 2019
37 citations recorded by the source corpus.
Children learn though play. We introduce the analogous idea of learning programs through play. In this approach, a program induction system (the learner) is given a set of user-supplied build tasks and initial background knowledge (BK). Before solving the build tasks, the learner enters an unsupervised playing stage where it creates its own play tasks to solve, tries to solve them, and saves any solutions (programs) to the BK. After the playing stage is finished, the learner enters the supervised building stage where it tries to solve the build tasks and can reuse solutions learnt whilst playing. The idea is that playing allows the learner to discover reusable general programs on its own which can then help solve the build tasks. We claim that playing can improve learning performance. We show that playing can reduce the textual complexity of target concepts which in turn reduces the sample complexity of a learner. We implement our idea in Playgol, a new inductive logic programming system. We experimentally test our claim on two domains: robot planning and real-world string transformations. Our experimental results suggest that playing can substantially improve learning performance.
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Robin Manhaeve
- Sebastijan Dumancic
- Kevin Ellis
- Maxwell Nye
- Luc De Raedt
- Angelika Kimmig
- Catherine Wong
- Josh Tenenbaum
Citations in the corpus
- DeepProbLog: Neural Probabilistic Logic Programming (2018, background): “Another research direction focuses on task-agnostic discovery of relational (symbolic) latent representations by exploiting approximate symmetries [54], a symbolic extension of the auto-encoding principle [55], or self-play [56].”
- DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning (2021, background): “These baselines incorporate every task solution wholesale into the library, thereby memorizing the best solutions found during waking (cf. [8 ]).”
- DreamCoder: growing generalizable, interpretable knowledge with wake–sleep Bayesian program learning (2020, background): “end the library by incorporating task solutions wholesale as new primitives; they do not attempt to compress but simply memorize solutions found during waking for potential reuse on new problems (cf. (36)). We evaluate memorize variants both with and without neural recognition models. Across domains”