VibeBuilders.ai Logo
VibeBuilders.ai
aima-java

aima-java

aimacode
March 25, 2025
github

AIMA3e-Java (JDK 8+) Build Status Binder

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

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:

  1. Open a new issue with the following heading: **Notebook: Chapter Name - Version **. Check that the issue is not assigned to anyone.
  2. 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.
  3. 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

LLM Vibe Score

0.521

Sentiment

Human Vibe Score

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:

By subscribing, you agree to our Privacy Policy and Terms of Service.