|
ReadMe
IntroductionThis file gives an overview of the Python code for the algorithms in the textbook Artificial Intelligence: A Modern Approach, also known as AIMA. The code is offered free for your use under the MIT License. As you may know, the textbook presents algorithms in pseudo-code format; as a supplement we provide this code. The intent is to implement all the algorithms in the book, but we are not done yet. PrerequisitesThe code is meant for Python 2.5 through 2.7. How to Browse the CodeYou can get some use out of the code here just by browsing, starting at the root of the source tree or by clicking on the links in the index on the project home page. The source code is in the .py files; the .txt files give examples of how to use the code. How to Install the CodeIf you like what you see, install the code using either one of these methods:
You'll also need to install the data files from the aima-data project. These are text files that are used by the tests in the aima-python project, and may be useful for yout own work. You can put the code anywhere you want on your computer, but it should be in one directory (you might call it aima but you are free to use whatever name you want) with aima-python as a subdirectory that contains all the files from this project, and data as a parallel subdirectory that contains all the files from the aima-data project. How to Test the CodeFirst, you need to install Python (version 2.5 through 2.7; parts of the code may work in other versions, but don't expect it to). Python comes preinstalled on most versions of Linux and Mac OS. Versions are also available for Windows, Solaris, and other operating systems. If your system does not have Python installed, you can download and install it for free. In the aima-python directory, execute the command python doctests.py -v *.py The "-v" is optional; it means "verbose". Various output is printed, but if all goes well there should be no instances of the word "Failure", nor of a long line of "". If you do use the "-v" option, the last line printed should be "Test passed." How to Run the CodeYou're on your own -- experiment! Create a new python file, import the modules you need, and call the functions you want. AcknowledgementsMany thanks for the bug reports, corrected code, and other support from Phil Ruggera, Peng Shao, Amit Patil, Ted Nienstedt, Jim Martin, Ben Catanzariti, and others. |
Hi,
I was wondering before in install svn if the code in the zip files differs from what svn is going to give me. ThanksJust wanted to note that on my machine (MacBook? Pro with Python 2.5), about 7 tests fail because of different ordering for dicts and such. Sort of an annoying part of the way doctests is set up. I can get you details if you'd like. I tried making the tests general enough to handle these issues, but it got nonsensical pretty quickly. I'm hoping to come up with some additional code to fill in some of the missing algorithms, so feel free to add me to the project.
Just installed, MacBook? Pro, python 2.5 ... some tests failed.
2 items had failures: 386 tests in 622 items. 377 passed and 9 failed. Test Failed 9 failures. 9 failed out of 386
Hi, I just wanted to thank you for sharing this code with the readers.
Best regards /Daniel
I'm very grateful to find the Python implementation of the AIMA algorithms here. They are very useful and inspiring. Here I may also appreciate the work of all other contributers to the code who debugged it and added to it some tiny but very important parts and functions.