Universe Knowledge Base Solution

Develop a program that begins with minimal knowledge.  When the program incorrectly guesses an answer, it asks for the answer and asks for a way to identify the item.  The program builds a binary tree of questions and items.  A YES response to a question is stored in the question’s left child while a NO answer is stored in the question’s right child.

The following is an example of the dialog for a universe of animals.

Think of an animal and I will guess it.

Does it have legs?  YES

Is it a cat?  YES

I win!  Continue?  YES

Think of an animal and I will guess it.

Does it have legs?  NO

Is it a snake?  YES

I win!  Continue?  YES

Think of an animal and I will guess it.

Does it have legs?  NO

Is it a snake?  NO

I give up.  What is it?  EARTHWORM

Please type a question whose answer is yes for an earthworm and no for a snake.

DOES IT LIVE UNDERGROUND?

Continue?  YES

Think of an animal and I will guess it.

Does it have legs?  NO

Does it live underground?  NO

Is it a snake?  NO

I give up.  What is it?  FISH

Please type a question whose answer is yes for an earthworm and no for a snake.

DOES IT LIVE IN WATER?

Continue?  NO

Good-bye.
Powered by