# One-Dimensional Computational Topology

## CS 598 JGE, Spring 2023

### Main❖Schedule❖Exercises (pdf)  ❖Projects

For each lecture, I provide links to typeset notes (at least until I run out of steam), scribbles ("boardwork"), videos, and other reading/viewing material. (Warning: External links to papers rot over time.) Lecture topics in (parentheses) were briefly sketched or skipped entirely in the actual lecture, but may still appear in the lecture notes. A complete archive of lecture videos is available on a separate site. (Lecture videos from 2020 are also available.) The symbol 🆕 indicates lecture notes that were newly written in 2023; these notes are much more likely to be incomplete.

All future lecture topics are subject to change.

### Polygons in the plane

Jan 18
Simple polygons: Jordan polygon theorem, point-in-polygon algorithm, trapezoidal decompositions, polygon triangulations
[ html notes, pdf notes, scribbles, video, Eames 1961 ]
[ 2020 scribbles, 2020 video ]
Jan 20
Winding numbers: Fast and Loose, non-simple polygon area, winding number definitions, homotopy, (safe) vertex moves, simplicial approximation, homotopy invariance
[ html notes, pdf notes, scribbles, video, Brushwood 2009 ]
[ 2020 scribbles, 2020 video ]
Jan 25
Homotopy testing: crossing sequences, reduction, uniqueness, homotopy invariance again
[ html notes, pdf notes, scribbles, video, ]
[ 2020 scribbles, 2020 video ]
Jan 27
Faster homotopy testing: trapezoidal decomposition, horizontal and vertical ranks, rectification, bracket slides, (layered range trees)
[ html notes, pdf notes, scribbles, video, Cabello Liu Mantler Snoeyink 2003, Efrat Kobourov Lubiw 2006 ]
[ 2020 scribbles, 2020 video, ]
Feb 1
Shortest homotopic paths: triangulation, crossing sequences, reduction, the funnel algorithm, holes for free!
[ html notes, pdf notes, scribbles, video, Leiserson Maley 1985, Hershberger Snoeyink 1994 ]
[ 2020 scribbles, 2020 video ]

### Planar curves

Feb 3
Immersions, image graphs, homotopy moves, Steinitz's contraction algorithm, $n$ vertices implies $n+2$ faces, signed Gauss codes, Gauss diagrams, tracing faces
[ html notes, pdf notes, html notes 2, pdf notes 2, scribbles, video, Carter 1991 ]
[ 2020 scribbles, 2020 video, 2020 scribbles 2, 2020 video 2 ]
Feb 8
Winding numbers again, Alexander numbering again, smoothing, unsigned Gauss code planarity, parity (Gauss, Nagy), tree-onion figures (Dehn), bipartite interlacement (Rosensteihl)
[ html notes, pdf notes, scribbles, video ]
[ 2020 scribbles, 2020 video ]

### Planar maps

Feb 10
Abstract graphs (darts), topological graphs, data structures, embeddings, maps, rotation systems, duality, derived maps
[ html notes, pdf notes, scribbles, video ]
[ 2020 scribbles, 2020 video ]
Feb 15
Deletion and contraction, tree-cotree decomposition, Euler's formula, discrete Gauss-Bonnet formula
[ html notes, pdf notes, scribbles, sorry no video ]
[ 2020 scribbles, 2020 video ]
Feb 17
Straight-line embedding, star-shaped-hole filling, canonical ordering, Schnyder woods, grid embedding
[ html notes, pdf notes, scribbles, video, De Fraysseix Pach Pollack 1990, Schnyder 1990 ]
[ 2020 scribbles, 2020 video ]
Feb 22
Equilibrium stresses, Tutte's spring embedding, polyhedral embeddings
[ html notes, pdf notes, scribbles, video Tutte 1963, Floater 1997, Spielman 2018 ]
[ 2020 scribbles, 2020 video ]
Feb 24
🆕 The Maxwell–Cremona correspondence: planar frameworks, reciprocal frameworks, polyhedral lifts
[ scribbles, video, html notes, pdf notes ]
Feb 28
Paper chase assignment due

### Planar paths, cuts, and flows

Mar 1
Parametric multiple-source shortest paths: shortest paths, slacks, active darts, pivots, disk-tree lemma, dynamic forest data structures
[ html notes, pdf notes, scribbles, video, Klein 2005, Cabello Chambers Erickson 2013 ]
[ 2020 scribbles, 2020 video ]
Mar 3
Class cancelled; Jeff was sick
Mar 8
🆕 Recursive multiple-source shortest paths: properly shared edges, contraction, distance queries, $O(n)$ vertices at every level of recursion
[ html notes, pdf notes, scribbles, video, Das, Kipouridis, Probst-Gutenberg, Wulff-Nilsen 2022 ]
Mar 10
Separators and $r$-divisions: tree separators, fundamental cycles, level separators, cycle separators, good $r$-divisions
[ html notes, pdf notes, scribbles, video, Klein Mozes Sommer 2012, Har-Peled Nayyeri 2018 ]
[ 2020 scribbles, 2020 video ]
Mar 18
Undergraduate drop deadline
Mar 13-17
Spring break — No lectures
Mar 22
Faster shortest paths: dense distance graphs, generalized nested dissection, sketch of FR-Bellman-Ford
[ html notes, pdf notes, scribbles, video, Lipton Rose Tarjan 1979, Fakcharoenphol Rao 2006, Klein Mozes Weimann 2009 ]
[ 2020 scribbles, 2020 video ]
Mar 24
Faster shortest paths: Monge arrays, SMAWK, FR-Bellman-Ford
Minimum cuts: shortest cycle in dual annulus, MSSP, Reif's divide-and-conquer algorithm
[ html notes, pdf notes, scribbles, video, Reif 1983 ]
[ 2020 scribbles, 2020 video ]
Skipped
FR-Dijkstra and faster minimum cuts
[ html notes, pdf notes, 2020 scribbles, 2020 video, Fakcharoenphol Rao 2006, Italiano Nussbaum Sankowski Wulff-Nilsen 2011 ]
Mar 29
Maximum flows: definitions, boundary circulations, Alexander numbering, feasible circulations dual to shortest paths, maxflow by binary search, maxflow via parametric shortest paths
[ incomplete html notes, incomplete pdf notes, scribbles, updated SODA 2011 slides, video, Borradaile Klein 2009, Erickson 2010 ]
[ 2020 video ]

### Surface maps

Mar 31
Surface maps: 2-manifolds, polygonal schemata, cellular embeddings and rotation systems, orientation and genus, band decompositions, reflection systems, deletion and contraction
[ html notes, pdf notes, scribbles, video, ]
[ 2020 scribbles, 2020 video ]
Apr 3
Project proposals due
Apr 5
Overview of submitted project proposals
[ 🔒 all proposals, 🔒 video ]
Apr 7
Surface classification: Kerékjártó-Rado theorem, tree-cotree decompositions, systems of loops, handles, twists, Dyck's surface, classification, Euler characteristic, discrete Gauss-Bonnet
[ html notes, pdf notes, scribbles, video, Conway (via Francis Weeks) 1999 ]
[ 2020 scribbles, 2020 video ]
Apr 12
🆕 Tree-cotree infrastructure 1: Cut graphs, homotopy, crossing and traversal paths, spike and face (bigon and vertex) moves, systems of loops, cycle spaces
[ html notes, pdf notes, scribbles, video, Erickson Har-Peled 2003, Eppstein 2003 ]
Apr 14
Homotopy testing (Dehn's algorithm): reduction to system of loops, universal cover, discrete Gauss-Bonnet, Dehn's lemma, radial map, system of quads, (spurs and brackets, run-length encoding)
[ html notes, pdf notes, scribbles, video 1, video 2, Lazarus Rivaud 2012, Erickson Whittlesey 2013 ]
[ 2020 scribbles, 2020 video ]
Apr 14
Graduate drop deadline
Apr 19
🆕 Planarizing and separating surface maps: Menger's theorem, systolic bounds, multicycle separators, depth contours, planarizing subgraphs of size $O(\sqrt{ng})$, (nice $O(n/g)$-divisions, fast shortest paths)
[ html notes, pdf notes, scribbles, video (soon), Eppstein 2003 ]
Apr 21
🆕 Shortest interesting cycles: Contractible vs separating, simplicity, 3-path condition, shortest-path crossing, $O(n^3)$ time, dual cut-graph classification, $O(n^2 \log n)$ time
🆕 Homology: Even subgraphs, boundary subgraphs, homology classes, system of cycles, vector spaces, dimension counting
[ html cycles notes, pdf cycles notes, html homology notes, pdf homology notes, scribbles, video, Erickson Har-Peled 2004 ]
[ 2020 scribbles, 2020 video ]
Apr 21
ICES evaluation forms released
Apr 26
🆕 Homology, continued: crossing numbers, cohomology, cosnargles, systems of cocycles, homology annotations
🆕 Shortest interesting cycles, continued: Sketch of parametric MSSP, sketch of recursive contraction MSSP, crossing bounds, shortest nonseparating cycle in $O(g^2 n \log n)$ time, (shortest noncontractible cycle)
[ html cycles notes, pdf cycles notes, html homology notes, pdf homology notes, scribbles, video, Cabello Chambers Erickson 2013 ]
[ 2020 scribbles, 2020 video ]
Apr 28
Minimum cuts: duality with minimum-weight homologous even subgraph, homology in surfaces with boundary (forest-cotree and tree-cofrest decompositions), $\mathbb{Z}_2$-homology cover, minimum-weight homologous cycles (MSSP again), dynamic programming
[ sorry no notes, scribbles, video, Chambers Erickson Fox Nayyeri 2023 ]
[ 2020 scribbles, 2020 video, ]
May 3
Maximum flows: pseudoflows, circulations, boundary circulations, $\mathbb{R}$-homology, flow homology basis, feasible boundary circulation $\leftrightharpoons$ shortest paths with negative edges, flow homology polytope, implicit linear progamming, ellipsoid method
[ sorry no notes, scribbles, video, Chambers Erickson Nayyeri 2012 ]
[ 2020 scribbles, 2020 video, ]
May 3
Project reports due
May 4
Last day to submit ICES evaluation forms
May 5–11
🔒 Final project presentations

### Related topics I didn't have time for

This list is far from exhaustive! Topics in bold are the omissions I regret most.
• Polygons: weakly simple polygons [Meister, Minc, Skopenkov, ...], Fréchet distance [Alt Godau], mountain climbing [Homma, Huneke], linkages and rigidity, carpenter's rule theorem [Connelly Demaine Rote, Streinu]
• Topological combinatorial geometry: Jordan curve theorem via Hex/Y, pseudoline arrangements, order types [Goodman Pollack], stretchability and universality [Mnëv, Shor, ...], $\exists\mathbb{R}$-completeness
• Generic curves: self-overlapping curves, homotopy area
• Planar map structures: Forbidden minors [Kuratowski, Wagner], Steinitz's theorem (Tutte-Maxwell or via medial curve simplification), Alexandrov's theorem, Koebe-Andreev-Thurston circle-packing, squared rectangles [Dudeney, Dehn, Brooks Tutte, ...], electrical reduction [Kennelly, Steinitz, Feo Provan, Truemper, ...], Hanani-Tutte theorem, Okamura-Seymour theorem, crossing lemmas [Ajtai Chvátal Newborn Szemerédi Leighton], rigidity, pseudo-triangulations, the carpenter's rule, string graphs, distributive flow lattices [Khuller Naor Klein], flip graphs
• Planar graph algorithms: enumeration/random sampling [Tutte], planarity testing, morphing [Steinitz Rademacher, Cairnsl, Floater-Gostman], maximum cut $\leftrightharpoons$ Chinese postman [Hadlock], planar graph isomorphism [Weinberg Hopcroft Tarjan Wong], planar network simplex, spanners, approximate distance oracles, Gomory-Hu trees, multi-terminal maximum flow, subquadratic diameter, weak embeddings, clustered planarity, branchwidth and other width parameters, approximation by low-diameter decomposition [Baker, Eppstein], approximation via local search [Mattieu], appromimation via brick decomposition [Klein, Demaine, inter alia], contour trees, terrain simplification, homotopy height
• Surface map structures: Discrete differential geometry (an entire course), graph minor theory [Robertson Seymour] (an entire course), toroidal geodesic/periodic straight-line embeddings, geodesic spring embedding [Colin de Verdière oncle, Hass], circle packing [Thurston, Colin de Verdière oncle, Mohar], systolic inequalities, holiest paths and flows, toroidal Maxwell-Cremona [Erickson Lin], piecewise-linear surfaces, flat surfaces, intrinsic Delaunay triangulations
• Surface map algorithms: Canonicalizing systems of loops [Dehn, Brahana], Reeb graphs, mesh simplification, genus approximation [Sidiropoulos et al.], curve tracing [Erickson Nayyeri, Bell], isotopy testing [Colin de Verdière neveu, De Mesmay], shortest homotopic paths [Colin de Verdière neveu, Lazarus, Erickson], optimal cycle bases, optimal homology bases, Gomory-Hu trees, normal-curve tracing [Erickson Nayyeri, Bell], homotopy area [Chambers Wang], more approximation algorithms (an entire course), persistent homology (an entire course)