Eliezer S. Yudkowsky wrote:
> You might generalize "Knowledge Bases" to "Similarity Analysis". It is
> possible, for example, to use the stored idea of a "fork" in chess in
> other games, or on the battlefield. This, in turn, generalizes to
> categories and symbols - "when are two things the same" is "when are
> they in the same category" is "when do I use the same word". And this,
> in turn, shares a fuzzy boundary with perception and search trees - that
> an analogy is a kind of high-level perception, and that analogy may
> be created by a search tree that tries to unify low-level similarities
> in all the possible ways. (Actually, I don't know how symbols and
> analogies work.)
> Nevertheless, I think that "Similarity Analysis" remains distinct. That
> the various strategies may be composed of each other (at different
> levels) does not obviate their usefulness as heuristics.
Well, I wanted to start by breaking things down into the most basic possible categories, in hopes of making it easier to do productive analysis. What I've really got is two problem-solving approaches (decision tree searches and data transformation engines) and a mechanism for caching results (the knowledge base).
Certainly, emulating human abilities will require more than one method. A typical example might use a data transformation engines (with its own knowledge base) to extract information from sensory data, a decision tree search (with another knowledge base) to decide what symbols to use to represent the information, symbolic processing (whatever that is) to decide what to do about it, and then another chain of alternating methods to put the decision into action. But if we determine how the underlying abilities scale with increased processing power and development effort, it tells us a lot about how the combination will scale as well.
BTW - I think you've actually got a good start on the symbolic processing. IMHO, the only thing that makes this a hard problem is that there is so much going on that replicating it turns into a programming nightmare.
I think the symbol-application problem can be solved using meta-data and a separate code module to mediate symbol interactions. New symbols can be created to correspond with sensory perceptions, or by slightly mutating existing ones (i.e. "picture a cat with two tails") - which is a limitation humans have. Once the symbols are properly grounded, ordinary symbolic processing techniques should be capable of yielding a decent quality of thought. Do you see other show-stoppers?
Billy Brown, MCSE+I