Skip to content

Commit 0ff4b6e

Browse files
Z-Fikarnorvig
authored andcommitted
Change Link's Style (aimacode#271)
1 parent c9eab0f commit 0ff4b6e

File tree

1 file changed

+96
-81
lines changed

1 file changed

+96
-81
lines changed

README.md

Lines changed: 96 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -24,58 +24,57 @@ When complete, this project will have Python code for all the pseudocode algorit
2424

2525
Here is a table of algorithms, the figure, name of the code in the book and in the repository, and the file where they are implemented in the code. This chart was made for the third edition of the book and needs to be updated for the upcoming fourth edition. Empty implementations are a good place for contributors to look for an issue. The [aima-pseudocode](https://github.com/aimacode/aima-pseudocode) project describes all the algorithms from the book.
2626

27-
2827
| **Figure** | **Name (in 3<sup>rd</sup> edition)** | **Name (in repository)** | **File**
2928
|:--------|:-------------------|:---------|:-----------|
30-
| 2.1 | Environment | `Environment` | [`agents.py`](../master/agents.py) |
31-
| 2.1 | Agent | `Agent` | [`agents.py`](../master/agents.py) |
32-
| 2.3 | Table-Driven-Vacuum-Agent | `TableDrivenVacuumAgent` | [`agents.py`](../master/agents.py) |
33-
| 2.7 | Table-Driven-Agent | `TableDrivenAgent` | [`agents.py`](../master/agents.py) |
34-
| 2.8 | Reflex-Vacuum-Agent | `ReflexVacuumAgent` | [`agents.py`](../master/agents.py) |
35-
| 2.10 | Simple-Reflex-Agent | `SimpleReflexAgent` | [`agents.py`](../master/agents.py) |
36-
| 2.12 | Model-Based-Reflex-Agent | `ReflexAgentWithState` | [`agents.py`](../master/agents.py) |
37-
| 3 | Problem | `Problem` | [`search.py`](../master/search.py) |
38-
| 3 | Node | `Node` | [`search.py`](../master/search.py) |
39-
| 3 | Queue | `Queue` | [`utils.py`](../master/utils.py) |
40-
| 3.1 | Simple-Problem-Solving-Agent | `SimpleProblemSolvingAgent` | [`search.py`](../master/search.py) |
41-
| 3.2 | Romania | `romania` | [`search.py`](../master/search.py) |
42-
| 3.7 | Tree-Search | `tree_search` | [`search.py`](../master/search.py) |
43-
| 3.7 | Graph-Search | `graph_search` | [`search.py`](../master/search.py) |
44-
| 3.11 | Breadth-First-Search | `breadth_first_search` | [`search.py`](../master/search.py) |
45-
| 3.14 | Uniform-Cost-Search | `uniform_cost_search` | [`search.py`](../master/search.py) |
46-
| 3.17 | Depth-Limited-Search | `depth_limited_search` | [`search.py`](../master/search.py) |
47-
| 3.18 | Iterative-Deepening-Search | `iterative_deepening_search` | [`search.py`](../master/search.py) |
48-
| 3.22 | Best-First-Search | `best_first_graph_search` | [`search.py`](../master/search.py) |
49-
| 3.24 | A\*-Search | `astar_search` | [`search.py`](../master/search.py) |
50-
| 3.26 | Recursive-Best-First-Search | `recursive_best_first_search` | [`search.py`](../master/search.py) |
51-
| 4.2 | Hill-Climbing | `hill_climbing` | [`search.py`](../master/search.py) |
52-
| 4.5 | Simulated-Annealing | `simulated_annealing` | [`search.py`](../master/search.py) |
53-
| 4.8 | Genetic-Algorithm | `genetic_algorithm` | [`search.py`](../master/search.py) |
54-
| 4.11 | And-Or-Graph-Search | `and_or_graph_search` | [`search.py`](../master/search.py) |
55-
| 4.21 | Online-DFS-Agent | `online_dfs_agent` | [`search.py`](../master/search.py) |
56-
| 4.24 | LRTA\*-Agent | `LRTAStarAgent` | [`search.py`](../master/search.py) |
57-
| 5.3 | Minimax-Decision | `minimax_decision` | [`games.py`](../master/games.py) |
58-
| 5.7 | Alpha-Beta-Search | `alphabeta_search` | [`games.py`](../master/games.py) |
59-
| 6 | CSP | `CSP` | [`csp.py`](../master/csp.py) |
60-
| 6.3 | AC-3 | `AC3` | [`csp.py`](../master/csp.py) |
61-
| 6.5 | Backtracking-Search | `backtracking_search` | [`csp.py`](../master/csp.py) |
62-
| 6.8 | Min-Conflicts | `min_conflicts` | [`csp.py`](../master/csp.py) |
63-
| 6.11 | Tree-CSP-Solver | `tree_csp_solver` | [`csp.py`](../master/csp.py) |
64-
| 7 | KB | `KB` | [`logic.py`](../master/logic.py) |
65-
| 7.1 | KB-Agent | `KB_Agent` | [`logic.py`](../master/logic.py) |
66-
| 7.7 | Propositional Logic Sentence | `Expr` | [`logic.py`](../master/logic.py) |
67-
| 7.10 | TT-Entails | `tt_entials` | [`logic.py`](../master/logic.py) |
68-
| 7.12 | PL-Resolution | `pl_resolution` | [`logic.py`](../master/logic.py) |
69-
| 7.14 | Convert to CNF | `to_cnf` | [`logic.py`](../master/logic.py) |
70-
| 7.15 | PL-FC-Entails? | `pl_fc_resolution` | [`logic.py`](../master/logic.py) |
71-
| 7.17 | DPLL-Satisfiable? | `dpll_satisfiable` | [`logic.py`](../master/logic.py) |
72-
| 7.18 | WalkSAT | `WalkSAT` | [`logic.py`](../master/logic.py) |
29+
| 2.1 | Environment | `Environment` | [`agents.py`][agents] |
30+
| 2.1 | Agent | `Agent` | [`agents.py`][agents] |
31+
| 2.3 | Table-Driven-Vacuum-Agent | `TableDrivenVacuumAgent` | [`agents.py`][agents] |
32+
| 2.7 | Table-Driven-Agent | `TableDrivenAgent` | [`agents.py`][agents] |
33+
| 2.8 | Reflex-Vacuum-Agent | `ReflexVacuumAgent` | [`agents.py`][agents] |
34+
| 2.10 | Simple-Reflex-Agent | `SimpleReflexAgent` | [`agents.py`][agents] |
35+
| 2.12 | Model-Based-Reflex-Agent | `ReflexAgentWithState` | [`agents.py`][agents] |
36+
| 3 | Problem | `Problem` | [`search.py`][search] |
37+
| 3 | Node | `Node` | [`search.py`][search] |
38+
| 3 | Queue | `Queue` | [`utils.py`][utils] |
39+
| 3.1 | Simple-Problem-Solving-Agent | `SimpleProblemSolvingAgent` | [`search.py`][search] |
40+
| 3.2 | Romania | `romania` | [`search.py`][search] |
41+
| 3.7 | Tree-Search | `tree_search` | [`search.py`][search] |
42+
| 3.7 | Graph-Search | `graph_search` | [`search.py`][search] |
43+
| 3.11 | Breadth-First-Search | `breadth_first_search` | [`search.py`][search] |
44+
| 3.14 | Uniform-Cost-Search | `uniform_cost_search` | [`search.py`][search] |
45+
| 3.17 | Depth-Limited-Search | `depth_limited_search` | [`search.py`][search] |
46+
| 3.18 | Iterative-Deepening-Search | `iterative_deepening_search` | [`search.py`][search] |
47+
| 3.22 | Best-First-Search | `best_first_graph_search` | [`search.py`][search] |
48+
| 3.24 | A\*-Search | `astar_search` | [`search.py`][search] |
49+
| 3.26 | Recursive-Best-First-Search | `recursive_best_first_search` | [`search.py`][search] |
50+
| 4.2 | Hill-Climbing | `hill_climbing` | [`search.py`][search] |
51+
| 4.5 | Simulated-Annealing | `simulated_annealing` | [`search.py`][search] |
52+
| 4.8 | Genetic-Algorithm | `genetic_algorithm` | [`search.py`][search] |
53+
| 4.11 | And-Or-Graph-Search | `and_or_graph_search` | [`search.py`][search] |
54+
| 4.21 | Online-DFS-Agent | `online_dfs_agent` | [`search.py`][search] |
55+
| 4.24 | LRTA\*-Agent | `LRTAStarAgent` | [`search.py`][search] |
56+
| 5.3 | Minimax-Decision | `minimax_decision` | [`games.py`][games] |
57+
| 5.7 | Alpha-Beta-Search | `alphabeta_search` | [`games.py`][games] |
58+
| 6 | CSP | `CSP` | [`csp.py`][csp] |
59+
| 6.3 | AC-3 | `AC3` | [`csp.py`][csp] |
60+
| 6.5 | Backtracking-Search | `backtracking_search` | [`csp.py`][csp] |
61+
| 6.8 | Min-Conflicts | `min_conflicts` | [`csp.py`][csp] |
62+
| 6.11 | Tree-CSP-Solver | `tree_csp_solver` | [`csp.py`][csp] |
63+
| 7 | KB | `KB` | [`logic.py`][logic] |
64+
| 7.1 | KB-Agent | `KB_Agent` | [`logic.py`][logic] |
65+
| 7.7 | Propositional Logic Sentence | `Expr` | [`logic.py`][logic] |
66+
| 7.10 | TT-Entails | `tt_entials` | [`logic.py`][logic] |
67+
| 7.12 | PL-Resolution | `pl_resolution` | [`logic.py`][logic] |
68+
| 7.14 | Convert to CNF | `to_cnf` | [`logic.py`][logic] |
69+
| 7.15 | PL-FC-Entails? | `pl_fc_resolution` | [`logic.py`][logic] |
70+
| 7.17 | DPLL-Satisfiable? | `dpll_satisfiable` | [`logic.py`][logic] |
71+
| 7.18 | WalkSAT | `WalkSAT` | [`logic.py`][logic] |
7372
| 7.20 | Hybrid-Wumpus-Agent | | |
74-
| 7.22 | SATPlan | `SAT_plan` | [`logic.py`](../master/logic.py) |
75-
| 9 | Subst | `subst` | [`logic.py`](../master/logic.py) |
76-
| 9.1 | Unify | `unify` | [`logic.py`](../master/logic.py) |
77-
| 9.3 | FOL-FC-Ask | `fol_fc_ask` | [`logic.py`](../master/logic.py) |
78-
| 9.6 | FOL-BC-Ask | `fol_bc_ask` | [`logic.py`](../master/logic.py) |
73+
| 7.22 | SATPlan | `SAT_plan` | [`logic.py`][logic] |
74+
| 9 | Subst | `subst` | [`logic.py`][logic] |
75+
| 9.1 | Unify | `unify` | [`logic.py`][logic] |
76+
| 9.3 | FOL-FC-Ask | `fol_fc_ask` | [`logic.py`][logic] |
77+
| 9.6 | FOL-BC-Ask | `fol_bc_ask` | [`logic.py`][logic] |
7978
| 9.8 | Append | | |
8079
| 10.1 | Air-Cargo-problem | |
8180
| 10.2 | Spare-Tire-Problem | |
@@ -87,36 +86,36 @@ Here is a table of algorithms, the figure, name of the code in the book and in t
8786
| 11.5 | Hierarchical-Search | |
8887
| 11.8 | Angelic-Search | |
8988
| 11.10 | Doubles-tennis | |
90-
| 13 | Discrete Probability Distribution | `ProbDist` | [`probability.py`](../master/probability.py) |
91-
| 13.1 | DT-Agent | `DTAgent` | [`probability.py`](../master/probability.py) |
92-
| 14.9 | Enumeration-Ask | `enumeration_ask` | [`probability.py`](../master/probability.py) |
93-
| 14.11 | Elimination-Ask | `elimination_ask` | [`probability.py`](../master/probability.py) |
94-
| 14.13 | Prior-Sample | `prior_sample` | [`probability.py`](../master/probability.py) |
95-
| 14.14 | Rejection-Sampling | `rejection_sampling` | [`probability.py`](../master/probability.py) |
96-
| 14.15 | Likelihood-Weighting | `likelihood_weighting` | [`probability.py`](../master/probability.py) |
97-
| 14.16 | Gibbs-Ask | `gibbs_ask` | [`probability.py`](../master/probability.py) |
98-
| 15.4 | Forward-Backward | `forward_backward` | [`probability.py`](../master/probability.py) |
99-
| 15.6 | Fixed-Lag-Smoothing | `fixed_lag_smoothing` | [`probability.py`](../master/probability.py) |
100-
| 15.17 | Particle-Filtering | `particle_filtering` | [`probability.py`](../master/probability.py) |
89+
| 13 | Discrete Probability Distribution | `ProbDist` | [`probability.py`][probability] |
90+
| 13.1 | DT-Agent | `DTAgent` | [`probability.py`][probability] |
91+
| 14.9 | Enumeration-Ask | `enumeration_ask` | [`probability.py`][probability] |
92+
| 14.11 | Elimination-Ask | `elimination_ask` | [`probability.py`][probability] |
93+
| 14.13 | Prior-Sample | `prior_sample` | [`probability.py`][probability] |
94+
| 14.14 | Rejection-Sampling | `rejection_sampling` | [`probability.py`][probability] |
95+
| 14.15 | Likelihood-Weighting | `likelihood_weighting` | [`probability.py`][probability] |
96+
| 14.16 | Gibbs-Ask | `gibbs_ask` | [`probability.py`][probability] |
97+
| 15.4 | Forward-Backward | `forward_backward` | [`probability.py`][probability] |
98+
| 15.6 | Fixed-Lag-Smoothing | `fixed_lag_smoothing` | [`probability.py`][probability] |
99+
| 15.17 | Particle-Filtering | `particle_filtering` | [`probability.py`][probability] |
101100
| 16.9 | Information-Gathering-Agent | |
102-
| 17.4 | Value-Iteration | `value_iteration` | [`mdp.py`](../master/mdp.py) |
103-
| 17.7 | Policy-Iteration | `policy_iteration` | [`mdp.py`](../master/mdp.py) |
101+
| 17.4 | Value-Iteration | `value_iteration` | [`mdp.py`][mdp] |
102+
| 17.7 | Policy-Iteration | `policy_iteration` | [`mdp.py`][mdp] |
104103
| 17.7 | POMDP-Value-Iteration | | |
105-
| 18.5 | Decision-Tree-Learning | `DecisionTreeLearner` | [`learning.py`](../master/learning.py) |
106-
| 18.8 | Cross-Validation | `cross_validation` | [`learning.py`](../master/learning.py) |
107-
| 18.11 | Decision-List-Learning | `DecisionListLearner` | [`learning.py`](../master/learning.py) |
108-
| 18.24 | Back-Prop-Learning | `BackPropagationLearner` | [`learning.py`](../master/learning.py) |
109-
| 18.34 | AdaBoost | `AdaBoost` | [`learning.py`](../master/learning.py) |
104+
| 18.5 | Decision-Tree-Learning | `DecisionTreeLearner` | [`learning.py`][learning] |
105+
| 18.8 | Cross-Validation | `cross_validation` | [`learning.py`][learning] |
106+
| 18.11 | Decision-List-Learning | `DecisionListLearner` | [`learning.py`][learning] |
107+
| 18.24 | Back-Prop-Learning | `BackPropagationLearner` | [`learning.py`][learning] |
108+
| 18.34 | AdaBoost | `AdaBoost` | [`learning.py`][learning] |
110109
| 19.2 | Current-Best-Learning | |
111110
| 19.3 | Version-Space-Learning | |
112111
| 19.8 | Minimal-Consistent-Det | |
113112
| 19.12 | FOIL | |
114-
| 21.2 | Passive-ADP-Agent | `PassiveADPAgent` | [`rl.py`](../master/rl.py) |
115-
| 21.4 | Passive-TD-Agent | `PassiveTDAgent` | [`rl.py`](../master/rl.py) |
116-
| 21.8 | Q-Learning-Agent | `QLearningAgent` | [`rl.py`](../master/rl.py) |
117-
| 22.1 | HITS | `HITS` | [`nlp.py`](../master/nlp.py) |
118-
| 23 | Chart-Parse | `Chart` | [`nlp.py`](../master/nlp.py) |
119-
| 23.5 | CYK-Parse | `CYK_parse` | [`nlp.py`](../master/nlp.py) |
113+
| 21.2 | Passive-ADP-Agent | `PassiveADPAgent` | [`rl.py`][rl] |
114+
| 21.4 | Passive-TD-Agent | `PassiveTDAgent` | [`rl.py`][rl] |
115+
| 21.8 | Q-Learning-Agent | `QLearningAgent` | [`rl.py`][rl] |
116+
| 22.1 | HITS | `HITS` | [`nlp.py`][nlp] |
117+
| 23 | Chart-Parse | `Chart` | [`nlp.py`][nlp] |
118+
| 23.5 | CYK-Parse | `CYK_parse` | [`nlp.py`][nlp] |
120119
| 25.9 | Monte-Carlo-Localization| |
121120

122121

@@ -126,16 +125,32 @@ Here is a table of the implemented data structures, the figure, name of the impl
126125

127126
| **Figure** | **Name (in repository)** | **File** |
128127
|:-----------|:-------------------------|:---------|
129-
| 3.2 | romania_map | [`search.py`](../master/search.py) |
130-
| 4.9 | vacumm_world | [`search.py`](../master/search.py) |
131-
| 4.23 | one_dim_state_space | [`search.py`](../master/search.py) |
132-
| 6.1 | australia_map | [`search.py`](../master/search.py) |
133-
| 7.13 | wumpus_world_inference | [`logic.py`](../master/login.py) |
134-
| 7.16 | horn_clauses_KB | [`logic.py`](../master/logic.py) |
135-
| 17.1 | sequential_decision_environment | [`mdp.py`](../master/mdp.py) |
136-
| 18.2 | waiting_decision_tree | [`learning.py`](../master/learning.py) |
128+
| 3.2 | romania_map | [`search.py`][search] |
129+
| 4.9 | vacumm_world | [`search.py`][search] |
130+
| 4.23 | one_dim_state_space | [`search.py`][search] |
131+
| 6.1 | australia_map | [`search.py`][search] |
132+
| 7.13 | wumpus_world_inference | [`logic.py`][logic] |
133+
| 7.16 | horn_clauses_KB | [`logic.py`][logic] |
134+
| 17.1 | sequential_decision_environment | [`mdp.py`][mdp] |
135+
| 18.2 | waiting_decision_tree | [`learning.py`][learning] |
137136

138137

139138
# Acknowledgements
140139

141140
Many thanks for contributions over the years. I got bug reports, corrected code, and other support from Darius Bacon, Phil Ruggera, Peng Shao, Amit Patil, Ted Nienstedt, Jim Martin, Ben Catanzariti, and others. Now that the project is on GitHub, you can see the [contributors](https://github.com/aimacode/aima-python/graphs/contributors) who are doing a great job of actively improving the project. Many thanks to all contributors, especially @darius, @SnShine, and @reachtarunhere.
141+
142+
<!---Reference Links-->
143+
[agents]:../master/agents.py
144+
[csp]:../master/csp.py
145+
[games]:../master/games.py
146+
[grid]:../master/grid.py
147+
[learning]:../master/learning.py
148+
[logic]:../master/logic.py
149+
[mdp]:../master/mdp.py
150+
[nlp]:../master/nlp.py
151+
[planning]:../master/planning.py
152+
[probability]:../master/probability.py
153+
[rl]:../master/rl.py
154+
[search]:../master/search.py
155+
[utils]:../master/utils.py
156+
[text]:../master/text.py

0 commit comments

Comments
 (0)