MCPcopy Index your code
hub / github.com/aimacode/aima-java

github.com/aimacode/aima-java @aima3e-v1.9.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release aima3e-v1.9.1 ↗ · + Follow
6,541 symbols 22,304 edges 889 files 2,729 documented · 42%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AIMA3e-Java (JDK 8+) Build Status

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 loooking for solid contributors to help.

Getting Started Links

Index of Implemented Algorithms

Fig Page Name (in book) 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 SimplifiedRoadMapOfPartOfRomania
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 BacktrackingStrategy
6.8 221 Min-Conflicts MinConflictsStrategy
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.3 332 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 ---
11.5 409 Hierarchical-Search ---
11.8 414 Angelic-Search ---
13.1 484 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 ---
17 647 Markov Decision Process MarkovDecisionProcess
17.4 653 Value-Iteration ValueIteration
17.7 657 Policy-Iteration PolicyIteration
17.9 663 POMDP-Value-Iteration ---
18.5 702 Decision-Tree-Learning DecisionTreeLearner
18.8 710 Cross-Validation-Wrapper ---
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 ---
19.3 773 Version-Space-Learning ---
19.8 786 Minimal-Consistent-Det ---
19.12 793 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

Extension points exported contracts — how you extend this code

ChangeListener (Interface)
Defines the method infrastructure of any and all possible and legal implementations of a ChangeListener which can be reg [11 …
aima-gui/src/main/java/aima/gui/swing/applications/robotics/components/AnglePanel.java
MapEventListener (Interface)
Allows to listen to map changes. @author Ruediger Lunde [8 implementers]
aimax-osm/src/main/java/aimax/osm/data/MapEventListener.java
SearchForActions (Interface)
Interface for all AIMA3e search algorithms which store at least a part of the exploration history as search tree and ret [16 …
aima-core/src/main/java/aima/core/search/framework/SearchForActions.java
ISettingsListener (Interface)
A settings listener can be registered for a specific key. If the value for that key changes all registered listeners on [4 …
aima-gui/src/main/java/aima/gui/swing/applications/robotics/components/Settings.java
MapViewEventListener (Interface)
Observer interface which should be implemented by clients interested in map view events. @author Ruediger Lunde [5 implementers]
aimax-osm/src/main/java/aimax/osm/viewer/MapViewEventListener.java
SearchForStates (Interface)
Interface for all AIMA3e search algorithms which forget the exploration history and return just a single state which is [14 …
aima-core/src/main/java/aima/core/search/framework/SearchForStates.java
MessageLogger (Interface)
Simple interface for message logging. @author Ruediger Lunde [3 implementers]
aima-gui/src/main/java/aima/gui/swing/framework/MessageLogger.java
MapBuilder (Interface)
Simple interface to aggregate map data. Its purpose is, to keep OSM parsers independent from the concrete structure whic [4 …
aimax-osm/src/main/java/aimax/osm/data/MapBuilder.java

Core symbols most depended-on inside this repo

size
called by 786
aima-core/src/main/java/aima/core/probability/domain/Domain.java
get
called by 689
aima-core/src/main/java/aima/core/util/math/Matrix.java
put
called by 337
aima-core/src/main/java/aima/core/util/datastructure/TwoKeyHashMap.java
append
called by 312
aima-core/src/main/java/aima/core/search/nondeterministic/Path.java
getX
called by 301
aima-core/src/main/java/aima/core/robotics/impl/datatypes/IPose2D.java
parse
called by 300
aima-core/src/main/java/aima/core/logic/fol/parsing/FOLParser.java
getY
called by 299
aima-core/src/main/java/aima/core/robotics/impl/datatypes/IPose2D.java
parse
called by 191
aima-core/src/main/java/aima/core/util/math/geom/IGroupParser.java

Shape

Method 5,518
Class 861
Interface 145
Enum 17

Languages

Java100%

Modules by API surface

aima-core/src/main/java/aima/core/logic/fol/CNFConverter.java68 symbols
aima-core/src/test/java/aima/test/core/unit/environment/eightpuzzle/EightPuzzleBoardMoveTest.java55 symbols
aima-gui/src/main/java/aima/gui/swing/applications/robotics/GenericMonteCarloLocalization2DApp.java52 symbols
aima-core/src/main/java/aima/core/logic/fol/kb/data/Clause.java50 symbols
aima-core/src/main/java/aima/core/util/math/Matrix.java44 symbols
aima-core/src/main/java/aima/core/probability/util/ProbabilityTable.java43 symbols
aimax-osm/src/main/java/aimax/osm/data/impl/DefaultMap.java41 symbols
aima-gui/src/main/java/aima/gui/swing/applications/robotics/components/Settings.java40 symbols
aimax-osm/src/main/java/aimax/osm/gui/swing/viewer/MapViewPane.java39 symbols
aima-gui/src/main/java/aima/gui/swing/framework/AgentAppFrame.java35 symbols
aima-core/src/main/java/aima/core/logic/fol/inference/FOLOTTERLikeTheoremProver.java33 symbols
aima-core/src/main/java/aima/core/logic/fol/inference/FOLModelElimination.java33 symbols

For agents

$ claude mcp add aima-java \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact