Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Quick Introduction to "Semi-Formal Intelligence"

24 views
Skip to first unread message

Yao Ziyuan

unread,
Nov 8, 2011, 8:17:56 AM11/8/11
to
A Quick Introduction to "Semi-Formal Intelligence"

1. A look at knowledge-based AI: pros and cons

Knowledge-based AI tries to encode all knowledge related to a problem
in a formal language, resulting in a formal knowledge base (KB), and
then uses a formal reasoner to reason about this KB and find a
solution to the said problem.

This approach succeeds in problems that involve limited knowledge,
such as automated theorem proving and chess playing.

It fails in problems that involve commonsense knowledge, such as
natural language understanding.

2. What about only formalizing "meta knowledge"?

Let's look at Wikipedia. It's also a "knowledge base", but not a fully
formal one. It is written in natural language, but if you look closer,
there are still some "formal ingredients" in it:

(1) Most notably, each concept on Wikipedia has a unique name. In
other words, Wikipedia gives every concept a formal name, but not a
formal definition. Instead, natural language is used to define, or
describe, a concept.

(2) A Wikipedia article can link to other Wikipedia articles. In other
words, Wikipedia formally establish relations between concepts,
although these relations don't have formal names or formal
definitions. Instead, relations are described in natural language. For
example, in the Wikipedia article "Cat", we may write: "A cat likes
[[milk]]." (Note: [[milk]] means a hyperlink to the Wikipedia article
"Milk".) This means there exists a relation between the concept "cat"
and the concept "milk", but this relation is only described in natural
language: "likes".

(3) Wikipedia has a special kind of page called "Category page", which
links to some Wikipedia articles or other Category pages. In other
words, Wikipedia formally declare "categories", which can include
concepts and other categories.

In conclusion, Wikipedia is a knowledge base that formally names
concepts, formally establish relations between concepts (although
these relations are not formally named or formally described), and
formally names categories and declares members of these categories;
everything else is described informally, i.e. in natural language.
Therefore, we can call Wikipedia a semi-formal knowledge base.

3. From semi-formal knowledge base to semi-formal problem solving

Just like knowledge-based AI has two main topics, "formal knowledge
representation" and "formal reasoning", our semi-formal intelligence
also has two main topics, "semi-formal knowledge representation" and
"semi-formal problem solving". The previous section has discussed
"semi-formal knowledge representation" (with Wikipedia as a good
example), and this section will discuss "semi-formal problem solving".

So what is "semi-formal problem solving"? Let's first look at George
Polya's famous book "How to Solve It". In that book, Polya said, if
you can't solve a problem directly, you can use several "general
problem-solving strategies" (e.g. "Generalization", "Specialization",
"Analogy", "Divide and Conquer", "Induction from Examples", etc.) to
derive a new problem from that original problem. If you can solve this
new problem directly, you can apply your solution back to the original
problem. If you can't solve this new problem directly, well, you can
again use those "general problem-solving strategies" to derive a third
problem from this second problem and see if you can solve that third
problem directly. So the whole problem-solving process becomes a
"tree", with the original problem being the tree's "root node", and
each derived problem being a new "child node" under its originating
problem.

Now we actually can use the same semi-formal mechanism used in
Wikipedia to organize a George Polya-style problem solving process. In
other words, we can use a wiki for problem solving. In Wikipedia,
every wiki page corresponds to a concept and gives that concept a
formal name; in our problem-solving wiki, every wiki page corresponds
to a "problem" and gives that problem a formal name. Initially, there
is only one wiki page, corresponding to the "original problem", and
from this start page, we can look at that "cheat sheet" of Polya's
"general problem-solving strategies", and apply some of them to derive
some new problems from the original problem; each new problem will
occupy a new wiki page, have a formal name and be linked to from the
original problem's wiki page. This process goes on recursively until
we can directly solve a derived problem and then apply our solution
back to the original problem.

We call this "semi-formal problem solving".

4. An experimental "problem-solving wiki"

I just created a Google Sites site https://sites.google.com/site/semiformalintelligence
to demonstrate the "semi-formal problem solving" idea discussed in the
previous section. I chose Google Sites because it is essentially a
free wiki hosting service, allowing multiple users to collaboratively
edit a wiki (and in our case, collaboratively solve a problem).

Regards,
Ziyuan Yao
yaoz...@gmail.com
https://sites.google.com/site/yaoziyuan/

[ comp.ai is moderated ... your article may take a while to appear. ]
0 new messages