Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Python implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"

License

Notifications You must be signed in to change notification settings

coderark/aima-python

Repository files navigation

aima-python

Python 3 code for the book Artificial Intelligence: A Modern Approach.

Eventually, this repository should have code for everything in the book.

Style Guide

We default to Pep 8, but with a few exceptions:

  • I'm not too worried about an occasional line longer than 79 characters.

  • You don't need two spaces after a sentence-ending period.

  • Strunk and White is not a good guide for English.

  • I prefer more concise docstrings; I don't follow Pep 257.

  • Not all constants have to be UPPERCASE.

  • Pep 484 type annotations are allowed but not required. If your parameter name is already suggestive of the name of a type, you don't need an annotation, e.g.:

      def retry(url: Url) -> None: # This 'Url' annotation should be avoided; but '-> None' is useful
    

Language Popularity

Are we right to concentrate on Java and Python versions of the code? What languages do students already know? The TIOBE Index says the top five are:

    Java, C, C++, C#, Python

What languages are instructors recommending for their AI class?
To get an approximate idea, I gave the query norvig russell "Modern Approach" along with the names of various languages and looked at the estimated counts of results on various dates. However, I don't have much confidence in these figures...

Language20042005200720102016
none 8,08020,10075,200150,000132,000
java 1,9904,93044,20037,00050,000
c++ 8751,82035,300105,00035,000
lisp 84497430,10019,00014,000
prolog 7892,01023,20017,00016,000
python 7851,24018,40011,00012,000

About

Python implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 80.2%
  • Python 19.2%
  • Other 0.6%