The aima-core classes,source, and javadoc are now accessible via the Maven Central Repository (thanks to Sonatype's support for Open Source Projects, see: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide). All future releases will include a published version of aima-core (i.e. the main algorithms from the book) to the central repository as several people have requested this distribution mechanism as well. The required Maven Information is posted at the top of the project's home page.
Andrew Brown has joined the project and his submission of the And-Or-Graph-Search algorithm completes the set of algorithms from Chapter 4 in the book. In addition, the Genetic Algorithm has been rewritten in order to make it easier to use/extend. Also, several issues were also resolved as part of this release (see the aima-core README.txt for details).
Ruediger has rewritten all of the logic from Chapter 5: Adversarial Search. In addition, he has added a new GUI demo application - Connect 4, in order to highlight the algorithms usage in larger search spaces. This can be run from the demo page:
Added an Iterator interface and supporting methods to CategoricalDistribution and Factor. ProbabilityTable.Iterator removed getPostIterateValue() method from API due to not being general. Fixed Issue 63 - all compilation warnings have been resolved or suppressed where appropriate for now. Documentation clean up.
Michael has been doing great work updating the project's Javadoc and plans to do some games development (chess and checkers) possibly using JOGL to demonstrate some of the core algorithms. He now has commit privileges on the project.
and realized I needed to update the svn:mime-type on the relevant .html, .css and .jnlp files to their correct values. All appears to be working now so to get to the main demo page from now on just go to:
Ruediger Lunde has been promoted to project owner due to his significant work on the project (solely responsible for aimax-osm extension project and nearly the totality of the aima-gui project as well as many contributions and improvements to aima-core).
Ruediger has been busy improving the AIMAX-OSM applications with the following improvements:
1. Storage efficency of map representation improved. 2. Rendering speed and quality improved. 3. osm.gz2 file format support added. 4. Reader extended to read parts of a map, specified by bounding box or attribute filter. 5. Writer for writing maps to file added. 6. Slow zoom (activated with ) added. 7. Scale factor replaced by true scale. 8. Mark creation at specified GPS positions added, info dialog extended by node position.
This release includes several enhancements to the aima-gui and aimax-osm GUI applications (thanks Ruediger). In particular, the AimaDemoApp was updated to include all the command line demos (their output is redirected to a text area widget when run). In addition, we have set up a page for running each of the GUIs from your browser using Java Web Start. This may be linked to from the projects main page:
This is our second release based on the 3rd edition of AIMA. This includes a new extension project, the Open Street Map (OSM) library, which has been kindly provided by Ruediger Lunde. This takes advantage of several of the algorithms and utilities from the aima-core and aima-gui projects. Please note that this project is under a different license. Enjoy!
This is our first release containing GUIs (thanks to Ruediger Lunde) see:
- aima.gui.applications.VacuumAppDemo Provides a demo of the different agents described in Chapter 2 and 3 for tackling the Vacuum World.
- aima.gui.applications.search.map.RoutePlanningAgentAppDemo Provides a demo of the different agents/search algorithms described in Chapters 3 and 4, for tackling route planning tasks within simplified Map environments.
- aima.gui.framework.SimpleAgentAppDemo Provides a basic example of how to create your own Agent based demonstrations based on the provided framework.
This will also be our last full release based on the 2nd edition of AIMA. We are currently in the planning phases to re-organize this project based on the 3rd edition of AIMA, which should be available soon.
Ciaran O'Reilly is now joint owner of this project, along with me (Ravi). He has done awesome work in the logic chapters code (and any bug reports should be sent to him ;-). Just kidding, if I get any bug reports for the logic code I can forward to him).
We'll be starting work on the code for AIMA 3d edition soon.
This is a patch release for the FOL Logic and includes the following fixes:
- Fixed subtle defect in Model Elimination inference algorithm, which caused it to miss portions of the search space.
- Improved the performance of both theorem provers, in particular added support for forward and backward subsumption elimination, which improves significantly the performance and use of the OTTER Like theorem prover.
- Fixed defect in cascade occurs check in unifier logic.
It's been a while, but finally after much grinding away, a complete implementation of all of the main First Order Logic concepts from Chapter 9 has now been added to the bleeding edge code base. In addition, for giggles :-), I've added an inference algorithm based on model elimination. You can run the FOLDemo:
to get an overview of the different capabilities. I ended up taking a class on Computational Logic (see: http://logic.stanford.edu/classes/cs157/2008/cs157.html) in order to get my head around several of the nuances involved in implementing general purpose theorem provers. Highly recommended for those so inclined. I've tried my best, 100+ test cases, to make the resolution based and model elimination implementations sound and complete, as well as reasonably efficient but no guarantees :-) Enjoy!
This release has a rewrite of the Neural Network code. The old code didn't do pre processing of data and so the networks would get saturated for some data sets. The new code normalizes the data sets and so doesn't have this problem.
The release also includes an implementation of Online DFS (Thanks Ciaran!). Carl Anderson, Senior Scientist at ArchimedesModel.com requested that heuristic functions return doubles instead of int. This is an excellent idea so that's done as well.
The next release scheduled for 28th Feb, will have code for planning (chapters 11 and 12 + bits of chapter 9) + whatever else we feel like working on!
Been a while, was home back in Ireland visiting family and friends and started a new job, so have had a little less time available to hack away at this stuff. The implementation for this algorithm can be found in: aima.search.online.OnlineDFSAgent with a test case available in: aima.test.search.online.OnlineDFSAgentTest Enjoy!
An implementation of the algorithm described in Figure 4.17 page 119 is now available. The NQueensDemo has been updated to include an example of calling this algorithm. Of interest is the number of iterations/time it takes, on average with respect to the size of the search space, compared to the other algorithms to converge on a goal.
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 :-)