September 10 Algorithm Design Design Algorithm* Software* Game* Database Network Algorithm design is influenced by complexity analysis of the underlying problem. Chapter 1: 5 problems: Polynomial: Interval Scheduling: Greedy Algorithm Weighted Interval Scheduling: Dynamic Programming Bipartite Matching: Network flow NP-complete: Independent Set PSPACE complete: Competitive Facility Location Defining descriptions of instances of those problems Introduction to DemeterF The Specker Derivative Game: SDG Playing games with algorithmic problems. CNF types (length, positive) derivative agents ========================== September 17: Graph Algorithms http://www.itasoftware.com/careers/puzzles07.html#SligBladeRunner Topological sorting Fast distributed algorithms: MapReduce DemeterF Hw 2: ===================================== September 23: Greedy algorithms Dijkstra Shortest Path Merge Sort Analysis of algorithms Good architectures for algorithms: Architectures for DemFGen and DemeterF Open Class Architecture (using nonempty behavior file) Implicit Invocation Architecture (using empty behavior file; use traversals to inject functionality) The important classes of the DemeterF library illustarted with BST. Code organization: using a library slides: 03*.ppt : topological sorting (36 +) 04greed.ppt Dijkstra 35+ 04demo*.ppt demo Dijkstra 05divide*.ppt Mergesort 1+ Oct. 1 ============================================ What we do in this course An algorithm is made up of flows through an object. hw 1 discussion Approaching SDG with randomized algorithms 02analysis.ppt Dijkstra 04demo-dijkstra.ppt 05divide-and-conquer.ppt DemeterF Oct. 8 ============================================= Where we are Dynamic Programming (-14) Review: Approaching SDG with Randomized Algorithms Homework 4 13randomized (15-19, 21-28) What we did not do last time 02analysis.ppt Dijkstra 04demo-dijkstra.ppt 05divide-and-conquer.ppt DemeterF Nov. 5 =============================================== Midterm review Project / SDG components NP-completeness proof: revisit Network Flow Nov. 12 ======================================== see plan-second-half /home/lieber/.www/courses/csg113/f08/lectures /home/lieber/.www/courses/csg113/f08/solutions/4/charu4/Part3B http://www.ccs.neu.edu/research/demeter/DemeterF/java-src/DemeterF/edu/neu/ccs/demeterf/demfgen/lib/RBNode.java.html /home/lieber/.www/courses/csg113/f08/preparation -rw-r--r-- 1 lieber faculty 183 Nov 12 12:25 pseudo-polynomial -rw-r--r-- 1 lieber faculty 1371 Nov 12 11:49 maximum-versus-maximal-better -rw-r--r-- 1 lieber faculty 48 Nov 9 22:30 ideal-world -rw-r--r-- 1 lieber faculty 630 Nov 9 21:49 dynprogr-inspired Nov. 19 ===================================================== Discussion of document due on Dec. 1 Symmetrization technique Analyzing the running time of DemeterF programs Review of DemeterF programs (Bryan's slides) Studying your algorithms: nov14 put the new ones here: /scratch/lieber/csg113-f08-sdg/nov19 NP, NP-complete defs. Reviewing intractability Proof that most break-even prices separate P from NP. Red-black trees; self balancing binary search trees Dec. 3 ========================================================= Contention Resolution: An application of randomization (and SDG derivative analysis) Another class of algorithms: Linear Programming (The game inside the game) Symmetrization Algorithm review Reductions Extra credit homeworks Proof that most break-even prices separate P from NP. Dec. 10 ========================================== Algorithms for playing with algorithmic problems Buying derivatives in the store Review slides (in dec10 directory) Some new material, in the context of the old. Determining the IQ of your components