В [1] Garey et al. определите то, что позже будет известно как проблема суммы квадратных корней в ходе разработки NP-полноты евклидовой TSP.
Даны целые числа а также определить, если
Они отмечают, что даже не очевидно, что эта проблема в NP, так как не ясно, какие минимальные цифры точности требуются при вычислении квадратных корней, чтобы в достаточной мере сравнить сумму с , Тем не менее, они приводят наиболее известную верхнюю границу где это «количество цифр в исходном символическом выражении». К сожалению, эта верхняя граница объясняется лишь личным общением с А. М. Одлызко.
У кого-нибудь есть правильная ссылка на эту верхнюю границу? Или, в случае отсутствия опубликованной ссылки, доказательство или эскиз доказательства также могут быть полезны.
Примечание: я считаю, что эта граница может быть выведена как следствие более общих результатов, полученных Bernikel et. и др. [2] примерно с 2000 года о границах разделения для большего класса арифметических выражений. В основном меня интересуют более современные ссылки (например, то, что было известно примерно в 1976 году) и / или доказательства, специализирующиеся только на случае суммы квадратных корней.
Гэри, Майкл Р., Рональд Л. Грэм и Дэвид С. Джонсон. « Некоторые NP-полные геометрические задачи ». Материалы восьмого ежегодного симпозиума ACM по теории вычислений. ACM, 1976.
Burnikel, Christoph, et al. « Сильное и легко вычислимое разделение, связанное с арифметическими выражениями с участием радикалов ». Algorithmica 27.1 (2000): 87-99.
Ответы:
Вот довольно небрежный эскиз. ПозволятьS=∑ni=1δiai−−√ где δi∈{±1} , Это алгебраическое число не более2n и высота не более H=(max(ai))n , Теперь легко проверить,S=0 (можно сделать даже в TC0 - посмотри это ). ЕслиS≠0 тогда он отделен от 0 на величину (потому что это алгебраическое число и, следовательно, является ненулевым корнем одномерного многочлена), который является функцией степени и высоты минимального многочлена S , К сожалению, зависимость от степени экспоненциального числа квадратных корней (и еслиai Это простые простые числа, эта степень степени даже жесткая, хотя этот случай оценки знака легко обрабатывается). Необходимая точность, следовательно, экспоненциальная в количестве квадратных корней, которое2n -биты для S , Теперь достаточно обрезать каждый изai−−√ сказать 210n биты, чтобы гарантировать, что знак гарантированно будет правильным. Это легко сделать с помощью полиномиального множества шагов итерации Ньютона). Теперь дело до проверки, является ли сумма положительной, которая является просто сложением и, следовательно, линейной по количеству битов в слагаемых. Обратите внимание, что это вычисление выполняется за полиномиальное время на машине BSS. Также обратите внимание, что мы не делаем никаких вычислений напрямую с минимальным полиномомS Сам по себе, который может иметь огромные коэффициенты и выглядеть уродливо, мы просто используем его, чтобы рассуждать о точности, с которой нам нужно обрезать квадратные корни. Для более подробной информации, проверьте документ Tiwari .
источник