Книга Ароры и Барака представляет факторинг как следующую проблему:
Далее в главе 2 добавляется, что устранение того факта, что простое, делает эту задачу NP-полной, хотя это не связано с трудностью факторизации чисел. Похоже, что может быть сокращение от SUBSETSUM, но я застрял, находя его. Удачи здесь лучше?
РЕДАКТИРОВАТЬ 1 марта: Награда предназначена для доказательства полноты с использованием детерминированного сокращения Карпа (или Кука).
cc.complexity-theory
np-hardness
factoring
Михаэль Кадилхак
источник
источник
Ответы:
Это не совсем ответ, но это близко. Следующее является доказательством того, что задача NP-трудна при рандомизированных сокращениях.
Существует очевидная связь с суммой подмножества: предположим, вы знаете факторы : p 1 , p 2 , … , p k . Теперь вы хотите найти подмножество S из p 1 ... p k такое, чтоN p1 p2 … pk S p1 … pk
Проблема с попыткой использовать эту идею, чтобы показать, что проблема NP-трудна, состоит в том, что если у вас есть проблема с суммой подмножеств с числами , t 2 , … , t k , вы не можете обязательно найти простые числа за полиномиальное время, например что log p i ∝ t i (где под ∝ я подразумеваю приблизительно пропорционально). Это реальная проблема, потому что, поскольку subset-sum не является строго NP-полной, вам нужно найти эти log p i для больших целых чисел t it1 t2 … tk logpi∝ti ∝ logpi ti .
Теперь предположим, что мы требуем, чтобы все целые числа … t k в задаче суммы подмножеств находились между x и x ( 1 + 1 / k ) , и чтобы сумма составляла приблизительно 1t1 … tk x х ( 1 + 1 / к ) . Проблема суммы подмножеств будет по-прежнему NP-полной, и любое решение будет суммойk/2целых чисел. Мы можем изменить задачу с целых чисел на действительные, если мы позволимt ′ i быть междуtiиti+112ΣяTя к / 2 T'я Tя , и вместо того, чтобы требовать, чтобы сумма была точноs, мы требуем, чтобы она была междуsиs+1Tя+ 110 к s s . Нам нужно только указать наши числа примерно на4logkбольше битов, чтобы сделать это. Таким образом, если мы начнем с чисел сбитамиB, и мы можем указать действительные числаlogpiпримерно доB+4logkс + 110 4 журналаК В журналпя B+4logk бит точности, мы можем осуществить наше сокращение.
Теперь из Википедии (через комментарий Сянь-Чжи ниже), число простых чисел между и Т + Т 5 / 8 является θ ( Т 5 / 8 / войти Т )T T+T5/8 θ(T5/8/logT) , так что если вы просто выбрать номера случайным образом в этом диапазоне, и проверить их на простоту, с высокой вероятностью получить штрих за полиномиальное время.
Теперь давайте попробуем сокращение. Допустим, все наши имеют длину B бит. Если мы возьмем T I длины 3 B биты, то можно найти простой р я вблизи Т я с 9 / 8 B битами точности. Таким образом, мы можем выбрать T i так, чтобы log T i ∝ t i с точностью 9 /ti B Ti 3B pi Ti 9/8B Ti logTi∝ti бит. Это позволяет нам найти p i ≈ T i, так что log p i ∝ t i с точностью 9 /9/8B pi≈Ti logpi∝ti бит. Если подмножество этих простых чисел умножается на что-то близкое к целевому значению, существует решение исходных проблем суммы подмножеств. Таким образом, мы позволяем N = Π i p i , выбираем L и U соответствующим образом, и мы получаем рандомизированное уменьшение от суммы подмножества.9/8B N=Πipi L U
источник
Я думаю, что это связано с теоремой PCP (в частности, ).NP=PCP[O(logn),O(1)]
Отрывок из статьи Мадху :
... Идея о том, что верификатор может выполнять любые вычисления за полиномиальное время, значительно обогащает класс теорем и доказательств и начинает предлагать весьма нетривиальные методы доказательства теорем. (Одним из непосредственных следствий является то, что мы можем предположить, что теоремы / доказательства / утверждения / аргументы являются двоичными последовательностями, и мы будем делать это впредь.) Например, предположим, что у нас есть утверждение (скажем, гипотеза Римана), и скажем, что оно имеет доказательство, которое будет соответствовать статье в 10000 страниц. Вычислительная перспектива говорит, что с учетом A и этой границы (10 000 страниц) можно эффективно вычислить три натуральных числа N , L , U с L ≤ U ≤ NA A N,L,U L≤U≤N таким образом, что истинно тогда и только тогда , когда N имеет делитель между L и U . Целые числа N , L и U будут довольно длинными (возможно, на их написание уйдет миллион страниц), но они могут быть созданы чрезвычайно эффективно (менее чем за то время, которое потребуется принтеру для распечатки всех этих целых чисел, что, конечно, самое большее день или два). (Этот конкретный пример основан на результате из-за личного общения Джо Килиана ) ...A N L U N L U
... далеко за пределы моих навыков теории сложности :-)
источник
Это неформальная идея эффективного детерминированного сокращения (и может быть неполной):
Fractran - полный по Тьюрингу язык программирования. Соответствующим образом определяется ограниченно-версия программ Fractran должна быть приводимой к языку{⟨L,U,M⟩|(∃ a positive integer p∈{L,…,U})[p|M]}
Например, ограниченная версия может спрашивать, производится ли целое число в выходной последовательности программы Fractran за определенное количество шагов (делений) (то есть M = N j ∗ F i ).M M=Nj∗Fi
источник