CS 594:
Representations in Algorithm Design
Spring 2022
General Information |
Topics |
Grading |
Scribe Notes |
Homework |
Final
Project
General Information
Instructor: Xiaorui Sun
Email: xiaorui@uic.edu
Office hours: Thueday 2pm-3pm on zoom
Classroom: TBH 180B or zoom (first two weeks)
Time: Tues/Thurs 12:30pm-1:45pm
Course website (this page): http://www.cs.uic.edu/~xiaorui/cs594/
Textbook: No textbook
Introduction
In the long history of algorithm design, it is crucial to transform
objects to appropriate structures (i.e., representations) to make
properties of objects more concrete so that solving problems on the
representations becomes easier. Most notably, many matrix algorithms are
based on eigendecomposition to represent matrices in terms of
eigenvalues and eigenvectors.
Additionally, in the era of big data, dynamic, streaming, or parallel
data processing becomes necessary, and also raises new challenges in
algorithm design, as the tradeoffs between different efficiency measures
need to be balanced.
To design efficient algorithms in these computational models, it is also
desirable to represent data properly so that dynamic, streaming, or
parallel process is possible.
This course aims at timely dissemination of foundational algorithmic
developments from a representation viewpoint.
This course will
introduce variant representations of combinatorial objects, and discuss
how these representations are used to design efficient algorithms for
computational problems.
Topics
-
Graph representations
- Trees and dynamic connectivity
-
Expanders and expander decompositions
-
Graph sparsification
-
Low diameter decomposition and short cycle decomposition
-
Matrix representation
-
Linear system solver
-
Tensor and matrix multiplciation
-
Dynamic programming
-
Approximation of dynamic programming
Materials
- Dynamic connectivity
- [HK96] Randomized dynamic graph algorithms with polylogarithmic time per operation
- Low stretch spanning tree
- [AKP+95] A Graph-Theoretic Game and Its Application to the k-Server Problem
Grading
-
Scribe notes (30%)
-
Homework (30%)
-
Research project or paper presentation (30%)
-
Class participation (10%)
Scribe Notes
Click here to obtain scribe notes from the lectures.
Homework
Click here to obtain homework.
Final Presentation
Click here to obtain final project
information.