CS 466/666
Advanced Algorithms
Fall 1999
Announcements
Assignment 4 now available.
Assignments
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Tuesdays and Thursdays, 10:00-11:20, in MC 1056.
First meeting: Tuesday, September 14; final meeting: Thursday,
December 2.
Instructor: Jonathan Buss, DC 2113, x4428, jfbuss@trurl.math.
Office hours Tuesdays and Thursdays, 11:40-12:30. I am often in at
other times; email or phone to make sure.
Teaching Assistant: Darin Ohashi, DC 2130, x3333, dmohashi@algonquin.
Office hours Monday and Wednesday 2:00-3:00.
This web page will have updates on readings, assignments, and other
information.
Check the course newsgroup uw.cs.cs466 regularly for last-minute
announcements and for answers to questions of general interest.
Undergraduate students should normally have taken CS341 prior to CS466
(although some may have taken the older CS340). You will have become
familiar with many common algorithms and data structures and with
techniques to design new ones. You will have had an introduction to
concepts of lower bounds, including NP-completeness.
The combined 240/340 section (Spring 98) does NOT
qualify as sufficent background. Please see the instructor if you
took that section and have not subsequently taken 341.
Graduate students with an interest in algorithms will normally
have acquired sufficient background preparation in their previous
studies. See me if you wish to discuss your individual situation.
The written work for CS 466 will comprise four homework assignments, a
midterm, and a final exam. Graduate students enrolled in CS 666
will also do a small project. (More information to become available.)
- Homework assignments. There will be four homework
assignments, due in class on the specified date. I expect the first
to be due on Tuesday, October 5, and the others due on Thursdays:
October 21, November 18, and December 2. One-third of the course
grade will be based on these assigned problems.
You must do your own work on the assigned problems. You are permitted
to discuss general aspects of the assigned problems with other
students in the class, but you must create your own solution based on
your own understanding of the problem. Normally, a discussion in
which one of the participants writes something down for the other
prevents doing one's own work. You are of course free to discuss
assignments with the instructor or the TA.
- Exams.
A midterm exam will be held on Thursday, October 28, 4:30-6:30pm,
in DWE 3518. Inform the instructor immediately if any
conflicts arise.
The final exam will be held during the
official exam period (December 9-22). 40% of the course mark
will be based on the exam.
October 5: |
Homework 1 |
October 25 (Mon): |
Homework 2 |
October 28: |
Midterm Exam |
November 18: |
Homework 3 |
December 2: |
Homework 4 |
One copy of each of the following references are on three-hour reserve
at the Davis Centre library.
For background material, one good source is the CS 341 text,
G. Brassard and P. Bratley, Fundamentals of Algorithmics, Prentice
Hall, 1996. Call number QA9.58.B73.
If you don't already have a copy, you probably have a fully adequate
alternative from your previous courses. If you do want to get a
general reference, I personally like
T.H. Cormen, C.E. Leiserson and R.L. Rivest, Introduction to
Algorithms, McGraw-Hill, 1990. Call number QA76.6.C662.
We will draw new material from the above texts, as well as the following.
D.S. Hochbaum, ed., Approximation Algorithms For NP-Hard
Problems, PWS, 1997. Call number T57.7.A68.
R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge
University Press, 1995. Call number QA274.M68.
Note that these works are copyrighted. You have individual
responsibility to respect their copyrights. If you wish to make a
copy of sections or chapters, consult with a librarian to determine
what restrictions and licensing agreements apply.
I may also put occasional class notes on the course web page.
Readings
- Tuesday, Sep. 14:
- Motwani and Raghavan, section 7.2, pp. 163-166.
- Thursday, Sep. 16:
- Estivill-Castro and Wood, "A Survey of Adaptive Sorting
Algorithms," Computing Surveys 24 (1992) p. 441.
Introduction and section 1, through p. 456.
-
Sep. 21, 23:
-
Continue Estivil-Castro and Wood.
-
Sep. 28:
-
Amortized analysis: either BB sections 4.6, 5.8 and 5.9, or CLR
chapters 18, 20 and section 22.4.
Handout:
implementing
a queue with two stacks.
-
Sep. 30, Oct. 5:
-
Binomial Heaps: BB sec. 5.8 or CLR chap. 20.
Fibonacci Heaps: CLR chap. 21.
-
Oct 7:
-
Splay trees: any of
-
J.H. Kingston, Algorithms and Data Structures: Design, Correctness, Analysis,
section 7.5.
-
Lewis and Denenberg, Data Structures and Their Algorithms, section 7.3.
-
M.A. Weiss, Data Structures and Algorithm Analysis, section 4.5.
For extra detail, see the original paper by Sleator and Tarjan,
"Self-Adjusting Binary Search Trees,"
J. Assoc. Comput. Mach. 32 (1985) 652-686.
-
Oct 12:
-
Randomized computation: BB section 10.6
Example - treaps: Motwani and Raghavan, section 8.2
-
Oct 14:
-
Chernoff bounds: MR, section 4.1
A min-cut algorithm: MR, section 10.2
-
Oct 21:
-
Skip lists: Copies of transparencies
Estivill-Castro and Wood, pp. 465-466.
-
Oct 26:
-
Finished min-cut: MR, section 10.2
-
Nov 2:
-
Sorting and merging networks: CLR ch. 28, or BB 11.6.
-
Nov 4:
- The PRAM model. Basic algorithms. CLR ch. 30 or BB 11.1,.2,.3
-
Nov 9,11:
- PRAM algorithms: Expression evaluation (BB 11.5), connected
components (BB 11.4).
-
Nov 16,18:
-
Approximation algorithms. Vertex cover and set cover (CLR 37.1,
37.3).
A sampling of techniques: Max Cut (hill climbing); TSP (problem
transformation); knapsack (rounding the problem). No precise
reference, but see CLR 37.2 and
37.4 for related iteas.
-
Nov 23,25:
- Online algorithms. Hochbaum, ch. 13, esp. sections 13.1,
13.2.1, 13.2.2, 13.3.1 13.3.2, 13.4.2. 13.5.1.
-
Nov 30, Dec 2:
- Lower bounds and techniques.
Adversary arguments. Information theory and Kolmogorov complexity.
Completeness for approximation problems (summary of Hochbaum, ch. 10.)
The initial form of this document was generated using the
LaTeX2HTML
translator Version 98.1p1 release (March 2nd, 1998), which is
Copyright © 1993, 1994, 1995, 1996, 1997,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.