diff --git a/README.md b/README.md index 727cb947d..d76de231c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # aima-python -Python code for the book *Artificial Intelligence: A Modern Approach." +Python code for the book [Artificial Intelligence - A Modern Approach 3rd Edition](http://aima.cs.berkeley.edu/) Eventually, this repository should have code for everything in the book. @@ -21,3 +21,604 @@ various dates. However, I don't have much confidence in these figures... +[Environment](/agents.py) + +### Index of Implemented Algorithms +
| Fig | +Page | +Name (in book) | +Code | +
| 2 | +34 | +Environment | +[Environment](/agents.py) | +
| 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 | +79 | +Queue | +Queue | +
| 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 | +209 | +Tree-CSP-Solver | +--- | +
| 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 | +--- | +
| 23.5 | +894 | +CYK-Parse | +--- | +
| 25.9 | +982 | +Monte-Carlo-Localization | +--- | +