Building a puzzle solver

Another interesting application of logic programming is in solving puzzles. We can specify the conditions of a puzzle and the program will come up with a solution. In this section, we will specify various bits and pieces of information about four people and ask for the missing piece of information.

In the logic program, we specify the puzzle as follows:

  • Steve has a blue car
  • The person who owns the cat lives in Canada
  • Matthew lives in USA
  • The person with the black car lives in Australia
  • Jack has a cat
  • Alfred lives in Australia
  • The person who has a dog lives in France
  • Who has a rabbit?

The goal is the find the person who has a rabbit. Here are the full details about the four people:

Create a new Python file and import the following ...

Get Artificial Intelligence with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.