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?

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?

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".

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

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

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.

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.
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

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?
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

Thursday, November 27, 2003

How to merge Short Memory and Main Memory?

1) What to merge:
- Neuron;
- Reason-Consequence axon.
- Parent-Child axon.
2) Let's consider how to merge on example of Neuron.
3) Neuron has:
- Desirability attribute.
- Strenght attribute.
4) Let's make simplification and assume that we merge Desirability attribute without taking into account Strenght attribute.
5) Legend:
- "sm": short memory.
- "mm": main memory (long-term memory).
- "Desirability_sm": value of Desirability attribute of short memory neuron.
- "Desirability_mm": value of Desirability attribute of main memory neuron.
- "Desirability_mm_afterMerge": Value of the main memory Desirability attribute after merge with "Desirability_sm".
6) Simple solution:
Desirability_mm_afterMerge = (10 * Desirability_mm_beforeMerge + 1 * Desirability_sm_beforeMerge)/ (10+1).
That means that Desirability_mm has 10 time heavier weight than Desirability_sm.
7) More complex solution (takes into account Strength attribute).
Desirability_mm_afterMerge = (Strength_mm_beforeMerge * Desirability_mm_beforeMerge + Strength_sm_before_Merge * Desirability_sm_beforeMerge) / (Strength_mm_beforeMerge + Strength_sm_beforeMerge)
Strength_mm_afterMerge = Strength_mm_beforeMerge + Strength_sm_Delta
Strength_sm_Delta = Strength_sm_beforeMerge - Strength_sm_sinceLastMerge
"Strength_sm_sinceLastMerge" is either Strength_sm which was set at last merge or Strength_sm which was set during creation of sm neuron in active memory.
8) Actually more complex solution should take into account possibility of multiple merge of mm and sm.
In this case we should not update mm by changes in sm which were merged already.
That is:
Desirability_mm_afterMerge = (Strength_mm_beforeMerge * Desirability_mm_beforeMerge + Strength_sm_before_Merge * Desirability_sm_Delta) / (Strength_mm_beforeMerge + Strength_sm_beforeMerge)

Desirability_sm_Delta = Desirability_sm_beforeMerge - Desirability_sm_sinceLastMerge

Strenght will be calculated the same way:
Strength_mm_afterMerge = Strength_mm_beforeMerge + Strength_sm_Delta

9) If we allow multiple merge, then we should know sm_afterMerge value:

Desirability_sm_afterMerge = Desirability_sm_beforeMerge

Desirability_sm_sinceLastMerge(afterMerge) = Desirability_sm_afterMerge (that is we preserve this Desirability value for future calculations of Desirability_sm_Delta)

Strength_sm_afterMerge = Strength_sm_beforeMerge

Strength_sm_sinceLastMerge(afterMerge) = Strength_sm_afterMerge (for the sake of future Strength_sm_Delta calculation)

Tuesday, November 18, 2003

Yahoo! Maps

Grand Opening Celebration

Map: intersection of Patterson, Norriswood and Deloach streets

Wednesday, November 19, 2003
11 AM Ribbon Cutting and Dedication
12 PM - 3 PM: Facility tour, speaker presentations, and technology demonstrations

Friday, November 07, 2003

I'm looking for a Research Partner in True AIS Development

I’m looking for a partner in True Artificial Intelligence System Development research

I. About me:

1. I'm very interesting in research in True Artificial Intelligence field.

2. I'd like to build artificial mind, which will have comparable abilities with humans. That means that this mind will be able to work as office clerk, customer support representative, lawyer, computer programmer, manager, politic, and so on.

3. I have a lot of ideas about how to implement True Artificial intelligence system.
I explained those ideas on my web-site:

4. Currently AI is a hobby to me. But who knows what will happen in future.

II. What kind of help I need:

1. I need someone who will help me to think: two researchers' minds together work much better than separately.
For instance, one person can concentrate on asking questions - another person on giving answers. Also research pair (or group) filter out wrong ideas much quicker, than one researcher alone.
So I need someone to discuss AI development issues.
2. Prototype development.
I think it's time to check my ideas in real prototype.
- Prototype should be carefully selected (not every prototype is a good way to the True Artificial Intelligence System).
- Prototype should be designed.
- Prototype should be implemented/coded/programmed.
I need your help on every stage.

3. I need someone who will help me to improve readability of my site.
If you just read an article(s) from my site and then ask about everything that is unclear to you (or hard to understand) - it would be strong help to me.
You could also correct/rewrite articles to make them readable.

4. I need help in father development of my site.
Your questions and my answers about AI could be good source for new articles on the site.
If you write your articles about AI - it might be also good.

5. I appreciate any new ideas.

III. I'm looking for you if:

1. You have passion about Artificial Intelligence development, if you want to take part in discussion, designing, and development of True Intelligent System.
2. You are ready to spend ~5...20 hours each week for AI research (discussions, design, some coding/programming).
3. You have strong abstract thinking ability.
4. You have strong abstract conversation ability: strong ability to explain your thoughts and strong ability to understand my thoughts.
5. You have strong feeling of understanding: if you see lack of understanding during our conversation, you immediately indicate it.
You are not afraid to ask questions.
6. You are able and like to ask questions.
7. You are able and like to answer questions.
8. You are interested in how things work. You are interested how your mind works.

IV. Desirable (but not necessary) skills and knowledge:

1. Software development. It might be great if you successfully accomplished at least one software project.
It would be even better if you have experience with database management systems, like MS SQL Server or Oracle.
2. Knowledge about how brain/mind works.
3. Knowledge about how conditioned reflex is developed.
4. It is good if you already know why and what for do humans live.
What does define purpose of life?
5. It is good if you able to think about yourself as about machine, which consist of components. It's good if you understand how these components influence each other.

Tutoring Research Group Contact List

Tutoring Research Group Contact List

Max Louwerse Computational Linguist.

Thursday, November 06, 2003

AIS prototype: "Dictionary"

"Dictionary" is a good idea for AIS prototype.
First version of Dictionary can be implemented just by AIS reader implementation. Reader will know what are typical words, phrases, in which context are they used, list of synonims.

Additional features can be added to the Dictionary prototype:
- Google search and update of Dictionary database if user wants to get more detailed explanation of the word.

Energy Limits to the Computational Power of the Human Brain

Energy Limits to the Computational Power of the Human Brain

John Harris (Stan Franklin's team)

9. John Harris, Hypertext as a learning tool, University of Memphis August 1990. Dr. Harris has been awarded several postdoctoral fellowships, and is currently at Lemoyne-Owen College.

LeMoyne-Owen College
807 Walker Avenue
Memphis, TN 38126
Division of Natural Science, Mathematics and Computer Science (901) 942-7333

Map to LeMoyne-Owen College

Uma Ramamurthy (Stan Franklin's team)

Uma Ramamurthy
student of Stan Franklin.
18. Uma Ramamurthy, also ABD began dissertation work concerning an artificial life agent controled by a Copy-cat-like architecture. She's since moved on to issues of memory, learning and self-preservation in autonomous agents, particularly the IDA project.

Project Leader - Information Technology,
Department of Biostatistics,
St. Jude Children's Research Hospital,
332 North Lauderdale,
Memphis, TN 38105-2794
Tel: (901)-495-2100
Email: urmmrthy@memphis.edu

Map to Uma Ramamurthy

My believes about AIS development: Read words, not characters.

When AIS reads the text it shouldn't bother about meaningfullness of charachters inside a word. Instead AIS should recognize word as a whole. That means that "time" and "timely" are completely different words (because of different spelling). At the same time, AIS can consider "time" and "timely" words as similar/related words, just because they appear in a very similar context.
From AIS point of view words: "mother" and "dad" are much closer to each other than "time" and "tame". In spite of similarity of spelling in "time"/"tame" pair and absolute different spelling in "mother"/"dad" pair. It happens just because "mother" and "dad" words appears in similar context, but "time" and "tame" - don't.

Wednesday, November 05, 2003

Copycat-like architecture overview

Copycat-like architecture overview

Copycat-like architecture overview in text format

My believes about AIS development: "Random" is bad.

"Random" word is bad word in mind of AIS developer. Intelligent System (IS) could be unpredictable, but the more Intelligent System is random the less it is intelligent.

That means that random choice (action selection) is a bad idea.

My believe about AIS development: "How to copy human's mind"

When AIS developer copies human's mind he shouldn't copy absolutely everything.
Some things should be copied, other - shouldn't.

For instance, human brain has several parts: vision, hearing, speech, prononciation, body control. Not all of them should be copied. For instance, vision and hearing are hard to implement. But they could be easily replaced by text parser and Internet browser.

Body control module (blood pressure, temperature, muscles control, ...) is not necessary for AIS, because AIS is not supposed to live in cave/forest or care about food.

Another example: in human brain some neurons are located close to each other, some - far from each other. As a result some neurons are strongly connected by axons, other - weakly connected (or not connected at all).
The reason of that is physical limitation of brain. Such limitation shouldn't be implemented in artificial mind.
Home page of Stan Franklin


Stan Franklin's book: "Artificial Minds"

Stan's map

Stan Franklin Dunavant University Professor
Computer Science Phone: (901) 678-3142
Univ of Memphis Fax: (901) 678-2480
Memphis, TN 38152 stan.franklin@memphis.edu
USA www.cs.memphis.edu/~franklin
Concise definition is not the best way to define a concept. The best definition easily creates clear thought about the concept in the reader's mind.

Unfortunately concise definition requires that reader reads this definition several times, plays with this definition, and only then reader will understand what does author mean.

So, in spite that good definition is longer than concise definition, reader understands good definition faster and better than precise definition.

So, what is the good definition: it's list of other concepts, words and phrases, synonims, and examples.
Conscious and selfconscious:
Conscience is abstract thinking. Mind is conscious if it manipulates abstract concepts (which are not directly related with outer world).
Self-consciense appears when mind starts thinking about itself.
Because "myself" is relatively complex concept, selfconsciousness should be considered as higher level of consciousness (in comparison with consciousness without thinking).
Dr Arthur Graesser

Research Interests

General areas of cognitive science, discourse processing, artificial intelligence, and information processing. More specific interests include knowledge representation and organization, computational procedures, text comprehension, reading, question asking and answering, tutoring, inference generation, conversation, memory, learning, problem solving, human and computer tutoring, writing, expert systems, design of educational software, and human-computer interaction.

Questions to Stan Franklin:
1) What is a "Conscience"?
2) What are relations and hierarchy of "reflexes", "emotions", and "thoughts"?
3) How to improve readability of my site?
4) What are the main steps in Artificial Mind development?
5) Am I correct about selecting the prototype (Reader -> Writer -> Chatter)?
6) What is "the grand opening on November 19th"?
What's wrong with my current AIS development process:
1) I need someone who will check my thoughts on daily basis.
2) I need someone, who will concentrate on questions, when I'll concentrate on answers.
3) I need someone, who will concentrate on answers, when I'll concentrate on questions.
4) I need someone who will do part of the work.
5) I need someone who will define goals in development. I can define goals by myself, but in this case it would be better if someone else implement these goals.
6) I need a source of enthusiasm in the development.
Discussion about the development is good source of such enthusiasm.