/aima-java

Java implementation of algorithms from Norvig And Russell's "Artificial Intelligence - A Modern Approach"

Primary LanguageJavaMIT LicenseMIT

AIMA3e-Java (JDK 7+) Build Status

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 through 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.)

NOTE: While we would like to complete the set of algorithms on the AIMA3e branch (the current default) we are planning on focussing most of our efforts on the new AIMA4e branch going forward. This is a complete rewrite of the algorithms from the AIMA3e branch and will be updated to reflect any changes in the yet to be published 4th edition of the book.

Getting Started Links

Index of Implemented Algorithms

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 224 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 ---