computer science 365: design and analysis of algorithms last … · 2017-04-28 · neglected topic:...
TRANSCRIPT
![Page 1: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/1.jpg)
Computer Science 365:Design and Analysis of Algorithms
Last lecture
What we didMy favorite problemMy favorite heuristic Exciting developmentsTopics we’ve neglectedLies I’ve toldWhat else to takeWhere to learn more
![Page 2: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/2.jpg)
Business
We will need ULAs next year.
Please consider signing up.
![Page 3: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/3.jpg)
What we did
Stable MatchingGreedy AlgorithmsDynamic ProgrammingDivide and ConquerFlowNP-CompletenessApproximation AlgorithmsRandomized Algorithms
Patience and Perseverance
![Page 4: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/4.jpg)
Favorite Problem(s):Graph bisection:
divide vertices V into two sets A and Bof equal size,cutting as few edges as possible
A
![Page 5: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/5.jpg)
5
Sparsity of cut (A,B)
Sparsity of G
Favorite Problem: Sparsest Cut
![Page 6: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/6.jpg)
6
Sparsity
A AA
![Page 7: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/7.jpg)
7
Sparsity
A
![Page 8: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/8.jpg)
8
A
Why Sparsest Cut:
Clustering in graphsOrganizing data
![Page 9: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/9.jpg)
9
Why Sparsest Cut:
Dividing computation over processors.
![Page 10: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/10.jpg)
10
Why Sparsest Cut:
Dividing computation over processors.
![Page 11: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/11.jpg)
11
Why Sparsest Cut:
Generalized Divide and Conquer (3-SAT)
Variables -> verticesClauses -> cliques (edges on all pairs)
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
![Page 12: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/12.jpg)
12
Why Sparsest Cut:
Generalized Divide and Conquer (3-SAT)
Variables -> verticesClauses -> cliques (edges on all pairs)
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
Cut vertices instead of edges
![Page 13: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/13.jpg)
Complexity of Sparsest Cut
Exact solution NP hard.
If (1+ε)-approximation, then SAT is in time , α < 1
Can approximate within
Really good heuristics (Chaco, Metis, Scotch)by multilevel methods.
2O(n↵)
O(
plog n)
![Page 14: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/14.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
![Page 15: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/15.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
1.Match nodes at random, and merge
![Page 16: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/16.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
1.Match nodes at random, and merge
![Page 17: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/17.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
1.Match nodes at random, and merge
![Page 18: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/18.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
2. Solve sub-problem
![Page 19: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/19.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
3. Lift solution
![Page 20: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/20.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
3. Lift solution
![Page 21: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/21.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
4. Refine solution
![Page 22: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/22.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
4. Refine solution
![Page 23: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/23.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
4. Refine solution
![Page 24: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/24.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
4. Refine solution
![Page 25: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/25.jpg)
Multilevel methods1.Approximate problem by smaller problem.2.Solve smaller problem (recursively).3.Lift solution of smaller problem to original.4.Refine lifted solution.
4. Refine solution
Very fast.
Works well.
No analysis, yet.
![Page 26: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/26.jpg)
Hardness of Approximation
Max 3-SAT: Satisfy as many clauses as possible.
Hard to do better than 7/8+ε
Set-Cover: Hard to do better than (1-ε) log n
Max IS: Hard to do better than n1-ε
VC: Hard to do better than 1.36 (and maybe 2-ε)
![Page 27: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/27.jpg)
Unique Games Conjecture (Khot):
Hard to approximate the fraction of
solvable linear equations modulo p.
Implies many tight hardness results:
VC is hard to approximate better than 2.
Semidefinite relaxations are optimal for
many other problems.
![Page 28: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/28.jpg)
The Strong Exponential Time Hypothesis(Impagliazzo, Paturi, Zane ‘01)
There is no algorithm that solves SAT
on n variables and m clauses in time
O(mc(2� ✏)n)
Implies no sub-quadratic algorithms for:
Edit Distance (Bakurs, Indyk ‘15)
Fréchet Distance (Bringmann ‘14)
![Page 29: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/29.jpg)
The Strong Exponential Time Hypothesis(Impagliazzo, Paturi, Zane ‘01)
There is no algorithm that solves SAT
on n variables and m clauses in time
O(mc(2� ✏)n)
Implies hardness of approximation:
ln n – c ln ln n for set cover (Harris ‘16)
Densest Subgraph (BKRW ‘15)
![Page 30: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/30.jpg)
The Strong Exponential Time Hypothesis(Impagliazzo, Paturi, Zane ‘01)
There is no algorithm that solves SAT
on n variables and m clauses in time
O(mc(2� ✏)n)
k-Sum : (Pătraşcu-Williams ’10)
Given n numbers, are there k that sum to 0?
Best algs: O(ndk/2e)
![Page 31: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/31.jpg)
The Strong Exponential Time Hypothesis(Impagliazzo, Paturi, Zane ‘01)
Given N vectors in d dimensions,
can you test if two are orthogonal in time ? O(N2�✏)
Given m clauses on n variables,
create N = 2n/2 vectors in m dimensions so that
two are orthogonal if and only if clauses satisfiable
Williams ‘05
![Page 32: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/32.jpg)
The Strong Exponential Time Hypothesis(Impagliazzo, Paturi, Zane ‘01)
Given m clauses on n variables,
create N = 2n/2 vectors in m dimensions so that
two are orthogonal if and only if clauses satisfiable
Williams ‘05
Partition variables in half, each with n/2.
For all 2n/2 truth assignments on these, create a vector
with a 0 for clauses it satisfies, 1 for the others.
Two are orthogonal if their 0s span the clauses.
![Page 33: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/33.jpg)
Faster Maximum Flow
With n vertices and m edges, can compute
an -approximate maximum flow in time✏
Peng ‘15
O(m10/7log
c n log 1/✏) Madry ‘13
O(mn1/2log
c n log 1/✏) Lee, Sidford ‘15
O(m log
c n/✏3)
By numerical optimization algorithms
![Page 34: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/34.jpg)
Faster Shortest Paths (with negative edge lengths)
O(m10/7log
c n log 1/✏)
Cohen, Sankowski, Madry and Vladu ‘17
By numerical optimization algorithms
![Page 35: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/35.jpg)
Neglected topic: Data structures
Fancy data structures enable fast algorithms.
Hashing
Splay trees (Sleator-Tarjan)practical binary search trees
Bloom filters
Geometric data structures
Cache efficiency
![Page 36: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/36.jpg)
Neglected topic: Dynamic Algorithms
Maintain answers on changing inputs.
Recent breakthroughs:
Maintaining components in dynamic graphs.Time O(log5 n) per edge insertion and deletion.[Kapron-King-Mountjoy ‘13]
Cannot beat time n1/3 for node insertionsunless are faster algorithms for 3SUM
[Abboud-Vassilevska ‘14]
![Page 37: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/37.jpg)
Neglected topic: Geometric Algorithms
Convex Hulls
Voronoi Diagrams and Delaunay Triangulations
Meshing
Visibility
Point Location
Geometric Data Structures
![Page 38: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/38.jpg)
Neglected topic: Primality Testing
Miller ‘76: in polynomial time, if Extended Riemann Hypothesis true
Rabin ‘80: In randomized polynomial time,detect composite with probability ½.
Adelman-Huang ’92: Expected polynomial time,when stops zero probability of error.
Agarwal-Kayal-Saxena ’04: Polynomial time,by derandomization.
![Page 39: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/39.jpg)
Hard Problems? Factoring Integers
For b-bit integers, best-known complexity is
If NP-hard, would have NP = co-NP.
(assuming conjectures in number theory)
Pollard, Arjen and Hendrik Lenstra,
Manasse, Odlyzko, Adelman, Pomerance
2O(b1/3 log
2/3 b)
![Page 40: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/40.jpg)
Hard Problems? Graph Isomorphism.Given two labeled graphs, can vertex sets be
relabeled so are same?
![Page 41: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/41.jpg)
Hard Problems? Graph Isomorphism.Given two labeled graphs, can vertex sets be
relabeled so are same?a
b
c d
efg
hi
j
a e
bg
dj
hf
i
c
![Page 42: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/42.jpg)
Hard Problems? Graph Isomorphism.
Complexity [Babai ‘15]
Polynomial time if constant degree
Are counter-examples to most naïve algorithms
Given two labeled graphs, can vertex sets be relabeled so are same?
2(logn)c
![Page 43: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/43.jpg)
Quantum Computing
Quantum computers have different operations
Factoring in polynomial time (Shor ’94)
and breaking Diffie-Helman (‘76) key exchange
Can they solve NP hard problems?
Graph isomorphism?
![Page 44: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/44.jpg)
Numerical Algorithms
Solving systems of linear equations, quickly.
Doing Gaussian elimination correctly.
Graph algorithms and data structures.
![Page 45: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/45.jpg)
Lies
![Page 46: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/46.jpg)
Lies
Polynomial-time = efficient
Big-O notation.
Worst-case analysis.
![Page 47: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/47.jpg)
Very few algorithms areboth elegant and useful.
Most algorithms papers are merelyevidence for the existence of useful algorithms.
Most problem we want to solve do not have mathematically precise formulations
Lies
![Page 48: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/48.jpg)
Related Courses
![Page 49: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/49.jpg)
More Algorithms (Jim Aspnes)
CPSC 465: Theory of Distributed Systems
CPSC 469: Randomized Algorithms
Others?
![Page 50: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/50.jpg)
Optimization:S&DS 430 (Sekhar Tatikonda)
Linear programming.
Convex programming.
Gradient descent.
Newton’s method.
Maximize something subject to constraints.
![Page 51: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/51.jpg)
Applied Machine Learning: STAT 365John Lafferty, Susan Wang
Prediction
Classification
Neural Nets
Deep Learning
Random Forests
![Page 52: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/52.jpg)
Data Mining: CPSC 445Guy Wolf
Principal Component Analysis
Multidimensional Scaling
Support Vector Machines
K-means clustering
Machine Learning for Biology: 453Smita Krishnaswami
![Page 53: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/53.jpg)
Computational Data Science: 262Sahand Negahban & Me?
Assumes Calc and Linear Algebra
Databases, clusters, and parallel computing
Large scale optimization
SVD, ICA, Matrix completion
Streaming Algorithms
![Page 54: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/54.jpg)
Numerical Methods:CPSC 440 (Eisenstat or Rokhlin)ENAS 440/441 (Beth Bennett)
Numerical problems that arise in sciences.
Solving linear equations.
Computing eigenvectors and eigenvalues.
Solving differential equations
Interpolation.
Integration.
![Page 55: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/55.jpg)
CPSC 467: Cryptography and Security Michael Fischer
RSA
One-way functions
Zero-knowledge proofs
Digital signatures
Playing poker over the phone
![Page 56: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/56.jpg)
CPSC 468: Complexity Theory(Dana Angluin)
P = NP?
NP = co-NP? short proofs of unsatisfiability?
Poly Time = Poly Space?
Interactive proofs.
Probabilistically checkable proofs.
Hardness of approximation.
Pseudo-random generators, and
Derandomizaton.
![Page 57: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/57.jpg)
Interactive proofs:
Colors exist:
give colorblind two balls of different colors
shown one, we can always tell which it was
![Page 58: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/58.jpg)
Interactive proofs:
Colors exist:
give colorblind two balls of different colors
shown one, we can always tell which it was
Graphs non-isomorphic:
pick one at random,
draw it at random,
can I tell you which it was?
![Page 59: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/59.jpg)
Graph non-isomorphism.
pick one
![Page 60: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/60.jpg)
Graph non-isomorphism.
pick one
![Page 61: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/61.jpg)
Graph non-isomorphism.
scramble it
![Page 62: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/62.jpg)
Graph non-isomorphism.
scramble it
![Page 63: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/63.jpg)
Graph non-isomorphism.
scramble it
![Page 64: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/64.jpg)
Graph non-isomorphism.
scramble it
![Page 65: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/65.jpg)
Graph non-isomorphism.
randomly located vertices
If were same, no one can tell which it was
![Page 66: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/66.jpg)
Probabilistically Checkable Proofs
A proof you can check by examining a few
bits chosen carefully at random.
For every “yes” instance of every
problem in NP, there is a PCP.
The source for most
hardness of approximation results.
![Page 67: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/67.jpg)
Math!
Combinatorics
Probability
Algebra: Group theory and finite fields
Fourier Analysis
Functional Analysis
Algebraic Geometry
Topology
etc.
![Page 68: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/68.jpg)
Where to learn morearXiv and blogs: http://feedworld.net/toc/
Class lecture notes.
Video lectures: https://sites.google.com/site/plustcs/and the Simons Institute for the Theory of Computing
Surveys: Communications of the ACMSimons Foundation MPS Articles Quanta Magazine
![Page 69: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/69.jpg)
Where to learn moreMajor conferences:
ACM STOC (Symposium on Theory of Computing)IEEE FOCS (Foundations of Computer Science)ACM/SIAM SODA (Symposium on Discrete Algorithms)ICALP (European Association for Theoretical CS)
COLT (Computational Learning Theory)SOCG (Symposium on Computational Geometry)SPAA (Symposium on Parallelism in Algorithms and Architectures)
ITCS (Innovations in Theoretical Computer Science)ALENEX (Algorithm Engineering and Experimentation)
![Page 70: Computer Science 365: Design and Analysis of Algorithms Last … · 2017-04-28 · Neglected topic: Dynamic Algorithms Maintain answers on changing inputs. Recent breakthroughs: Maintaining](https://reader033.vdocuments.site/reader033/viewer/2022050308/5f70081a7df3ff70cb6eacfc/html5/thumbnails/70.jpg)
Good luck withthe end of the semester!