Upload
vernon-shaw
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
1
Smoothed Analysis of Algorithms
Shang-Hua Teng
Boston University
Akamai Technologies Inc
Joint work with Daniel Spielman (MIT)
2
Outline
• Part I: Introduction to Algorithms
• Part II: Smoothed Analysis of Algorithms
• Part III: Geometric Perturbation
3
Part I: Introduction to Algorithms
• Type of Problems
• Complexity of Algorithms
• Randomized Algorithms
• Approximation
• Worst-case analysis
• Average-case analysis
4
Algorithmic Problems• Decision Problem:
– Can we 3-color a given graph G?
• Search Problem:– Given a matrix A and a vector b, find an x
– s.t., A x = b
• Optimization Problem: – Given a matrix A and a vector b, and an objective
vector c, find an x that
– maximize cT x s.t. A x b
5
The size and family of a problem
• Instance of a problem– Input:
• for example, a graph, a matrix, a set of points
– desired output• {yes,no}, coloring, solution-vector, convex hull
– Input and output size• Amount of memory needed to store the input and output
• For example: number of vertices in a graph, dimensions of a matrix, the cardinality of a point set
• A problem is a family of instances.
6
An Example
Median of a set of numbers
• Input: a set of numbers {a1,, a2,…, an}
• Output: ai that maximizes
n
aaaaaa ijjijj |)}:{||,}:{min(|
1 2 3 4 5 6 7 8 9 10
7
Quick Selection
Quick Selection ({a1,, a2,…, an}, k )
1. Choose a1 in {a1,, a2,…, an}
2. Divide the set into
3. Cases:
1. If k = |L| + 1, return a1;
2. If k < |L|, recursively apply Quick_Selection(L,k)
3. If k > |L|+1, recursively apply Quick_Selection(L,n-k-1)
}{},{},{ 111 aaRaaaL jj
8
Worse-Case Time ComplexityLet T({a1,, a2,…, an} ) be the number of basic steps needed
in Quick-Selection for input {a1,, a2,…, an}.• We classify inputs by their size• Let An be the set of all input of size n.
• T(n) = n2 - n
}),,({max)( 1},{ 1
nAaa
aaTnTnn
9
Better Algorithms from Worst-case View point
• Divide and Conquer– Linear-time algorithm– Blum-Floyd-Pratt-Rivest-Tarjan
10
Average-Case Time Complexity
• Let An be the set of all input of size n.
• Choose {a1,, a2,…, an} uniformly at random
• E(T(n)) = O(n)
}),,({)( 1},{ 1
nAaa
aaTEnTAvgnn
11
Randomized Algorithms
Quick Selection ({a1,, a2,…, an}, k )
1. Choose a random element s in {a1,, a2,…, an}
2. Divide the set into
3. Cases:1. If k = |L| + 1, return s;2. If k < |L|, recursively apply Quick_Selection(L,k) 3. If k > |L|+1, recursively apply
Quick_Selection(L,n-k-1)
}{},{},{ saRssaL jj
12
Expected Worse-Case Complexityof Randomized Algorithms
}),,({max)( 1},{ 1
nAaa
aaTEnTEnn
E(T(n)) = O(n)
13
Approximation Algorithms
Sampling-Selection ({a1,, a2, …, an})
1. Choose a random element ai from {a1,, a2,…, an}
2. Return ai.
ai is a δ–median if
Prob[ai is a (1/4)–median ] = 0.5
n
aaaaaa ijjijj |)}:{||,}:{min(|
14
Approximation Algorithms
Sampling-Selection ({a1,, a2, …, an})
1. Choose a set S of random k elements from {a1,,
…, an}
2. Return the median ai of S.
Complexity: O(k) 21212/1Pr k
i emedianaisa
15
When k = 3
a b c
M id d le -o f-3
16
Iterative Middle-of-3(Miller-Teng)
m id -o f-3 m id -o f-3 m id -o f-3
m id -o f-3
Randomly assign elements from {a1,, a2, …, an} to the leaves
2/12/1Pr ki emedianaisa
17
Summary
• Algorithms and their complexity
• Worst-case complexity
• Average-cast complexity
• Design better worse-case algorithm
• Design better algorithm with randomization
• Design faster algorithm with approximation
18
Sad and Exciting Reality• Most interesting optimization problems are hard• P vs NP• NP-complete problems
– Coloring, maximum independent set, graph partitioning
– Scheduling, optimal VLSI layout, optimal web-traffic assignment, data mining and clustering, optimal DNS and TCPIP protocols, integer programming…
• Some are unknown:– Graph isomorphism
– factorization
19
Good News
• Some fundamental problems are solvable in polynomial time– Sorting, selection, lower dimensional
computational geometry– Matrix problems
• Eigenvalue problem• Linear systems
– Linear programming (interior point method)– Mathematical programming
20
Better News I
• Randomization helps– Testing of primes (essential to RSA)– VC-dimension and sampling for computational
geometry and machine learning– Random walks various statistical problems– Quicksort– Random routing on parallel network– Hashing
21
Better News II
• Approximation algorithms– On-line scheduling– Lattice basis reduction (e.g. in cryptanalysis)– Approximate Euclidean TSP and Steiner trees– Graph partitioning– Data clustering– Divide-and-conquer method for VLSI layout
22
Real Stories• Practical algorithms and heuristics
– Great-performance empirically – Used daily by millions and millions of people– Worked routinely from chip design to airline
scheduling
• Applications– Internet routing and searching– Scientific simulation– Optimization
23
PART II: Smoothed Analysis of Algorithms
• Introduction of Smoothed Analysis
• Why smoothed analysis?
• Smoothed analysis of the Simplex Method for Linear Programming
24
Smoothed Analysis of Algorithms: Why The Simplex Method Usually Takes
Polynomial Time
Daniel A. Spielman (MIT)
Shang-Hua Teng (Boston University)
Gaussian Perturbationwith variance 2
25
Remarkable Algorithms and Heuristics
Work well in practice, but
Worst case: bad, exponential, contrived.
Average case: good, polynomial, meaningful?
26
Random is not typical
27
Smoothed Analysis of Algorithms:
worst casemaxx T(x)
average caseavgr T(r)
smoothed complexitymaxx avgr T(x+r)
28
Smoothed Analysis of Algorithms
• Interpolate between Worst case and Average Case.
• Consider neighborhood of every input instance
• If low, have to be unlucky to find bad input instance
29
Smoothed ComplexitySmoothed Complexity
30
Classical Example: Simplex Method for Linear Programming
max zT xs.t. A x y
• Worst-Case: exponential
• Average-Case: polynomial
• Widely used in practice
31
Carbs Protein Fat Iron Cost
1 slice bread 30 5 1.5 10 30¢
1 cup yogurt 10 9 2.5 0 80¢
2tsp Peanut Butter 6 8 18 6 20¢
US RDA Minimum 300 50 70 100
Minimize 30 x1 + 80 x2 + 20 x3
s.t. 30x1 + 10 x2 + 6 x3 300 5x1 + 9x2 + 8x3 50 1.5x1 + 2.5 x2 + 18 x3 70 10x1 + 6 x3 100 x1, x2, x3 0
The Diet Problem
32
max zT xs.t. A x y
Max x1 +x2
s.t x1 1 x2 1 -x1 - 2x2 1
Linear Programming
33
Smoothed Analysis of Simplex Method
max zT xs.t. A x y
G is Gaussian
max zT xs.t. (A +G) x y
34
• Worst-Case: exponential
• Average-Case: polynomial
• Smoothed Complexity: polynomial
max zT xs.t. ai
T x ±1, ||ai|| 1
max zT xs.t. (ai+gi )T x ±1
Smoothed Analysis of Simplex Method
35
Perturbation yields Approximation
For polytope of good aspect ratio
36
But, combinatorially
37
The Simplex Method
38
• Simplex Method (Dantzig, ‘47)• Exponential Worst-Case (Klee-Minty ‘72) • Avg-Case Analysis (Borgwardt ‘77, Smale ‘82,
Haimovich, Adler, Megiddo, Shamir, Karp, Todd)• Ellipsoid Method (Khaciyan, ‘79)• Interior-Point Method (Karmarkar, ‘84)• Randomized Simplex Method (mO(d) )
(Kalai ‘92, Matousek-Sharir-Welzl ‘92)
History of Linear Programming
39
Shadow Vertices
40
Another shadow
41
Shadow vertex pivot rule
objective
start z
42
Theorem: For every plane, the expected size of the shadow of the perturbed tope is poly(m,d,1/)
43
Theorem: For every z, two-Phase Algorithm runs in expected time
poly(m,d,1/)
z
44
Vertex on a1,…,ad maximizes z iff
z cone(a1,…,ad )
0
a1
a2
z
z
A Local condition for optimality
45
Polar ConvexHull(a1, a2, … am)
Primala1
T x 1a2
T x 1…am
T x 1
46
47
max z ConvexHull(a1, a2, ..., am)
z
Polar Linear Program
48
Initial Simplex
Opt Simplex
49
Shadow vertex pivot rule
50
51
Count facets by discretizing
to N directions, N
52
Count pairs in different facets
Pr Different Facets[ ]< c/N
So, expect c Facets
53
Expect cone of large angle
54
Angle
Distance
55
Isolate on one Simplex
56
Integral Formulation
57
Example:
For a and b Gaussian distributed points, given that ab intersects x-axis
Prob[ < ] = O(2)
a
b
58
a
b
59
a
b
60
a
b
61
ab
62
Claim: For < P < 2
a
b
ba
dadbbaaxisabc,
10 )()(]0][[
]0Pr[ axisabP
63
Change of variables
a
b
zu
v
da db = |(u+v)sin(du dv dz d
),,()( 00 zua
),,()( 11 zvb
64
ddzdvduzvzuvucPzvu
),,(),,(|)|)( 10
,,
sin(
Analysis: For < P < 2
Slight change in has little effect on i for all but very rare u,v,z
65
Distance: Gaussian distributed corners
a1
a2
a3
p
66
Idea: fix by perturbation
67
Trickier in 3d
68
Future Research – Simplex Method
• Smoothed analysis of other pivot rules
• Analysis under relative perturbations.
• Trace solutions as un-perturb.
• Strongly polynomial algorithm for linear programming?
69
A Theory Closer to Practice• Optimization algorithms and heuristics, such as
Newton’s Method, Conjugate Gradient, Simulated Annealing, Differential Evolution, etc.
• Computational Geometry, Scientific Computing and Numerical Analysis
• Heuristics solving instances of NP-Hard problems.
• Discrete problems?
• Shrink intuition gap between theory and practice.
70
Part III: Geometric Perturbation
Three Dimensional Mesh Generation
Delaunay Triangulations for Well-Shaped 3D Mesh Generation
Shang-Hua Teng
Boston University
Akamai Technologies Inc.
Collaborators:
Siu-Wing Cheng, Tamal Dey, Herbert Edelsbrunner, Micheal FacelloDamrong GuoyGary Miller, Dafna Talmor, Noel WalkingtonXiang-Yang Li and Alper Üngör
73
3D Unstructured Meshes
74
Surface and 2D Unstructured Meshes
courtesy N. Amenta, UT Austin courtesy NASA
courtesy Ghattas, CMU
Numerical Methods
Point Set:Triangulation:
ad hoc
octree Delaunay
Domain, Boundary, and PDEs
element difference
volume
Finite
Ax=b
direct method
Mesh Generationgeometric structures
Linear Systemalgorithm
data structures
ApproximationNumerical Analysis
FormulationMath+Engineering
iterative method
multigrid
Outline• Mesh Generation in 2D
– Mesh Qualities
– Meshing Methods
– Meshes and Circle Packings
• Mesh Generation in 3D– Slivers
– Numerical Solution: Control Volume Method
– Geometric Solution: Sliver Removal by Weighted Delaunay Triangulations
– Smoothed Solution: Sliver Removal by Perturbation
Badly Shaped Triangles
Aspect Ratio (R/r)
Meshing Methods
• Advancing Front• Quadtree and Octree Refinement• Delaunay Based
– Delaunay Refinement– Sphere Packing– Weighted Delaunay Triangulation– Smoothing by Perturbation
The goal of a meshing algorithm is to generate a well-shaped mesh that is as small as possible.
Balanced Quadtree Refinements
(Bern-Eppstein-Gilbert)
Quadtree Mesh
Delaunay Triangulations
Why Delaunay?
• Maximizes the smallest angle in 2D.
• Has efficient algorithms and data structures.
• Delaunay refinement: – In 2D, it generates optimal size, natural
looking meshes with 20.7o (Jim Ruppert)
84
Delaunay Refinement
(Jim Ruppert)
2D insertion 1D insertion
85
Delaunay Mesh
86
Local Feature Spacing (f)
f: R
The radius of the smallest sphere centered at a point that intersects or contains two non-incident input features
87
Well-Shaped Meshes and f
88
f is 1-Lipschitz and Optimal
89
Sphere-Packing
90
p
-Packing a Function f
• No large empty gap: the radius of the largest empty sphere passing q is at most f(q).
f(p)/2
q
91
• The Delaunay triangulation of a -packing is a well-shaped mesh of optimal size.
• Every well-shaped mesh defines a -packing.
The Packing Lemma (2D)
(Miller-Talmor-Teng-Walkington)
92
Part I: Meshes to Packings
93
Part II: Packings to Meshes
94
3D Challenges
• Delaunay failed on aspect ratio• Quadtree becomes octree
(Mitchell-Vavasis)• Meshes become much larger• Research is more Challenging!!!
Badly Shaped Tetrahedra
Slivers
Radius-Edge Ratio
(Miller-Talmor-Teng-Walkington)
R L
R/L
98
The Packing Lemma (3D)
(Miller-Talmor-Teng-Walkington)
• The Delaunay Triangulation of a -packing is a well-shaped mesh (using radius-edge ratio) of optimal size.
• Every well-shaped (aspect-ratio or radius-edge ratio) mesh defines a -packing.
99
Uniform Ball Packing
• In any dimension, if P is a maximal packing of unit balls, then the Delaunay triangulation of P has radius-edge at most 1.
||e|| is at least 2
r is at most 2r
100
Constant Degree Lemma (3D)
(Miller-Talmor-Teng-Walkington)
• The vertex degree of the Delaunay triangulation with a constant radius-edge ratio is bounded by a constant.
101
Delaunay Refinement in 3D Shewchuck
Slivers
Sliver: the geo-roach
Coping with Slivers: Control-Volume-Method(Miller-Talmor-Teng-Walkington)
Sliver Removal by Weighted Delaunay (Cheng-Dey-Edelsbrunner-Facello-Teng)
Weighted Points and Distance
p z
Orthogonal Circles and Spheres
Weighted Bisectors
Weighted Delaunay
Weighted Delaunay and Convex Hull
Parametrizing Slivers
DY
L
Interval Lemma
0 N(p)/3
• Constant Degree: The union of all weighted Delaunay triangulations with Property [] and Property [] has a constant vertex degree
Pumping Lemma
(Cheng-Dey-Edelsbrunner-Facello-Teng)
DY
z
H
r s
pP
q
Sliver Removal by Flipping
• One by one in an arbitrary ordering• fix the weight of each point• Implementation: flip and keep the best
configuration.
115
Experiments
(Damrong Guoy, UIUC)
116
Initial tetrahedral mesh: 12,838 vertices, all vertices are on the boundary surface
117
Dihedral angle < 5 degree: 13,471
118
Slivers after Delaunay refinement: 881
119
Slivers after sliver-exudation: 12
120
15,503 slivers
142 slivers, less elements, better distribution
1183 slivers
121
5636 slivers
18 slivers, less elements, better distribution
563 slivers Triceratops
122
4532 slivers
1 sliver, less elements, better distribution
173 slivers
Heart
123
Smoothing and Perturbation
• Perturb mesh vertices
• Re-compute the Delaunay triangulation
124
Well-shaped Delaunay Refinement(Li and Teng)
• Add a point near the circumcenter of bad element
• Avoids creating small slivers
• Well-shaped meshes