aimacode / aima-javascript

Javascript visualization of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
http://aimacode.github.io/aima-javascript/
MIT License
544 stars 219 forks source link

Division of work #27

Closed Ghost---Shadow closed 5 years ago

Ghost---Shadow commented 8 years ago

If you are applying to Google Summer of Code, do not work on any issues. Read the wiki instead.

In 2016–2017 this issue tracked the list of chapters and their discussion pages. As of 2019 it is no longer being used.

Chapter Volunteers Discussion page
1
2 #77
3 #57
4 #58
5 #72
6 #88
7 #65
8
9
10
11
12
13
14
15 #59
16
17
18 #60
19 #68
20
21 #62
22 #103
23
24
25
kepta commented 8 years ago

Before that you souradeep let us please decide about the architecture, because I don't want you to be rolling back your efforts.

On Mar 20, 2016, at 2:53 PM, Souradeep Nanda notifications@github.com wrote:

To avoid wasting time, we should decide who should do what. Since @kepta and I are the only active members right now, I will pick the even chapters and @kepta can pick the odd chapters.

If more members join, we would do some kind of modulo n arithmetic and decide who should do what.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub

astyanax commented 8 years ago

Hello guys, I haven't actively participated in the discussions yet although I'm interested to work on the planning chapter (for a start).

duaraghav8 commented 8 years ago

@kepta @Ghost---Shadow Alright let's do it this way. We all propose our structure with Point-by-Point Adv. & Disadv. Then we'll put it to a vote. Otherwise we're going to spend a lot of time discussing this.

@astyanax we're currently trying to decide upon the repo structure in order to avoid goof ups later. You too can contribute your perspective. The goal is: for every algorithm in the book: we need to have 1 basic JS implementation (the core algorithm's code, which can be read, understood and run by any user), a script for running tests on that algorithm's implementation and an HTML document containing the visualization for that algorithm (D3 / Canvas, whichever you prefer - the user should see a visual representation that they can understand).

While talking about the structure, you need to keep the above goal in mind and also that the user of this repo must be provided with a clean interface.

Ghost---Shadow commented 8 years ago

I suggest that we uglify and compress all the scripts that are common to all pages (bootstrap, jQuery etc) as main.js

We will then have a folder for each chapter having code and its visualization. We may or may not uglify these scripts. Something like this. Let us keep the code and its corresponding visualization in the same js file. Some chapters like chapter 4 has 6-7 algorithms. Having one visualization js file would make it difficult to manage and debug.

The main index.html will function like a website homepage and the user can click on each chapter to see the code, visualization and a brief description to give a context.

I think Mr. @norvig will be happy with anything we unanimously decide upon.

GiriB commented 8 years ago

Hey guys! I was just going through the project and would like to contribute. I agree with @Ghost---Shadow on having separate visualisation files and how he has proposed the structure to be. It would be helpful if the structure is finalised ( with few examples? @Ghost---Shadow 's implementation of Intelligent Agents is a good example ) so that people can start contributing.

I also had a doubt regarding following.

screen shot 2016-04-03 at 5 59 49 pm

Why is there a separate Chapter5 when we a folder for this already exists ? ( Everyone should be careful while merging requests.)

@Ghost---Shadow Your index.html shows this. Take a look it why is it so.

screen shot 2016-04-03 at 6 17 06 pm

' Part 1, Part 2 ...' is not required when you already have ' Part I , Part II ...' .

duaraghav8 commented 8 years ago

@GiriB I wrote the minimax algorithm in JS, created the directory "Chapter 5" and made a PR following my dir. structure. At the same time, @Ghost---Shadow and 2 others were making their PRs. This resulted in a blend of GS's directory structure and mine, hence the outlier: Chapter 5/minimax.

This structure conflict is the primary reason for the existence of this thread.

Ghost---Shadow commented 8 years ago

I dont think folder structure matters a lot. Since the production is highly parallelizable, we can refactor easily. Also, I would like to finish Chapter 4 since it is midway done.

@GiriB I screwed up during squashing. I will fix that on Sunday,

kaiesh commented 8 years ago

Hi guys,

I'm keen to contribute to this too - am happy to pick up Chapter 6 to start with.

GiriB commented 8 years ago

I have already started with Chapter-6. @KailashVohra can start with something else. Also I have my exams going on now, I'll start back by next week.

I'm keen to contribute to this too - am happy to pick up Chapter 6 to start with.

kaiesh commented 8 years ago

Oh right - I've already sent a pull request for 6.1.1 Map Coloring... On 19 May 2016 11:14 p.m., "Giri Gaurav Bhatnagar" notifications@github.com wrote:

I have already started with Chapter-6. @KailashVohra can start with something else. Also I have my exams going on now, I'll start back by next week.

I'm keen to contribute to this too - am happy to pick up Chapter 6 to start with.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/aimacode/aima-javascript/issues/27#issuecomment-220399578

kaiesh commented 8 years ago

Ah OK, you've reassigned chapters - I had started work on Chapter 13, I'll commit the progress to the same pull request, so both can be merged.

@umgupta if you think its useful you can build from that.

@Ghost---Shadow you may consider allowing people to request for chapters to work on that interest them. Progress may move faster that way.

Cheers!

Ghost---Shadow commented 8 years ago

@kaiesh Requesting chapters seems a good idea. Start placing your requests.

kaiesh commented 8 years ago

@Ghost---Shadow I'd started on 6 and 13, so I'd be interested to continue and complete those.

umgupta commented 8 years ago

Hey Guys, I read previous discussions and here are few of my suggestions :

  1. Build / testing process. Why do we use jspm & gulp when there are better options (read webpack). A google search for jspm Vs webpack will give enough arguments to convince you. But main features are hot loading & single command build. I can happily port whatever is there to webpack and write a guide for structuring project using webpack. (It takes care of uglifying/minifying and splitting the code at one place)
  2. What library we use for canvas/svg manipulation ? Or is it simply JS.
  3. Can someone please write how to implement a module (where each file should go ideally?)

@kaiesh What should I work on finally?

Ghost---Shadow commented 8 years ago

1) Go ahead. I am still new to the MEAN stack. Most of this is mumbo jumbo to me. 2) I am using two.js just because I heard about it before and it is super flexible. You might also like d3.js. 3) We haven't officially decided it yet but I think this is a good way to do it.

Just pick a chapter of your choice or at random. I will add it to the list.

umgupta commented 8 years ago

@Ghost---Shadow

  1. I will try to switch build process to webpack with whatever minimal changes I can.
  2. I will try to figure out a universal/flexible choice
  3. Sure, I like this way to precise to read and easy to follow.

I will need some time (till weekend) to actually put webpack things in a place. I will choose chapter (1 and 2), I dont know if 1 requires some work actually. But 2 might require some cleanup to work with other stack.

@kepta : Do you have any views about what to use and what not?

aidarbek commented 8 years ago

Hey, guys! I would like to work on chapter 3 "Solving-Problems-By-Searching".

laurit17 commented 8 years ago

Hi, I would love to take the chapters 22/23 (NLP). If no one else has started on them, I will.

berviantoleo commented 8 years ago

Hello, may I sumarize that in working and haved implement to one file in repo for another want to contribute will see what not implemented yet.

sourabh2k15 commented 7 years ago

hello guys, I would like to work on chapter 2 visualizations for searching algorithms .

Ghost---Shadow commented 7 years ago

@sourabh2k15 I think you meant chapter 3. Look at the contributions page. Chapter 2 is done as far as I know.

sourabh2k15 commented 7 years ago

Ohh yes . I was mistaken. I meant to contribute to building visualizations for searching algorithms in chapter 3.

vamshi9 commented 7 years ago

Hello guys! I would like to contribute to this project. @norvig @Ghost---Shadow Could you please guide me through this. I can use Node.js, Express.js, MEAN stack architecture. I am going through 'Introduction to AIMA' course in Udacity and AIMA(3rd addition). And I would like to know whether this is acceptable to GSoC. Thanks in advance!

Ghost---Shadow commented 7 years ago

@vamshi9 Anyone can contribute but for GSOC, make sure you fill the appropriate paperwork in GSOC's main website. Take a look at how far the project has been done and request what you would like to add into it.

The only reason for this thread is to make sure that people dont step on each other's toes.

Rishav159 commented 7 years ago

Hello everyone! I am interested to work on this project. I have read the documentation and the folder structure seems super neat ! Could anyone please guide me on how to start ? Thanks a lot!

berviantoleo commented 7 years ago

You can see in Contribution file and finding that not implemented. Also you may asked the progress that on working. If you can work on it, comment to this issue.

I suggest to doing that not implemented yet or completed any chapter (maybe some algorithm missed).

Rishav159 commented 7 years ago

@Ghost---Shadow I would like to know the progress on chapter 3 of aima-javascript. Will it be possible for me to help in those chapters? or should i target some other chapter? Could anyone please guide me on what should be the appropriate way to communicate with the mentors? Like an IRC channel maybe ? Also, Is aima participating in GSOC-2017 ? Thanks in advance.

Ghost---Shadow commented 7 years ago

@Rishav159 By Chapter 3 I assume you mean Solving Problems By Searching. You can help by adding scripts or visualizations. However, I cannot help you with the remaining two questions.

Rishav159 commented 7 years ago

@Ghost---Shadow Yes. I would like to work on Chapter 3 Solving Problems By Searching. Regarding the IRC channel, Can you inform whom should I contact and by what means should I contact? If we don't have the channel, we can start by creating a new one. As GSOC approaches, many participants will want to work on this project and it is an excellent opportunity to develop this project.

merovingienne commented 7 years ago

Hello people, I'd like to contribute to this project too. I'm currently following this book for a module at my university and came across this. @Ghost---Shadow I see that most of chapter 3 (Solving problems by Searching) is marked as "On Working" for months. Shall I join @Rishav159 in completing them?

Rishav159 commented 7 years ago

Hello, @merovingienne I started working on chapter 3 a few days ago. There does not seem to be a mentor around here although the ideas list of AIMA specified the development of Javascript repository.

merovingienne commented 7 years ago

@Rishav159 hi, so do you intend to complete it on your own or would you like to share the work in chapter 3?

I see, so we can divide the work and complete according to what's already finished?

Rishav159 commented 7 years ago

@merovingienne I intend to complete chapter 3 on my own. Yes, we can divide work and complete according to what's already finished.

merovingienne commented 7 years ago

@Rishav159 Noted, I'll start working on chapter 4 then. Great, thanks!

preethi26 commented 7 years ago

hello all, I am highly interested in contributing to this project. I'm currently following this book for few topics in my university. I would like to work on the chapter 18 of the book i.e, "Learning-From-Examples" ( I also intend to continue implementing the complete section ). As this chapter is not assigned to any one, I assume that no one is working on it.

Thank you.

zhirzh commented 7 years ago

@Ghost---Shadow please add me for Chapter 15

gaurav1911 commented 7 years ago

Hey guys, I would like to contribute in Chapter 3 (visualizations).

redblobgames commented 7 years ago

I'm trying to determine who's actively working on visualizations and/or code. I've created a github issue for each of the chapters I believe is being worked on.

Are there any others who are actively working on a chapter? If so, let's create a github issue for discussions. There are plenty of chapters that no one is working on, so I'd encourage one or two of you working on chapter 3 to consider another chapter.

The primary focus of aima-javascript for gsoc-2017 will be the visualizations, and the code will be a secondary goal. We don't yet know which concepts and algorithms will work best with interactive/animated visualizations so there will be some experimentation and learning as we go.

alireza-a commented 7 years ago

Hi everyone, I want to work on chapter 21-Reinforcement-Learning. I was wondering if there are any limitations on the JS libraries we can use to help with the visualizations (The completed chapters seem to be only depending on jQuery)?

Ghost---Shadow commented 7 years ago

@alireza-a We are kinda going for a static hosting so no server side stuff. Other than that knock yourself out. I think we are currently using jQuery, two.js and the js of bootstrap.

redblobgames commented 7 years ago

@alireza-a Great! We have been using two.js, and probably should continue to use it unless there's a visualization where it would make a huge difference. I created a page #62 for discussion of chapter 21

chihsienyen commented 7 years ago

Hi everyone, this is Chi-Hsien. Short self-intro: graduate student from UIUC, working on visual analytics. I plan to start working on chapter 7 since it looks like no one has touched it before. Any suggestion would be appreciated!

redblobgames commented 7 years ago

@chihsienyen Great! I've opened #65 for discussion of chapter 7. We are using two.js for now, but when it gets closer to summer we can evaluate two.js vs d3.js vs other libraries and switch if there's a compelling reason.

chihsienyen commented 7 years ago

@redblobgames Sure! I can focus on brainstorming what kind of interactive visualizations would be most effective for learning and also fun to play with. Once we have the concrete ideas later we can better decide which library is more suitable.

redblobgames commented 7 years ago

@chihsienyen The wumpus world diagram seems like the straightforward first step for this chapter. Even without an AI agent, you could build a diagram that waits for the player to select a move.

chihsienyen commented 7 years ago

@redblobgames Yes! That will be my first step. I commented my thoughts in the #65 thread. Thanks.

olesiakissa commented 7 years ago

Hi everyone, I am Olessia and I would like to start working on Chapter 19 - Knowledge-In-Learning as the starting point to GSoC programm. A short intro: second year student of Igor Sikorsky Kyiv Polytechnic Institute, have passion about helping other people to realize that AI is not that hard to understand.

redblobgames commented 7 years ago

@MasterOfTheU great! I created issue #68 for discussion.

jaydeepingle commented 7 years ago

I read the above messages and got to know that @MasterOfTheU is working on chapter 19. I am also planning to focus on chapter 19, Knowledge in Learning and the 4 algorithms within that which are: Current-Best-Learning Version-Space-Learning Minimal-Consistent-Determination FOIL I am pretty sure that I will be able to complete these 4 in the given time span in python and javascript and if time permits I will try to implement those in Scala and Java too. Currently I have implemented Decision Trees, Logistic Regression, Naive Bayes, Perceptron and pruning in decision trees while studying Machine Learning course. So I understand the requirements for the algorithms and would like to work with the one who is eager to mentor me with this.

redblobgames commented 7 years ago

@jaydeepingle great! For aima-javascript there will be visualizations that do not have algorithms and some algorithms will not have visualizations, and algorithms may have to be written differently to support visualization, so the code will not be the same style as the python and java code. For GSoC, I am the mentor for the javascript visualizations; Peter Norvig will be the mentor for Python and someone else for Java (see the aima-java wiki pages), and there are no AIMA-GSoC projects this year for Scala or other languages. I recommend picking one language & many chapters for your proposal instead of one chapter & many languages.