Next: Solving Subset Sum Problems
Up: Extending Seysen's Algorithm
Previous: Alternate Choices of
Alternate S(A) Functions
Section 2.1.3 above gave reasons for using
functions of the product terms
.
In
particular, the function
was selected as the Seysen measure function because it yielded a closed
form solution for the optimal value of
given i and j.
However, other functions could certainly be employed as the method of
comparing different lattice bases. In this section we briefly describe
how Seysen's algorithm would have to be modified to accommodate another
measure function.
We restrict our attention to versions of Seysen's algorithm which use
only row moves involving two basis vectors (i.e.
). Recall that the formula in
Equation 2.9 for the optimal choice of
was
derived by maximizing the change in the Seysen measure function caused
by a row move involving two particular basis vectors. In the Seysen
measure function is changed, the only direct impact it will have upon
the operation of the algorithm is that the optimal value of
for basis vectors
will be computed in a different
manner.
In [38] Seysen mentions two possible replacements for the S(A)
function:
Replacing S(A) with S1(A) implies that our choice of
must
minimize:
Solving
yields an
extremely complex expression for
.
Similar results occur when
we try to substitute S2(A) for S(A). In both cases, no simple
closed-form solution for
exists as was the case with S(A).
It may be still be possible to utilize measure functions in Seysen's
algorithm with no simple closed-form solution for
if we are
willing to sacrifice some performance. If the range of possible integer
values is bounded, for given i and j we can compute
for all possible
values in the permitted
range. The
which provides the greatest change may then be
selected. The cost of this procedure is that we can no longer guarantee
that the maximal
for a pair of basis vectors
may be found in constant time. If the range of
values to consider is usually small, then we will probably
notice little more than a linear slowdown in the running time of the
algorithm. For large ranges of possible
values, further
heuristics might be applied, such as only considering
values
which are near a power of two.
In our experiments we noticed that large
values tended to
occur only during the first few row reduction performed by Seysen's
algorithm. After this initial burst in reduction of S(A) row moves
tended only to involve small integer
values; it was quite rare
to find
.
If similar conditions occur for the lattice
bases in question, it is probably reasonable to use a more complex
measure function than S(A) and use a small exhaustive search over a
bounded range of possible
values to find the optimal
coefficient for a row move.
Next: Solving Subset Sum Problems
Up: Extending Seysen's Algorithm
Previous: Alternate Choices of
Brian A. LaMacchia
1999-10-30