Considera il seguente problema:
Input : un hyperplane , dato da un vettore e nella rappresentazione binaria standard.
Output :
Nella notazione sopra per e è definito come , ovvero è la distanza euclidea naturale tra un insieme di punti e un singolo punto .
In parole, ci viene dato un iperpiano e stiamo cercando il punto nel reticolo intero che è più vicino all'iperpiano.
La domanda è:
Qual è la complessità di questo problema?
Si noti che il tempo polinomiale qui significherà polinomio nella dimensione in bit dell'input. Per quanto posso vedere il problema è interessante anche in due dimensioni. Quindi non è difficile vedere che è sufficiente considerare solo quelle soluzioni con ma sono molte opzioni superpolinomiali.
Un problema strettamente correlato è la risoluzione di un'equazione diottantina lineare, ovvero la ricerca di un tale che o la determinazione del fatto che no esiste. Quindi, risolvere un'equazione diofantea lineare equivale a determinare se esiste una soluzione di valore 0 al problema che ho definito sopra. Un'equazione diofantea lineare può essere risolta in tempo polinomiale; infatti anche i sistemi di equazioni diottantine lineari possono essere risolti in tempo polinomiale calcolando la forma normale di Smith della matrice fornisce il sistema. Esistono algoritmi temporali polinomiali che calcolano la forma normale di Smith di una matrice intera, la prima data daKannan e Bachem .
Per ottenere intuizione sulle equazioni diottantine lineari possiamo considerare di nuovo il caso bidimensionale. Chiaramente, non esiste una soluzione esatta se non divide . Se divide , è possibile eseguire l'algoritmo GCD esteso per ottenere due numeri e tali che e impostare e . Ora puoi vedere come la versione approssimativa è diversa: quando non divide , come possiamo trovare gli interi tale che la distanza tra e la linea è ridotta al minimo?
Il problema per me suona un po 'come il problema del vettore più vicino nei reticoli, ma non vedo un'ovvia riduzione da un problema all'altro.