Розглянемо наступну проблему:
Вхід : гіперплощина H = { y ∈ R n : a T y = b }
x ∈ Z n = arg min d ( x , H )
У наведених позначеннях d ( x , S )
Словом, нам дають гіперплан і шукаємо точку в цілій граті, яка є найближчою до гіперплани.
Питання:
У чому полягає складність цієї проблеми?
Зверніть увагу, що час полінома тут буде означати поліном у бітовому розмірі вхідного сигналу. Наскільки я бачу, проблема цікава навіть у двох вимірах. Тоді не важко зрозуміти, що досить розглянути лише ті рішення ( х 1 , х 2 )
Пов'язана проблема - це вирішення лінійного рівняння діофантіна, тобто пошук таким, що або визначення того, що такого немає існує. Отже, розв’язання лінійного рівняння діофантину еквівалентне визначенню, чи існує рішення значення 0 задачі, визначеній нами вище. Лінійне діофантинове рівняння можна розв’язати в поліноміальний час; насправді навіть системи лінійних діофантинових рівнянь можна вирішити в поліноміальний час шляхом обчислення нормальної форми Сміта матриці дає систему. Існують поліноміальні алгоритми часу, які обчислюють нормальну форму Сміта з цілочисельної матриці, першу задану функцієюx ∈ Z n a T x = b x
Для отримання інтуїції щодо лінійних рівнянь діофантину ми можемо розглянути ще раз двовимірний випадок. Зрозуміло, що немає точного рішення, якщо не розділяє . Якщо це розділить , ви можете запустити розширений алгоритм GCD, щоб отримати два числа і таким чином, що і встановити і . Тепер ви можете бачити, чим відрізняється приблизна версія: коли не ділить , як ми знаходимо цілі числаg c d ( a 1 , a 2 ) b b s t a 1 s + a 2 t = g c d ( a 1 , a 2 ) x 1 = s b / g c d ( a 1 , a 2 ) x 2 = t b / g c d ( a 1 ,
Проблема для мене трохи схожа на найближчу проблему з векторними гратами, але я не бачу очевидного скорочення від будь-якої проблеми до іншої.