Recent Progress on Integer Programming and Lattice Problems

Download Report

Transcript Recent Progress on Integer Programming and Lattice Problems

Short Paths on the Voronoi Graph
and the
Closest Vector Problem with Preprocessing
Daniel Dadush
Centrum Wiskunde en Informatica
Joint work with Nicolas Bonifas (École Polytechnique & IBM)
Lattices
A lattice β„’ βŠ† ℝ𝑛 is all integral
combinations of some basis
B = 𝑏1 , … , 𝑏𝑛 .
β„’(𝐡) denotes lattice
generated by 𝐡.
Note: a lattice has many
equivalent bases.
𝑏2
𝑏1
𝑏1
𝑏2
𝑏2
β„’
Closest Vector Problem (CVP)
Given: Lattice basis 𝐡 πœ– β„šπ‘›×𝑛 , target 𝑑 πœ– β„šπ‘› .
Goal: Compute 𝑦 πœ– β„’(𝐡) minimizing 𝑑 βˆ’ 𝑦
𝑦
𝑑
β„’
2.
CVP with Preprocessing (CVPP)
Given: Lattice basis 𝐡 πœ– β„šπ‘›×𝑛 , Preprocess(𝐡),
target 𝑑 πœ– β„šπ‘› .
Goal: Compute 𝑦 πœ– β„’(𝐡) minimizing 𝑑 βˆ’ 𝑦 2 .
Preprocess can be any function of the lattice basis 𝐡,
and need not be computationally bounded.
Limit Preprocess by the size of the generated advice
(i.e. polynomial, exponential, etc. in enc-size(B)).
CVP with Preprocessing (CVPP)
Given: Lattice basis 𝐡 πœ– β„šπ‘›×𝑛 , Preprocess(𝐡),
target 𝑑 πœ– β„šπ‘› .
Goal: Compute 𝑦 πœ– β„’(𝐡) minimizing 𝑑 βˆ’ 𝑦 2 .
Remark: Most solvers for CVP can be decoupled into a
preprocessing phase and a search phase.
Applications
1. Lattice based Cryptography:
Encrypt messages as perturbed lattice points.
2. Error Correcting Codes:
Lattice points are codewords, want to correct against
Gaussian perturbations.
Basic model in wireless communications.
3. Discretizing / Compressing continuous data:
Round continuous source to ``low distortion’’ lattice.
Used for speech, image, video data.
Hardness
𝛾 βˆ’ CVP / CVPP: compute 𝛾 approximate solution.
Lattice dimension is 𝑛.
𝛾 βˆ’ CVP:
NP-hard for 𝛾 = 𝑛𝑐/ log log 𝑛 [DKRS 03, ABSS 93].
𝛾 βˆ’ CVPP with polynomial advice:
a) NP-hard any constant 𝛾 [AKKV 05, Reg. 04, FM 04].
log1βˆ’πœ– 𝑛
b) Hard for 𝛾 = 2
𝑂(1
log
𝐷𝑇𝐼𝑀𝐸(2
, fixed πœ– > 0, assuming 𝑁𝑃 ⊈
πœ–) 𝑛
). [KPV 12, AKKV 05].
Algorithms for CVP
Method
Basis
Reduction
Apx
𝑛
𝑂 π‘˜
π‘˜
Time
Space
22π‘˜ poly 𝑛 2π‘˜ poly(𝑛)
Authors
LLL 83, Sch. 85,
Bab. 86, MV 10
1
𝑛𝑛/2
poly(𝑛)
LLL 83, Kan. 87,
…, HS 08
Randomized
Sieve
1+πœ–
1 2𝑛
πœ–
1 𝑛
πœ–
AKS 01, AKS 02,
BN 07
Voronoi Cell
1
22𝑛
2𝑛
SFS 09, MV 10
Algorithms for CVP
Method
Basis
Reduction
Apx
𝑛
𝑂 π‘˜
π‘˜
Time
Space
22π‘˜ poly 𝑛 2π‘˜ poly(𝑛)
Authors
LLL 83, Sch. 85,
Bab. 86, MV 10
1
𝑛𝑛/2
poly(𝑛)
LLL 83, Kan. 87,
…, HS 08
Randomized
Sieve
1+πœ–
1 2𝑛
πœ–
1 𝑛
πœ–
AKS 01, AKS 02,
BN 07
Voronoi Cell
1
22𝑛
2𝑛
SFS 09, MV 10
Preprocessing: Short lattice basis 𝐡.
Search Phase: Compute coefficients of closest
vector with respect to 𝐡 using search tree.
Algorithms for CVP
Method
Basis
Reduction
Apx
𝑛
𝑂 π‘˜
π‘˜
Time
Space
22π‘˜ poly 𝑛 2π‘˜ poly(𝑛)
Authors
LLL 83, Sch. 85,
Bab. 86, MV 10
1
𝑛𝑛/2
poly(𝑛)
LLL 83, Kan. 87,
…, HS 08
Randomized
Sieve
1+πœ–
1 2𝑛
πœ–
1 𝑛
πœ–
AKS 01, AKS 02,
BN 07
Voronoi Cell
1
22𝑛
2𝑛
SFS 09, MV 10
Iterivately clusters exponentially many β€œrandom” lattice points to
construct closer & closer vectors.
Only gives probabilistic guarantee output (Monte Carlo).
Algorithms for CVP
Method
Basis
Reduction
Apx
𝑛
𝑂 π‘˜
π‘˜
Time
Space
22π‘˜ poly 𝑛 2π‘˜ poly(𝑛)
Authors
LLL 83, Sch. 85,
Bab. 86, MV 10
1
𝑛𝑛/2
poly(𝑛)
LLL 83, Kan. 87,
…, HS 08
Randomized
Sieve
1+πœ–
1 2𝑛
πœ–
1 𝑛
πœ–
AKS 01, AKS 02,
BN 07
Voronoi Cell
1
22𝑛
2𝑛
SFS 09, MV 10
Preprocessing: Compute facets of Voronoi cell.
Search Phase: Directed search over Voronoi
graph to find closest vector.
Main Result
CVP with 2𝑛 Preprocessing [D.-Bonifas 14]:
Using the Voronoi cell as preprocessing, can
compute closest vectors in expected Θ(2𝑛 ) time.
Speeds up the search phase of the
Micciancio-Voulgaris algorithm by a Θ(2𝑛 ) factor.
𝒱
0
β„’
Main Result
Theorem [D.-Bonifas 14]:
CVP is polynomial time equivalent to separation
over the Voronoi cell.
Micciancio-Voulgaris algorithm requires Θ(2𝑛 ) calls
to a Voronoi cell separator.
𝑑
𝒱
0
β„’
Main Result
Theorem [D.-Bonifas 14]:
CVP is polynomial time equivalent to separation
over the Voronoi cell.
Will assume facet separator.
Can be derived from weaker separator*.
𝑦
𝒱
𝑑
0
β„’
Outline
1. Voronoi Cell based Algorithms:
Micciancio-Voulgaris CVPP algorithm.
2. Faster navigation of the Voronoi graph:
Randomized path finding algorithm.
3. Summary and Open Problems.
Voronoi Cell
The Voronoi of a lattice β„’ is
𝒱 β„’ = {π‘₯ πœ– ℝ𝑛 : π‘₯ 2 ≀ π‘₯ βˆ’ 𝑦
𝒱
2 , βˆ€π‘¦
πœ–β„’βˆ– 0 }
0
β„’
Voronoi Cell
The Voronoi of a lattice β„’ is
𝒱 β„’ = {π‘₯ πœ– ℝ𝑛 : π‘₯, 𝑦 ≀ 𝑦, 𝑦 2 , βˆ€π‘¦ πœ– β„’ βˆ– 0 }
𝒱
0
β„’
Voronoi Cell
𝒱 tiles spaces with respect to β„’.
𝒱
0
β„’
Voronoi relevant vectors
Define halfspace 𝐻𝑦 = {π‘₯ πœ– ℝ𝑛 : π‘₯ 2 ≀ π‘₯ βˆ’ 𝑦 2 }.
The Voronoi relevant vectors are the minimal subset
𝑉𝑅 βŠ† β„’ βˆ– {0} such that 𝒱 β„’ = π‘¦πœ–π‘‰π‘… 𝐻𝑦 .
𝑉𝑅 ≀ 2(2𝑛 βˆ’ 1)
Theorem [Voronoi]:
𝑣1
𝑣2
𝑣3
𝑣6
0
𝑣4
𝑣5
β„’
Voronoi relevant vectors
For 𝑣 πœ– 𝑉𝑅, βˆƒ 𝑐 = 𝐡 0,1 𝑛 /{0} such that
𝑣 = ±(𝑦 βˆ’ 𝑐)
where 𝑦 is a closest vector to 𝑐 in 2β„’.
Can compute 𝑉𝑅 by solving 2𝑛 CVPs!
𝑣1
𝑣2
𝑣3
𝑣6
0
𝑣4
𝑣5
β„’
CVP and Voronoi Cells
CVP: Compute center of Voronoi cell containing 𝑑.
𝑦
𝑑
β„’
CVP and Voronoi Cells
𝑦 πœ– β„’ closest vector to 𝑑 ⇔ 𝑑 βˆ’ 𝑦 πœ– 𝒱.
𝑦
𝑑
β„’
CVP and Voronoi Cells
𝑑 βˆ’ 𝑦 πœ– 𝒱 ⇔ 𝑑 βˆ’ 𝑦 2 ≀ 𝑑 βˆ’ 𝑦 βˆ’ 𝑣 2 , βˆ€π‘£ πœ– 𝑉𝑅.
Can perform check in 𝑂(𝑛 𝑉𝑅 ) time.
𝑦
𝑑
β„’
Voronoi Graph
Graph 𝒒 on β„’.
π‘₯~𝑦 if and only if π‘₯ βˆ’ 𝑦 πœ– 𝑉𝑅.
β„’
Voronoi based CVP algorithms
Idea: Build path along Voronoi graph 𝒒
from 0 to 𝑦 using 𝑑.
𝑦
𝑑
0
β„’
Voronoi based CVP algorithms
Question: What is the most efficient way to
traverse the Voronoi graph 𝒒?
𝑦
𝑑
0
β„’
Sommer, Feder, Shalvi 09: Iterative Slicer
While 𝑑 βˆ’ π‘₯ βˆ‰ 𝒱
Find 𝑣 πœ– 𝑉𝑅 such that 𝑑 βˆ’ π‘₯ βˆ’ 𝑣
Update π‘₯ ← π‘₯ + 𝑣.
2
< π‘‘βˆ’π‘₯
𝑑
π‘₯
0
β„’
2.
Sommer, Feder, Shalvi 09: Iterative Slicer
Showed only finite termination.
π‘₯
𝑑
0
β„’
Voronoi Norm
Norm with respect to 𝒱
π‘₯
𝒱
= min{𝑠 β‰₯ 0: π‘₯ πœ– 𝑠𝒱}
π‘₯
𝑠𝒱
𝒱 = {π‘₯ πœ–
𝒱
0
π‘₯
𝒱
ℝ𝑛 : 2
π‘₯, 𝑣
≀ 1, βˆ€π‘£ πœ– 𝑉𝑅}
𝑣, 𝑣
π‘₯, 𝑣
= max 2
𝑣 πœ– VR
𝑣, 𝑣
Computable in 𝑂(𝑛 |𝑉𝑅|) time.
Micciancio, Voulgaris 10
While 𝑑 βˆ’ π‘₯ βˆ‰ 𝒱
Find 𝑣 πœ– 𝑉𝑅 such that 𝑑 βˆ’ π‘₯
Update π‘₯ ← π‘₯ + 𝑣.
𝒱
= 2 π‘₯, 𝑣
𝑣, 𝑣 .
𝑑
π‘₯
0
β„’
Micciancio, Voulgaris 10
Theorem: If 𝑑 βˆ’ π‘₯ 𝒱 ≀ 2, then the
MV path from π‘₯ πœ– β„’ to the closest vector 𝑦 πœ– β„’ to
𝑑 on 𝒒 has length at most 2𝑛 .
Why is this enough?
1. Can assure 𝑑 βˆ’ π‘₯ 𝒱 ≀ n by rounding
coordinates of 𝑑 w.r.t. a basis of VR vectors.
2. Use MV path iteratively to find closest vector
to 𝑑 βˆ’ π‘₯ in 2𝑖 β„’, for 𝑖 = log 𝑛 down to 0.
Total runtime: 𝑂(4𝑛 ).
Micciancio, Voulgaris 10
MV subgraph on (𝑑 + 4𝒱) ∩ β„’.
𝑑
4𝒱
β„’
Micciancio, Voulgaris 10
CVP: Want to compute π‘₯0 .
0
𝑑 π‘₯
0
β„’
Micciancio, Voulgaris 10
0 is a closest
vector in 8β„’.
0
𝑑
8β„’
8𝒱
Micciancio, Voulgaris 10
Move to closest
vector in 4β„’.
0
𝑑
π‘₯2
4𝒱
4β„’
8𝒱
Micciancio, Voulgaris 10
Move to closest
vector in 2β„’.
0
π‘₯1
𝑑
2𝒱
π‘₯2
4𝒱
2β„’
Micciancio, Voulgaris 10
Move to closest
vector in β„’.
0
π‘₯1
𝑑 π‘₯
0
𝒱
2𝒱
π‘₯2
β„’
Navigating the Voronoi Graph
Question: Is there a polynomial sized path from
the origin to the target Voronoi cell?
If so, can each step of the path be computed in
𝑂(2𝑛 ) time?
Implies 𝑂(2𝑛 ) time algorithm for CVPP.
Answer: Yes! *
* path length depends polynomially on bit size of
basis 𝐡 of β„’ and target 𝑑.
Straight Line Algorithm
How many cells does this cross?
𝑑
π‘₯
0
β„’
Straight Line Algorithm
Initial analysis in [MV 10].
Gives worse bounds…
π‘₯
𝑑
0
β„’
Straight Line Algorithm
Initial analysis in [MV 10].
Don’t have any bad examples!
π‘₯
𝑑
0
β„’
Randomized Straight Line
What if we add randomness to
the process?
𝑑
π‘₯
0
β„’
Randomized Straight Line
Sample a β€œrandom” 𝑍.
Path: 0 β†’ 𝑍, 𝑍 β†’ 𝑍 + 𝑑, 𝑍 + 𝑑 β†’ 𝑑.
𝑑
π‘₯
𝑍+𝑑
0
𝑍
β„’
Randomized Straight Line
How long is path when going between lattice points?
Let’s restrict to the case 𝑑 πœ– β„’.
Path Lengths on the Voronoi Graph
Path from 0 to 𝑦 πœ– β„’:
a. 0 β†’ 𝑍 b. 𝑍 β†’ 𝑍 + 𝑦 c. 𝑍 + 𝑦 β†’ 𝑦
where 𝑍 ~ Uniform(𝒱).
Theorem: Expected path length bounded by 𝑛 𝑦
Corollary: For π‘₯, 𝑦 πœ– β„’,
𝑦 βˆ’ π‘₯ 𝒱 2 ≀ 𝑑𝒒 π‘₯, 𝑦 ≀ 𝑛 𝑦 βˆ’ π‘₯
𝒱 /2.
𝒱 /2.
Proof: Write 𝑦 βˆ’ π‘₯ = π‘˜π‘–=1 𝑣𝑖 , 𝑣𝑖 πœ– 𝑉𝑅, π‘˜ = 𝑑𝒒 π‘₯, 𝑦 .
𝑦 βˆ’ π‘₯ 𝒱 ≀ π‘˜π‘–=1 𝑣𝑖 𝒱 = 2π‘˜.
Randomized Straight Line
a. 0 β†’ 𝑍 b. 𝑍 β†’ 𝑍 + 𝑦 c. 𝑍 + 𝑦 β†’ 𝑦
where 𝑍 ~ Uniform(𝒱).
𝑍
π‘₯ π‘Ž
0
𝑏
𝑍+𝑦
𝑐
𝑦
β„’
Bounding the number of crossings
Phase a+c: 0 crossings
Phase b: ???
𝑍
0
π‘Ž
𝑏
𝑍+𝑦
π‘₯ 𝑐
𝑦
β„’
Bounding the number of crossings
E # crossings from 𝑍 to 𝑍 + 𝑦 =
(π‘–βˆ’1)𝑦
𝑖𝑦
E lim
in 𝑍 + π‘˜ to 𝑍 + π‘˜ ]
2
2
π‘˜β†’βˆž
(π‘–βˆ’1)𝑦
𝑖𝑦
2π‘˜
lim 𝑖=1 Pr[crossing in 𝑍 + π‘˜ to 𝑍 + π‘˜ ]
2
2
π‘˜β†’βˆž
2π‘˜
𝑖=1 I[crossing
𝑍+𝑦
𝑍
0
𝑏
𝑦
β„’
=
Bounding the number of crossings
Pr[crossing in 𝑍 +
(π‘–βˆ’1)𝑦
to
π‘˜
2
𝑍+
𝑖𝑦
2π‘˜
]
depends only on distribution of 𝑍 +
𝑍 π‘šπ‘œπ‘‘ β„’ is uniform β‡’ 𝑍 +
(π‘–βˆ’1)𝑦
2π‘˜
(π‘–βˆ’1)𝑦
2π‘˜
π‘šπ‘œπ‘‘ β„’ .
π‘šπ‘œπ‘‘ β„’ is uniform!
𝑍+𝑦
𝑍
0
𝑏
𝑦
β„’
Bounding the number of crossings
Pr crossing in 𝑍 +
Pr crossing in 𝑍 to
π‘–βˆ’1 𝑦
to
π‘˜
2
𝑦
𝑍+ π‘˜
2
𝑍
𝑖𝑦
+ π‘˜
2
=
𝑍+𝑦
𝑍
0
𝑏
𝑦
β„’
Bounding the number of crossings
Pr crossing in 𝑍 to 𝑍 + πœ–π‘¦ = Pr 𝑍 + πœ–π‘¦ βˆ‰ 𝒱
𝑍+πœ–π‘¦
𝑍
0
𝒱
Bounding the number of crossings
Pr 𝑍 + πœ–π‘¦ βˆ‰ 𝒱 ≀ 1 βˆ’ Pr 𝑍 ∈ 1 βˆ’ πœ– 𝑦
= 1 βˆ’ 1 βˆ’ πœ– 𝑦 𝒱 𝑛 ≀ π‘›πœ– 𝑦 𝒱
𝒱
𝒱
𝑍+πœ–π‘¦
𝑍
0
𝑠 = (1 βˆ’ πœ– 𝑦
𝑠𝒱
𝒱
𝒱)
Bounding the number of crossings
lim
2π‘˜
𝑖=1 Pr[crossing in 𝑍
lim
2π‘˜
𝑖=1 𝑛
π‘˜β†’βˆž
π‘˜β†’βˆž
𝑦
𝒱
+
2π‘˜ ≀ 𝑛 𝑦
(π‘–βˆ’1)𝑦
2π‘˜
𝒱
to 𝑍 +
𝑖𝑦
2π‘˜
]≀
.
Can save a factor of 2 with a more careful analysis.
𝑍+𝑦
𝑍
0
𝑏
𝑦
β„’
Path for General Targets
a. 0 β†’ 𝑍 b. 𝑍 β†’ 𝑍 + 𝑑 c. 𝑍 + 𝑑 β†’ 𝑦
where 𝑍 ~ Uniform(𝒱).
𝑍+𝑑
𝑍
𝑏
𝑐
𝑑 𝑦
π‘Ž 0π‘₯
β„’
Bounding the number of crossings
Phase a: 0
Phase b: n 𝑑
𝒱 /2
Phase c: ???
𝑍+𝑑
𝑍
𝑏
𝑐
π‘₯
𝑑 𝑦
π‘Ž0
β„’
Bounding the number of crossings
Don’t know how to bound Phase c…
𝑍+𝑑
𝑐
π‘₯
𝑑 𝑦
0
β„’
Truncating the Path
Follow phase c line until we reach
𝑀 such that 𝑑 βˆ’ 𝑀 𝒱 = πœ–.
π‘₯
𝑍+𝑑
𝑐
𝑀𝑑
𝑦
0
β„’
Truncating the Path
π‘‘βˆ’π‘₯
𝒱
≀ π‘€βˆ’π‘₯
≀1+πœ–
𝒱
+ π‘‘βˆ’π‘€
𝒱
π‘₯
𝑍+𝑑
𝑐
𝑀𝑑
𝑦
0
β„’
Truncating the Path
Need to bound number of intersections
from 𝑍 + 𝑑 to 𝑀.
π‘₯
𝑍+𝑑
𝑐
𝑀𝑑
𝑦
0
β„’
Bounds for General Targets
Path from 0 to 𝑑 πœ– ℝ𝑛 :
a. 0 β†’ 𝑍 b. 𝑍 β†’ 𝑍 + 𝑑 c. 𝑍 + 𝑑 β†’ 𝑑
where 𝑍 ~ Uniform(𝒱).
Theorem: Path traverses π‘₯ ∈ β„’, 𝑑 βˆ’ π‘₯ 𝒱 ≀ 1 + πœ– after at
most 𝑛 𝑑 𝒱 /2 + 𝑂(𝑛) log 1 πœ– steps on expectation.
Lemma: Assume 𝑑 ∈ ℀𝑛 and β„’ βŠ† ℀𝑛 and that 𝒱 βŠ† 𝑅𝐡2𝑛 .
If 𝑦 ∈ β„’ and 𝑑 βˆ’ 𝑦 𝒱 > 1, then
𝑑 βˆ’ 𝑦 𝒱 β‰₯ 1 + 1 (2𝑅2 ).
Gives poly dependence on bit description of β„’ and 𝑑.
The Last Mile
𝑍~Uniform 𝒱
Density 𝑓 π‘₯ = I[x πœ– 𝒱]/vol(𝒱)
𝑍
𝒱
0
β„’βˆ’π‘‘
The Last Mile
Total number of intersections:
Int = E[π‘π‘Ÿπ‘œπ‘ π‘ π‘–π‘›π‘”π‘  𝑍 π‘€π‘–π‘‘β„Ž β„’ βˆ’ 𝑑 + πœ•π’±]
𝑍
0
β„’βˆ’π‘‘
The Last Mile
Total number of intersections:
1
Int =
π‘¦πœ–β„’βˆ’π‘‘ E[π‘π‘Ÿπ‘œπ‘ π‘ π‘–π‘›π‘”π‘  𝑍 π‘€π‘–π‘‘β„Ž 𝑦 + πœ•π’±]
2
𝑍
0
β„’βˆ’π‘‘
The Last Mile
Total number of intersections:
1
Int =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr 𝑍 crosses 𝑦 + 𝐹𝑣
2
πœ•π’± =
π‘£πœ–π‘‰π‘… 𝐹𝑣
𝑍
0
β„’βˆ’π‘‘
The Last Mile
Total number of intersections:
1
Int =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr 𝑍 πœ– 𝑠β‰₯1 𝑠(𝑦 + 𝐹𝑣 ) ]
2
πœ•π’± =
π‘£πœ–π‘‰π‘… 𝐹𝑣
𝑍
0
β„’βˆ’π‘‘
Bounding the Truncated Path
Int πœ– = expected # of intersections with
boundaries at distance β‰₯ πœ–.
𝑍
πœ–π’±
0
β„’βˆ’π‘‘
Bounding the Truncated Path
Only need to control Int πœ– !
𝑍
πœ–π’±
0
β„’βˆ’π‘‘
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
πœ•π’± =
+ 𝐹𝑣 )
π‘£πœ–π‘‰π‘… 𝐹𝑣
𝑍
0
β„’βˆ’π‘‘
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
𝑦
0
𝑦 + 𝐹𝑣
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
𝑦
0
𝑠β‰₯1 𝑠(𝑦
+ 𝐹𝑣 )
+ 𝐹𝑣 )
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
π‘Ÿ(𝑦 + 𝐹𝑣 )
𝑦
0
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
π‘Ÿ(𝑦 + 𝐹𝑣 )
𝑦
0 𝑣
Pr π‘πœ–
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
π‘Ÿ
=
𝑣
0
𝑠(𝑦+𝐹𝑣 )
𝑣
2,𝑦
βˆ’ 𝑣/2 𝑓 π‘₯ dx ds
Bounding the Truncated Path
For π‘Ÿ β‰₯ 1, define
1
Int r =
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… Pr π‘πœ–
2
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
π‘Ÿ(𝑦 + 𝐹𝑣 )
𝑦
0 𝑣
Pr π‘πœ–
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
1β‰€π‘ β‰€π‘Ÿ 𝑠(𝑦
+ 𝐹𝑣 )
π‘Ÿ
=
𝑣
0
𝑠(𝑦+𝐹𝑣 )
𝑣
2 , π‘₯/𝑠
𝑓 π‘₯ dx ds
Bounding the Truncated Path
Lemma: Int πœ– ≀ Int(1 πœ–), 0 < πœ– < 1.
1 πœ– scaling of πœ–-boundaries falls out of 𝒱.
πœ–π’±
0
β„’βˆ’π‘‘
Bounding Int(1/πœ–)
Strategy: Show that Int(1 πœ–) grows slowly as
a function of πœ– by bounding its derivative.
Problem: Uniform measure on 𝒱 not smooth
enough.
Trick: Replace uniform distribution on 𝒱
by 𝑒 βˆ’π‘› π‘₯ 𝒱 on ℝ𝑛 .
Equivalent to sampling
scaling 𝑐~ 𝑑 𝑛 𝑒 βˆ’π‘‘π‘› and 𝑋 ~ uniform(𝒱)
and returning 𝑍 ← 𝑐𝑋.
Bounding Int(1/πœ–)
Trick: Replace uniform distribution on 𝒱
by 𝑒 βˆ’π‘› π‘₯ 𝒱 on ℝ𝑛 .
Equivalent to sampling
scaling 𝑐~ 𝑑 𝑛 𝑒 βˆ’π‘‘π‘› and 𝑋 ~ uniform(𝒱)
and returning 𝑍 ← 𝑐𝑋.
𝑐 πœ– [1,1 +
1
] with constant probability.
𝑛
Expected number of crossings can only
decrease by a constant factor.
Bounding Int(1/πœ–)
Trick: Replace uniform distribution on 𝒱
by 𝑒 βˆ’π‘› π‘₯ 𝒱 on ℝ𝑛 .
Equivalent to sampling
scaling 𝑐~ 𝑑 𝑛 𝑒 βˆ’π‘‘π‘› and 𝑋 ~ uniform(𝒱)
and returning 𝑍 ← 𝑐𝑋.
Smoothness: For Ξ” 𝒱 ≀ 1/𝑛,
𝑒 βˆ’π‘› π‘₯ 𝒱 βˆ’1 ≀ 𝑒 βˆ’π‘› π‘₯+Ξ” 𝒱 ≀ 𝑒 βˆ’π‘›
π‘₯ 𝒱 +1 .
Bounding Int(1/πœ–)
For π‘₯ ∈ β„’ βˆ’ 𝑑 + πœ•π’±,
let πœ‚ π‘₯ = 𝑣 𝑣 2 denote the outer unit normal.
𝑣
π‘₯
0
β„’βˆ’π‘‘
Bounding Int(1/πœ–)
𝑍~𝑓 π‘₯ =
𝑛𝑛
𝑛!vol(𝒱)
𝑒 βˆ’π‘›
π‘₯ 𝒱.
Int 1 πœ–
=
1 πœ–1
1
2
=
1 πœ–
𝑓
1
𝑠(β„’βˆ’π‘‘+πœ•π’±)
π‘¦πœ–β„’βˆ’π‘‘,π‘£πœ–π‘‰π‘… 𝑠(𝑦+𝐹𝑣 ) 𝑓
π‘₯ | πœ‚ π‘₯ 𝑠 , π‘₯ 𝑠 |dx ds
π‘₯ | πœ‚ π‘₯ 𝑠 , π‘₯ 𝑠 | dx ds
Bounding Int(1/πœ–)
1 πœ–
𝑓 π‘₯ | πœ‚ π‘₯ 𝑠 , π‘₯ 𝑠 | dx ds
1
𝑠(β„’βˆ’π‘‘+πœ•π’±)
Idea: use smoothness of 𝑓(π‘₯) + tiling property
to relate surface integral to integral over ℝ𝑛 .
0
𝑠(β„’ βˆ’ 𝑑)
Bounding Int(1/πœ–)
1 πœ–
𝑓 π‘₯ | πœ‚ π‘₯ 𝑠 , π‘₯ 𝑠 | dx ds
1
𝑠(β„’βˆ’π‘‘+πœ•π’±)
Idea: use smoothness of 𝑓(π‘₯) + tiling property
to relate surface integral to integral over ℝ𝑛 .
0
𝑠(β„’ βˆ’ 𝑑)
Bounding Int(1/πœ–)
1 πœ–
≀ 𝑂(𝑛)
1
1
𝑠
ℝ𝑛
π‘₯
𝒱𝑓
π‘₯ dx ds
Idea: use smoothness of 𝑓(π‘₯) + tiling property
to relate surface integral to integral over ℝ𝑛 .
0
𝑠(β„’ βˆ’ 𝑑)
Bounding Int(1/πœ–)
1 πœ–
≀𝑂 𝑛
1
1
ds = 𝑂 𝑛 log 1/πœ–
𝑠
Idea: use smoothness of 𝑓(π‘₯) + tiling property
to relate surface integral to integral over ℝ𝑛 .
0
𝑠(β„’ βˆ’ 𝑑)
Total Path Length
Phase a: 0
Phase b: n 𝑑
𝑍
𝑏
𝒱 /2
Phase c: O(𝑛) log 1/πœ–
π‘₯
𝑍+𝑑
𝑐
𝑀𝑑
𝑦
π‘Ž0
β„’
Conclusions
1.
Θ(2𝑛 ) speedup of Micciancio and Voulgaris CVPP
algorithm.
2. Tight relationship between geometric and path
distance on the Voronoi graph.
Open Problems
1. Can we get speedup for full MV CVP algorithm?
(need to solve 2𝑛 CVPs in 2𝑛 time!)
2. Are there any bad examples for the straight line
algorithm? Is randomness needed?
3. Can we make the path length strongly polynomial?
4. Can we compress the description of the Voronoi cell?
(know: {0, ±1} combinations of 𝑂(𝑛 log 𝑛) vectors!)
5. Does anything hold for general norms?
THANK YOU!