The classic AI textbook, translated into Java
A line-by-line Java implementation of every major algorithm from Russell & Norvig's AIMA — useful if you actually want to run the pseudocode instead of just squinting at it.

What it does This repo implements the algorithms from Artificial Intelligence: A Modern Approach (3rd ed.) in JDK 8+ Java. It covers the full sweep of the book: search (A*, minimax, simulated annealing), logic (DPLL, WalkSAT, resolution), planning (GraphPlan), probability (Bayesian networks, HMMs, particle filtering), and learning (decision trees, neural nets). Each class maps directly to a figure or pseudocode block in the book.
The interesting bit The README includes a massive index table that cross-references every implementation by figure number, page, and algorithm name. It’s less a software project than a very patient study guide — the kind of thing that saves you from translating pseudocode while cramming for an AI final.
Key highlights
- Search: BFS, DFS, iterative deepening, A*, RBFS, hill-climbing, genetic algorithms, online search agents
- Adversarial: Minimax, alpha-beta pruning
- CSP: AC-3, backtracking, min-conflicts
- Logic: Propositional and first-order inference, including DPLL, WalkSAT, FOL resolution, and SATPlan
- Uncertainty: Bayesian networks (exact and approximate inference), HMMs, MDP value/policy iteration, POMDPs
- Packaged as Maven dependency
aima-coreversion 3.0.0
Caveats
- The maintainers flag demos, Javadoc, and the last official release (1.9.1, December 2016) as “outdated” or “not up to date”
- Angelic-Search (Figure 11.8) is listed but not yet implemented
Verdict Students and self-learners working through AIMA will find this invaluable. Production engineers looking for optimized, battle-tested AI libraries should look elsewhere — this is pedagogy, not performance.