ZebraTutor: Explaining How to Solve Logic Grid Puzzles

In this demonstration, we present ZebraTutor, an end-to-end solution for solving logic grid puzzles (also known as Zebra puzzles) and for explaining, in a humanunderstandable way, how this solution can be obtained from the clues. ZebraTutor3 starts from a plain English language representation of the clues and a list of all the entities present in the puzzle. It then applies NLP techniques to build a puzzle-specific lexicon. This lexicon is fed into a type-aware variant of the semantical framework of Blackburn and Bos ([1, 2]), which translates the clues into discourse representation theory. This logic is further transformed to a specification in the IDP language [4], an extension of first-order logic. It then uses this formal representation of the clues both to solve the puzzle and to explain how to a user can find this solution. The focus of our explanation is on simplicity: in generating explanations and choosing the order in which the reasoning steps are explained, we chose to order by an estimate of mental effort required to follow the reasoning step. Each reasoning step is visualised as the clue(s) involved and the resulting changes on the grid. When solving such puzzles, it can either be used for explaining how to obtain an entire solution, or for providing help to users who are stuck during the solving process. Indeed, our explanation method will, given a partial solution, find the easiest next derivation to make.