Transcript Document

A Sieving Algorithm for Approximate
Integer Programming
Daniel Dadush, CWI
Integer Programming (IP)
min 𝑐𝑑π‘₯
s.t. 𝐴π‘₯ β‰₯ 𝑏
π‘₯ πœ– ℀𝑛
𝑛 variables, π‘š constraints
Classic Problem in Discrete Optimization:
Danzig, Fulkerson, Johnson `54
Gomory `58, Lenstra `82, Kannan `87, …
𝑐
𝐾
Complexity & Algorithms
IP is NP-Complete (even with just binary variables).
We do not expect polynomial time algorithms.
Question:
What is worst case complexity of IP?
Complexity & Algorithms
min 𝑐 𝑑 π‘₯
s.t. 𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
H. Lenstra `83: IP can be solved in time
3
𝑂
𝑛
poly 𝑠 2
using poly 𝑛 space, where 𝑠 is the input length.
Kannan `87: Running time can be reduced to
poly 𝑠 2𝑂(𝑛) 𝑛2.5𝑛 .
Current Fastest: 2𝑂(𝑛) 𝑛𝑛 time, 2𝑂(𝑛) space [D. `12].
Complexity & Algorithms
min 𝑐 𝑑 π‘₯
s.t. 𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
H. Lenstra `83: IP can be solved in time
3
𝑂
𝑛
poly 𝑠 2
using poly 𝑛 space, where 𝑠 is the input length.
Kannan `87: Running time can be reduced to
poly 𝑠 2𝑂(𝑛) 𝑛2.5𝑛 .
Developed tools for lattice problems which have
found applications in Cryptanalysis, Cryptography,
Coding Theory, Number Theory, ….
Integer Programming Feasibility
Find feasible solution to
𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
or decide that no solution exists.
𝐾 = {π‘₯ πœ– ℝ𝑛 : 𝐴π‘₯ β‰₯ 𝑏} (continuous relaxation)
𝑦
𝐾
0
℀𝑛
Binary vs General Integer
Find feasible solution to
𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– 0,1 𝑛
or decide that no solution exists.
Total enumeration is β€œeasy” (2𝑛 time).
𝐾
0
℀𝑛
Binary vs General Integer
Find feasible solution to
𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
or decide that no solution exists.
No easy analog of total enumeration.
𝑦
𝐾
0
℀𝑛
Binary vs General Integer
Find feasible solution to
𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
or decide that no solution exists.
Need to adapt to the geometry of 𝐾.
𝑦
𝐾
0
℀𝑛
Binary vs General Integer
Find feasible solution to
𝐴π‘₯ β‰₯ 𝑏, π‘₯ πœ– ℀𝑛
or decide that no solution exists.
Question: Is there a 2𝑂(𝑛) time algorithm for IP?
𝑦
𝐾
0
℀𝑛
Relaxing the Model
Pick 𝑐 πœ– 𝐾, πœ– > 0. Find solution to
𝐴π‘₯ β‰₯ 𝑏 + πœ–(𝑏 βˆ’ 𝐴𝑐), π‘₯ πœ– ℀𝑛
or decide system is infeasible for πœ– = 0.
1+πœ– scaling of 𝐾 about 𝑐
𝐾
𝑦′
𝑐
0
℀𝑛
Relaxing the Model
Pick 𝑐 πœ– 𝐾, πœ– > 0. Find solution to
𝐴π‘₯ β‰₯ 𝑏 + πœ–(𝑏 βˆ’ 𝐴𝑐), π‘₯ πœ– ℀𝑛
or decide system is infeasible for πœ– = 0.
1+πœ– scaling of 𝐾 about 𝑐
𝐾
𝑦′
𝑐
0
℀𝑛
Result: Approximate Feasibility
1
2
Algorithm: 0 < πœ– ≀ , 𝑐 the center of mass of 𝐾,
either (1) finds π‘₯ πœ– ℀𝑛 in (1+πœ–) scaling of 𝐾 about c,
or (2) decides that 𝐾 is integer free,
using
1
πœ–
𝑂(𝑛)
time, space and randomness.
π‘₯
𝐾
𝑐
Result: Approximate Optimization
Algorithm: 0 < πœ– ≀ , 𝛿 < 0, objective 𝑣 πœ– ℝ𝑛 ,
1
2
either (1) decides that 𝐾 is integer free or
(2) finds π‘₯ πœ– ℀𝑛 in 𝐾 + πœ–(πΎβˆ’πΎ) (β€œblowup” of 𝐾),
satisfying min 𝑛 𝑣 𝑑 𝑦 β‰₯ 𝑣 𝑑 π‘₯ βˆ’ 𝛿,
𝑦 πœ– πΎβˆ©β„€
using
1
πœ–
𝑂(𝑛)
1
log
𝛿
time, space, randomness.
π‘₯
𝐾
𝑣
Center of Mass
Convex body 𝐾 βŠ† ℝ𝑛
𝑑π‘₯
Center of Mass: c = 𝐾 π‘₯ vol(𝐾)
cβ‰ˆ
Algorithm:
1
𝑁
𝑁
𝑖=1 𝑋𝑖
𝑋𝑖 are iid uniform from 𝐾 [Dyer-Frieze-Kannan 89].
π‘₯1
π‘₯5 π‘₯
2
π‘₯3
𝑐 π‘₯4
π‘₯6
π‘₯7
𝐾
Center of Mass
Convex body 𝐾 βŠ† ℝ𝑛
𝑑π‘₯
Center of Mass: c = 𝐾 π‘₯ vol(𝐾)
Crucial Property [Milman-Pajor `00]:
vol 𝐾 ≀ 2𝑛 vol(𝐾 ∩ 2π‘βˆ’πΎ)
2π‘βˆ’πΎ
𝑐
(near symmetry)
𝐾
Kinchine’s Flatness Theorem
Algorithm: Given 𝐾 βŠ† ℝ𝑛. Using 2𝑂(𝑛) time and space
(1) either finds π‘₯ πœ– 𝐾 ∩ ℀𝑛 , or
π‘₯
𝐾
Kinchine’s Flatness Theorem
Algorithm: Given 𝐾 βŠ† ℝ𝑛. Using 2𝑂(𝑛) time and space
(1) either finds π‘₯ πœ– 𝐾 ∩ ℀𝑛 , or
(2) find 𝑦 πœ– ℀𝑛 βˆ– {0} satisfying
width𝐾 𝑦 = maxπ‘₯ πœ– 𝐾 𝑦, π‘₯ βˆ’ minπ‘₯ πœ– 𝐾 𝑦, π‘₯ ≀ Õ(𝑛4/3 )
[Kinchine 48, Babai 86, Lenstra-Lagarias-Schnorr 87, Hastad 88, Kannan-L0vasz 88,
Banasczyk 96, Rudelson 00]
𝑦
𝐾
ytx=0
ytx=1
ytx=2
Kinchine’s Flatness Theorem
Best known bounds for Flatness Constants:
1. Ellipsoids:
𝑓(𝑛) = Ρ²(𝑛)
2. General Bodies:
𝑓 𝑛 = Õ π‘›4 3
[Kinchine 48, Lenstra-Lagarias-Schnorr 87, Kannan-L0vasz 88,
Banasczyk et al 99, Rudelson 00]
𝐾
𝐸
Norms and Convex Bodies
Symmetric convex body 𝐾 βŠ† ℝ𝑛 (𝐾 = βˆ’πΎ).
𝐾-norm: π‘₯
𝐾
≝ inf {𝑠 β‰₯ 0: π‘₯ πœ– 𝑠𝐾}
𝐾
𝑠𝐾
π‘₯
0
-π‘₯
1. π‘₯ + 𝑦 𝐾 ≀ π‘₯ 𝐾 + 𝑦
2. 𝑑π‘₯ 𝐾 = 𝑑 π‘₯ 𝐾 , 𝑑 β‰₯ 0
3. π‘₯ 𝐾 = βˆ’π‘₯ 𝐾
𝐾 = {π‘₯ πœ– ℝ𝑛 : π‘₯ 𝐾 ≀ 1}
𝐾 is unit ball of βˆ™ 𝐾
𝐾
(triangle inequality)
(homogeneity)
(symmetry)
Norms and Convex Bodies
Convex body 𝐾 βŠ† ℝ𝑛 containing origin in its interior.
𝐾-norm: π‘₯
𝐾
≝ inf {𝑠 β‰₯ 0: π‘₯ πœ– 𝑠𝐾}
𝐾
𝑠𝐾
π‘₯
0
1. π‘₯ + 𝑦 𝐾 ≀ π‘₯ 𝐾 + 𝑦
2. 𝑑π‘₯ 𝐾 = 𝑑 π‘₯ 𝐾 , 𝑑 β‰₯ 0
3. π‘₯ 𝐾 = βˆ’π‘₯ 𝐾
𝐾 = {π‘₯ πœ– ℝ𝑛 : π‘₯ 𝐾 ≀ 1}
𝐾 is unit ball of βˆ™ 𝐾
𝐾
(triangle inequality)
(homogeneity)
(symmetry)
Norms and Convex Bodies
Convex body 𝐾 βŠ† ℝ𝑛 containing origin in its interior.
𝐾-norm: π‘₯
𝐾
≝ inf {𝑠 β‰₯ 0: π‘₯ πœ– 𝑠𝐾}
𝐾
0
𝑠𝐾
π‘₯
𝐾 = {π‘₯ πœ– ℝ𝑛 : π‘₯ 𝐾 ≀ 1}
𝐾 is unit ball of βˆ™ 𝐾
1. π‘₯ + 𝑦 𝐾 ≀ π‘₯ 𝐾 + 𝑦 𝐾 (triangle inequality)
2. 𝑑π‘₯ 𝐾 = 𝑑 π‘₯ 𝐾 , 𝑑 β‰₯ 0
(homogeneity)
3. vol 𝐾 ≀ 2𝑂(𝑛) vol(𝐾 ∩ βˆ’πΎ) (near-symmetry)
Shortest Vector Problem (SVP)
Given: norm βˆ™ 𝐾 in ℝ𝑛 .
Goal: Find 𝑦 πœ– ℀𝑛 βˆ– {0} minimizing 𝑦
K.
𝑦
𝐾
0
℀𝑛
-𝑦
Closest Vector Problem (CVP)
Given: target π‘₯, norm βˆ™ 𝐾 in ℝ𝑛 .
Goal: Find 𝑦 πœ– ℀𝑛 minimizing 𝑦 βˆ’ π‘₯
𝐾
𝐾.
𝑦
π‘₯
℀𝑛
Main Tools
Algorithms: Near symmetric norm βˆ™ 𝐾 .
(1) Finds shortest non-zero integer vector under βˆ™
2𝑂(𝑛) time, space, and randomness.
𝐾
𝑦
0
𝐾
using
Main Tools
Algorithms: Near symmetric norm βˆ™ 𝐾 .
(1) Finds shortest non-zero integer vector under βˆ™
𝐾
using
2𝑂(𝑛) time, space, and randomness.
(2) 0 < πœ– ≀
1
,𝑑
2
πœ– ℝ𝑛 . Finds 1+πœ– -approximate closest
integer vector to t under βˆ™
𝐾 using 1/πœ–
𝑂(𝑛)
𝑦
𝐾
𝑑
β€œβ€¦β€.
Approx. IP ≀ Approx. CVP
Algorithm:
1. Estimate center of mass 𝑐 of 𝐾 (via uniform sampling).
2. Solve (1 + πœ–)-approximate Closest Vector Problem
with target 𝑐 under βˆ™ πΎβˆ’π‘ (near symmetric).
3. If 𝑦 βˆ’ 𝑐 πΎβˆ’π‘ ≀ 1 + πœ–, return y.
Else, return 𝐾 ∩ ℀𝑛 = βˆ….
𝐾
𝑐
℀𝑛
𝑦
The Randomized Sieve
General Idea: Sample exponentially many β€œperturbed”
integer points, combine them to get closer & closer
(shorter & shorter) integer vectors.
Ajtai-Kumar-Sivakumar `0o+`01: Developed randomized
sieving strategy for SVP and 1 + πœ– -CVP for the 𝑙2 norm.
Blomer-Naewe `07: Refined and extended AKS approach
to get SVP and 1 + πœ– -CVP for 𝑙𝑝 norms.
Arvind-Joglekar `09: SVP for symmetric norms.
This paper: SVP & 1 + πœ– -CVP for near symmetric norms.
Recent work
[D. Vempala `12, D. `12]: Deterministic
2𝑂(𝑛) space algorithm for (1+πœ–) CVP.
1 𝑛
πœ–
time,
Conclusions
1. Presented approximate IP model and gave single
exponential time algorithm to solve it.
2. Generalized the AKS randomized sieve to nearly all
norms.
Open Problems
1.
Achieve same time complexity using poly(𝑛) space?
2. 2𝑂(𝑛) time algorithm for IP?
Thank You!