<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Visicom Scientific Software</title>
	<atom:link href="http://visicomscientific.com/web/en/rss/wp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://visicomscientific.com/web/en/rss/wp</link>
	<description>Business, IT and Software development blog.</description>
	<pubDate>Sun, 21 Feb 2010 13:42:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Self improving AI software</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=25</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=25#comments</comments>
		<pubDate>Sun, 21 Feb 2010 13:42:46 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[ACI]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[Self Improving Software]]></category>

		<category><![CDATA[Self Learning Software]]></category>

		<category><![CDATA[Self programming software]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=25</guid>
		<description><![CDATA[In this article, how Aritificial Intelligence or AI software might be developed so that it can self modify and improve.
Hi again,
It&#8217;s been a while since I blogged about EarnestAI.  I have been fairly busy since the last V1.00.12 release mainly playing with making client applications that use Earnie to solve problems.
You may have noticed a [...]]]></description>
			<content:encoded><![CDATA[<p>In this article, how Aritificial Intelligence or AI software might be developed so that it can self modify and improve.</p>
<p>Hi again,</p>
<p>It&#8217;s been a while since I blogged about EarnestAI.  I have been fairly busy since the last V1.00.12 release mainly playing with making client applications that use Earnie to solve problems.</p>
<p>You may have noticed a new method of problem solving available in EarnestAI, that of ACI.  One of the flaws currently with Earnies ACI (Advance Considerative Intelligence), it that it only goes to one level of regression.  By this I mean that if ACI is enabled then sometimes there occurs a situation in which two solutions are 100% possible but the next question fails to clarify the answer.  Henceforth, Earnies ACI then proceeds to once again go to the exhaustive approach to solve the problem conclusively.</p>
<p><strong>Choosing a level of regression</strong></p>
<p>It is important to consider the level of regression required to solve a problem in an Artificial Intelligent Software system as usually system resources are finite.  There needs to be a method by which we decide that a question is &#8220;sufficiently&#8221; answered.  However this is seldom down to one single factor.  We can ask the program for a particular level of accuracy, or we can ask the program to a particular level of performance, &#8220;OR&#8221; we could let the software decide itself based upon its own intution.  One thing is certain, deep levels of regression will reduce performance, but not always at to the benefit of the answer.  This means  roughly that there comes a time in the consultation that the system will not be able to predict the answer with any more accuracy regardless of the number questions asked.  This cap is created by limited knowledge base.</p>
<p><strong>How EarnestAI may address this problem</strong></p>
<p>By enabling verbose output on the aci function I was able to see inside Earnies thinking process and begin to see the dilemma.  It becomes clear that Ernie is indeed capable of making a very accurate descision based on the facts he has been given so far but is sometimes unable to solve the problem at this stage of execution.  How can this be solved?  Well, I think the answer is this:  If a situation occurs where 2 solutions become true.  We need to allow the software to perform a &#8220;negative&#8221; reasoning on what has been learned so far and decide what has not been learned.  This translates to looking only for solutions that DO NOT rule out the answers given and only then going on to ask further questions.  In fact, sometimes asking more questions will only serve to dilute the certaintity factor of a particular answer being true, even though it may indeed be 100% the correct answer.  The key thing here is the &#8220;factor of 2&#8243; . Such a situation in which only 2 answer can possibly be correct, we need only ask a question that will rule out one possibility and we have our best answer.  At this point consultation can safely stop and the limit of knowlede in the subject has been reached.</p>
<p>In effect, by looking forward to the next question(s) or rule(s) in the non aci sense, and precomputing if this rule or rules(s) TRUE or FALSE will ever appear in a solution in which the current know facts appear, one can easily establish if there is a need for further questioning.  Hence the software has decided the best algorithm possible (within its own ability) with which to solve the problem and may decide it has enough facts to venture a conclusion. Invariably this will be the correct answer as long as the data is accurate and available.</p>
<p>An interesting side effect of this is one that may be utilized later to good effect.  Having a storage of all known inputs and knowing the number of steps required to solve the problem.  The software can at a later stage &#8220;select&#8221; an algorithm based upon its efficiency.  It may even be able to recurse its own solutions and re-compute previous solutions in order to find a faster method of solving the problem for a later stage.  This form of synthesized &#8220;Self study&#8221; can be implemented during down time or low program usage to reduce the impact on overall performance.  A form of &#8220;Cyber Sleep&#8221; :-).</p>
<p>Not sure whats next so until then thanks for reading</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
		<item>
		<title>Welsh Electronics Forum event March 2010</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=24</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=24#comments</comments>
		<pubDate>Wed, 17 Feb 2010 21:55:28 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Business Development]]></category>

		<category><![CDATA[Wales Electronics Forum]]></category>

		<category><![CDATA[Welsh Electronics Forum]]></category>

		<category><![CDATA[Caernarfon]]></category>

		<category><![CDATA[north wales]]></category>

		<category><![CDATA[techology companies]]></category>

		<category><![CDATA[visicom scientific software]]></category>

		<category><![CDATA[wrexham]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=24</guid>
		<description><![CDATA[The Welsh Electronics Forum will be holding 2 events during March.&#160; At the superb Galeri in CAernarfon and at Glyndwr University in Wrexham.&#160; If you are a key person working within an electronics or related company and have not been to a WEF event I hope you will consider getting involved.&#160; Please see the WEF [...]]]></description>
			<content:encoded><![CDATA[<p>The Welsh Electronics Forum will be holding 2 events during March.&nbsp; At the superb Galeri in CAernarfon and at Glyndwr University in Wrexham.&nbsp; If you are a key person working within an electronics or related company and have not been to a WEF event I hope you will consider getting involved.&nbsp; Please see the WEF website (in previous posts) and get in touch.&nbsp; It is important for rural technology companies to get involved and these events are a great way to meet and network with others in your field!!</p>
<p>Hope to see you there!</p>
<p></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=24</wfw:commentRss>
		</item>
		<item>
		<title>Wales/Welsh Electronics Forum</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=23</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=23#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:01:10 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Business Development]]></category>

		<category><![CDATA[Wales Electronics Forum]]></category>

		<category><![CDATA[Welsh Electronics Forum]]></category>

		<category><![CDATA[electronics]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[support]]></category>

		<category><![CDATA[wales]]></category>

		<category><![CDATA[WEF]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=23</guid>
		<description><![CDATA[Scot Forshaw of Visicom Scientific Software is a North Wales based software consultant and a member of the Welsh Electronics Forum.
The Welsh Electronics Forum exists to support electronics and related industries in Wales.  I am member of WEF and if you would like to know more about the forum or get involved please feel free [...]]]></description>
			<content:encoded><![CDATA[<p>Scot Forshaw of Visicom Scientific Software is a North Wales based software consultant and a member of the Welsh Electronics Forum.</p>
<p>The Welsh Electronics Forum exists to support electronics and related industries in Wales.  I am member of WEF and if you would like to know more about the forum or get involved please feel free to email me.  I would be happy to direct you in the right direction. I have included a link to WEF below.</p>
<p>If you are a member of the Welsh Electronics Forum I would like to welcome you to our website and look forward to seeing you at our next event.</p>
<p>Get more information at <a title="http://www.welsh-electronics.com" href="http://www.welsh-electronics.com" target="_blank">http://www.welsh-electronics.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>AI Forward chaining</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=22</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=22#comments</comments>
		<pubDate>Tue, 09 Feb 2010 21:09:33 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[AI]]></category>

		<category><![CDATA[Forward Chaining]]></category>

		<category><![CDATA[PHP EXPERT SYSTEM]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=22</guid>
		<description><![CDATA[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 &#8220;Who created you?&#8221;
The system then presents [...]]]></description>
			<content:encoded><![CDATA[<p>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 &#8220;Who created you?&#8221;</p>
<p>The system then presents a series of preset questions, for example &#8220;Do you mean who is my creator?&#8221;</p>
<p>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.</p>
<p>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 &#8220;Are you male?&#8221; Yes,  &#8220;Are you pregnant?&#8221;, No, &#8220;Are you female?&#8221;</p>
<p>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.</p>
<p>The forward chaining method in its simplest for is both highly accurate, highly irritating and also unable to branch to different lines of questionsing.</p>
<p>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, &#8220;does it have 4 legs&#8221;, 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.</p>
<p>Initial tests are good, but there are ome risks involved because once again, we are leaving it to the &#8220;heuristic reasoning&#8221; capability of the backward chaining engine to not ommit important questions.</p>
<p>Oh well, hope that you enjoyed the post.</p>
<p>by for now</p>
<p>Scot</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=22</wfw:commentRss>
		</item>
		<item>
		<title>SnapShopPRO Essentials E-Commerce for PayPal £99 all-in</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=21</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=21#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:18:28 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[E-Commerce]]></category>

		<category><![CDATA[Product news]]></category>

		<category><![CDATA[esentials]]></category>

		<category><![CDATA[paypal]]></category>

		<category><![CDATA[shopping carts]]></category>

		<category><![CDATA[snapshop]]></category>

		<category><![CDATA[web shops]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=21</guid>
		<description><![CDATA[We are excited to announce that today we have launched a new streamlined version of SnapShopPRO called SnapShop Essentials.  Essentials is a major development for us and hopefully our customers will welcome the price point.
Just £99.00+ VAT gets you a complete e-commerce webite, 1 year hosting and support and a free .co.uk domain name!  I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>We are excited to announce that today we have launched a new streamlined version of SnapShopPRO called SnapShop Essentials.  Essentials is a major development for us and hopefully our customers will welcome the price point.</p>
<p>Just £99.00+ VAT gets you a complete e-commerce webite, 1 year hosting and support and a free .co.uk domain name!  I&#8217;m sure anyone will agree that is real value.  The low price point is only possible because of our streamlined deployment.  Fast installation times and low support overhead due to a reliable platform and extensive testing over the past 4 yearsmeans we can concentrate more on customer service.</p>
<p>Essentials drops a lot of the &#8220;corporate&#8221; features and adds some more small business friendly ones.  Its just perfect for the virtual businessman or woman, who is running several enterprises and needs access to information quickly over mobile devices etc.  Anyone with an IPHONE or WM device will find running their web empire a breeze by allowing the host server take the strain and by having all essential features available through the browser.</p>
<p>See our main products page or visit the demo shop where you can test it and even buy it.  The demo can be found here at <a title="http://www.visicomscientific.com/cloud/snapshop_demo/" href="http://www.visicomscientific.com/cloud/snapshop_demo/" target="_blank">http://www.visicomscientific.com/cloud/snapshop_demo/</a> product info page is here <a title="http://www.visicomscientific.com/cloud/snapshop_demo/shop/show_product_info.php?id=SSP500" href="http://www.visicomscientific.com/cloud/snapshop_demo/shop/show_product_info.php?id=SSP500" target="_blank">http://www.visicomscientific.com/cloud/snapshop_demo/shop/show_product_info.php?id=SSP500</a></p>
<p><img class="alignleft" src="http://www.visicomscientific.com/cloud/snapshop_demo/shop/images/product_images/snapshopbox.jpg" alt="snapshopPro Essentials" /></p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=21</wfw:commentRss>
		</item>
		<item>
		<title>More about Backward chaining in AI</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=20</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=20#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:12:25 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[AI]]></category>

		<category><![CDATA[Backward Chaining]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=20</guid>
		<description><![CDATA[In my earlier post Ernie takes the leap, I described how Ernie was able to conclude certain facts even though no solution or problem was stored directly for him to be able to &#8220;question&#8221; his way to the answer.
For example, &#8220;Where does a kangaroo live ?&#8221; is a question that neither a question nor solution [...]]]></description>
			<content:encoded><![CDATA[<p>In my earlier post Ernie takes the leap, I described how Ernie was able to conclude certain facts even though no solution or problem was stored directly for him to be able to &#8220;question&#8221; his way to the answer.</p>
<p>For example, &#8220;Where does a kangaroo live ?&#8221; is a question that neither a question nor solution was stored in his knowledge base.  So to understand how he can arrice at the correct conclusion &#8220;I believe kangaroo only live Austrailia&#8221; we need to study the rules and how the backward chaining part of his inference engine works.</p>
<p>Consider the rules for the solution &#8220;Its a kangaroo&#8221; a solution linked to the problem &#8220;I will guess the animal you are thinking of&#8221;.  The rules are:</p>
<p>1 Does it have 2 legs [TRUE]</p>
<p>2 Does it live only in Austrailia [TRUE]</p>
<p>3 Does it have wings [FALSE]</p>
<p>Stored with the solution are the &#8220;tags&#8221; 1,2,!3  meaning that in basic mode, he would ask the questions one by one and if the pattern of answers matched they he would arive at &#8220;Its a Kangaroo&#8221;.  This is in effect simple &#8220;Forward Chaining&#8221;.  The answer is concluded by logical process and a series of set questions devised by the &#8220;Expert&#8221; or &#8220;Knowledge engineer&#8221; who made the rules.</p>
<p>In heuristic search mode (as I like to call it)  Ernie is asked the question &#8220;Where does a Kangaroo live?&#8221; .  Ernie would begin by searching for a fact that gives the answer straight out, or for a rule in his knowledge base by which the answer could be inferred. To find the correct rule, he searches the entire knowledge base for rules who, if true, will answer the question.</p>
<p>In the Kangaroo case, rule 2 says that in order to be a Kangaroo, it MUST live in Austrailia.  Simple stuff, the hard part is the lexical understanding of what has been asked or what is infered by a rule, whos conclusion is only BOOLEAN (TRUE or FALSE).  In forward chaining Earnest has no idea what &#8220;Does it live only in Austrailia&#8221; means, only that the user must say YES to the question.  In heuristic mode, he has to &#8220;read&#8221; the rule and try to make sense of it in relation to the question.</p>
<p>V0.02 introduces thisin lib_inference.php and using the demo database he can infer a number of simple conclusions, such as : how many legs does a dog have? what noise does a wolf make? and a number of others.</p>
<p>Study the code in the &#8220;heuristic search&#8221; part of the compute_solution function to see how he currently does it.  TBH its pretty weak, and only goes a limited number of levels deep.  Over time I will be refining this feature a great deal.</p>
<p>Next time I will introduce the user to Ernies forward chaining approach.</p>
<p>Byee</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=20</wfw:commentRss>
		</item>
		<item>
		<title>Interesting AI links</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=19</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=19#comments</comments>
		<pubDate>Mon, 01 Feb 2010 22:46:11 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[Expert Systems]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=19</guid>
		<description><![CDATA[While I am blogging this development I thought it may be of some use to readers to have links to other related articles and information I consider useful to learning the subject.
http://www.j-paine.org/students/lectures/lect3/node1.html  This series of lecture notes etc by Jocelyn Paine is very well presented and offers the reader some useful insight into the [...]]]></description>
			<content:encoded><![CDATA[<p>While I am blogging this development I thought it may be of some use to readers to have links to other related articles and information I consider useful to learning the subject.</p>
<p><a href="http://www.j-paine.org/students/lectures/lect3/node1.html ">http://www.j-paine.org/students/lectures/lect3/node1.html </a> This series of lecture notes etc by Jocelyn Paine is very well presented and offers the reader some useful insight into the common issues surrounding Expert Systems.<strong></strong></p>
<p>more as i get round to them</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=19</wfw:commentRss>
		</item>
		<item>
		<title>Ernie takes the leap</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=18</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=18#comments</comments>
		<pubDate>Mon, 01 Feb 2010 14:15:12 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[AI]]></category>

		<category><![CDATA[deep thinking]]></category>

		<category><![CDATA[INference engine]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=18</guid>
		<description><![CDATA[OMG! well not quite but last night saw the first real interesting breakthrough of EarnestAI as the latest version of lib_inference successfully deduced that an Ostrich lives in Austrailia!!!  Whats so great you say?  Well the great thing is that this is the beinings of Ernies heuristic reasoning capability actually working to produce an answer [...]]]></description>
			<content:encoded><![CDATA[<p>OMG! well not quite but last night saw the first real interesting breakthrough of EarnestAI as the latest version of lib_inference successfully deduced that an Ostrich lives in Austrailia!!!  Whats so great you say?  Well the great thing is that this is the beinings of Ernies heuristic reasoning capability actually working to produce an answer to something that he had not heard the question to before&#8230;..</p>
<p>Enter Deep Thinking, well OK its not deep blue in actual fact it is more BAckward Chaining but here is the idea:</p>
<p><strong>Basic Expert System</strong></p>
<p>An Expert System in its most basic form allows an expert in the chosen field to &#8220;teach&#8221; the system a series of leading questions that are carefully crafted to lead the user to a solution to their problem.  Along the way the expert may add further detail to the question or consultation process and the Expert System will be able to add this new knowledge to its &#8220;Knowledgebase&#8221; to improve the accuracy of its results.</p>
<p>This is great, and over the coming weeks I will be breaking down Expert System design methods into their various pros and cons and explaining them in greater detail. I guess you can already see however that in order to arrive at a solution the questions must already have been answered and a solution related to the problem question in hand.  This means that whilst a basic Expert System may find a solution and impress the end user, it will fail to impress the expert for it can not deduce anything more than they already have imparted to it.</p>
<p>However Earnest is a project to try and break these limits of Question and Answer consultation and try and derive a system capable of making deductions based on past consultations and expert knowledge.</p>
<p>Yesterday Ernie took the first steps to this.  One of the first things I begn to teach Ernie was about animals.  He would try happily to guess the animal that you are thinking of by asking key questions.  The question process is long and sometimes laborious but for the animals he knows about, he usually finds the right answer.  A fun game but soon lack lustre.  The latest version of Ernies lib_inference has introduced &#8220;heuristic reasoning&#8221;.</p>
<p><strong>Instant descisions</strong></p>
<p>Heuristic reasoning allows Ernie to make instant descisions without asking you any questions at all.  You ask him and he tells you the  answer all on his own.  Now in previous versions you had to begin the consultation by searching the problem database for problems for which there were known answers.  Like &#8220;What animal am i thinking of?&#8221; etc.  He would then ask &#8220;Does it have 2 legs?&#8221;, &#8220;Does it make a barking noise?&#8221;, &#8220;Does it have wings?&#8221; etc, a yes to Q1 and Q3 would probably lead to the answer &#8220;its a bird&#8221;.</p>
<p>What however if we want to ask him a question that he does not know the answer to?  Well V1 allows you to teach him the problem and wha questions to ask.  Is that enough?  NO! That would mean that in order to find a solution to an unkown question the user would also have to be the expert.  Useful but not much.</p>
<p>Heuristic reasoning within Ernies inference engine allows Ernie to consult himself.  For example:  &#8220;How many legs does a bird have?&#8221; This question is not recorded in Ernies knowledgebase but he can answer the question with accuracy.  How?  By looking to known solutions and backtracing to questions nd conditions that he knows to be true about the subject.  In the bird case,  he will look at the solution &#8220;Its a bird&#8221; and deduce that in order for this to be true the following conditions must be met: &#8220;Its has wings&#8221;, &#8220;It has 2 legs&#8221;.</p>
<p>Heuristics then allow Ernie to study the questons that make these qualifications thus breaking down the question : How many legs does a bird have?   we see &#8220;Legs&#8221; &#8220;Bird&#8221;.  The question &#8220;Does it have 2 legs&#8221; is a TRUE boolean condition of &#8220;Its a Bird&#8221; and thus Ernie is able to extract the question and reformat it to answer the question : &#8220;I believe a bird has 2 legs&#8221;&#8230;.</p>
<p>Simple?  Wel kind of, the V.03 of lib_inference is fairly rudimentary but I will keep refining it.</p>
<p>Well I have to go, hopefully more blogging tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=18</wfw:commentRss>
		</item>
		<item>
		<title>EarnestAI</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=17</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=17#comments</comments>
		<pubDate>Sat, 30 Jan 2010 11:52:29 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[AI]]></category>

		<category><![CDATA[beautifer]]></category>

		<category><![CDATA[coding]]></category>

		<category><![CDATA[Expert System]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[indents]]></category>

		<category><![CDATA[INference engine]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[php example]]></category>

		<category><![CDATA[PHP EXPERT SYSTEM]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=17</guid>
		<description><![CDATA[Morning,
Well I&#8217;ve been busy getting Earnies (his pet name) Sourceforge project in some kind of logical order.  Sorceforge is really quite cool tbh!  It&#8217;s been a good experience and setting up the project was really quite easy.
Since releasing the original PRE-ALPHA source code I have been busy trying to get it in some kind of [...]]]></description>
			<content:encoded><![CDATA[<p>Morning,</p>
<p>Well I&#8217;ve been busy getting Earnies (his pet name) Sourceforge project in some kind of logical order.  Sorceforge is really quite cool tbh!  It&#8217;s been a good experience and setting up the project was really quite easy.</p>
<p>Since releasing the original PRE-ALPHA source code I have been busy trying to get it in some kind of understandable format. I confess even if I have been coding for over 29 years my source formatting is anything but conventional.  Its perfectly readable to me, but my indents and code blocks dont meet modern standards.  Hopefully my rich ue of developer comments will help people disipher whats going on.  For the first time ever I have also made use of a code beautifier to try and make it a bit more friendly to you all.</p>
<p>For those of you who dont know yet, EarestAI is coded in PHP.  I have become something of a PHP fan in the last 10 years as much of my commerial work is in web based applications and I find PHP extremely easy to work with. It took me almost zero time to migrate to it from C and C++ and I chose it to create Earnie so that he was portable but more importantly web based.</p>
<p><strong>Omnipitent Ernie</strong></p>
<p>I wanted Ernie to be web based purely becaus he is able to interface with anything connected to the Internet or even Intranets.  Email servers etc.  It is my hope that as he develops further &#8220;Intelligence&#8221; and cpability that he will be able to link to further reading, acces emails and play media files etc to enhance his users experience.  BUT above all this, web connectivity means that Ernie has the possibility to communicate with many people at the same time!!  Whats good bout that?  Well, he can possibly use input from one user to solve problems for another, and even remember to ask suitable new users to solve historical problems asked by others and even contact them by SMS with updated results etc.</p>
<p>Yesterday I only grabbed a couple of hours coding in between work, but I have managed to now separate Ernies inference engine (The part of Ernie that makes descisions) and have also tightened his security.</p>
<p>Experienced programmers will probably notice that the coding approach is rather old fashioned at present, that is I have made no use of PHP Classes and there is even a dreaded global variable &#8220;if only 1&#8243;.  To be honest, its not a big deal, I wanted at first to get a working input model, and my old hacker approach to coding is a bit bottom up on this one,  I just started coding and took it from there.  The application plan was almost non existent all i had was a 12 line plan of the data structure and a vision in my mind on how things would be stored and accessed.</p>
<p>Result: A messy code structure that is at best in efficient and at worse a bit lousy <img src='http://visicomscientific.com/web/en/rss/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> but it works and I can understand it.  I have luckily employed functions heavily and have kept 90% of the page output to templates from the start, this will make it easier to eventually class the functions and create a simple and powerful web based API that can be pulled into almost any web based project and skinned to match the users needs at will.</p>
<p>In my next post I will be starting to write about the AI approach I have chosen for the EarnestAI project the well known Expert System and how hopefully with some new ideas this limited but also powerful model can make Ernie a clever little bunny.  I will also be hopefully setting up a FB page for Ernie fans to promote the project and get some more brains on the job.</p>
<p>Well gotta go, its snowing again and the snowboard beckons&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=17</wfw:commentRss>
		</item>
		<item>
		<title>Artificial Intelligence Revisited in EarnestAI</title>
		<link>http://visicomscientific.com/web/en/rss/wp/?p=16</link>
		<comments>http://visicomscientific.com/web/en/rss/wp/?p=16#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:33:22 +0000</pubDate>
		<dc:creator>scot</dc:creator>
		
		<category><![CDATA[Artificial Intelligence]]></category>

		<category><![CDATA[AI]]></category>

		<category><![CDATA[artifical intelligence]]></category>

		<category><![CDATA[Backward Chaining]]></category>

		<category><![CDATA[Cognition]]></category>

		<category><![CDATA[descision making]]></category>

		<category><![CDATA[Expert System]]></category>

		<category><![CDATA[Forward Chaining]]></category>

		<category><![CDATA[INference engine]]></category>

		<category><![CDATA[interpreter]]></category>

		<category><![CDATA[language]]></category>

		<category><![CDATA[problem solving]]></category>

		<category><![CDATA[solving]]></category>

		<guid isPermaLink="false">http://visicomscientific.com/web/en/rss/wp/?p=16</guid>
		<description><![CDATA[I cannot have escaped the thoughts of any computer programmer to dream of one day creating &#8220;the one&#8221; 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 [...]]]></description>
			<content:encoded><![CDATA[<p>I cannot have escaped the thoughts of any computer programmer to dream of one day creating &#8220;the one&#8221; 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.</p>
<p>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 <a title="http://sourceforge.net/projects/earnestai/" href="http://sourceforge.net/projects/earnestai/" target="_blank">http://sourceforge.net/projects/earnestai/</a> you can download the latest source code for this project there.</p>
<p>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.</p>
<p>Here is a screenshot of Earnest in his current stage of development.</p>
<p><img class="alignleft" src="http://sourceforge.net/dbimage.php?id=249338" alt="EarnestAI welcome screen running in Firefox 3.6 Ubuntu 9.10" /></p>
<p>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.</p>
]]></content:encoded>
			<wfw:commentRss>http://visicomscientific.com/web/en/rss/wp/?feed=rss2&amp;p=16</wfw:commentRss>
		</item>
	</channel>
</rss>
