{ "info": { "author": "Douglas Blank", "author_email": "doug.blank@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: IPython", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3" ], "description": ".. raw:: html\n\n
\n

\n
\n\n``aima-python`` |Build Status| |Binder|\n=======================================\n\nPython code for the book *`Artificial Intelligence: A Modern\nApproach `__.* You can use this in\nconjunction with a course on AI, or for study on your own. We're looking\nfor `solid\ncontributors `__\nto help.\n\nStructure of the Project\n------------------------\n\nWhen complete, this project will have Python implementations for all the\npseudocode algorithms in the book, as well as tests and examples of use.\nFor each major topic, such as ``nlp`` (natural language processing), we\nprovide the following files:\n\n- ``nlp.py``: Implementations of all the pseudocode algorithms, and\n necessary support functions/classes/data.\n- ``tests/test_nlp.py``: A lightweight test suite, using ``assert``\n statements, designed for use with\n ```py.test`` `__, but also usable on their\n own.\n- ``nlp.ipynb``: A Jupyter (IPython) notebook that explains and gives\n examples of how to use the code.\n- ``nlp_apps.ipynb``: A Jupyter notebook that gives example\n applications of the code.\n\nPython 3.4 and up\n-----------------\n\n| This code requires Python 3.4 or later, and does not run in Python 2.\n You can `install Python `__ or use a\n browser-based Python interpreter such as\n `repl.it `__.\n| You can run the code in an IDE, or from the command line with\n ``python -i filename.py`` where the ``-i`` option puts you in an\n interactive loop where you can run Python functions. See\n `jupyter.org `__ for instructions on setting up\n your own Jupyter notebook environment, or run the notebooks online\n with `try.jupiter.org `__.\n\nIndex of Algorithms\n===================\n\nHere is a table of algorithms, the figure, name of the algorithm in the\nbook and in the repository, and the file where they are implemented in\nthe repository. This chart was made for the third edition of the book\nand is being updated for the upcoming fourth edition. Empty\nimplementations are a good place for contributors to look for an issue.\nThe `aima-pseudocode `__\nproject describes all the algorithms from the book. An asterisk next to\nthe file name denotes the algorithm is not fully implemented. Another\ngreat place for contributors to start is by adding tests and writing on\nthe notebooks. You can see which algorithms have tests and notebook\nsections below. If the algorithm you want to work on is covered, don't\nworry! You can still add more tests and provide some examples of use in\nthe notebook!\n\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| **Fig | **Name (in 3rd | **Name (in | **File** | **T | **Note |\n| ure** | edition)** | repository)** | | est | book** |\n| | | | | s** | |\n+=======+======================+===================+====================+=====+========+\n| 2 | Random-Vacuum-Agent | ``RandomVacuumAge | ```agents.py`` <.. | Don | |\n| | | nt`` | /master/agents.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2 | Model-Based-Vacuum-A | ``ModelBasedVacuu | ```agents.py`` <.. | Don | |\n| | gent | mAgent`` | /master/agents.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.1 | Environment | ``Environment`` | ```agents.py`` <.. | Don | Includ |\n| | | | /master/agents.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.1 | Agent | ``Agent`` | ```agents.py`` <.. | Don | Includ |\n| | | | /master/agents.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.3 | Table-Driven-Vacuum- | ``TableDrivenVacu | ```agents.py`` <.. | | |\n| | Agent | umAgent`` | /master/agents.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.7 | Table-Driven-Agent | ``TableDrivenAgen | ```agents.py`` <.. | | |\n| | | t`` | /master/agents.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.8 | Reflex-Vacuum-Agent | ``ReflexVacuumAge | ```agents.py`` <.. | Don | |\n| | | nt`` | /master/agents.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.10 | Simple-Reflex-Agent | ``SimpleReflexAge | ```agents.py`` <.. | | |\n| | | nt`` | /master/agents.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 2.12 | Model-Based-Reflex-A | ``ReflexAgentWith | ```agents.py`` <.. | | |\n| | gent | State`` | /master/agents.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3 | Problem | ``Problem`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3 | Node | ``Node`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3 | Queue | ``Queue`` | ```utils.py`` <../ | Don | |\n| | | | master/utils.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.1 | Simple-Problem-Solvi | ``SimpleProblemSo | ```search.py`` <.. | | |\n| | ng-Agent | lvingAgent`` | /master/search.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.2 | Romania | ``romania`` | ```search.py`` <.. | Don | Includ |\n| | | | /master/search.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.7 | Tree-Search | ``tree_search`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.7 | Graph-Search | ``graph_search`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.11 | Breadth-First-Search | ``breadth_first_s | ```search.py`` <.. | Don | Includ |\n| | | earch`` | /master/search.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.14 | Uniform-Cost-Search | ``uniform_cost_se | ```search.py`` <.. | Don | Includ |\n| | | arch`` | /master/search.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.17 | Depth-Limited-Search | ``depth_limited_s | ```search.py`` <.. | Don | |\n| | | earch`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.18 | Iterative-Deepening- | ``iterative_deepe | ```search.py`` <.. | Don | |\n| | Search | ning_search`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.22 | Best-First-Search | ``best_first_grap | ```search.py`` <.. | Don | |\n| | | h_search`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.24 | A\\*-Search | ``astar_search`` | ```search.py`` <.. | Don | Includ |\n| | | | /master/search.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 3.26 | Recursive-Best-First | ``recursive_best_ | ```search.py`` <.. | Don | |\n| | -Search | first_search`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.2 | Hill-Climbing | ``hill_climbing`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.5 | Simulated-Annealing | ``simulated_annea | ```search.py`` <.. | Don | |\n| | | ling`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.8 | Genetic-Algorithm | ``genetic_algorit | ```search.py`` <.. | Don | Includ |\n| | | hm`` | /master/search.py> | e | ed |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.11 | And-Or-Graph-Search | ``and_or_graph_se | ```search.py`` <.. | Don | |\n| | | arch`` | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.21 | Online-DFS-Agent | ``online_dfs_agen | ```search.py`` <.. | | |\n| | | t`` | /master/search.py> | | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 4.24 | LRTA\\*-Agent | ``LRTAStarAgent`` | ```search.py`` <.. | Don | |\n| | | | /master/search.py> | e | |\n| | | | `__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 5.3 | Minimax-Decision | ``minimax_decisio | ```games.py`` <../ | Don | Includ |\n| | | n`` | master/games.py>`_ | e | ed |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 5.7 | Alpha-Beta-Search | ``alphabeta_searc | ```games.py`` <../ | Don | Includ |\n| | | h`` | master/games.py>`_ | e | ed |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 6 | CSP | ``CSP`` | ```csp.py`` <../ma | Don | Includ |\n| | | | ster/csp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 6.3 | AC-3 | ``AC3`` | ```csp.py`` <../ma | Don | |\n| | | | ster/csp.py>`__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 6.5 | Backtracking-Search | ``backtracking_se | ```csp.py`` <../ma | Don | Includ |\n| | | arch`` | ster/csp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 6.8 | Min-Conflicts | ``min_conflicts`` | ```csp.py`` <../ma | Don | |\n| | | | ster/csp.py>`__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 6.11 | Tree-CSP-Solver | ``tree_csp_solver | ```csp.py`` <../ma | Don | Includ |\n| | | `` | ster/csp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7 | KB | ``KB`` | ```logic.py`` <../ | Don | Includ |\n| | | | master/logic.py>`_ | e | ed |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.1 | KB-Agent | ``KB_Agent`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.7 | Propositional Logic | ``Expr`` | ```logic.py`` <../ | Don | |\n| | Sentence | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.10 | TT-Entails | ``tt_entails`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.12 | PL-Resolution | ``pl_resolution`` | ```logic.py`` <../ | Don | Includ |\n| | | | master/logic.py>`_ | e | ed |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.14 | Convert to CNF | ``to_cnf`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.15 | PL-FC-Entails? | ``pl_fc_resolutio | ```logic.py`` <../ | Don | |\n| | | n`` | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.17 | DPLL-Satisfiable? | ``dpll_satisfiabl | ```logic.py`` <../ | Don | |\n| | | e`` | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.18 | WalkSAT | ``WalkSAT`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.20 | Hybrid-Wumpus-Agent | ``HybridWumpusAge | | | |\n| | | nt`` | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 7.22 | SATPlan | ``SAT_plan`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 9 | Subst | ``subst`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 9.1 | Unify | ``unify`` | ```logic.py`` <../ | Don | Includ |\n| | | | master/logic.py>`_ | e | ed |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 9.3 | FOL-FC-Ask | ``fol_fc_ask`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 9.6 | FOL-BC-Ask | ``fol_bc_ask`` | ```logic.py`` <../ | Don | |\n| | | | master/logic.py>`_ | e | |\n| | | | _ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 9.8 | Append | | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.1 | Air-Cargo-problem | ``air_cargo`` | ```planning.py`` < | Don | |\n| | | | ../master/planning | e | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.2 | Spare-Tire-Problem | ``spare_tire`` | ```planning.py`` < | Don | |\n| | | | ../master/planning | e | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.3 | Three-Block-Tower | ``three_block_tow | ```planning.py`` < | Don | |\n| | | er`` | ../master/planning | e | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.7 | Cake-Problem | ``have_cake_and_e | ```planning.py`` < | Don | |\n| | | at_cake_too`` | ../master/planning | e | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.9 | Graphplan | ``GraphPlan`` | ```planning.py`` < | | |\n| | | | ../master/planning | | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 10.13 | Partial-Order-Planne | | | | |\n| | r | | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 11.1 | Job-Shop-Problem-Wit | ``job_shop_proble | ```planning.py`` < | Don | |\n| | h-Resources | m`` | ../master/planning | e | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 11.5 | Hierarchical-Search | ``hierarchical_se | ```planning.py`` < | | |\n| | | arch`` | ../master/planning | | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 11.8 | Angelic-Search | | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 11.10 | Doubles-tennis | ``double_tennis_p | ```planning.py`` < | | |\n| | | roblem`` | ../master/planning | | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 13 | Discrete Probability | ``ProbDist`` | ```probability.py` | Don | Includ |\n| | Distribution | | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 13.1 | DT-Agent | ``DTAgent`` | ```probability.py` | | |\n| | | | ` <../master/proba | | |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.9 | Enumeration-Ask | ``enumeration_ask | ```probability.py` | Don | Includ |\n| | | `` | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.11 | Elimination-Ask | ``elimination_ask | ```probability.py` | Don | Includ |\n| | | `` | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.13 | Prior-Sample | ``prior_sample`` | ```probability.py` | | Includ |\n| | | | ` <../master/proba | | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.14 | Rejection-Sampling | ``rejection_sampl | ```probability.py` | Don | Includ |\n| | | ing`` | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.15 | Likelihood-Weighting | ``likelihood_weig | ```probability.py` | Don | Includ |\n| | | hting`` | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 14.16 | Gibbs-Ask | ``gibbs_ask`` | ```probability.py` | Don | Includ |\n| | | | ` <../master/proba | e | ed |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 15.4 | Forward-Backward | ``forward_backwar | ```probability.py` | Don | |\n| | | d`` | ` <../master/proba | e | |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 15.6 | Fixed-Lag-Smoothing | ``fixed_lag_smoot | ```probability.py` | Don | |\n| | | hing`` | ` <../master/proba | e | |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 15.17 | Particle-Filtering | ``particle_filter | ```probability.py` | Don | |\n| | | ing`` | ` <../master/proba | e | |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 16.9 | Information-Gatherin | | | | |\n| | g-Agent | | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 17.4 | Value-Iteration | ``value_iteration | ```mdp.py`` <../ma | Don | Includ |\n| | | `` | ster/mdp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 17.7 | Policy-Iteration | ``policy_iteratio | ```mdp.py`` <../ma | Don | |\n| | | n`` | ster/mdp.py>`__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 17.9 | POMDP-Value-Iteratio | | | | |\n| | n | | | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 18.5 | Decision-Tree-Learni | ``DecisionTreeLea | ```learning.py`` < | Don | Includ |\n| | ng | rner`` | ../master/learning | e | ed |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 18.8 | Cross-Validation | ``cross_validatio | ```learning.py`` < | | |\n| | | n`` | ../master/learning | | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 18.11 | Decision-List-Learni | ``DecisionListLea | ```learning.py`` < | | |\n| | ng | rner`` | ../master/learning | | |\n| | | | .py>`__\\ \\* | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 18.24 | Back-Prop-Learning | ``BackPropagation | ```learning.py`` < | Don | Includ |\n| | | Learner`` | ../master/learning | e | ed |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 18.34 | AdaBoost | ``AdaBoost`` | ```learning.py`` < | | |\n| | | | ../master/learning | | |\n| | | | .py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 19.2 | Current-Best-Learnin | ``current_best_le | ```knowledge.py`` | Don | Includ |\n| | g | arning`` | `__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 19.3 | Version-Space-Learni | ``version_space_l | ```knowledge.py`` | Don | Includ |\n| | ng | earning`` | `__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 19.8 | Minimal-Consistent-D | ``minimal_consist | ```knowledge.py`` | Don | |\n| | et | ent_det`` | `__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 19.12 | FOIL | ``FOIL_container` | ```knowledge.py`` | Don | |\n| | | ` | `__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 21.2 | Passive-ADP-Agent | ``PassiveADPAgent | ```rl.py`` <../mas | Don | |\n| | | `` | ter/rl.py>`__ | e | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 21.4 | Passive-TD-Agent | ``PassiveTDAgent` | ```rl.py`` <../mas | Don | Includ |\n| | | ` | ter/rl.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 21.8 | Q-Learning-Agent | ``QLearningAgent` | ```rl.py`` <../mas | Don | Includ |\n| | | ` | ter/rl.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 22.1 | HITS | ``HITS`` | ```nlp.py`` <../ma | Don | Includ |\n| | | | ster/nlp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 23 | Chart-Parse | ``Chart`` | ```nlp.py`` <../ma | Don | Includ |\n| | | | ster/nlp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 23.5 | CYK-Parse | ``CYK_parse`` | ```nlp.py`` <../ma | Don | Includ |\n| | | | ster/nlp.py>`__ | e | ed |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n| 25.9 | Monte-Carlo-Localiza | ``monte_carlo_loc | ```probability.py` | Don | |\n| | tion | alization`` | ` <../master/proba | e | |\n| | | | bility.py>`__ | | |\n+-------+----------------------+-------------------+--------------------+-----+--------+\n\nIndex of data structures\n========================\n\nHere is a table of the implemented data structures, the figure, name of\nthe implementation in the repository, and the file where they are\nimplemented.\n\n+--------------+-------------------------------------+-----------------------------------------------+\n| **Figure** | **Name (in repository)** | **File** |\n+==============+=====================================+===============================================+\n| 3.2 | romania\\_map | ```search.py`` <../master/search.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 4.9 | vacumm\\_world | ```search.py`` <../master/search.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 4.23 | one\\_dim\\_state\\_space | ```search.py`` <../master/search.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 6.1 | australia\\_map | ```search.py`` <../master/search.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 7.13 | wumpus\\_world\\_inference | ```logic.py`` <../master/logic.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 7.16 | horn\\_clauses\\_KB | ```logic.py`` <../master/logic.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 17.1 | sequential\\_decision\\_environment | ```mdp.py`` <../master/mdp.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n| 18.2 | waiting\\_decision\\_tree | ```learning.py`` <../master/learning.py>`__ |\n+--------------+-------------------------------------+-----------------------------------------------+\n\nAcknowledgements\n================\n\nMany thanks for contributions over the years. I got bug reports,\ncorrected code, and other support from Darius Bacon, Phil Ruggera, Peng\nShao, Amit Patil, Ted Nienstedt, Jim Martin, Ben Catanzariti, and\nothers. Now that the project is on GitHub, you can see the\n`contributors `__\nwho are doing a great job of actively improving the project. Many thanks\nto all contributors, especially @darius, @SnShine, @reachtarunhere,\n@MrDupin, and @Chipe1.\n\n.. raw:: html\n\n \n\n.. |Build Status| image:: https://travis-ci.org/aimacode/aima-python.svg?branch=master\n :target: https://travis-ci.org/aimacode/aima-python\n.. |Binder| image:: http://mybinder.org/badge.svg\n :target: http://mybinder.org/repo/aimacode/aima-python\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Calysto/aima3", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aima3", "package_url": "https://pypi.org/project/aima3/", "platform": "", "project_url": "https://pypi.org/project/aima3/", "project_urls": { "Homepage": "https://github.com/Calysto/aima3" }, "release_url": "https://pypi.org/project/aima3/1.0.11/", "requires_dist": [ "networkx (==1.11)", "jupyter", "tqdm" ], "requires_python": "", "summary": "Artificial Intelligence: A Modern Approach, in Python3", "version": "1.0.11" }, "last_serial": 3809401, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "6eb929c699ad1c2a52dfe5fa6658f347", "sha256": "3bb9730f4b41b249cc366ad0343596a26ba6b81a9924b07d8f78b098a1c32c06" }, "downloads": -1, "filename": "aima3-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6eb929c699ad1c2a52dfe5fa6658f347", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 148177, "upload_time": "2018-01-29T19:35:48", "url": "https://files.pythonhosted.org/packages/f0/89/42b529493077c3887b2fcfe8f4bede769b4adb19e8ca689f843a15e0115e/aima3-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "869f8fd481cce3b839fd39f7df1b9bd2", "sha256": "4b3714501e7aee602e12d9166ba31a7e2208bf9e9547ffa137885c71ddf5a910" }, "downloads": -1, "filename": "aima3-1.0.0.tar.gz", "has_sig": false, "md5_digest": "869f8fd481cce3b839fd39f7df1b9bd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 141317, "upload_time": "2018-01-29T19:35:50", "url": "https://files.pythonhosted.org/packages/5c/a4/0fff12c7e761003e33b9d367ea24e2f4a264dffaf1216d8d8f1c63ab3093/aima3-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f1e4a811df057c1bacbb112d62de2549", "sha256": "c2fcc5e18a09f2ad1d10eb47ed5e244dad0fd4a277bda716819053fdc222eb18" }, "downloads": -1, "filename": "aima3-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f1e4a811df057c1bacbb112d62de2549", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 152814, "upload_time": "2018-01-31T02:46:47", "url": "https://files.pythonhosted.org/packages/31/9e/dc594bbe42f31cabadf4f6697613ade8bba6406d2b01fea3f8e7f11199ff/aima3-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "862e71ae81cf8d3838e08b4da551c7a9", "sha256": "a141e7cc7dfb983c930207476e9f3ea2a2211ba5f76c9dde5ab30bfe8e6ea567" }, "downloads": -1, "filename": "aima3-1.0.1.tar.gz", "has_sig": false, "md5_digest": "862e71ae81cf8d3838e08b4da551c7a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145329, "upload_time": "2018-01-31T02:46:49", "url": "https://files.pythonhosted.org/packages/10/29/62bf7f78f99513ec2a7a49053be375f743d103e08ced140071dfec27afa2/aima3-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "2186d0c8535304fd3267e2d215efc5b6", "sha256": "f3a4f332109886e3814ddcf3fc8932862405f9200349aeea55d624c6a94501f4" }, "downloads": -1, "filename": "aima3-1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2186d0c8535304fd3267e2d215efc5b6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 156103, "upload_time": "2018-02-18T15:27:27", "url": "https://files.pythonhosted.org/packages/1c/4f/d445bc2190918099e3b799de4d59fe636fc2e4296a41967369998cc018d5/aima3-1.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d58425716ccaeb7b1085b222c326e47", "sha256": "b2f6f49f2520db60af60112b589d9f17c1ec4215a536a33717a08bd8d91f9d66" }, "downloads": -1, "filename": "aima3-1.0.10.tar.gz", "has_sig": false, "md5_digest": "4d58425716ccaeb7b1085b222c326e47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147040, "upload_time": "2018-02-18T15:27:29", "url": "https://files.pythonhosted.org/packages/fe/68/8c7ea0cfac1d50d4701c7da7c27b5987c4246357eb17c01340d808eb5d67/aima3-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "89ffa534240e4429a42042a3b52dedab", "sha256": "3f80ac0ea43a3fd9c40fe018eccef972f0b8b9e57f6afb9d983148002755b003" }, "downloads": -1, "filename": "aima3-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89ffa534240e4429a42042a3b52dedab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 150181, "upload_time": "2018-04-26T07:35:16", "url": "https://files.pythonhosted.org/packages/91/44/8624ecddd676bf73cba4729d7bf9cb3e968d54c403b890b9c13593b313f7/aima3-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eaa6ed19063f9f0b8add538f5e41be5", "sha256": "d1698835fc1d3cd65e709c248bef4db78e4cadcaefc69fb304b95f26cc249889" }, "downloads": -1, "filename": "aima3-1.0.11.tar.gz", "has_sig": false, "md5_digest": "3eaa6ed19063f9f0b8add538f5e41be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147059, "upload_time": "2018-04-26T07:35:18", "url": "https://files.pythonhosted.org/packages/80/b2/f2111e79a57e73eb0709619e9e1e457d619cc07eeec60a333f22b150d1c6/aima3-1.0.11.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "130cd036eaded9be84734447b1ced224", "sha256": "d34979af94ca9a3c14af13c594621376a04de118478b6ce1facb1ebe4b9718b5" }, "downloads": -1, "filename": "aima3-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "130cd036eaded9be84734447b1ced224", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 153687, "upload_time": "2018-01-31T15:29:50", "url": "https://files.pythonhosted.org/packages/00/4b/94d86358f638f51780705b142e7c89ff6c5033b25e655fa525d6591fe0ab/aima3-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1238e828f0e8a53f5aadcc8da2918369", "sha256": "714eae61a753cda0e2ac13e88840a3255ff94b3de0f487d9da30dcca2dd2f413" }, "downloads": -1, "filename": "aima3-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1238e828f0e8a53f5aadcc8da2918369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 144691, "upload_time": "2018-01-31T15:29:52", "url": "https://files.pythonhosted.org/packages/9e/61/24811393d5e0a751350ef0d8df5f5dcc89c296774fe5aeac88302fd150b4/aima3-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "8b0dbda346f5dbd1c32a9a65a317ec27", "sha256": "4abca1f97053d4032a0d53b0cb7eac4fa7d806e668611a884d3adb8c44a15d33" }, "downloads": -1, "filename": "aima3-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b0dbda346f5dbd1c32a9a65a317ec27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154022, "upload_time": "2018-02-01T22:55:55", "url": "https://files.pythonhosted.org/packages/bf/60/e6faad7c1a9205b2cdbbc5ea8c71f678da8d1414850969999e57952cf553/aima3-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8390109911a017a5278c954591a1f6d5", "sha256": "6255bc5761595781b0451b992fcf44b4350a5e82d646f76b432a3a7ec0fc3ade" }, "downloads": -1, "filename": "aima3-1.0.3.tar.gz", "has_sig": false, "md5_digest": "8390109911a017a5278c954591a1f6d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145000, "upload_time": "2018-02-01T22:55:56", "url": "https://files.pythonhosted.org/packages/d0/3f/ae005f2530fbd3c6b399ad5fee11d2e0c21a586abe2c6bf16289d92337f3/aima3-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "86af200ccec491325eee6ae6f9d168c5", "sha256": "d6632c82ccfe2b01c4d9e869891bb4c81fc33b299ff71675b563a6afc72b0f67" }, "downloads": -1, "filename": "aima3-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86af200ccec491325eee6ae6f9d168c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154094, "upload_time": "2018-02-02T02:08:35", "url": "https://files.pythonhosted.org/packages/17/d8/b80e6398e475790869a33e1fa1459a0084dedeae33e739b0f87fb82f761d/aima3-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "259664c1fbbb435607af7234f5c0f24f", "sha256": "b315c5b511cc4f46d502f23cd35e51d5310de69cf09f9cb324da70387e31a1f6" }, "downloads": -1, "filename": "aima3-1.0.4.tar.gz", "has_sig": false, "md5_digest": "259664c1fbbb435607af7234f5c0f24f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145072, "upload_time": "2018-02-02T02:08:37", "url": "https://files.pythonhosted.org/packages/ab/a1/715f3d3256a3aba71e7b80b398ff3540c0c38ad9ae647049f2525c360e82/aima3-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "a8d81e0c84bbef7f032c01fe4db1a8d7", "sha256": "54090dd4d680e4edfad3942a266837597516746e86009c35b6d168392a5c4b1f" }, "downloads": -1, "filename": "aima3-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a8d81e0c84bbef7f032c01fe4db1a8d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154196, "upload_time": "2018-02-02T17:05:58", "url": "https://files.pythonhosted.org/packages/25/3e/ebf3b2e102598ccbc199ecb083a6a94f686b989eb8965266b39cb8678713/aima3-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd3d7cee95f1c13ecb53695c958b6264", "sha256": "02f38249e8d63c466f1a28c9dfc8ca001290c9e9d01771cd9017cc8aae810392" }, "downloads": -1, "filename": "aima3-1.0.5.tar.gz", "has_sig": false, "md5_digest": "cd3d7cee95f1c13ecb53695c958b6264", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145139, "upload_time": "2018-02-02T17:06:00", "url": "https://files.pythonhosted.org/packages/5d/1b/f69c85228840a67852ae08c1d3433c82dd0b001d47c501bbbce33bcb16b8/aima3-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "65aae3bbb6f78a4fd667ad9104eab649", "sha256": "9a1369fb3fc696dc39a353cb31e063dd8c1efff98901e9de9c04f1a3abae105b" }, "downloads": -1, "filename": "aima3-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "65aae3bbb6f78a4fd667ad9104eab649", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154194, "upload_time": "2018-02-08T20:49:23", "url": "https://files.pythonhosted.org/packages/a5/7e/aa80b3635b5071dee017b5ff6763be6e8e30952b00774038f98fdc19e9f0/aima3-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84f8e70b423a4f1d5d5bc10a3d497763", "sha256": "a8aa144caba90f4d4e37f5837b63881d609c29e1d63ccc7e80300b50355c7d7b" }, "downloads": -1, "filename": "aima3-1.0.6.tar.gz", "has_sig": false, "md5_digest": "84f8e70b423a4f1d5d5bc10a3d497763", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145142, "upload_time": "2018-02-08T20:49:25", "url": "https://files.pythonhosted.org/packages/90/a6/ddeb8f7a49047434d3ec24e24191d24f4cbf69995568d8c0e9ed81fb6c1d/aima3-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "b17718c31b057a24a0552aee878b4ed8", "sha256": "d8cb9f9ad9afd24917125ee4630b09ef7b9e418d9eb9e45a319dde13eaf76c15" }, "downloads": -1, "filename": "aima3-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b17718c31b057a24a0552aee878b4ed8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154588, "upload_time": "2018-02-16T00:57:56", "url": "https://files.pythonhosted.org/packages/40/00/2d039cde863f0cc33a09349e3efe62f71069c1cdfcf84d114447780d9b77/aima3-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7896804c847fd7b82754fe525173afb2", "sha256": "1b98aa56ed5f0df816527bf6d746e6b8f770046db6221e09dcd9775a0dc0b5b6" }, "downloads": -1, "filename": "aima3-1.0.7.tar.gz", "has_sig": false, "md5_digest": "7896804c847fd7b82754fe525173afb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145534, "upload_time": "2018-02-16T00:57:58", "url": "https://files.pythonhosted.org/packages/95/79/e3af762e54eb11aa162a4c237dfa6ea253a52781458771859859d853994e/aima3-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "847410c4d4409914d3d2f20e7aeab5f0", "sha256": "2c99f6db18b422790ad2383b3c038474e2e029aa45d0db19be1b757fcda1230b" }, "downloads": -1, "filename": "aima3-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "847410c4d4409914d3d2f20e7aeab5f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 154767, "upload_time": "2018-02-17T02:36:01", "url": "https://files.pythonhosted.org/packages/bb/8a/7bba3c61a04ce7697fb42eac0c96826a80ea596e66d42704a5240040c7d4/aima3-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41028fbf7ba0780c148d27aec4be5338", "sha256": "6920d661bb3f161e06d07aa2c99cead1019a149946df06eb097d0499e9d410cd" }, "downloads": -1, "filename": "aima3-1.0.8.tar.gz", "has_sig": false, "md5_digest": "41028fbf7ba0780c148d27aec4be5338", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145690, "upload_time": "2018-02-17T02:36:02", "url": "https://files.pythonhosted.org/packages/04/b7/66bd54b27b1767b2cfd54a1504744c34494b1670acbb462357e737351225/aima3-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "c75f0235c37a723c85620afe37cd4b97", "sha256": "ceb79ff964619469933fb3fbeefb3be434c96a409a2ba1c552e4547cac87542d" }, "downloads": -1, "filename": "aima3-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c75f0235c37a723c85620afe37cd4b97", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 156084, "upload_time": "2018-02-18T15:17:05", "url": "https://files.pythonhosted.org/packages/6c/dd/9a712b68994917a3b5f51c605eaa98dea9cfd010da1065aaba637502ab14/aima3-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb1935868b3f15d8f67bd3f06347b893", "sha256": "e38ee983a7453a859109b65653208a8d808b65dcdb339435987e7a7a51aa0f09" }, "downloads": -1, "filename": "aima3-1.0.9.tar.gz", "has_sig": false, "md5_digest": "cb1935868b3f15d8f67bd3f06347b893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147028, "upload_time": "2018-02-18T15:17:08", "url": "https://files.pythonhosted.org/packages/99/d2/0cf03dce85e3e875e87e9732beef7a9d097b522f137a41d9ef76f1068bab/aima3-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "89ffa534240e4429a42042a3b52dedab", "sha256": "3f80ac0ea43a3fd9c40fe018eccef972f0b8b9e57f6afb9d983148002755b003" }, "downloads": -1, "filename": "aima3-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89ffa534240e4429a42042a3b52dedab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 150181, "upload_time": "2018-04-26T07:35:16", "url": "https://files.pythonhosted.org/packages/91/44/8624ecddd676bf73cba4729d7bf9cb3e968d54c403b890b9c13593b313f7/aima3-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eaa6ed19063f9f0b8add538f5e41be5", "sha256": "d1698835fc1d3cd65e709c248bef4db78e4cadcaefc69fb304b95f26cc249889" }, "downloads": -1, "filename": "aima3-1.0.11.tar.gz", "has_sig": false, "md5_digest": "3eaa6ed19063f9f0b8add538f5e41be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147059, "upload_time": "2018-04-26T07:35:18", "url": "https://files.pythonhosted.org/packages/80/b2/f2111e79a57e73eb0709619e9e1e457d619cc07eeec60a333f22b150d1c6/aima3-1.0.11.tar.gz" } ] }