May 25, 2004

mac os x nam-shub

I'm an emacs junkie so I really love this one. I cannot believe I only discovered it a few days ago.

iSearch Plugin

This gives you incremental search (Ctrl-s) in any NSTextView. Very cool. Thank you, Michael.

Posted by Uwe Hoffmann at 08:35 PM

May 16, 2004

comments are open again

I upgraded this blog to Movable Type 3.0D and turned comments back on. They were off for a long time after a spammer polluted most of my entries. To prevent this from happening again I require a registration with TypeKey. If this is too much trouble you can also send your comments to blog at this domain.

Posted by Uwe Hoffmann at 08:20 PM

imagination-perception loop

I dug up this excellent paper The binding roots of symbolic AI: a brief review of the Cyc project by Deniz Yuret. In the course of reviewing the Cyc project he manages to give a short history of symbolic A.I., discuss the origins of logic, frame the A.I. discussion and explain the types of arguments one can make, talk about knowledge representations and models of thinking and much more.

A system that relies solely on deductive reasoning has systemic limitations that prevent it from manifesting, well... intelligence.

The number of facts you can deduce from what you know, is not restricted to the deductive closure of everything in your symbolic memory. You add to this the analogue information you have in the memories of your other representational systems. You further add the ability of one system being able to set up experiments to be run in another.

If deductive reasoning is limiting what else can a system use ?


Here's another quote from the paper:

I criticized Cyc for having only an explicit representation, and relying on deductive inference as the main computational machinery. How else is it possible to represent things and do inference?

To illustrate the point, I will give an example from Herbert Simon, commenting on visual imagery to Gazzaniga [Gazzaniga, 1985]: ``Imagine a rectangle. Draw a line from the top right-hand corner to the bottom left corner. Now draw a line from the middle of the diagonal to the bottom right corner. Now approximately one third of the distance from the top right corner along the top line, drop a perpendicular line down to the lower edge. How many lines do you intersect?''

Introspection is typically not considered valid scientific evidence in cognitive science. However if you felt like you were drawing the rectangle in your mental sketchpad while reading the question, it did not mislead you this time. There are conclusive brain imaging studies that show that some visual regions of the brain that are active during perception are also active during thinking and imagination.
....
This illustrates a powerful inference engine. To find out whether a flying bird touches ground, you might have used this machinery for a blink of a second to see that it does not. Maybe the picture was drawn for you while you were hearing the sentence. To ``deduce'' that the Pisa tower is an unbalanced structure, you can imagine your body tilted at that angle, and the balance sensors in your ears will tell you it is not very stable.
....
The imagination-perception loop also illustrates the implicit representation. The fact that flying birds do not touch ground does not have to be represented anywhere in your knowledge. It is implicit in the procedures that convert the verbal description to a visual image, and the procedures which can look at the image and answer queries.

But wait,


In fact, as you might have suspected already, there is a bug with our scheme of inference using imagery. And this bug stems from the realization of the previous section, that we cannot substitute different representations for one another. When I started the description, ``imagine a rectangle...'', you were imagining a specific rectangle. Your image did not capture the concept of a rectangle in general. The answer to that particular puzzle happens to hold for any rectangle, so you were able to solve it. But it didn't have to be that way. The typical mistake of geometry students is to draw an equilateral triangle instead of ``any'' triangle and be misled by their own drawing into wrong conclusions. Good thing we brought this up. I was almost suggesting a constant time algorithm for the NP-hard problem of inference.

Whenever you pass information from one representational system to another, knowledge gets lost. You have to add defaults to visualize a concept, or you have to choose particular abstractions to verbalize a picture.

To conclusively prove a statement including abstract concepts like triangle using pictures, one would have to consider the picture of every possible triangle. Typically, however, a few carefully selected examples suffice to span the whole set and convince us of a proposition. How to select the right examples is a hard problem, because it partly depends on the question asked. This is the heuristic component of our ``constant time'' algorithm, and it may fail at times.

The fact that some mechanism of inference is not complete, does not render it useless. It may be better to have a system that works 99% of the time, and then try to focus on learning the exceptions.

This starts to look more like inductive inference rather than deductive inference. The difference from the standard idea of ``induction'' is that the mind has the ability to generate its own examples. Instead of going out to a field and try to find flying birds, you can just imagine them to infer they don't touch the ground.

The paper mentions G. Polya and his distinction between demonstrative (deductive) and plausible (inductive) reasoning. Polya taught plausible reasoning to his students and wrote a couple of books on this: How to Solve It and Mathematics and Plausible Reasoning.

The paper concludes with a description of "high-level" reasoning and with a list of principles that the author Deniz Yuret would use to build the next Cyc:


Symbols are not the only kind of data structures that should flow in a system. There is room for other modalities.

Deduction is not the only way to reach new facts. Using the appropriate modality to imagine situations and testing them by the efficient engines of the perceptual machinery can be the main inference engine.

Complementary representational systems can express what each one by itself cannot express.

Complementary representational systems can infer things that each one by itself could not infer efficiently.

Finally, higher level domains can be built as analogical layers on primitive domains, and inherit their inference efficiency.

For A.I. and machines it's not that easy to see how this will be accomplished; for us humans it's well known how we can improve our plausible (inductive) reasoning: practice, practice, practice. Solve many puzzles :-) ....

Posted by Uwe Hoffmann at 07:36 PM