Abstract
Children learn through 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