Title: UMass Lowell Computer Science 91'503 Analysis of Algorithms Prof' Karen Daniels Fall, 2001
1UMass Lowell Computer Science 91.503 Analysis
of Algorithms Prof. Karen Daniels Fall, 2001
- Lecture 1 (Part 1)
- Introduction/Overview
- Tuesday, 9/4/01
2Web Page
Web Page
http//www.cs.uml.edu/kdaniels/courses/ALG_503_F
01.html
3Nature of the Course
- Core course required for all CS graduate
students - Advanced algorithms
- Builds on undergraduate algorithms 91.404
- No programming required
- Pencil-and-paper exercises
- Lectures supplemented by
- Programs
- Real-world examples
4Whats It All About?
- Algorithm
- steps for the computer to follow to solve a
problem - Some of our goals(at an advanced level)
- recognize structure of some common problems
- understand important characteristics of
algorithms to solve common problems - select appropriate algorithm to solve a problem
- tailor existing algorithms
- create new algorithms
5Some Algorithm Application Areas
6Some Typical Problems
Shortest Path Input Edge-weighted graph G, with
start vertex and end vertex t Problem Find the
shortest path from to t in G Bin Packing Input A
set of n items with sizes d_1,...,d_n. A set of m
bins with capacity c_1,...,c_m. Problem How do
you store the set of items using the fewest
number of bins?
- Fourier Transform
- Input A sequence of n real or complex values
h_i, 0 lt i lt n-1, sampled at uniform intervals
from a function h. - Problem Compute the discrete Fourier transform H
of h - Nearest Neighbor
- Input A set S of n points in d dimensions a
query point q. - ProblemWhich point in S is closest to q?
SOURCE Steve Skienas Algorithm Design Manual
(for problem descriptions, see graphics gallery
at http//www.cs.sunysb.edu/algorith)
7Some Typical Problems
Eulerian Cycle Input A graph G(V,E). Problem
Find the shortest tour of G visiting each edge at
least once. Edge Coloring Input A graph
G(V,E). Problem What is the smallest set of
colors needed to color the edges of E such that
no two edges with the same color share a vertex
in common?
- Transitive Closure
- Input A directed graph G(V,E).
- Problem Construct a graph G'(V,E') with edge
(i,j) \in E' iff there is a directed path from i
to j in G. For transitive reduction, construct a
small graph G'(V,E') with a directed path from i
to j in G' iff (i,j) \in E. - Convex Hull
- Input A set S of n points in d-dimensional
space. - Problem Find the smallest convex polygon
containing all the points of S.
8Some Typical Problems
Hamiltonian Cycle Input A graph G(V,E).
Problem Find an ordering of the vertices such
that each vertex is visited exactly once.
Clique Input A graph G(V,E). Problem What is
the largest S \subset V such that for all x,y \in
S, (x,y) \in E?
9Tools of the Trade
- Algorithm Design Patterns
- dynamic programming, greedy, approximation
algorithms - Advanced Analysis Techniques
- asymptotic analysis
- Theoretical Computer Science principles
- NP-completeness, hardness
- Advanced Data Structures
- interval trees, binomial heaps
10Prerequisites
- 91.500 and 91.404 or 91.583.
- Co-requisitive 91.502.
- Standard graduate-level prerequisites for math
background apply.
11Course Structure
- Advanced Algorithmic Paradigms
- Dynamic programming, greedy algorithms
- Approximation algorithms, parallel programming
- Graph Algorithms
- Shortest paths (single source all pairs),
Maximum flow - Theory NP-Completeness
- Complexity classes, reductions, hardness,
completeness - Advanced Agorithms for Special Applications
- Cryptography, String/Pattern Matching
- Computational Geometry
- Advanced Data Structures
- Interval trees, binomial heaps
12Detailed Topics
13Detailed Topics (continued)
14Detailed Topics (continued)
15Detailed Topics (continued)
16Chapter Dependencies
Ch 28, 29 Parallel Comparison-Based Sorting
Networks, Arithmetic Circuits
Ch 1-6 Math Review Asymptotics, Recurrences,
Summations, Sets, Graphs, Counting,
Probability, Calculus, Proofs Techniques (e.g.
Inductive) Logarithms
Ch 30 Parallel Comparison-Based Sorting Networks
Ch 7-10 Sorting
Ch 16, 17, 18 Advanced Design Analysis
Techniques
Ch 23-25,26,27 Graph Algorithms
Ch 36 NP-Completeness
Ch 37 Approximation Algorithms
Ch 11-14, 15 Data Structures
Ch 19-22 Advanced Data Structures
Ch 31 Matrix Operations
Math Linear Algebra
Math Geometry (High School Level)
Ch 35 Computational Geometry
17Chapter Dependencies (continued)
Math Polynomials, Convolution, Complex Numbers,
Trig
Ch 32 Polynomials, FFT
Ch 33 Number-Theoretic Algorithms RSA
Math Number Theory
Ch 34 String Matching
Automata
18Textbook
- Required
- Introduction to Algorithms
- by T.H. Corman, C.E. Leiserson, R.L. Rivest
- McGraw-Hill MIT Press
- 1993
- ISBN 0-07-013143-0
- see course web site (MiscDocuments) for errata
Available in UML bookstore
19Syllabus (current plan)
20Important Dates
- Midterm Exam Tuesday, 10/23
- Final Exam TBA
21Grading
- Homework 35
- Midterm 30 (open book, notes )
- Final Exam 35 (open book, notes )
22Homework
HW Assigned Due Content
- 1 T, 9/4 Part I T 9/11 91.404 review
Chapters 16-18 - Part II T 9/18 91.404 review
Chapters 16-18