Skip to content

Commit a982000

Browse files
author
ctjoreilly
committed
- updating Readme.txt to reflect release 0.95 notes.
1 parent 58dc3a8 commit a982000

File tree

1 file changed

+32
-40
lines changed

1 file changed

+32
-40
lines changed

ReadMe.txt

Lines changed: 32 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
1-
AIMA JAVA Notes By Ravi([email protected])
1+
AIMA JAVA Notes By Ravi([email protected]) and Ciaran ([email protected]).
22

33
#summary some notes
44

55
= Introduction =
66
The latest (and ever evolving) code can be found at http://code.google.com/p/aima-java/. if you notice a bug please try checking out the latest version from the svn repository to see if it persists.
77

8-
Current release is 0.94:<br>
8+
Current release is 0.95:<br>
9+
This is our first release containing GUIs (thanks to Ruediger Lunde):<br>
10+
- aima.gui.applications.VacuumAppDemo<br>
11+
Provides a demo of the different agents described in Chapter 2 and 3
12+
for tackling the Vacuum World.<br>
13+
- aima.gui.applications.search.map.RoutePlanningAgentAppDemo<br>
14+
Provides a demo of the different agents/search algorithms described
15+
in Chapters 3 and 4, for tackling route planning tasks within
16+
simplified Map environments.<br>
17+
- aima.gui.framework.SimpleAgentAppDemo<br>
18+
Provides a basic example of how to create your own Agent based
19+
demonstrations based on the provided framework.<br>
20+
<br>
21+
This will also be our last full release based on the 2nd edition of AIMA.
22+
We are currently in the planning phases to re-organize this project based on the 3rd edition of AIMA, which should be available soon.
23+
24+
Previous release is 0.94:<br>
925
This is a patch release for the FOL Logic and includes the following fixes:<br>
1026
- Fixed subtle defect in Model Elimination inference algorithm, which caused it to miss portions of the search space.<br>
1127
- 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.<br>
@@ -16,7 +32,7 @@ It includes:<br>
1632
- a completion of the First Order Logic concepts from Chapter 9.<br>
1733
- the addition of the LRTA Agent from Chapter 4.<br>
1834

19-
Note: If running the unite tests be sure to include the vm arguments:
35+
Note: If running the unit tests be sure to include the vm arguments:
2036
-Xms256m -Xmx1024m
2137
as some of the First Order Logic algorithms (i.e. FOLTFMResolution) are
2238
memory hungry.
@@ -29,38 +45,23 @@ It includes a rewrite of the neural network algorithms (in the earlier version t
2945
Heuristics are now doubles (vs ints in the old version).
3046
One minor change is that I've dropped the make file. Please use [http://ant.apache.org/ant ant]
3147

32-
==bug reports - acknowledgment ==
33-
34-
The following people sent in excellent comments and bug reports. Thank you!!!!
35-
* Ali Tozan
36-
37-
* Carl Anderson, Senior Scientist, ArchimedesModel.com
38-
39-
* Don Cochrane from (?) University
40-
41-
* Mike Angelotti from Miami University
42-
43-
* Chad Carff ,University of Western Florida . EXCELLENT test cases . thank you .
44-
45-
* Dr .Eman El-Sheikh, Ph.D.,University of Western Florida
46-
47-
* Ravindra Guravannavar, Aztec Software,Bangalore
48-
49-
* Cameron Jenkins,University Of New Orleans
50-
51-
* Nils Knoblauch (Project Manager, Camline) - winner of the No Prize for the best bug report ! Thanks!
52-
53-
* Phil Snowberger, Artificial Intelligence and Robotics Laboratory,University of Notre Dame
54-
55-
48+
==Bug Reports - acknowledgment ==
5649

50+
The following people sent in excellent comments and bug reports. Thank you!!!!<br>
51+
* Ali Tozan<br>
52+
* Carl Anderson, Senior Scientist, ArchimedesModel.com<br>
53+
* Don Cochrane from (?) University<br>
54+
* Mike Angelotti from Miami University<br>
55+
* Chad Carff ,University of Western Florida . EXCELLENT test cases . thank you.<br>
56+
* Dr .Eman El-Sheikh, Ph.D.,University of Western Florida<br>
57+
* Ravindra Guravannavar, Aztec Software,Bangalore<br>
58+
* Cameron Jenkins,University Of New Orleans<br>
59+
* Nils Knoblauch (Project Manager, Camline) - winner of the No Prize for the best bug report ! Thanks!<br>
60+
* Phil Snowberger, Artificial Intelligence and Robotics Laboratory,University of Notre Dame<br>
5761

5862
= Details =
5963

60-
61-
6264
==Build Instructions==
63-
6465
If you just want to use the classes, all you need to do is put the aima-java/build directory on your CLASSPATH.
6566

6667
if you want to rebuild from source, run the unit tests etc follow the instructions below.
@@ -78,26 +79,22 @@ To build from the command line,
7879
# put [http://prdownloads.sourceforge.net/junit/junit3.8.1.zip?download junit 3.8.1 (note the version number)] on the classpath
7980
# type 'ant'
8081

81-
8282
I have included the eclipse.classpath and .projectfiles for those who use [http://www.eclipse.org eclipse] .
8383

8484
==Code Navigation==
8585
# To understand how a particular feature works , FIRST look at the demo files.There are four main demo files SearchDemo , LogicDemo ,ProbabilityDemo and LearningDemo.
8686
# If the Demo Files don't exist yet , look at the unit tests . they often cover much of how a particular feature works .
8787
# If all else fails , write to me . Comprehensive documentation, both java doc and otherwise are in the pipeline , but will probably have to wait till I finish the code .
8888

89-
9089
==Notes on Search==
9190

92-
9391
To solve a problem with (non CSP )Search .
9492
# you need to write four classes .
9593
# a class that represents the Problem state .This class is independent of the framework and does NOT need to subclass anything . Let us, for the rest of these instruction, assume you are going to solve the NQueens problem . So in this step you need to write something like aima.search.nqueens.NQueensBoard .
9694
# a subclass of aima.search.framework.GoalTest.This implements only a single function ---boolean isGoalState(Object state); The parameter state is an instance of the class you created in step 1-a above. For the NQueensProblem you would need to write something like aima.search.nqueens.NqueensBoardTest
9795
# a subclass of aima.search.framework.SuccessorFunction .This generates a stream of Successors where a Successor is an object that represents an (action, resultantState) pair. In this release of the code the action is a String (something like "placeQueenAt4,4" and the resultant State is an instance of the class you create in step 1.a . An example is aima.search.nqueens.NQueensSuccessorFunction.
9896
# If you need to do an informed search, you should create a fourth class which subclasses aima.search.framework.HeuristicFunction. This implements a single function int getHeuristicValue(Object state); keep in mind that the heuristic should DECREASE as the goal state comes nearer . For the NQueens problem, you need to write something like aima.search.nqueens.QueensToBePlacedHeuristic.
9997

100-
10198
that is all you need to do (unless you plan to write a different search than is available in the code base ).
10299

103100
To actually search you need to
@@ -126,6 +123,7 @@ A good example (from the NQueens Demo ) is
126123
}
127124
}
128125
}}}
126+
129127
==Search Inheritance Trees ==
130128

131129
there are two inheritance trees in Search. one deals with "mechanism" of search.
@@ -148,8 +146,6 @@ The second tree deals with the search instances you can use to solve a problem.
148146

149147
etc
150148

151-
152-
153149
So if you see a declaration like
154150
"SimulatedAnnealingSearch extends NodeExpander implements Search" , do not be confused.
155151

@@ -162,8 +158,6 @@ Again, if you get confused, look at the demos.
162158

163159

164160
==Logic Notes==
165-
166-
167161
The ONE thing you need to watch out for is that the Parsers are VERY finicky . If you get a lexing or parsing error, there is a high probability there is an error in your logic string.
168162

169163
To use First Order Logic, first you need to create a subclass of aima.logic.fol.FOLDomain which collects the constants, predicates, functions etc that you use to solve a particular problem.
@@ -181,8 +175,6 @@ Except elimination-ask, the rest of the algorithms from chapter 13 and 14 have b
181175
==LearningNotes==
182176

183177
===Main Classes and responsibilities===
184-
185-
186178
A <DataSet> is a collection of <Example>s .Wherever you see "examples" in plural in the text , the code uses a DataSet . This makes it easy to aggregate operations that work on collections of examples in one place.
187179

188180
An Example is a collection of Attributes. Each example is a data point for Supervised Learning .

0 commit comments

Comments
 (0)