| |
|
Status: June 30, 2001
| |
»CIS 665: Algorithmic Graph Theory«
Spring 2001
Section 002
|
|
| Class hours | |
Tuesday | |
8:30 - 11:25 | |
FAC 411 |
| | | | |
| | |
| Office hours | |
Tuesday | |
11:30 - 12:55 | |
GITC 4103 |
| | |
Wednesday | |
11:30 - 12:55 | |
GITC 4103 |
| | | | |
| | |
| By special appointments | |
Thursday | |
11:30 - 12:10 | |
GITC 4103 |
| (only in very special cases) | | | |
| | |
|
Information about PhD Qualifying Exam:
|
Info in postscript format and in PDF-Format
If You will find this course interesting and You're still looking
for a topic of your PhD - You can make Your PhD in a topic related
to algorithms.
All of You are very welcome.
If You have interest then please contact me via email
czumaj@cis.njit.edu.
In this course we will cover
foundations of the algorithmic theory of graphs and digraphs.
We will discuss first some basic facts from graph theory
and discuss applications of graphs (in real life and in communication
networks and data structures).
Then we will present efficient algorithms for most basic problems
on graphs:
framework of graph traversing (depth-first search and breadth-first search),
minimum spanning trees,
shortest paths problems,
matching and assignment problem, and
maximum flow problem.
In the last part of the course we will discuss some more advanced
topics in algorithmic graph theory:
planar graphs and planarity testing,
connectivity problems,
theory of graph minors (tentatively),
and approximation graph algorithms.
In this course the main emphasis is on
understanding algorithms on graphs.
Much of the material covered will be presented on a high level
and we will try to avoid going into technical implementations details.
A very important part of this course will be devoted to the issue
of the analysis of graph algorithms.
Therefore, we will present quite a few proofs of algorithms
correctness (for me personally - an algorithm without any arguments
showing its correctness is useless).
We will also analyze some foundamental properties of graphs.
Prerequisite: CIS 610
(if you didn't take this course, then contact the instructor immediately)
Description from the NJIT undergraduate course catalog:
CIS 665: Algorithmic Graph Theory
The elements of the theory of graphs and
directed graphs with motivating examples from communication
networks, data structures, etc; shortest paths, depth first search,
matching algorithms, parallel algorithms, minimum spanning trees,
basic complexity theory, planarity, and other topics. Programming
assignments are included.
-
Grading will be based on 5 problems sets (homeworks),
two programming assignments, an in-class midterm, and a final.
-
Final exam
will take place on
May 4, 8:30am-11:00am, in KUPF 202.
It is open textbook and it is worth
300 points.
The final exam is cumulative and covers all course material.
-
Midterm exam
took place place on March 6, 2001.
It was open textbook and it was worth 200 points.
Midterm covered the following material:
- Graph representations (adjacency matrices, adjacency lists, etc.)
- Graph traversals (depth-first search, breadth-first search - in undirected and directed graphs; and also properties of dfs-numbering, etc)
- Topological sorting
- k-connectivity and biconnectivity (including algorithms for testing if a given graph is k-vertex (or -edge) connected, and Menger's theorem)
- Minimum spanning trees (meta-algorithm, proof of its correctness, its "implementations": Kruskal algorithm, Prim algorithm, round-robin algorithm)
It was assumed (or required) that students understand the
material presented in the class and hence, that students are
able to use/manipulate these algorithms, know and use their
properties, etc.
Students should also know how to analyze algorithms, that is,
how to provide the analysis of the correctness of an algorithm,
the analysis of the running time of the algorithm, and
eventually, how to prove a lower bound for the running time (that
is, to show that no algorithm solving given problem can run (in
the worst-case) faster than in ??? time).
As always in this course, the efficiency of the algorithms designed
played a very crucial role.
-
The assignments included periodic
problem sets and one
programming assignment.
Five problem sets will be handled out.
Each problem set is worth 50 points.
Two programming assignment will be handled out.
The programming assignments are worth
50 points and it will require implemention
either in C or in C++.
Tentative schedule of assignments:
The two homeworks (out of the five problem sets and two programming
assignment) with the lowest grade will be dropped from grade
consideration.
Thus, the homeworks contribute a total of at most
250 points towards the final grade.
-
Homeworks will posted on the course Web-page
http://www.cis.njit.edu/~czumaj/TEACHING/CIS665-S01.html
both in postscript and in Adobe Acrobat format.
-
Homeworks are due at the start of class on their due date.
They can be submitted either per email
czumaj@cis.njit.edu
or be delivered in a hard-copy at the beginning of the class.
Handwritten or typed solutions will be accepted.
No later solutions will be taken into consideration!
-
If the homework is to be submitted per email,
it must be in one of the following formats:
postscript file (preferable),
pdf-file (2nd preference),
ASCII text, Word format.
-
Solutions must be readable (especially handwritting!!!), concise
and complete.
Show your work, as partial credit will be given.
You will be graded not only for the correctness and efficiency
of your answers, but also on your clarity.
Be neat.
-
Bonus points will be awarded for answers that are particularly
clever, simple, or efficient.
-
Each time you must design an algorithm, try to design it
as efficient as possible.
The faster algorithm you will describe the better grade
you will get.
-
Unless it is stated otherwise, each algorithm described
must be provided with a full analysis of its correctness
and its running-time.
-
The work you turn in must be your own personal work,
composed and written by you.
If you discuss a problem with a fellow student, you must
mention this clearly in your homework (name the fellow
student before the solution of the problem in question).
Your work will then be compared to the other student's work
to verify that your solution was written by you and reflect
your own personal effort.
If you don't report it, it will be considered a violation
of the course rules, as described in the
General Collaboration Policy section.
(Collaboration of this kind is not allowed in the midterm
and final exams.)
-
Cheating:
it is surprisingly easy to detect when students are not doing
their own work.
Working with others on the assignments does not mean
dividing the problems among you, and then swapping the answers.
|
Exams, Homeworks, and Programming Assignments:
|
-
FINAL GRADES
Students works will not be returned, but every student can come to the instructor's office (by appointment) to see her/his works with the instructor's comments and discuss the grades.
-
Final exam
took place on
May 4, 8:30am-11:00am, in KUPF 202.
It was open textbook and it was worth
300 points.
-
Midterm exam took place on on March 6, 2001.
-
Problem Set 5 was due (6:00 pm) May 1, 2001
Problem set in postscript format and in (Adobe) PDF-format.
Solutions to Problem Set 5 in postscript format and in PDF format (a better quality pdf file but without figures is available too).
-
Problem Set 4 was due (9:00 am) April 17, 2001
Problem set in postscript format and in (Adobe) PDF-format.
Solutions to Problem Set 4 in postscript format and in PDF format.
-
Problem Set 3 was due (9:00 am) March 20, 2001
Problem set in postscript format and in (Adobe) PDF-format.
Solutions to Problem Set 3 in postscript format and in PDF format.
-
Problem Set 2 was due (9:00 am) February 20, 2001
Problem set in postscript format and in (Adobe) PDF-format.
Solutions to Problem Set 2 in postscript format and in PDF format.
-
Problem Set 1 was due (2:00 pm) January 31, 2001
Problem set in postscript format and in (Adobe) PDF-format.
Solutions to Problem Set 1 in postscript format and in PDF format.
-
2nd Programming assignment
was due (6:00 pm) May 4, 2001.
Comments:
even though most of the programs were OK,
none of the programs has been properly
commented!
I always assumed you know that while programming you must always
comment your code, the comments must be very complete, etc.
-
1st Programming assignment
was due (8:30 am) 12:00pm on Wednesday, April 4, 2001.
-
Main textbook:
T.H. Cormen, C.E. Leiserson, and R.L. Rivest,
»Introduction to Algorithms«,
The MIT Press/McGraw Hill, 1990
- Large part of the course will follow chapters 5 and 23-27
from the main textbook.
However, this textbook
will not
cover some parts of the material presented in the class!!!
- Notes about biconnectivity algorithms are available as a
postscript file
(this file was prepared in 1998 by Prof. Dave Mount from CMU)
- Additional references:
- K. Mehlhorn "Data Structures and Algorithm.
Volume II: Graph Algorithms and NP-Completness."
(especially the part on planar graphs that is available in postscript here)
If You will find this course interesting and You're still looking
for a topic of your PhD - You can make Your PhD in a topic related
to algorithms.
All of You are very welcome.
If You have interest then please contact me via email
czumaj@cis.njit.edu.
Artur Czumaj, June 30, 2001
|
|
|