<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>My AI Exploration</title>
	<atom:link href="http://aiguy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aiguy.wordpress.com</link>
	<description>My AI Journey</description>
	<lastBuildDate>Fri, 27 Jan 2012 21:25:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='aiguy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>My AI Exploration</title>
		<link>http://aiguy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://aiguy.wordpress.com/osd.xml" title="My AI Exploration" />
	<atom:link rel='hub' href='http://aiguy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Representing Chess</title>
		<link>http://aiguy.wordpress.com/2012/01/26/representing-chess/</link>
		<comments>http://aiguy.wordpress.com/2012/01/26/representing-chess/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 22:09:21 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Logic Programming]]></category>
		<category><![CDATA[Predicate Calculus]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=953</guid>
		<description><![CDATA[Over the years chess positions have been represented by bit maps and coordinates.  Bit maps are the most efficient representation of a chess board, and it is used by many programs to save storage.  A coordinate system uses an array or a list to store information about a chess position.  These two approaches have been [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=953&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over the years chess positions have been represented by bit maps and coordinates.  Bit maps are the most efficient representation of a chess board, and it is used by many programs to save storage.  A coordinate system uses an array or a list to store information about a chess position.  These two approaches have been applied to various chess applications.  In this text chess positions will be described in logic programming framework, a similar approach to McCarthy&#8217;s frame problem (McCarthy 1969).</p>
<p>First, the domain knowledge begins with the square(X,Y) relation.  The board starts with square(1,1) to square(8,8).  Thus, there are definitions for all 64 squares.  The next piece of domain knowledge is color relation with two facts &#8211; color(white) and color(black).  The piece relation has the following facts &#8211; piece(pawn), piece(knight), piece(bishop), piece(rook), piece(queen), and piece(king).  That is the basic knowledge in the domain.</p>
<p>The current state of each piece on the board will be defined as four tuple relation called state.  The state fact has four elements &#8211; color, piece, square, and position.  Upon close study, one can easily derive the state relation with the first three elements easily.  The state relation was first defined in <em>Learning Chess Patterns</em> (Morales 1992).  The color is an element of the set of {white, black}.  The piece is an element of the set of { pawn, knight, bishop, rook, queen, king }.  The square is the piece current location from the set of { square(1,1), square(1,2), &#8230;., square(8,7), square(8,8) }.  The last element state relation is the position number.  The position is an integer in the positive integer number set and allows a history of the positions.  Without this position information, the history of the previous position is lost after the move transition.</p>
<p>Example 1: Describe the state of the white king located at 4,4 and the black king located at 6,6.</p>
<p>state(color(white), piece(king), square(4,4), position(1)).<br />
state(color(black), piece(king), square(6,6), position(1)).</p>
<p>Example 2: Using the position above, update the state after the white king moves to 4,5.</p>
<p>state(color(white), piece(king), square(4,5), position(2)).<br />
state(color(black), piece(king), square(6,6), position(2)).</p>
<p>The state will have more state relations as their more pieces in the board.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/953/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/953/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/953/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=953&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2012/01/26/representing-chess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Year In Review 2011</title>
		<link>http://aiguy.wordpress.com/2011/12/31/year-in-review-2011/</link>
		<comments>http://aiguy.wordpress.com/2011/12/31/year-in-review-2011/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 03:01:23 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=943</guid>
		<description><![CDATA[Unfortunately, I have stepped away from this blog.  However, I have made some interesting conclusions.  First, the production language CLIPS is taking longer than expected to learn compared to other languages.  The implementation of the blackboard architecture may be complex in LISP, but adding new facts to the blackboard is simply asserting new facts into [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=943&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, I have stepped away from this blog.  However, I have made some interesting conclusions.  First, the production language CLIPS is taking longer than expected to learn compared to other languages.  The implementation of the blackboard architecture may be complex in LISP, but adding new facts to the blackboard is simply asserting new facts into temporary database.  The PAL system has been used for simple endgame of king and rook versus king, where the PARADISE system computed combinations based on examples from Fred Reinfeld&#8217;s book.  Finally, in the logic programming, chess positions can be described by the state(Color, Piece, square(File, Row)) term.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/943/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/943/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/943/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=943&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/12/31/year-in-review-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Next CLIPS Project</title>
		<link>http://aiguy.wordpress.com/2011/05/29/next-clips-project/</link>
		<comments>http://aiguy.wordpress.com/2011/05/29/next-clips-project/#comments</comments>
		<pubDate>Sun, 29 May 2011 14:55:47 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[CLIPS]]></category>
		<category><![CDATA[Games and Puzzles]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=934</guid>
		<description><![CDATA[My next CLIPS projects are to develop a program for the three blocks world puzzle and the King and Rook versus King (KRK) chess endgame.  The CLIPS documentation comes with many examples, which some take advantage of the CLIPS Object Oriented Language (COOL).  The approach to the blocks world puzzle will be based on [Luger, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=934&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My next CLIPS projects are to develop a program for the three blocks world puzzle and the King and Rook versus King (KRK) chess endgame.  The CLIPS documentation comes with many examples, which some take advantage of the CLIPS Object Oriented Language (COOL).  The approach to the blocks world puzzle will be based on [Luger, Stubblefield 1993].  Because the KRK chess endgame is the most used test platform in Artificial Intelligence research, I have not found an CLIPS implementation and look at the Bratko AL0 for its implementation.  All these activities will aid in learning the CLIPS language because the goal is to implement PARADISE into CLIPS.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/934/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=934&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/05/29/next-clips-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>CLIPS Part Deux</title>
		<link>http://aiguy.wordpress.com/2011/05/28/clips-part-deux/</link>
		<comments>http://aiguy.wordpress.com/2011/05/28/clips-part-deux/#comments</comments>
		<pubDate>Sat, 28 May 2011 15:16:15 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[CLIPS]]></category>
		<category><![CDATA[Games and Puzzles]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=930</guid>
		<description><![CDATA[As I continue to learn on how to use CLIPS, I found an improvement to the terminating condition for the knights tour from the previous post by using the halt statement. Replace the terminating condition with the code as follows: ;; Terminating condition (defrule goal-rule ?init &#60;- (square-is 2) =&#62; (printout t &#8220;Reached the goal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=930&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As I continue to learn on how to use CLIPS, I found an improvement to the terminating condition for the knights tour from the previous post by using the halt statement. Replace the terminating condition with the code as follows:</p>
<blockquote><p>;; Terminating condition<br />
(defrule goal-rule<br />
?init &lt;- (square-is 2)<br />
=&gt;<br />
(printout t &#8220;Reached the goal square.&#8221; crlf)<br />
(halt))</p></blockquote>
<p><span id="more-930"></span>The execution is the same:</p>
<blockquote><p>CLIPS&gt; (run)<br />
Firing rule 1.<br />
New square is 8.<br />
Firing rule 13.<br />
New square is 3.<br />
Firing rule 5.<br />
New square is 4.<br />
Firing rule 7.<br />
New square is 9.<br />
Firing rule 15.<br />
New square is 2.<br />
Reached the goal square.</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/930/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/930/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/930/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=930&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/05/28/clips-part-deux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>CLIPS</title>
		<link>http://aiguy.wordpress.com/2011/04/23/clips/</link>
		<comments>http://aiguy.wordpress.com/2011/04/23/clips/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 22:49:02 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[CLIPS]]></category>
		<category><![CDATA[Expert Systems]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=918</guid>
		<description><![CDATA[For the past few days I have been experimenting with C Language Integrated Production System (CLIPS). It is an interesting platform to experiment with Expert Systems. The users guide is a good introduction into rule based systems. The software is the topics of multiple books in Amazon. All the books on LISP and Prolog that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=918&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For the past few days I have been experimenting with <a title="CLIPS" href="http://clipsrules.sourceforge.net/index.html" target="_blank">C Language Integrated Production System</a> (CLIPS). It is an interesting platform to experiment with Expert Systems. The users guide is a good introduction into rule based systems. The software is the topics of multiple books in Amazon. All the books on LISP and Prolog that are in my personal collection have a common theme – building expert systems at some point in the book.</p>
<p>Why an interest in expert systems? Well, IBM Watson, the Jepoardy playing computer, is a high end expert system using statistical inference (possibly bayes net) to find questions to Jepoardy topics. I was also interest in Watson&#8217;s capabilities. Also, AL3 is an expert system as well as PARADISE. My interest is in designing a knowledge based chess playing program with the capability of playing like a human chess player using rule based knowledge to solve positions as well as adding new knowledge based on relational learning.</p>
<p><span id="more-918"></span>To begin I wrote a knight&#8217;s tour program for a 3&#215;3 grid based on Luger&#8217;s example. Upon loading the file into CLIPS shell, I ran the reset command and the run command with the following output:</p>
<blockquote>
<pre>Firing rule 1.
New square is 8.
Firing rule 13.
New square is 3.
Firing rule 5.
New square is 4.
Firing rule 7.
New square is 9.
Firing rule 15.
New square is 2.
Reached the goal square.</pre>
</blockquote>
<p>This matches in the book. If you wish to follow which rules were under consideration, then use the (watch activations) option.</p>
<p>Below is the CLIPS version:</p>
<blockquote>
<pre>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;;  knight.clp - A simple knight's tour on a 3x3 grid.
;;;
;;;  This simple production system is based on Example 5.3.2 from
;;;  Luger and Stubblefield (1993) Artificial Intelligence:
;;;     Structures and Strategies for Complex Problem Solving.
;;;
;;;  Written by AIguy in CLIPS
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Starting square
(deffacts initial-square
    (square-is 1))

;; Terminating condition
(defrule goal-rule
    ?init &lt;- (square-is 2)
    =&gt;
    (retract ?init)
    (printout t "Reached the goal square." crlf))

;; Knight moves rules
(defrule rule1
    ?init &lt;- (square-is 1)
    =&gt;
    (retract ?init)
    (assert  (square-is 8))
    (printout t "Firing rule 1." crlf)
    (printout t "New square is 8." crlf))

(defrule rule2
    ?init &lt;- (square-is 1)
    =&gt;
    (retract ?init)
    (assert  (square-is 6))
    (printout t "Firing rule 2." crlf)
    (printout t "New square is 6." crlf))

(defrule rule3
    ?init &lt;- (square-is 2)
    =&gt;
    (retract ?init)
    (assert  (square-is 9))
    (printout t "Firing rule 3." crlf)
    (printout t "New square is 9." crlf))

(defrule rule4
    ?init &lt;- (square-is 2)
    =&gt;
    (retract ?init)
    (assert  (square-is 7))
    (printout t "Firing rule 4." crlf)
    (printout t "New square is 7." crlf))

(defrule rule5
    ?init &lt;- (square-is 3)
    =&gt;
    (retract ?init)
    (assert  (square-is 4))
    (printout t "Firing rule 5." crlf)
    (printout t "New square is 4." crlf))

(defrule rule6
    ?init &lt;- (square-is 3)
    =&gt;
    (retract ?init)
    (assert  (square-is 8))
    (printout t "Firing rule 6." crlf)
    (printout t "New square is 8." crlf))

(defrule rule7
    ?init &lt;- (square-is 4)
    =&gt;
    (retract ?init)
    (assert  (square-is 9))
    (printout t "Firing rule 7." crlf)
    (printout t "New square is 9." crlf))

(defrule rule8
    ?init &lt;- (square-is 4)
    =&gt;
    (retract ?init)
    (assert  (square-is 3))
    (printout t "Firing rule 8." crlf)
    (printout t "New square is 3." crlf))

(defrule rule9
    ?init &lt;- (square-is 6)
    =&gt;
    (retract ?init)
    (assert  (square-is 1))
    (printout t "Firing rule 9." crlf)
    (printout t "New square is 1." crlf))

(defrule rule10
    ?init &lt;- (square-is 6)
    =&gt;
    (retract ?init)
    (assert  (square-is 7))
    (printout t "Firing rule 10." crlf)
    (printout t "New square is 7." crlf))

(defrule rule11
    ?init &lt;- (square-is 7)
    =&gt;
    (retract ?init)
    (assert  (square-is 2))
    (printout t "Firing rule 11." crlf)
    (printout t "New square is 2." crlf))

(defrule rule12
    ?init &lt;- (square-is 7)
    =&gt;
    (retract ?init)
    (assert  (square-is 6))
    (printout t "Firing rule 12." crlf)
    (printout t "New square is 6." crlf))

(defrule rule13
    ?init &lt;- (square-is 8)
    =&gt;
    (retract ?init)
    (assert  (square-is 3))
    (printout t "Firing rule 13." crlf)
    (printout t "New square is 3." crlf))

(defrule rule14
    ?init &lt;- (square-is 8)
    =&gt;
    (retract ?init)
    (assert  (square-is 1))
    (printout t "Firing rule 14." crlf)
    (printout t "New square is 1." crlf))

(defrule rule15
    ?init &lt;- (square-is 9)
    =&gt;
    (retract ?init)
    (assert  (square-is 2))
    (printout t "Firing rule 15." crlf)
    (printout t "New square is 2." crlf))

(defrule rule16
    ?init &lt;- (square-is 9)
    =&gt;
    (retract ?init)
    (assert  (square-is 4))
    (printout t "Firing rule 16." crlf)
    (printout t "New square is 4." crlf))</pre>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/918/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/918/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/918/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=918&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/04/23/clips/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Depth-First Search II</title>
		<link>http://aiguy.wordpress.com/2011/04/23/depth-first-search-ii/</link>
		<comments>http://aiguy.wordpress.com/2011/04/23/depth-first-search-ii/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 22:33:25 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Games and Puzzles]]></category>
		<category><![CDATA[Logic Programming]]></category>
		<category><![CDATA[Prolog Code]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=912</guid>
		<description><![CDATA[In the previous discussion regarding the depth-first search, I provided prolog code for the program.  In my research, I asked the following: Because the current maze puzzle has only one solution, can the maze puzzle be modified to contain additional exit nodes so that the depth-first-search program can test for additional solutions? To answer that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=912&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the previous discussion regarding the depth-first search, I provided prolog code for the program.  In my research, I asked the following:</p>
<p>Because the current maze puzzle has only one solution, can the maze puzzle be modified to contain additional exit nodes so that the depth-first-search program can test for additional solutions?</p>
<p><span id="more-912"></span>To answer that question, a test file is generated as follows:</p>
<blockquote><p>:- dynamic connect/2.</p>
<p>:- ['maze.pl'], ['search.pl'].</p></blockquote>
<p>This file is loaded into the SWI-Prolog interpreter. The original puzzle works as expected. Then the following statement is performed to insert a new exit into the puzzle:</p>
<blockquote><p> assert(connect(12, finish)).</p></blockquote>
<p>The depth-first-search program finds the new exit with the following solution:</p>
<blockquote><p>[finish,12,18,24,30,36,35,34,28,27,26,20,14,15,21,22,16,10,4,3,9,8,2,start]</p></blockquote>
<p>However, upon requesting additional solutions, the interpreter returns false, indication there are no additional solutions. Thus, this answers the original question. The depth-first-search program cannot find additional solutions.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/912/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/912/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=912&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/04/23/depth-first-search-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Search Algorithms</title>
		<link>http://aiguy.wordpress.com/2011/02/27/search-algorithms/</link>
		<comments>http://aiguy.wordpress.com/2011/02/27/search-algorithms/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 15:27:01 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Games and Puzzles]]></category>
		<category><![CDATA[Prolog Code]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=905</guid>
		<description><![CDATA[While reading Artificial Intelligence Techniques in Prolog (Shoham 1994), in the Search chapter, the author writes generic search algorithms.  For example, the depth first search algorithm passes the name of the function connecting the nodes in the graph.  That is very interesting since in other Prolog books, the authors customizes the search algorithm to the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=905&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While reading <em>Artificial Intelligence Techniques in Prolog</em> (Shoham 1994), in the Search chapter, the author writes generic search algorithms.  For example, the depth first search algorithm passes the name of the function connecting the nodes in the graph.  That is very interesting since in other Prolog books, the authors customizes the search algorithm to the problem.  As a result of this information, I simply modify a puzzle from book and incorporated the generic depth first search algorithm.  I took and modified the maze problem in Chapter 8 from Covington&#8217;s book.</p>
<p><span id="more-905"></span></p>
<p>After loading the programs (maze.pl and search.pl), run the search.  A brief description of the depth_first_search/4.  The first parameter is the name of the clause determining the nodes, the second argument is the name of the initial node, the third argument is the name of the terminating clause, and the fourth argument is the resulting Path in reverse order.</p>
<p>Note that I used SWI-Prolog for execution.</p>
<blockquote><p>2 ?- depth_first_search(connected_to, start, end_node, Path), writeln(Path).<br />
[finish,32,33,34,28,27,26,20,14,15,21,22,16,10,4,3,9,8,2,start]<br />
Path = [finish, 32, 33, 34, 28, 27, 26, 20, 14|...] .</p></blockquote>
<p>Enclosed is the modified maze.pl and search.pl programs.</p>
<blockquote><p>% From the book<br />
% PROLOG PROGRAMMING IN DEPTH<br />
% by Michael A. Covington, Donald Nute, and Andre Vellino<br />
% (Prentice Hall, 1997).<br />
% Copyright 1997 Prentice-Hall, Inc.<br />
% For educational use only</p>
<p>% MAZE1.PL<br />
% Connectivity table for the maze in Figure 8.2</p>
<p>connect(start,2).        connect(1,7).<br />
connect(2,8).            connect(3,4).<br />
connect(3,9).            connect(4,10).<br />
connect(5,11).           connect(5,6).<br />
connect(7,13).           connect(8,9).<br />
connect(10,16).          connect(11,17).<br />
connect(12,18).          connect(13,14).<br />
connect(14,15).          connect(14,20).<br />
connect(15,21).          connect(16,22).<br />
connect(17,23).          connect(18,24).<br />
connect(19,25).          connect(20,26).<br />
connect(21,22).          connect(23,29).<br />
connect(24,30).          connect(25,31).<br />
connect(26,27).          connect(27,28).<br />
connect(28,29).          connect(28,34).<br />
connect(30,36).          connect(31,32).<br />
connect(32,33).          connect(33,34).<br />
connect(34,35).          connect(35,36).<br />
connect(32,finish).</p>
<p>% copied from maze.pl<br />
connected_to(Location1,Location2) :- connect(Location1,Location2).<br />
connected_to(Location1,Location2) :- connect(Location2,Location1).</p>
<p>% end_node test (borrell)<br />
end_node(finish).</p>
<p>/*<br />
* Artificial Intellegence Techniques in Prolog<br />
* Chapter 2: Search<br />
*/</p>
<p>/*<br />
* Depth-first search<br />
* Arguments: arc function(+), start node(+), goal predicate(+)<br />
* solutions (i.e., path from the start node to a node satisfying the goal<br />
*            predicate)-<br />
*/</p>
<p>depth_first_search(Arc, Start, GoalPred, Sol) :-<br />
dfs(Arc, [[Start]], [], GoalPred, Sol).</p>
<p>/*<br />
* The second argument to the dfs is the OPEN stack.<br />
* The third argument is the CLOSED stack.<br />
*/</p>
<p>dfs(_,[[Node|Path]|_], _, GoalPred, [Node|Path]) :-<br />
call(GoalPred, Node).</p>
<p>dfs(Arc, [[Node|Path]|MoreOPEN], CLOSED, GoalPred, Sol) :-<br />
findall([Next, Node|Path],<br />
(call(Arc, Node, Next),<br />
\+(member([Next|_],[[Node|Path]|MoreOPEN])),<br />
\+(member(Next, CLOSED))),<br />
NewPaths),<br />
append(NewPaths, MoreOPEN, NewOPEN),<br />
dfs(Arc, NewOPEN, [Node|CLOSED], GoalPred, Sol).</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/905/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/905/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/905/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=905&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2011/02/27/search-algorithms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Progress Report &#8211; October 2010</title>
		<link>http://aiguy.wordpress.com/2010/11/04/progress-report-october-2010/</link>
		<comments>http://aiguy.wordpress.com/2010/11/04/progress-report-october-2010/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 14:13:26 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=899</guid>
		<description><![CDATA[Sorry about the lack of recent progress reports; however, I took a vacation from the subject.   Recently towards the end of October, I upgraded my AI environment to Fedora 13, which was released last year.  Interesting the distribution comes with CMUCL and SBCL as well as an older version of SWI-Prolog.  However, I downloaded the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=899&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sorry about the lack of recent progress reports; however, I took a vacation from the subject.   Recently towards the end of October, I upgraded my AI environment to Fedora 13, which was released last year.  Interesting the distribution comes with CMUCL and SBCL as well as an older version of SWI-Prolog.  However, I downloaded the lasted SWI-Prolog v5.10.2 and compiled it.  An interesting that SWI-Prolog binary is now called swipl, which was in previous editions simply just pl.  Because of this, I added an alias to my bash run control file to start swipl as pl.</p>
<p>Also, I am continuing studying and working problems using the Poisson process and Bayes Theorem.  After taking the break, I had not lost any concepts that I had learned earlier.  The book does have a table of Poisson probabilities, which does save time.</p>
<p>My current goals to finish what I have started in terms of Prolog, LISP, and Bayes Theorem as well continue to read interesting AI articles.</p>
<p>I want to thank my readers for supporting this blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/899/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/899/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/899/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=899&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2010/11/04/progress-report-october-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Progress Report &#8211; June 2010</title>
		<link>http://aiguy.wordpress.com/2010/06/30/progress-report-june-2010/</link>
		<comments>http://aiguy.wordpress.com/2010/06/30/progress-report-june-2010/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 23:46:38 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Logic Programming]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Reinforcement Learning]]></category>
		<category><![CDATA[Relational Reinforcement Learning]]></category>
		<category><![CDATA[Prolog Code]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=886</guid>
		<description><![CDATA[This month&#8217;s focus is RRL Code, Model based RL Video, and Incomplete data structures.  The RRL Code is my Prolog implementation.  The Model based RL Video is Michael Littman&#8217;s video lectures from NIPS  2009, which available from video lectures dot net.  Finally, I read Chapter 15 on Incomplete Data Structures of the Sterling and Shapiro [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=886&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This month&#8217;s focus is RRL Code, Model based RL Video, and Incomplete data structures.  The RRL Code is my Prolog implementation.  The Model based RL Video is Michael Littman&#8217;s video lectures from NIPS  2009, which available from <a title="Video Lectures" href="http://videolecture.net/" target="_blank">video lectures dot net</a>.  Finally, I read Chapter 15 on Incomplete Data Structures of the Sterling and Shapiro (1994) book.  Each of these topics have their own blog entry.</p>
<p>From video lectures I have started watching an <a title="An Introduction to SRL" href="http://videolectures.net/ecml07_getoor_isr/" target="_blank"><em>An Introduction to Statistical Relational Learning</em></a> by Dr. Lise Getoor and <a title="Policy Gradient RL" href="http://videolectures.net/mlss06au_aberdeen_pgrl/"><em>Policy Gradient Reinforcement Learning</em></a> by Dr. Douglass Aberdeen.  From the NIPS 2009 conference, I watched <a title="Bootstrapping from Game Tree Search" href="http://videolectures.net/nips09_veness_bfg/">Bootstrapping from Game Tree Search</a>, and consequently the article.</p>
<p><span id="more-886"></span>Of course, the <a title="2010 ICML" href="http://www.icml2010.org/">2010 ICML</a> and COLT conferences were held in Haifa, Isreal.</p>
<p>From a blog statistical point of view, the number of hits started very hot, but then cooled off during final 18 days of the month.  This is the 13th month in a row in which this blog has over 300 hits.  Since this blog has been hosted by WordPress, the grand total of hits reached over 7,000.</p>
<p>Finally, I want to thank the readers for their positive comments, encouragement,  and subscription to this blog.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/886/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/886/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/886/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=886&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2010/06/30/progress-report-june-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
		<item>
		<title>Incomplete Data Structures</title>
		<link>http://aiguy.wordpress.com/2010/06/30/incomplete-data-structures/</link>
		<comments>http://aiguy.wordpress.com/2010/06/30/incomplete-data-structures/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 22:48:38 +0000</pubDate>
		<dc:creator>aiguy</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Logic Programming]]></category>
		<category><![CDATA[Prolog Code]]></category>

		<guid isPermaLink="false">http://aiguy.wordpress.com/?p=874</guid>
		<description><![CDATA[Another interesting concept from 1994.  The chapter has four sections covering difference lists, difference structures, dictionaries, and queues.  The power behind this concept is unification.  The append operation against difference lists is completed in linear time.  Difference structures is similar to difference lists.  Queues are very self explanatory.  I will analyze existing Prolog programs to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=874&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Another interesting concept from 1994.  The chapter has four sections covering difference lists, difference structures, dictionaries, and queues.  The power behind this concept is unification.  The append operation against difference lists is completed in linear time.  Difference structures is similar to difference lists.  Queues are very self explanatory.  I will analyze existing Prolog programs to verify if incomplete data structures will improve the execution.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aiguy.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aiguy.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aiguy.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aiguy.wordpress.com&amp;blog=4970770&amp;post=874&amp;subd=aiguy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aiguy.wordpress.com/2010/06/30/incomplete-data-structures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0c815cc36d67f37c4cd99ca72086c158?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aiguy</media:title>
		</media:content>
	</item>
	</channel>
</rss>
