Posts Tagged ‘Forward Chaining’

AI Forward chaining

Tuesday, February 9th, 2010

In the last post I described a little about the backward chaining approach used in EarnestAI.  Today I wanted to say a bit about Forward Chaining.  Forward chaining is basically a lazy approach to finding an answer.  The system starts with a question to a known answer such as “Who created you?”

The system then presents a series of preset questions, for example “Do you mean who is my creator?”

The user answers Yes, and the system then moves onto the next question.  When all the questions are complete, the system then compares the answers against a set of stored solutions and decides which solution is best defined by the answers given.

Its a very accurate process in reality, but can also be confusing and irritating for the user.  The best example I have seen to demonstrate this is “Are you male?” Yes,  “Are you pregnant?”, No, “Are you female?”

You get the picture, the system has little or no understanding of the questions it poses, and the onus is on the knowledge engineer to devise the question structure so as to be as unconfusing as possible.

The forward chaining method in its simplest for is both highly accurate, highly irritating and also unable to branch to different lines of questionsing.

It is my hope to refine this approach in EarnestAI to allow a sort of hybrid FWD Chaining.  Basically, I am testing the concept of using a BAckward chaining algorithm that is executed after every answer.  The results will look forward to possibly proved solutions and then switch the path of questioning to a more realistic route.  For instance, if Earnest asks, “does it have 4 legs”, he will look forward to all solutions proved true by this question and then remove questions in the current question path that no longer relate to 4 legged animals.

Initial tests are good, but there are ome risks involved because once again, we are leaving it to the “heuristic reasoning” capability of the backward chaining engine to not ommit important questions.

Oh well, hope that you enjoyed the post.

by for now

Scot

Artificial Intelligence Revisited in EarnestAI

Friday, January 29th, 2010

I cannot have escaped the thoughts of any computer programmer to dream of one day creating “the one” the deep thought, or Hal of 2001.  The reality and complexity of actually creating Artificial Intelligence has enthralled myself since the age of 10 when I created my first expert system inside the 1K memory of my ZX81.  In 1999 I began to consider the subject much more seriously.  A devout AI and Aibo and I-Cybie lover, the concept of man and machine living in harmony is one which I find truly fascinating, sinister and downright confusing.

I have recently begun work on a web based AI Expert system written in PHP called Earnest.  The project is open source and the homepage is at http://sourceforge.net/projects/earnestai/ you can download the latest source code for this project there.

Earnest is an attempt to create a web based Artificial Intelligence engine capable of performing problem solving and even customer service roles.  Currently in PRE-ALPHA stage the program is capable of basic learning and problem solving.

Here is a screenshot of Earnest in his current stage of development.

EarnestAI welcome screen running in Firefox 3.6 Ubuntu 9.10

If you are interested in helping out with Earnest please feel free to take a look in at the sourceforge homepage and contact me through there.