Tuesday, December 23, 2003

New articles on the site

Advantages of artificially crafted intelligent system --- This is a philosophical article --- chances are that you'll enjoy it :-)

Active Concept
How to merge short memory and main memory --- (quite technical article, so it may be boring).

Sunday, December 21, 2003

This info I put into Google's directory:
Title of Site: AI developer's guide
URL: http://dennisgorelik.com/ai/overview.htm

Site Description: "I describe how to develop True AI (strong AI). I explain how to build Motivation and Decision making systems, how to implement Learning process and more!"

Artificial Intelligence FAQ:1/6 General Questions & Answers [Monthly posting]

Artificial Intelligence FAQ:1/6 General Questions & Answers [Monthly posting]

I like this General AI FAQ.
Biological and Artificial Neural Networks
I agree in general, but why Artificial Neural Network should be layered?
Why 3 layers?

Biological Neural Network doesn't have layers. At least BNN doesn't have strict layers.

Saturday, December 20, 2003

Why mathematics isn't useful in general reasoning



John Doe is a typical Intelligent System.
As an Intelligent System he observes things and makes conclusions. Let's see how it looks like:

John wakes up at a morning, looks at his watch and sees that it's 8 am.
John remembers that 8 am is the beginning of his work day.
He knows that it takes 30 minutes to come to work.
John concludes that he'll be late at work.
John knows that his boss won't be happy about that.
John predicts what kind of consequences he'll get.
John tries to select actions which he should accomplish to mitigate the consequences of being late today.
John decides:
1) To skip his breakfast.
2) Call to his office from the car and apologize for the delay.

So, how could all this thinking process be described by mathematics???

Induction vs. Deduction



There is no big difference between Induction and Deduction.
Induction is a conclusion which was made from a less abstract concept to a more abstract concept.
Deduction is a conclusion which was made from a more abstract concept to a less abstract concept.

In real world it's hard to define which concept is more abstract. For instance, what is more abstract: concept “human” or concept “love”?  So it has no sense to define what a deduction is and what an induction is. There is only one thing: conclusion :-)

Friday, December 19, 2003

Do we remember everything?


Question:
Do you think that the human brain actually stores all occurrences in time? In other words, do you think that we have storage for every picture we see throughout our entire life and that perhaps we just lose direct access to it from interference or that we truly forget?

Answer:
I'm sure that our brains don't remember everything.
Memory constantly forgets useless information (see: Forgetting).

Moreover, our brains remember practically no pictures. Our brains do remember concepts which related with parts of pictures.
That's why if you observed a lot of cars then it will be easier to you to remember picture with couple of cars on the picture.
If you never saw cars before - you'll have huge problems with remembering the picture with cars.

So: We truly forget information with the time.
But at the same time information is stored in the brain in redundant form, so if one concept is lost then other concept could represent the necessary knowledge. However if all related to the knowledge concepts will be cleaned up then the knowledge will be lost.
But system can learn this information again :-)

Also there is such effect of forgetting, when a concept still exists but it is hard to activate the concept, because many related relations (axons) were lost.

For instance, you remember that you should take your documents when you go out of home, but this concept ("Take the documents") is not activated when you going out of home.
Later, because of another stimulus (police officer on the street, for instance) you will remember that you had to take the documents ("Take the documents" concept will be activated).
A cause of forgetting here is a "lack of references with the concept".
The cause of the "lack of references" could be "forgetting process applied to references" or "not all required references to the concept are created".

Resume:
1) We definitely don't remember everything. We remember something.
2) We constantly forget information.
3) There are two type of forgetting: "concept forgetting" and "relations forgetting".
4) Even if information is completely forgotten, AI system can learn the information again.

AI prototype and the Internet


Question:
Don't you want your AI to not be dependant on the internet?

Answer
My AI prototype will be definitely dependant on the Internet, just because the Internet is the greatest source of information.
Moreover, information on the Internet is represented in convenient-for-computer form (text --- see also: TextParser).

Also information on the Internet is indexed (Google).
Also information on Internet is fresh and is constantly updated.

That's why my AI prototype will use the Internet very actively.

Question:
I disagree with your dependence on the internet. I do agree that it makes a nice addition to the logic. The AI that I am developing (AIB), or at least the newer version to come out in May, has an internet module, but it is not the base of the system. For example, what if you actually wanted to make an actual independent bot of some sort, AKA android... it would not be able to use internet as a base for its knowledge... then again, I see why you are doing this, because there aren't many other databases of textual information.
Answer:
It seems that you understand "dependence on the Internet" of my system not correctly.
My AIS will depend on Internet In the learning part primarily.
Since the AIS "has been grown" it could be disconnected from the Internet.
However, True Intelligent System should accomplish constant learning .
Because of "learning necessity" it's better not to disconnect the system from the Internet.

For instance, when I'm disconnected from the Internet, I loose essential part of my intelligence: I partially loose my ability to solve new complicated tasks (because I don't have access to Google).

So, what is the point to disconnect from Internet AIS which has stronger (than humans) integration with the Internet?

AI Programming tools selection


Question:
You mentioned that you wanted to use C#.net and mysql...
I do not recommend C# to anyone. It is the worst mix between the garbage
collected java implementation and the lack of polymorphism with C++.
As for mysql, good language, but why are you using an internet database?
Answer:
I use C# at my work. And I like this language.
But what is the most important - it really doesn't matter which language I will use. The main feature which language should expose is "smooth integration with RDBMS".
Majority of modern languages have such feature.

I'll use C# because I know it the best.

Also C# (as part of VS.NET) allows easy integration with modules written in VB.NET, C++.NET. Integration with modules written in VB6,
C++ is also possible.

About RDBMS:
I use MS SQL 2000 (not MySQL).
This is reliable RDBMS which is easy to use.

It may happen that in production other RDBMS will be more efficient (Oracle). May be not.

But in my opinion for Prototype development MS SQL is the best choice.

Wednesday, December 17, 2003

How to make computer read the text


These are "12 easy steps" about how to make computer read the text.

1) Take first statement from the text.
2) Find words inside of the statement.
3) Insert words into Word Dictionary(if they are not there still).
See also: Word dictionary

4) Put Words Neurons into Short memory.


5) Try to find phrases in the statement.
(I'll describe this process later).

6) Put phrases into Phrase Dictionary.
See also: Phrase Dictionary

7) Put phrases neurons into Short Memory


8) Establish (or update / improve) Reason-Consequence relations between all neurons which are located in the short memory.
(I'll describe it later).

9) Merge Short Memory and Main Memory.
(I'll describe it later).

10) (Partially clean Short Memory)
(I'll describe what "Partially" means).

11) Take next statement.


12) Regularly (say, every day) apply Forgetting to the whole Main Memory.
See also: Memory Cleaner Routine

===================

As a result, Reader Prototype will populate its dictionaries
(Word Dictionary and Phrase Dictionary).

Main memory will keep information about relations between concepts.
(Words and phrases are concepts).
Such relations between concepts mean "Understanding of concept".

====================

When I design Reader prototype I keep in mind Writer Prototype and
Chatter Prototype.

====================

Questions are very welcome.
(Including "stupid" questions :-) )

Questions and answers


Question: "Try to find phrases in the statement" - it's quite complicated task.

Answer: It is not. In ten-words statement there are 9 two-words phrases and 8 three-words phrases. ReaderPrototype will just put all of them into Phrase Dictionary and Main Memory.

Question: It seems that Phrase Dictionary must be extremely huge :-(

Answer: No, because of Forgetting process. Unused statements will be regularly deleted from the Main Memory the and from Phrase Dictionary).

Thursday, December 11, 2003

Artificial Intelligence System development index

Artificial Intelligence System development index

Case Base Reasoning (CBR) overview

AICom paper

My thinking about CBR is:
1) CBR has some ideas
2) As a whole CBR is too old (~15 years) and produced very limited results.
3) CBR is applicable to certain tasks. For example some Narrow Artificial Intelligence Systems may benefit from CBR.

Question (by Jiri Jelinek): What do you think is the main reason for the "very limited results"?

1) Because problems that we are solving now never happened before -- only similar cases happened.

2) Even if we were able to find solution in our memory -- such memory would have virtually infinite size (which means virtually zero performance).

3) When we try to solve #1 and #2 -- we need to apply interpolation/extrapolation techniques, which in essence is not a CBR anymore.
Interpolation/extrapolation would require calculating weights for and against set of potential solutions.
Such weights can be stored in Cause-Effect relations