Tuesday, August 28, 2007

Recursive-Best-First-Search available

Just finished an implementation of the Recursive-Best-First-Search from Figure 4.5 page 102 of AIMA. The implementation may be found in aima.search.informed.RecursiveBestFirstSearch along with an associated test case in aima.test.search.searches.RecursiveBestFirstSearchTest, which creates a test that mimics Figure 4.6 from page 103. This has also been added to the MapDemo. I think a Genetic Algorithm implementation is up next :-)

Thursday, August 23, 2007

Implementation of Bidirectional search available

After a week of crashed machines and painful recovery/upgrading efforts, I finally got around to implementing a version of the Bidrectional search described on page 79 of the text book. This can be found in aima.search.uninformed.BidirectionalSearch. A fairly comprehensive test driver for this can be found in aima.test.search.searches.BidirectionalSearchTest as the implementation turned out to be a little trickier/subtler than originally anticipated.

Sunday, August 19, 2007

Chp 3 Additions to Bleeding Edge Code

Added implementations for:

Fig 3.1, pg 61 Simple-Problem-Solving-Agent: aima.search.framework.SimpleProblemSolvingAgent
Fig 3.2, pg 63 Romania: aima.search.map.SimplifiedRoadMapOfPartOfRomania

In addition added an implementation of the
Uniform-cost search from page 75.

A demo of these can be seen in:
aima.search.demos.MapDemo
which uses all the existing uninformed search algorithms. Currently considering writing an implementation of the BidirectionalSearch as well in order to round out all the searches discussed in Chapter 3 - fun fun :-)

Sunday, August 12, 2007

Dr Ciaran O Reilly joins the Aima Java Project

Dr Ciaran (pronounced Keeraan) O' Reilly, a researcher in AI from the San Fransisco Bay Area, has joined the AIMA Java project.
Having another contributor to the code base is awesome! We are still working out the fiddly details like how to ensure the formatting conventions are shared etc, but Ciaran's code has been checked into the codebase and he has commit rights (though he is still having problems with the svn server at Google code).