CS252 Algorithms Friday, 30 September 2022 + Problem set #3 - Quick spin through problem 1. This is pictorial, intended to be pretty simple, and hopefully fun. Goal: get you practice thinking about graph vocabulary. - Words: connected, cycle, path, shortest path, weights, diameter - Problem 2: if the best you can do is something that feels brute force, write it up! Don't violate the preprocessing constraints, but a well-described and well-analyzed non-optimal algorithm will get most or all of the points. + Grading in general - First problem set will come back tomorrow; Second hopefully late next week - Not 90/80/70/60: we'll talk more once I return the exam - This is to a large degree a writing class--some subjectivity no matter what + The exam, 10/7 - My philosophy of in-class exams - Topics to be prepared for - O, Ω, ϴ - Stable matching - what does stable mean? - the Gale-Shapley proof - Graph vocabulary - BFS, DFS, Topological Sort - Interval scheduling - Types of questions - short answer (definitions, etc.) - O, Ω proofs - I promise problem 1 will be a simple polynomial O argument - hey, what about ϴ? - Run algorithm X on scenario Y - Gale-Shapley - BFS, DFS - Topological sort - Interval scheduling - Examples of "why X is not true" (i.e. counterexamples of X) - Short arguments from the correctness proofs of the various algorithms - Short arguments from the running time proofs - ?? - No sophisticated writing expectations - No tricks - Class Wednesday 10/5: wide open for questions ====== + Greedy algorithms generally - Local vs. global optimization - Shortest paths in graphs: what exactly is the problem? + Interval scheduling - What's this problem? # intervals vs. total coverage vs. ...? - What greedy strategies are available? can we show that any in particular fail? - What I do when I meet a new algorithm - read it to get the rough idea - run it by hand on a couple examples - while reading the proof, keep an example, the algorithm, and the proof visible together; try to adjust the example to break the proof - Let's try it!