Example lecture for Constraint Satisfaction Problems in an interactive jupyter notebook. With python code to solve CSPs, with visualization of Sudoku and NQueens problems.
@sharanraja let's try to have links from the table of contents(TOC) to the actual content in the notebook.
You can see some examples in the current TOC, I would suggest we follow that for the rest.
I have updated the table of contents in the notebook with details on what we should have (copied below for convenience).
How do you want to divide the work?
I would suggest that one of us works on:
Constraint Propagation in CSPs (let's say you do that).
while the other works on Search in CSPs for now (I do this).
Then, for part 2.3 Elimination for Constraints in CSPs:
you could go for Bucket Elimination,
and I will explain Variable Elimination.
For part 3. Appendix:
I can do 3.1 Constraint Optimization Problem where I will do a map-coloring visual demo.
You could work on 3.2, think of an example, I think that we can do it with NQueens.
Concerning 3.3, I think I can do it myself by re-using explanations of Search in CSPs.
For all parts, think of interactive ways to demonstrate the concepts, not just saying this works like this and that... Nikhil emphasized this part quite a bit.
In terms of work development
Checkout the projects tab to see what is to be done and to log what has been done.
In general:
I add issues in the issues tab for something that has to be done.
then I add it as a card in the projects tab
once I am tackling an issue I put it in progress in the Projects tab (you can see that this issue is actually in the "in progress" column of the current project "CSP todo list" (see on the right panel under Projects)
Once I have an issue done, you can close the issue, and it will move automatically to Done in the Projects tab.
Feel free to use this workflow, it works great for collaboration.
CONTENTS
Introduction to Constraint Propagation Problems (L13 & L14):