- Notifications
You must be signed in to change notification settings - Fork21
The Clever Algorithms project is an effort to describe a large number of algorithmic techniques from the field of Artificial Intelligence in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable.
skytreader/CleverAlgorithms-Python
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repo contains Python ports of the code listings fromCleverAlgorithms. It is one of those rare bookswhich tackle theory and yet present the reader with working code. How I wishmore books were written like this.
The book has its ownGitHubrepo, utilizing Ruby.
This is pretty much awork-in-progress. What I'm currently working on isverifying that the Ruby and the Python code listings encode the same algorithms.I may add new listings here and there but coming up with a framework to verifythis is my main concern right now.
First of all, note that this repositoryisn't synchronized withthe main Clever Algorithmsrepository. My main purposeis in learning the algorithms in the book and transcribing them to Python;I've come to believe that implementing algorithms on your own is a goodlearning exercise. I'm taking the Ruby listings as pseudocode that is alsothe reference implementation. In the process, I hope to familiarize myselfwith the algorithms and Ruby.
So, all directories, save forpython
, are not to be taken as updated.
Under thepython
directory, the code listings are sorted by chapter and arenamed after the name used by the book (e.g., Random Search of Chapter 2 ispython/2_Stochastic_Algorithms/random_search.py
). At the beginning of eachfile, I note the chapter and section in the book in which the algorithm canbe found (e.g., Random Search is noted as 2.2). The docstring also containsa description the algorithm and some notes on the code listing itself. Thesewere taken directly from the book, unless noted.
All Python codes will be for (plain) Python 3.
There arePython versions ofthe pseudocodes in Russel and Norvig'sArtificial Intelligence: A ModernApproach. There are also listings for other languages as well as a standarddata set at thebook's official site.
About
The Clever Algorithms project is an effort to describe a large number of algorithmic techniques from the field of Artificial Intelligence in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- TeX84.8%
- Ruby14.1%
- Python0.7%
- Shell0.1%
- Yacc0.1%
- Lua0.1%
- Other0.1%