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%
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy