Javascript implementation of algorithms (and visualizations) from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
Click here to go to the static hosted page
Some Javascript visualizations that I admire, and would like to see similar kinds of things here:
- Red Blob Games: A* Tutorial
- Qiao Search Demo
- Nicky Case: Simulating the World
- Rafael Matsunaga: Genetic Car Thingy
- Lee Yiyuan: 2048 Bot
- Install Prerequisites.
- Doing Installation.
- Deploying locally.
- Running Local Server.
- Node.js version 0.10.0 or newer
- Install jspm, eslint, gulp globally
npm install -g jspm
npm install -g eslint
npm install -g gulp
To run locally for development.
- run
npm install - run
jspm install
To bundle the web app :
- Deploy Locally :
- Serve
buildfolder locally. - Run
gulp bundle. - Run
gulp copyto bundle the app into build folder. - Web app in
buildfolder.
- Deploy to gh-pages :
- Run
gulp bundle. - Run
gulp copy. - Deploy it to gh-pages by running
gulp deploy.
Start a local server, e.g. python -m SimpleHTTPServer 80 for Python 2.x or python -m http.server 80 for Python 3.x
Then visit http://localhost using your browser.
Note : Run local server on build directory after deploying locally.
This directory contains the minified source code for production deployment.
The repository has the following structure:
- There is a directory for each chapter
- Each algorithm will have a
algorithm.jswhere the main logic is to be implemented. - Each algorithm will also have a
c_algorithm.jswhich will have the javascript visualization. - The
index.htmlwill include both the scripts. - The
c_algorithm.jswill use AJAX to loadalgorithm.jsintoindex.htmlas plain text for side-by-side reference of the reader. - The
index.htmlwill also includemain.jswhich contains minified version of global scripts like jQuery, angular etc - See the
index.htmlof chapter 2 for reference.
Put the name of the chapter you want to contribute in the Division of work thread. Please squash all commits into a single commit. Also see CONTRIBUTION.md for know the working status.