Wednesday, October 28, 2009

Chapter 4

To say some piece of art is "great art", I think you need a single characteristic: the ability of many people to interpret the same piece in totally different ways. This is one of the craziest things about high level perception -- the fact that, when you take some objects (tangible or non-tangible), glue them together with some sticky relations, and then recognize that as a "situation" or brand new entity which may be regarded as X to you, but Y to your friends, you've got high-level perception. This is what brought us down from the trees and into our suits and ties. Sure, the sun rises on one side of the horizon and sets in the other -- but what does that mean?

How do you get your computer to produce these same kinds of meanings? Well, for a while, it was easy enough to hard code the knowledge into them.. But, of course, this is cheating. We want the computer to take data and abstract things like objects, relationships, probabilities, and meaning from the whole picture, right? Hofstadter says that figuring out how to appropriate represent a set of data is absolutely essential to discovering how humans process the information. This is a common mantra in the AI communities..

AI researchers have long tailored their data to match their algorithms.. The idea being that in order to emulate cognitive processing, one is able to leave out the mushy perceptual details by defining a more rigid stimulus of their own. In other words, you can remove the low-level input's original state and replace it with a nicer one for the higher-level systems to work on. Obviously, this makes things easier to watch when you're doing research. Hofstadter says you shouldn't be mad at the AI people for this.


Doug is fuming angry (preface 4)

Hofstadter starts by recalling a news article which appeared in Science. The article praised a recently developed program based on "structure-mapping theory" (SME). Supposedly, it could 'understand' concepts and make analogies between these concepts -- such as heat movement and water movement. Sadly, it was all really just clever programming on the part of the researchers, and the program really didn't know what it was doing. It's job was just to manipulate symbols in a pre-defined manner.

Next, there is discussion about an article in the New York Times in 1993, which describes a program which can write novels by asking questions to the host of the machine (a person). It was hailed by many as a great marvel of the modern age.. a computer .. that thought up stories! But it really wasn't understanding anything, as the article said. Doug was frustrated and angry at these statements -- he even wrote a letter to the NYT.

The final portion of the preface talks about the COPYCAT project. Hofstadter says he and his team would love to talk all day about COPYCAT, but he realizes that any researcher loves to go on and on about their studies.. I guess they might've felt a bit ashamed at their little program, when so many others were making headlines. But, it looks like there's still a few hundred more pages to go, so I bet something interesting is around the next corner.

Monday, October 5, 2009

Numbo - pgs 127- 138

Daniel Defays, during his sabbatical year at Ann Arbor with Douglas Hofstadter in the late eighties, designed and implemented a puzzle-playing program based off of ideas about human problem solving. His game "Le Compte Est Bon" ("the total is correct") is generalized as follows: there are five randomly chosen integers and one larger integer, the goal is to use addition/subtraction/multiplication to make the five equal to the one.

It is trivial to enumerate all of the possible answers using a computer program to model the "Numble" world. But how to do it with goals of discovering how the human mind works on these problems?

Defays architecture utilizes the rote learning of arithmetic tables we are all subjected to memorizing in grade school. He considers these to be part of a larger system which teases apart the problem in our brain. I like to think of it as a form of preprocessing. When the program first encounters a problem, it may try to use a top-down approach -- starting with the goal and then compiling clusters of numbers and operations which fall within range of the goal. Beyond the arithmetic tables of 0-12, there are also some "landmark" numbers which appear to have special appeal to us humans -- digits of 2, 5, 10, exponential numbers, etc. These can be exploited to get within range of similar numbers. The book uses the example of getting in range of 146 by noting that 144 = 12 x 12, this is a reasonable starting place for problem solving.