Certifying shortest vector in a lattice

  • Context: Graduate 
  • Thread starter Thread starter Dragonfall
  • Start date Start date
  • Tags Tags
    Lattice Vector
Click For Summary

Discussion Overview

The discussion revolves around the problem of certifying the shortest vector in an n-dimensional integer lattice, exploring both the complexity of verifying such a vector in polynomial time and the implications of the length of basis vectors on algorithm efficiency.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • Some participants question whether it is possible to certify a shortest vector in polynomial time for an n-dimensional integer lattice, particularly when considering the complexity of the problem in non-integer lattices.
  • One participant notes that the problem of finding the shortest vector in a non-integer lattice is NP-hard, suggesting that polynomial time verification may not be feasible without additional constraints.
  • Another participant mentions that in 2 dimensions, Gauss' basis reduction can find the shortest vector in linear time, but expresses uncertainty about similar methods in higher dimensions.
  • There is a suggestion that the algorithm's time complexity should not depend on the length of the longest basis vector, as scaling the lattice could lead to misleading results.
  • One participant references an algorithm that solves the shortest lattice vector problem in 2^O(n) time, arguing that this is strictly less than O(k^n) for sufficiently large k, although they express uncertainty about the details of the proofs and algorithms involved.
  • A participant points to a paper discussing the limitations of the "greedy" algorithm used by Euclid and Gauss, noting that it works effectively only up to 4 dimensions.

Areas of Agreement / Disagreement

Participants express varying opinions on the feasibility of certifying the shortest vector in polynomial time, with some arguing against the dependence on the longest basis vector, while others highlight the complexity of the problem in higher dimensions. The discussion remains unresolved with multiple competing views.

Contextual Notes

There are limitations regarding the assumptions made about the nature of the lattice (integer vs. rational) and the implications of scaling on the representation of vectors. The complexity of the algorithms discussed is also not fully quantified, leaving some aspects open to interpretation.

Dragonfall
Messages
1,023
Reaction score
5
Given an n dimensional integer lattice, is it possible to certify a vector as being a shortest one in time polynomial in n?

If we then fix the dimension n, is it possible to certify the shortest-ness in time strictly less than O(k^n) where k is the length of the largest basics vector?
 
Mathematics news on Phys.org
Typo: basics = basis
 
The first half seems to be a difficult problem. In a general case of a non-integer lattice, all that is known is that the problem of finding the shortest vector is NP-hard, so, it is not currently known whether there's a method to verify a solution in polynomial time. And, unless you place a limit the length of basis vectors, there's no reason to expect that "integerness" would let you reduce complexity.
 
What about the second part? In 2 dimensions, Gauss' basis reduction runs in linear time (I think), and finds the shortest vector. In higher dimensions I've yet to see something similar.
 
I would be surprised if the algorithm time relied on the length of the longest basis vector. Otherwise you could just scale your lattice by a factor of a thousand, run your algorithm super fast, then multiply the resulting vector by 1000. Unless I'm missing something
 
Since we're talking about integer lattices, you can't scale arbitrarily. Even if we're talking about rational lattices, scaling does not change the amount of bits necessary to represent a vector. Unless I misunderstood you.
 
Dragonfall said:
What about the second part? In 2 dimensions, Gauss' basis reduction runs in linear time (I think), and finds the shortest vector. In higher dimensions I've yet to see something similar.

There is an algorithm to solve the whole problem exactly in 2^O(n) time: M. Ajtai, R. Kumar, and D. Sivakumar. A sieve algorithm for the shortest lattice vector problem, 2001. 2^O(n) is strictly less than O(k^n), if I'm not mistaken.

Edit: less for large enough k. The original paper by Ajtai & co. does not quantify the multiplier in O(n).

I don't understand any of the proofs or algorithms nearly well enough to adopt them to the specific task at hand... I wonder what it would mean to solve the problem rigorously as originally posited in the thread? Probably at least a publishable paper; not enough for a PhD thesis...
 
Last edited:
Dragonfall said:
Since we're talking about integer lattices, you can't scale arbitrarily. Even if we're talking about rational lattices, scaling does not change the amount of bits necessary to represent a vector. Unless I misunderstood you.

Somehow I missed the integer part
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 0 ·
Replies
0
Views
1K
  • · Replies 3 ·
Replies
3
Views
6K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 25 ·
Replies
25
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
Replies
2
Views
3K