Apr 2
coming next
chap 7 in Skienna : combinatorial search & heuristics
... and possibly min/max game search while we're at it
chap 8 : dynamic programming i.e. caching
... and while we're at it, probably implementation of hashes
sideways : some crypto & number theory
... prime numbers and public/private keys
chap 9 : intractable problems and P vs NP
FINAL PROJECT : coming soon will be a last project
much like the first, but with more to choose from. Stay tuned.
today
Look at "backtrack search", one of the brute force techniques.
Very common, closely related to (same as?) depth-first graph search.
Three classic search problems :
- generate permutations
- eight queens
- sudoku
Please read chap 7 in Skienna. The rest of the assignment will be posted by Thu.
First, discuss permutations_backtrak.py in
backtrack .
What does it do and how does it work?
Second, I'd like to try an "in class in pairs" experiment:
can you adopt this technique (using the same functions if you like)
to do the eight queens problem? We'll see how much time to allocate
for work & reports ...
My version (not following the backtrack(answer, data) template)
is also in the
backtrack folder. (Note the use
of a python dictionary to store the solutions. Why not just an array?)