4520/6520 Algorithms

 

 

LECTURES in PPT

Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10
Lecture 11
Lecture 12
Lecture 13
Lecture 14
Linear Programming
FFT
Lecture 15
Lecture 16
Lecture 17

Samples of graduate projects:
Forwarding Neighbors
Greedy Triangulation


Some DEMOS: Convex Hull Graham scan
Voronoi
Floyd-Warshall Bellman-Ford
Stable Marriage
Sweep Line

Textbook: "Introduction to Algorithms" by Cormen et al (old edition/new edition) 


GRADUATE PROJECTS: 

1.        Dynamic Programming on a line for  paper 5 from 2003

2.        Minimum spanning tree via different algorithm

3.        Anything you suggest – should make appointment


All graduate students should have their project topics chosen and acknowledged by March 17. 

ANNOUNCEMENTS/HOMEWORKS/ASSIGNMENTS 


Turning-in/grading policy: 
- Full grade = homework is e-mailed to GLA before the beginning of the class on due date;
- No (zero-) grade = afterwards 
For extra-credit problems the grade is calculated as follows: 
- the number of points assigned is divided by the number of correct answers 
- credit is given only if the answer is turned in the beginning of the class on due date 
All questions on HW/Quiz grading should be addressed to GLA  Irina Astrovskaya email: iraa@cs.gsu.edu


 

  1. Homework 1:  due Tuesday 01/15                                                        

(a)    1.2-2, 1.2-3, p. 13 (new edition)

(b)   Extra credit: Give an algorithm for exchanging 2 memory contents X and Y without using any extra memory. Due

  1. Homework 2. Tuesday 01/22

(a)    HW: 4-1 p.85, 4-6 p.87

(b)   Extra credit: One asks another: How many kids do you have? – 2. At least one of them is a boy? Yes. What is the probability that the other is a boy?

  1. Extra-credit problems (due Thursday 01/24):

(a)    Given lever scales (i.e., scales with two cups, after each measurement they show either left or right cup content is greater or the contents are equal) and a set of 12 coins in which exactly one coin is false and either lighter or heavier than any other coin which is standard. In 3 tests find the false coin and tell if it is heavier or lighter than a standard one.

(b)   Describe the algorithm which in 7 comparisons correctly sorts five unequal numbers (rocks) A1, A2, A3, A4, A5

(c)    There are 25 horses and a 5 race lanes. If a horse A is faster than horse B, then in any race A will finish earlier. In 7 races find the fastest horse, the second fastest and the 3d fastest horses.

  1. Homework 3, Due 01/29:

(a)    6-1 p.142 and 6-2 p.143

(b)   Extra credit: Describe the algorithm which in 6 comparisons correctly finds median (the third) out of five unequal numbers (rocks) A1, A2, A3, A4, A5

(c)    Extra credit: Prove that a monk coming up down of a tower (in two different days) should be in the same place in the same day time.

  1. QUIZ 1 Thursday 01/31
    Master Theorem, Insertion/Merge/Quicksort, Randomized selection, Heapsort, lower bounds, Binary Search Trees,
  2. Homework 3, Due 02/12:

(a)    22-3 p.559

(b)   Give an example of a pentagon where greedy algorithm does not give optimal solution

(c)    (extra credit) Give the worst-case example for performance of the greedy algorithm for minimum length triangulation of a convex polygon, i.e., describe an example of convex polygon, give greedy algorithm solution, the optimum solution and the ratio of the greedy over optimum length.

  1. Homework 4, Due 02/19

(a)    Prove using Euler's formula that, 3 houses - 3 wells graph, K_{3,3}, is not planar

(b)   For Petersen graph (complement of line graph of K5): show how to draw on the plane with two self-intersections and  (extra-credit) prove that it cannot be drawn with a single self-intersection

(c)    Prove that the faces of the Eulerian planar graph G=(V,E) can be colored into two colors such that any two adjacent faces (i.e., faced with common border edge) have different colors. HINT. Show that in the dual graph G' (in which each node is a "capital" of each face and two capitals are connected iff the faces are adjacent) does not contain odd cycles

  1. Extra-credit, Due 02/21

(a)    A guy is coming to a train station in a random time and takes the first train. Trains go west each 10 minutes and go east each ten minutes. After several months he finds out that he goes west several times more often than east. Why?

(b)   Draw 10 “right” stars of the same size without taking hand from paper

(c)    Put 4 empty bottles from Champaign on the table such that the distance between any 2 of 4 bottle necks would be the same

  1. Homework 5, Due 02/26

(a)    24-2 and 24-3 p.615

  1.  QUIZ 2, Thursday 02/29  

Graph Representation, Planar Graphs, Greedy algorithm, MST, Depth/Breadth First Search, Bellman-Ford, Dijkstra

  1. Programming assignment - due 03/20
    Implement DIJKSTRA's algorithm for Single Source Shortest Path Problem with Binary Heaps. The running time should be O(ElogV)
    SUBMITION INSTRUCTIONS:
    send e-mail to iastrovskaya1@student.gsu.edu with the link (see instructions: here ) to the zip-file with the source code in C/C++/JAVA (JDK) and executable on PC.
    Your program should read data from file (see samples below) and output a single number = sum of lengths of the shortest paths from node 0 to each node.
    INPUT FORMAT: The first line of each file below contains the number of vertices and the number of edges in the graph (in the format "n=XXXX m=XXXXX"). The rest of the file is organized as follows:
    each vertex i appears on a line by itself, followed by a line for each neighbor j>i of i (containing j and the length of edge (i,j)). Each list of neighbors is ended by an empty line. Vertices i which do not have neighbors with an index greater than i are not represented.
    NOTE: Vertices are indexed from 0 to n-1.
    NOTE: each edge is mentioned only once with its smaller number endpoint
    SAMPLE INPUT:
    1. first input
    2. second input
    the length of the shortest path tree should be 10721073 and 625349 respectively.
    Program should give output in 3-10 seconds for the first input and less than 1 second for the second.
  2. QUIZ 3 Thursday 03/27

            Dynamic Programming.

All-pairs shortest paths:

Matrix multiplication, Floyd-Warshall, Johnson's
Segment intersection

Convex Hull

  1. QUIZ 4 Tuesday 04/15

Closest pair (D&C)

Voronoi graph/diagram

Rectilinear & Octilinear metrics

Zero-skew trees

Steiner trees

Minimum Disk covering n points

NP-completeness

  1. Graduate Presentations, quiz overview, Tuesday 04/22
  2. QUIZ 5 (short) Thursady 04/24

Max independent set (reduction from 3CNF)

Max clique/Min vertex cover

Approximation algorithms

Vertex cover/Traveling Salesman

  1. Final exam overview, Thursday 04/24
  2. Final exam, Tuesday 04/29, 12:30-2:30 pm
  3. The graduate project final report and code due 05/05