关键词 > COMP5970/6970-003

COMP 5970/6970-003 Graph Algorithms Fall, 2022

发布时间:2022-08-22

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COMP 5970/6970-003

Graph Algorithms

Fall, 2022

Course Description

Graphs are perhaps the most general and versatile data model. This course covers ways to cast real problems as graph theory problems and solve them with algorithms dealing with paths, trees, cuts, partitions, clusters, optimized search, and much more.

Course Materials

• Lecture notes will be made available on Canvas. There is no textbook for this course. There should be one lecture note per week of classes except for the midterm and nal week.

Prerequisites/Corequisites

Prerequisites: Introduction to Algorithms Suggested: Linear algebra

Other requirements, languages used

Languages: Python, bash scripting (basic knowledge of both is expected) Packages and software

used: networkx, graphviz, gephi

Course Objectives

Successful students:

1. Can cast real world problems into graph problems and identify the appropriate graph algorithm to solve them

2. Can implement these algorithms from scratch as well as use packages to run these algo- rithms on real world problems

3. Have multiple ways to inspect graph structures with a variety of graph visualization tools

Course Structure

Assignments

Assignments will be in the form of weekly homeworks (12 planned, but this may be reduced). The homeworks will have some short answer and some coding sections. The lowest 2 homework grades will be dropped.  I will try to be explicit about what packages are allowed and what functions are not allowed, but use common sense if the point of the assignment is to implement algorithm x, you cannot use package.x().

Late Policy

Each student is allowed 5 late days.   No more than 3 late days may be used on any single homework. After that, I will count it toward your dropped homeworks up to the 2 allowed.

Grading

Your letter grade will follow the standard numerical scale A: [90, 100], B:[80, 90), C: [70, 80), D: [60, 70), F: [0, 60)

1.  Exams (45%): Midterm: 20%, Final: 25%

2.  Homeworks 55% lowest 2 homeworks will be dropped.

The final exam will be given on the last day of the course and not on the day designated in the nal exam schedule. Assignment and nal grades may be scaled up but not down according to whether I think those with mastery of the material are receiving an A or not. Example exam questions might be something like What problem is Karger’s algorithm trying to solve:  be specific. ” and How does Karger’s algorithm go about solving this problem for unweighted graphs?” Good answers to these would be ”finding the minimum weight cut in a graph” or ”global min-cut (not min s-t cut)” and Karger’s algorithm picks random edges and contracts the nodes on either end into a new node.  It then deletes self edges and proceeds until there are only 2 nodes left.   The remaining edges between these two nodes represent a cut in the original graph that is probabilistically a small cut. It repeats this process many times and picks the smallest which is probabilistically the min-cut. ”

Course Policies

0.1   Attendance

Class attendance is required but lax. You may miss up to 8 days (the class meets 42 days including a midterm and nal on the last day of class) with no repercussions.  Any more than 8 days

unexcused will result in a single letter grade reduction. Any additional absent days need to be official excused absences through the university.  Phones should be on silent and any audible ring or notification will result in public shaming.

0.2   Excused Absences

Students are granted excused absences from class for the following reasons: Illness of the student or serious illness of a member of the student’s immediate family, death of a member of the student’s immediate family, trips for student organizations sponsored by an academic unit, trips for University classes, trips for participation in intercollegiate athletic events, subpoena for a court appearance and religious holidays.  Students who wish to have an excused absence from this class for any other reason must contact the instructor in advance of the absence to request permission.  The instructor will weigh the merits of the request and render a decision.  When feasible, the student must notify the instructor prior to the occurrence of any excused absences, but in no case shall such notification occur more than one week after the absence. Appropriate documentation for all excused absences is required.

0.3   Make-Up Policy

Arrangements to make up missed major examination (e.g.  mid-term exams) due to properly authorized excused absences. Except in unusual circumstances, such as continued absence of the student or the advent of University holidays, a make-up exam will take place within two weeks from the time the student initiates arrangements for it.

0.4   ADA Policy

Students who need accommodations are asked to electronically submit their approved accommo- dations through AU Access and to make an individual appointment with the instructor during the first week of classes or as soon as possible if accommodations are needed immediately. If you have not established accommodations through the Office of Accessibility, but need accom- modations, make an appointment with the Office of Accessibility, 1228 Haley Center, 844-2096 (V/TT).

0.5   Academic Honesty

All portions of the Auburn University Student Academic Honesty code (Title XII) found in the Student Policy eHandbook at http://www.auburn.edu/student info/student policies/ will ap- ply to this class. All academic honesty violations or alleged violations of the SGA Code of Laws will be reported to the Office of the Provost, which will then refer the case to the Academic Honesty Committee.

Schedule and weekly learning goals

The schedule is tentative and subject to change. The learning goals below should be viewed as the key concepts you should grasp after each week, and also as a study guide before each exam,

and at the end of the semester.  Each exam will test on the material that was taught up until 1 week prior to the exam.

Week 01, 08/15 - 08/19:   Introduction to graphs

Nodes, edges, weights, directed edges, node degree

 Adjacency matrix, adjacency list, edge list

DAGs, trees, bipartite, non-negative weighted, planar, hypergraphs

 Connected components, cliques, strongly connected components, paths, cuts, matchings

 Depth and breadth rst search

Week 02, 08/22 - 08/26:   Connected components and spanning trees

Union-find / disjoint set

 Path compression

 Minimum spanning tree

Kruskals algorithm

Prim-Jarnik algorithm

 Homework 1 due Friday

Week 03, 08/29 - 09/02:   DAGs

• Scheduling, Causal structures: bayesian networks, Geneology, Version control history, Ci- tation graphs

Cycle detection

Topological sort

 Strongly connected components

 Homework 2 due Friday

Week 04, 09/05 - 09/09:   Shortest Paths

Dijkstras algorithm

Bellman-ford

 Hamiltonian and Eularian paths

 Homework 3 due Friday

Week 05, 09/12 - 09/16:   All shortest Paths

Floyd-warshall algorithm

Johnsons algorithm

 Homework 4 due Friday

Week 06, 09/19 - 09/23:   Optimized search

 A* search

Branch and bound

 Homework 5 due Friday

Week 07, 09/26 - 09/30:   Matchings

• Fair assignments medical residency placement, personal research example  polyploid phasing

Maximizing productivity through task assignment

 Bipartite stable matching aka the stable marriage problem - Gale-Shapeley algorithm

 General stable matching aka the stable room mate problem - Irvings algorithm

 Bipartite assignment problem - The Hungarian method

 General assignment problem - Blossom algorithm

 Homework 6 due Friday

Week 08, 10/03 - 10/07:   Midterm

 Midterm

 Fall break!

Week 09, 10/10 - 10/14:   Max ow-min cut

Max ow-min cut duality

 Electrical grid throughput, personal research example multiple sequence alignment

 Ford-fulkerson algorithm

 Edmonds-Karp algorithm

 Kargers algorithm

Week 10, 10/17 - 10/21:   Graph clustering

 Spectral clustering

Markov clustering

Louvain method

 Homework 7 due Friday

Week 11, 10/24 - 10/28:   Graph visualization

Graphviz

 Gephi

  dot format

 Homework 8 due Friday

Week 12, 10/31 - 11/04:   K nearest neighbors

Construction of sparse graph from euclidean or other multi-dimensional data

Data reduction / dimensionality reduction

Classication

 Ball-tree construction

 kd tree construction

 Homework 9 due Friday

Week 13, 11/07 - 11/11:   Vertex cover

Integer linear programming

Approximation algorithm

 Homework 10 due Friday

Week 14, 11/14 - 11/18:   Graph Coloring

On planar graphs

Determining if a graph is planar

 On non-planar graphs

 Homework 11 due Friday

Thanksgiving, 11/21 - 11/25:


Week 15, 11/28 - 12/02:

Review and Final exam

 Homework 12 due Friday

1   Statements

1.1   Diversity & Inclusion

It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students?  learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, religion, sexual- ity, disability, age, socioeconomic status, veteran status, ethnicity, race, and culture. All students in this course are expected to respect their fellow classmates and actively participate in fostering an inclusive learning environment. If you experience anything in this class that makes you feel uncomfortable, please bring it to my attention and we will formulate a response. If you would prefer to remain anonymous you may complete a Bias Incident Report which will maintain your confidentiality at: http://studentaffairs.auburn.edu/bert/submit-a-report-of-bias/

Your suggestions are encouraged and appreciated.  Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups.