← all repositories
aimacode/aima-java

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.

1.6k stars Java LearningML Frameworks
aima-java
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

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-core version 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.