Python implementation of algorithms from Russell and Norvig's Artificial Intelligence: A Modern Approach.
Index of Code
| Fig | Page | Name (in book) | Code |
| 2 | 32 | Environment | Environment |
| 2.1 | 33 | Agent | Agent |
| 2.3 | 34 | Table-Driven-Vacuum-Agent | TableDrivenVacuumAgent |
| 2.7 | 45 | Table-Driven-Agent | TableDrivenAgent |
| 2.8 | 46 | Reflex-Vacuum-Agent | ReflexVacuumAgent |
| 2.10 | 47 | Simple-Reflex-Agent | SimpleReflexAgent |
| 2.12 | 49 | Reflex-Agent-With-State | ReflexAgentWithState |
| 3.1 | 61 | Simple-Problem-Solving-Agent | SimpleProblemSolvingAgent |
| 3 | 62 | Problem | Problem |
| 3.2 | 63 | Romania | romania |
| 3 | 69 | Node | Node |
| 3.7 | 70 | Tree-Search | tree_search |
| 3 | 71 | Queue | Queue |
| 3.9 | 72 | Tree-Search | tree_search |
| 3.13 | 77 | Depth-Limited-Search | depth_limited_search |
| 3.14 | 79 | Iterative-Deepening-Search | iterative_deepening_search |
| 3.19 | 83 | Graph-Search | graph_search |
| 4 | 95 | Best-First-Search | best_first_graph_search |
| 4 | 97 | A*-Search | astar_search |
| 4.5 | 102 | Recursive-Best-First-Search | recursive_best_first_search |
| 4.11 | 112 | Hill-Climbing | hill_climbing |
| 4.14 | 116 | Simulated-Annealing | simulated_annealing |
| 4.17 | 119 | Genetic-Algorithm | genetic_algorithm |
| 4.20 | 126 | Online-DFS-Agent | |
| 4.23 | 128 | LRTA*-Agent | |
| 5 | 137 | CSP | CSP |
| 5.3 | 142 | Backtracking-Search | backtracking_search |
| 5.7 | 146 | AC-3 | AC3 |
| 5.8 | 151 | Min-Conflicts | min_conflicts |
| 6.3 | 166 | Minimax-Decision | minimax_decision |
| 6.7 | 170 | Alpha-Beta-Search | alphabeta_search |
| 7 | 195 | KB | KB |
| 7.1 | 196 | KB-Agent | KB_Agent |
| 7.7 | 205 | Propositional Logic Sentence | Expr |
| 7.10 | 209 | TT-Entails | tt_entials |
| 7 | 215 | Convert to CNF | to_cnf |
| 7.12 | 216 | PL-Resolution | pl_resolution |
| 7.14 | 219 | PL-FC-Entails? | pl_fc_resolution |
| 7.16 | 222 | DPLL-Satisfiable? | dpll_satisfiable |
| 7.17 | 223 | WalkSAT | WalkSAT |
| 7.19 | 226 | PL-Wumpus-Agent | PLWumpusAgent |
| 9 | 273 | Subst | subst |
| 9.1 | 278 | Unify | unify |
| 9.3 | 282 | FOL-FC-Ask | fol_fc_ask |
| 9.6 | 288 | FOL-BC-Ask | fol_bc_ask |
| 9.14 | 307 | Otter | |
| 11.2 | 380 | Airport-problem | |
| 11.3 | 381 | Spare-Tire-Problem | |
| 11.4 | 383 | Three-Block-Tower | |
| 11 | 390 | Partial-Order-Planner | |
| 11.11 | 396 | Cake-Problem | |
| 11.13 | 399 | Graphplan | |
| 11.15 | 403 | SATPlan | |
| 12.1 | 418 | Job-Shop-Problem | |
| 12.3 | 421 | Job-Shop-Problem-With-Resources | |
| 12.6 | 424 | House-Building-Problem | |
| 12.10 | 435 | And-Or-Graph-Search | |
| 12.22 | 449 | Continuous-POP-Agent | |
| 12.23 | 450 | Doubles-tennis | |
| 13.1 | 466 | DT-Agent | DTAgent |
| 13 | 469 | Discrete Probability Distribution | DiscreteProbDist |
| 13.4 | 477 | Enumerate-Joint-Ask | |
| 14.10 | 509 | Elimination-Ask | |
| 14.12 | 512 | Prior-Sample | |
| 14.13 | 513 | Rejection-Sampling | |
| 14.14 | 515 | Likelihood-Weighting | |
| 14.15 | 517 | MCMC-Ask | |
| 15.4 | 546 | Forward-Backward | |
| 15.6 | 552 | Fixed-Lag-Smoothing | |
| 15.15 | 566 | Particle-Filtering | |
| 16.8 | 603 | Information-Gathering-Agent | |
| 17.4 | 621 | Value-Iteration | value_iteration |
| 17.7 | 624 | Policy-Iteration | policy_iteration |
| 18.5 | 658 | Decision-Tree-Learning | DecisionTreeLearner |
| 18.10 | 667 | AdaBoost | |
| 18.14 | 672 | Decision-List-Learning | |
| 19.2 | 681 | Current-Best-Learning | |
| 19.3 | 683 | Version-Space-Learning | |
| 19.8 | 696 | Minimal-Consistent-Det | |
| 19.12 | 702 | FOIL | |
| 20.21 | 742 | Perceptron-Learning | |
| 20.25 | 746 | Back-Prop-Learning | |
| 21.2 | 768 | Passive-ADP-Agent | |
| 21.4 | 769 | Passive-TD-Agent | |
| 21.8 | 776 | Q-Learning-Agent | |
| 22.2 | 796 | Naive-Communicating-Agent | |
| 22.7 | 801 | Chart-Parse | Chart |
| 23.1 | 837 | Viterbi-Segmentation | viterbi_segment |
| 24.21 | 892 | Align |