aimacode/aima-java
Java implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
What it solves
This project provides a Java implementation of the algorithms described in the textbook "Artificial Intelligence: A Modern Approach" (3rd edition) by Stuart Russell and Peter Norvig. It lets students, teachers, and self-learners run the same AI algorithms they read about in the book, directly in Java code. It also offers Jupyter notebooks for selected chapters, making it easier to experiment with the ideas interactively.
How it works
The repository is organized around the core concepts from the book, such as agents, search problems, logic, probability, learning, and robotics. Each algorithm is implemented as a separate Java class in the aima-core module, following the naming and structure given in the book. For example, you can find AStarSearch, MinimaxSearch, BayesianNetwork, and many others. The project also includes demo applications, Javadoc references, and a Maven dependency so you can use it as a library in your own projects. The notebooks are Jupyter notebooks that walk through specific chapters with executable code.
Who it’s for
This is for anyone studying AI from the classic Russell & Norvig textbook. It is especially useful for Java programmers who want to see concrete implementations while reading the book, or for instructors who want to give students hands-on Java examples. It can also be used for self-study or as a starting point for building AI experiments.
Highlights
- Covers a wide range of algorithms: search, logic, probability, learning, robotics, and more.
- Directly mapped to figures and sections in the 3rd edition of the book.
- Includes runnable Jupyter notebooks for several chapters.
- Can be integrated as a Maven dependency (
com.googlecode.aima-java:aima-core:3.0.0). - Open to community contributions and has a wiki with contribution guidelines.
Related
- Project
- Project
- Project
- Project