# Animal, Vegetable, or Mineral?

The 1978 BASIC program Animal is an animal-specific variation of twenty questions. You think of an animal, and the computer tries to guess what animal you're thinking of by asking a series of yes or no questions. If the computer is stumped, the user is prompted to enter a question that would distinguish the unknown animal from the previous question. Thus, the more the program runs, the more it "learns" about animals.

This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2005/12/animal-vegetable-or-mineral.html

This really touches on a greater point, that there aren’t many absolutes (if any), just relative measures and best matches (if even near perfect)

However it comes down to the fact that it is simpler for a person to remember something simple and mainly correct, than it is to fully understand the true complexities of many things.

as a NN researcher, call me suspicious but the idea of using a neural network to train this makes no sense at all. in fact it sounds not only silly but completely counterproductive and downright stupid in every possible way. i strongly suspect it’s just bullsh*t and that this thing is using an algorithm very close to the original Animal program and he just doesn’t want to admit that.

the reality is that the original Animal game in a pinacle of elegance and simplicity. it simply constructs a decision tree, adding branches every time it gets something wrong, in order to differentiate concepts. you can get a little more sophisticated in order to reduce the depth of the tree but other than that it would be insane to use something like a neural network on such a clean task. and its hard to see how you would make a NN work on something like this anyway, though i’m open to hearing about it.

Of course, one of the problems here is generalization. An “egg” might be fairly easy to pinpoint unless it is “an Ostrich egg”, etc. So, in my mind if you can only have logical queries based on generalized objects, etc., then it’s not a very good implementation anyway. Having said that, even some general items are difficult to characterize with 20 Questions. For example, my item was a watch, and the 20 Questions website never got close even though I believe I was being honest and logical with my answers. It is still too structured and it just doesn’t work except on the simplest, “gee, that’s kind of neat”, level.

I completely stumped it on “blog”. Never got it right.

I can’t belive what the 20 questions reference is saying.

You can talk about the lack of absolutes if you want, but if you think a wooley jumper is an animal then you are just plain wrong.

I thought it was interesting that you think you should enter “mineral” for things like Big Ben, and “vegatable” for a t-shirt. These things I would answer “other” and it still is so very accurate. It’s correctly guessed things like “television show, manatee, poop, spiderman, magic 8 ball” With mine, I have never ever once said it was a mineral. I only choose vegatable if it is, indeed, a fruit or vegatable, or plant. Not a t-shirt.

Although we had a wonderful time with it, it did miss a few. It missed ‘bowl’, maypole and integrated circuit. On the other hand it astonishingly got platypus, kite and fingernail polish. It’s a great party game!