Java implementation of algorithms from Norvig and Russell's Artificial Intelligence - A Modern Approach 3rd Edition.
We're loooking for one student sponsored by Google Summer of Code (GSoC) to work on this project; if you want to be that student, make some good contributions here (by looking throush the "Issues" and resolving some, or by looking at the table of algorithms below and implementing a missing one, or by looking at the pseudocode of algorithms from the book and adding or improving one), and submit your application. (And we're always looking for solid contributors who are not affiliated with GSoC.)
-
Latest Maven Information (for integration as a third party library)
<dependency> <groupId>com.googlecode.aima-java</groupId> <artifactId>aima-core</artifactId> <version>0.11.1</version> </dependency>
Fig | Page | Name (in book) | Code |
---|---|---|---|
2 | 34 | Environment | Environment |
2.1 | 35 | Agent | Agent |
2.3 | 36 | Table-Driven-Vacuum-Agent | TableDrivenVacuumAgent |
2.7 | 47 | Table-Driven-Agent | TableDrivenAgentProgram |
2.8 | 48 | Reflex-Vacuum-Agent | ReflexVacuumAgent |
2.10 | 49 | Simple-Reflex-Agent | SimpleReflexAgentProgram |
2.12 | 51 | Model-Based-Reflex-Agent | ModelBasedReflexAgentProgram |
3 | 66 | Problem | Problem |
3.1 | 67 | Simple-Problem-Solving-Agent | SimpleProblemSolvingAgent |
3.2 | 68 | Romania | SimplifiedRoadMapOfPartOfRomania |
3.7 | 77 | Tree-Search | TreeSearch |
3.7 | 77 | Graph-Search | GraphSearch |
3.10 | 79 | Node | Node |
3 | 79 | Queue | Queue |
3.11 | 82 | Breadth-First-Search | BreadthFirstSearch |
3.14 | 84 | Uniform-Cost-Search | UniformCostSearch |
3 | 85 | Depth-first Search | DepthFirstSearch |
3.17 | 88 | Depth-Limited-Search | DepthLimitedSearch |
3.18 | 89 | Iterative-Deepening-Search | IterativeDeepeningSearch |
3 | 90 | Bidirectional search | BidirectionalSearch |
3 | 92 | Best-First search | BestFirstSearch |
3 | 92 | Greedy best-First search | GreedyBestFirstSearch |
3 | 93 | A* Search | AStarSearch |
3.26 | 99 | Recursive-Best-First-Search | RecursiveBestFirstSearch |
4.2 | 122 | Hill-Climbing | HillClimbingSearch |
4.5 | 126 | Simulated-Annealing | SimulatedAnnealingSearch |
4.8 | 129 | Genetic-Algorithm | GeneticAlgorithm |
4.11 | 136 | And-Or-Graph-Search | AndOrSearch |
4 | 147 | Online search problem | OnlineSearchProblem |
4.21 | 150 | Online-DFS-Agent | OnlineDFSAgent |
4.24 | 152 | LRTA*-Agent | LRTAStarAgent |
5.3 | 166 | Minimax-Decision | MinimaxSearch |
5.7 | 170 | Alpha-Beta-Search | AlphaBetaSearch |
6 | 202 | CSP | CSP |
6.1 | 204 | Map CSP | MapCSP |
6.3 | 209 | AC-3 | AC3Strategy |
6.5 | 215 | Backtracking-Search | BacktrackingStrategy |
6.8 | 221 | Min-Conflicts | MinConflictsStrategy |
6.11 | 209 | Tree-CSP-Solver | --- |
7 | 235 | Knowledge Base | KnowledgeBase |
7.1 | 236 | KB-Agent | KBAgent |
7.7 | 244 | Propositional-Logic-Sentence | Sentence |
7.10 | 248 | TT-Entails | TTEntails |
7 | 253 | Convert-to-CNF | ConvertToCNF |
7.12 | 255 | PL-Resolution | PLResolution |
7.15 | 258 | PL-FC-Entails? | PLFCEntails |
7.17 | 261 | DPLL-Satisfiable? | DPLLSatisfiable |
7.18 | 263 | WalkSAT | WalkSAT |
7.20 | 270 | Hybrid-Wumpus-Agent | HybridWumpusAgent |
7.22 | 272 | SATPlan | SATPlan |
9 | 323 | Subst | SubstVisitor |
9.1 | 328 | Unify | Unifier |
9.3 | 332 | FOL-FC-Ask | FOLFCAsk |
9.3 | 332 | FOL-BC-Ask | FOLBCAsk |
9 | 345 | CNF | CNFConverter |
9 | 347 | Resolution | FOLTFMResolution |
9 | 354 | Demodulation | Demodulation |
9 | 354 | Paramodulation | Paramodulation |
9 | 345 | Subsumption | SubsumptionElimination |
10.9 | 383 | Graphplan | --- |
11.5 | 409 | Hierarchical-Search | --- |
11.8 | 414 | Angelic-Search | --- |
13.1 | 484 | DT-Agent | --- |
13 | 484 | Probability-Model | ProbabilityModel |
13 | 487 | Probability-Distribution | ProbabilityDistribution |
13 | 490 | Full-Joint-Distribution | FullJointDistributionModel |
14 | 510 | Bayesian Network | BayesianNetwork |
14.9 | 525 | Enumeration-Ask | EnumerationAsk |
14.11 | 528 | Elimination-Ask | EliminationAsk |
14.13 | 531 | Prior-Sample | PriorSample |
14.14 | 533 | Rejection-Sampling | RejectionSampling |
14.15 | 534 | Likelihood-Weighting | LikelihoodWeighting |
14.16 | 537 | GIBBS-Ask | GibbsAsk |
15.4 | 576 | Forward-Backward | ForwardBackward |
15 | 578 | Hidden Markov Model | HiddenMarkovModel |
15.6 | 580 | Fixed-Lag-Smoothing | FixedLagSmoothing |
15 | 590 | Dynamic Bayesian Network | DynamicBayesianNetwork |
15.17 | 598 | Particle-Filtering | ParticleFiltering |
16.9 | 632 | Information-Gathering-Agent | --- |
17 | 647 | Markov Decision Process | MarkovDecisionProcess |
17.4 | 653 | Value-Iteration | ValueIteration |
17.7 | 657 | Policy-Iteration | PolicyIteration |
17.9 | 663 | POMDP-Value-Iteration | --- |
18.5 | 702 | Decision-Tree-Learning | DecisionTreeLearner |
18.8 | 710 | Cross-Validation-Wrapper | --- |
18.11 | 717 | Decision-List-Learning | DecisionListLearner |
18.24 | 734 | Back-Prop-Learning | BackPropLearning |
18.34 | 751 | AdaBoost | AdaBoostLearner |
19.2 | 771 | Current-Best-Learning | --- |
19.3 | 773 | Version-Space-Learning | --- |
19.8 | 786 | Minimal-Consistent-Det | --- |
19.12 | 793 | FOIL | --- |
21.2 | 834 | Passive-ADP-Agent | PassiveADPAgent |
21.4 | 837 | Passive-TD-Agent | PassiveTDAgent |
21.8 | 844 | Q-Learning-Agent | QLearningAgent |
22.1 | 871 | HITS | --- |
23.5 | 894 | CYK-Parse | --- |
25.9 | 982 | Monte-Carlo-Localization | --- |