16
Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011

Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011

Embed Size (px)

Citation preview

Design and Analysis of Algorithms

Maria-Florina (Nina) Balcan

Lecture 1, Jan. 14th 2011

Introductions and Admin

Introductions

• Course web page: http://www.cc.gatech.edu/~ninamf/Algos11/

• Instructor: Maria Florina (Nina) Balcan Office hours: Mon and Wed, 12:00 – 1:00, Klaus

2144.• TA: Jacob Robertson Office hours: Fri, 12:00 – 1:00.

• Grader: Nishant Kothari Office hours: TBA

• Course Staff:

• Meeting Time: Mon, Wed, Fri, 11:00 – 12:00

Additional Resources

• Sections on Tue/Wed for all Algos courses.– Starting next week

Tas: Jacob Robertson, Chris Bowen, Michael Qin

[Location and Time: TBA]

References

• Official Text Book: “CLRS”

Introduction to Algorithms [Cormen, Leiserson, Rivest, Stein]

• Algorithm Design [Kleinberg, Tardos]

• Algorithms [Dasgupta, Papadimitriou, Vazirani]

• Other Useful Resources

Lectures in general

On the board

Ocasionally, will use slides

Goals of the Course

Course is about the design and analysis of algos• How to design correct, efficient algos, and how to

think clearly about analyzing correctness and running time.

What is an algorithm?

• A method for solving a computational problem (e.g. sorting or shortest paths).

Main goal: provide intellectual tools for designing and analyzing your own algorithms for problems you need to solve in the future.

Why care about algorithms

Driving directions

10

Why care about algorithms

Goal: use emails seen so far to produce good prediction rule for future data.

Not spam spam

Decide which emails are spam and which are important.

Supervised classification

Why care about algorithms

Google searches

Structure of the Class

• Greedy Algorithms, Dynamic Programming.

• Divide and conquer algorithms; Randomized algorithms

• Graph Algorithms

• NP-completeness, Reductions. Approximation Algorithms

• DFS, topological sorting, strongly connected components, BFS, Shortest paths and Dijkstra's Algorithm, Minimum spanning trees, Min-Heaps, Union Find

• Examples, recurrences, the master theorem, probabilistic analysis, Quicksort, Median selection

• Longest common subsequence, Knapsack, The Bellman Ford Algorithm, All pairs shortest paths [Floyd-Warshall].

Structure of the Class

• Greedy Algorithms, Dynamic Programming.

• Divide and conquer algorithms; Randomized algorithms

• Graph Algorithms

• NP-completeness, Reductions. Approximation Algorithms

Exam 1: February 11

Exam 2: March 9th

Exam 3: April 8th

Exam 4: April 22nd

Grading Scheme

• Exercises/problems (pencil-and-paper problem-solving variety).

• 4 Exams: 50%• Final: 25%• Homeworks: 25%• Class participation to adjust borderline

scores

Homework

• 8-9 weekly homeworks

• Collaboration generally allowed– Work in groups of size at most 3– Write up your own solutions– Acknowledge your collaborators– Breaking these rules will be considered as

cheating

• NO late submissionLowest two (2) homework scores will be dropped

Important to Attend the Class