Evolving a compact, concept-based Sokoban solver

This paper reports on an attempt to come closer to an understanding of understanding, in the domain of artificial intelligence. Our approach is based in the idea that understanding means exploiting underlying structure. Our goal is compact code that is adapted to the structure of its problem domain. We want to achieve this compactness by applying Occam’s Razor in an evolutionary framework. As a problem domain we chose the game Sokoban; for evolution we used genetic programming set in a Hayek economy. We have gained insights into how hard this problem is and developed a framework in which to tackle it. Using concepts derived directly from playing Sokoban, an adapted representation language and the Hayek economic system, we laid the foundation for evolving such compact code. Although the complete project goes beyond the scope of this thesis, here we demonstrate experimentally that the approach is viable, because our system can evolve code that solves interesting Sokoban instances.