Skip to content
Amit Patel edited this page Feb 6, 2019 · 31 revisions

Thanks for considering contributing to aima-javascript! We are building visual explanations of the concepts, problems, and solutions described in AIMA. In the past we were building individual visualizations, but we are now (as of 2018) building visualizations integrated with explanations.

If you are not interested in GSoC

First read this guide! The guide for GSoC 2019 will be similar to GSoC 2018.

Do not contribute code to the repository! AIMA-Javascript is not like most open source projects so our guidelines are different. Come ask questions on the gitter channel. Amit Patel (redblobgames) was the mentor for GSoC 2017. Sam Goto (samuelgoto) is the mentor for GSoC 2018 and 2019.

If you are not interested in GSoC

If you are not interested in Google Summer of Code, here's how you can contribute:

  • First, read and understand the code to get a feel for how the existing visualizations have been implemented. Read the Implementation guide. Each chapter may be written in a different style using different libraries. Use the existing technology (libraries, languages, frameworks) for the chapter you are working in instead of introducing new technology.
  • Changes that are not visible to the end user (readers of AIMA) are typically not accepted, for the same reason that Ruby on Rails and other projects do not accept these changes.
  • Look at the issues and pick one to work on. Discuss your plan with a project member before beginning work.
    • Small projects marked bug. Due to the nature of this project, there many not be any listed.
    • Small projects marked improvement.
    • Medium projects marked feature.
  • Large projects require a mentor, and are typically part of Google Summer of Code. See Division of work thread. If you would like to work on one of these outside of GSoC, please contact one of us.

Index of Chapters

Chapter Status
1-Introduction
2-Intelligent-Agents Partially complete
3-Solving-Problems-By-Searching Mostly complete
4-Beyond-Classical-Search Mostly complete
5-Adversarial-Search Partially implemented
6-Constraint-Satisfaction-Problems Partially complete
7-Logical-Agents Not implemented
8-First-Order-Logic Not implemented
9-Inference-In-First-Order-Logic Not implemented
10-Classical-Planning Not implemented
11-Planning-And-Acting-In-The-Real-World Not implemented
12-Knowledge-Representation Not implemented
13-Quantifying-Uncertainity Not implemented
14-Probabilistic-Reasoning Not implemented
15-Probabilistic-Reasoning-Over-Time Not implemented
16-Making-Simple-Decisions Not implemented
17-Making-Complex-Decisions Not implemented
18-Learning-From-Examples Not implemented
19-Knowledge-In-Learning Not implemented
20-Learning-Probabilistic-Models Not implemented
21-Reinforcement-Learning Partially completed
22-Natural-Language-Processing Not implemented
23-Natural-Language-For-Communication Not implemented
24-Perception Not implemented
25-Robotics Not implemented
26-Philosophical-Foundations Not implemented
27-AI-The-Present-And-Future Not implemented