
aima-java
AIMA3e-Java (JDK 8+)

Java implementation of algorithms from Russell and Norvig's Artificial Intelligence - A Modern Approach 3rd Edition. You can use this in conjunction with a course on AI, or for study on your own. We're looking for solid contributors to help.
Getting Started Links
-
Demo Applications that can be run from your browser (unfortunately not up to date)
-
Download the latest official (but outdated) version = 1.9.1 (Dec 18 2016)
-
Latest Maven Information (for integration as a third party library)
com.googlecode.aima-java aima-core 3.0.0
Index of Implemented Algorithms
|Figure|Page|Name (in 3rd edition)|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|SimplifiedRoadMapOfRomania| |3.7|77|Tree-Search|TreeSearch| |3.7|77|Graph-Search|GraphSearch| |3.10|79|Node|Node| |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|AbstractBacktrackingSolver| |6.8|221|Min-Conflicts|MinConflictsSolver| |6.11|224|Tree-CSP-Solver|TreeCspSolver| |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.6|338|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|GraphPlan| |11.5|409|Hierarchical-Search|HierarchicalSearchAlgorithm| |11.8|414|Angelic-Search|---| |13.1|484|DT-Agent|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|InformationGatheringAgent| |17|647|Markov Decision Process|MarkovDecisionProcess| |17.4|653|Value-Iteration|ValueIteration| |17.7|657|Policy-Iteration|PolicyIteration| |17.9|663|POMDP-Value-Iteration|POMDPValueIteration| |18.5|702|Decision-Tree-Learning|DecisionTreeLearner| |18.8|710|Cross-Validation-Wrapper|CrossValidation| |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|CurrentBestLearning| |19.3|773|Version-Space-Learning|VersionSpaceLearning| |19.8|786|Minimal-Consistent-Det|MinimalConsistentDet| |19.12|793|FOIL|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|HITS| |23.5|894|CYK-Parse|CYK| |25.9|982|Monte-Carlo-Localization|MonteCarloLocalization|
Index of implemented notebooks
|Chapter No|Name |Status (in 3rd edition)|Status (in 4th edition) | -------- |:--------:| :-----| :----- | |3| Solving Problems by Searching| In Progress| Not started| |6| Constraint Satisfaction Problems |In Progress|---| |12| Knowledge Representation|Done|---| |13| Quantifying Uncertainty |Done | --- | |14| Probabilistic Reasoning|In Progress| ---|
Before starting to work on a new notebook:
- Open a new issue with the following heading: **Notebook: Chapter Name - Version **. Check that the issue is not assigned to anyone.
- Mention a topics list of what you will be implementing in the notebook for that particular chapter. You can iteratively refine the list once you start working.
- Start a discussion on what can go in that particular notebook.
"---" indicates algorithms yet to be implemented.
Index of data structures
Here is a table of the data structures yet to be implemented.
|Fig|Page|Name (in book)|Code| | -------- |:--------:| :-----| :----- | |9.8|341|Append|---| |10.1|369|AIR-CARGO-TRANSPORT-PROBLEM|---| |10.2|370|SPARE-TIRE-PROBLEM|---| |10.3|371|BLOCKS-WORLD |---| |10.7|380|HAVE-CAKE-AND-EAT-CAKE-TOO-PROBLEM|---| |11.1|402|JOB-SHOP-SCHEDULING-PROBLEM|---| |11.4|407|REFINEMENT-HIGH-LEVEL-ACTIONS|---| |23.6|895|SENTENCE-TREE|---| |29.1|1062|POWERS-OF-2|---|
Vibe Score

0.521
Sentiment

0.06620214044837505
Rate this Resource
Join the VibeBuilders.ai Newsletter
The newsletter helps digital entrepreneurs how to harness AI to build your own assets for your funnel & ecosystem without bloating your subscription costs.
Start the free 5-day AI Captain's Command Line Bootcamp when you sign up: