110 likes | 175 Views
Learn about the Las Vegas Algorithm for the 8-Queens problem in CS 312's final lecture. Understand the difference between Monte Carlo and Las Vegas algorithms, explore backtracking, and optimize node exploration. Discover the efficiency of the QueensLV algorithm in reducing solving time compared to traditional methods, all detailed in the lecture document provided.
E N D
A Las Vegas Algorithm for the 8 Queens problem Lecture 35 CS 312
The Final • http://faculty.cs.byu.edu/~jones/312/sample_final.pdf (or .doc) • In the testing center • Use their calculators. • Multiple choice. • Show work for partial credit • Review on Wednesday
Objectives • Finish project 4 • Explain the difference between Monte Carlo and Las Vegas algorithms • Decide how many queens to place at random in 8 queens.
QueensLV queensLV (n,stopLV) : bool = place stopLV of the queens at random so that no queens attack each other. use backtracking to place the remaining n-stopLV queens if successful, report a solution otherwise fail.
QueensLV 1 Random 2 3 4 5 Backtrack 6 7 8 1 2 3 4 5 6 7 8
How many nodes explored? • suppose s(n) nodes to succeed • and f(n) nodes to fail • with probability p(n) of succeeding
How many nodes explored? • suppose s(n) nodes to succeed • and f(n) nodes to fail • with probability p(n) of succeeding • t(x) = p(x)s(x) + (1-p(x))(f(x) + t(x)), or
How much time? • Authors report that for 8-queens, backtracking is still faster. • takes a long time to gen. a random number • For 39 queens, queensLV is faster. • 41 hours using backtracking • 8.5 ms using queensLV
Homework • None. Cancelled.