NP-полный вариант факторинга.


45

Книга Ароры и Барака представляет факторинг как следующую проблему:

Факторингзнак равно{L,U,N|( простое число п{L,...,U})[п|N]}

Далее в главе 2 добавляется, что устранение того факта, что п простое, делает эту задачу NP-полной, хотя это не связано с трудностью факторизации чисел. Похоже, что может быть сокращение от SUBSETSUM, но я застрял, находя его. Удачи здесь лучше?

РЕДАКТИРОВАТЬ 1 марта: Награда предназначена для доказательства Nп полноты с использованием детерминированного сокращения Карпа (или Кука).


5
@turkistany: FWIW, я считаю плохим стилем перевод NP в курсив, а также плохим стилем и плохим LaTeX, чтобы переводить его в математический режим (так как расстояние между буквами различается).
Микаэль Кадилхак

@ Микаэль, извини, вернулся к первоначальному стилю. Я был взволнован вашим вопросом :)
Мухаммед Аль-Туркистани

7
Несколько более полное описание: на странице 63 книги они пишут: Алон и Килиан (в личном общении) показали, что в определении факторинга языка в Примере 2.3 условие, что фактор p является простым, необходимо для захвата проблема факторинга, поскольку без этого условия этот язык является NP-полным (по причинам, не имеющим никакого отношения к сложности факторизации целых чисел).
MS Dousti

2
Естественно, я искал статью Алона и Килиана, содержащую «факторинг» и «NP-полный». Я не нашел ни одного (полагаю, что в некотором смысле это тоже естественно). :(
Tsuyoshi Ito

5
@ Майкл Мне действительно нравится рендерить классы как а не NP. Нет? Nп
Суреш Венкат

Ответы:


35

Это не совсем ответ, но это близко. Следующее является доказательством того, что задача NP-трудна при рандомизированных сокращениях.

Существует очевидная связь с суммой подмножества: предположим, вы знаете факторы : p 1 , p 2 , , p k . Теперь вы хотите найти подмножество S из p 1 ... p k такое, чтоNп1п2...пКSп1 ... пК

журналLΣпяSжурналпяжурналU,

Проблема с попыткой использовать эту идею, чтобы показать, что проблема NP-трудна, состоит в том, что если у вас есть проблема с суммой подмножеств с числами , t 2 , , t k , вы не можете обязательно найти простые числа за полиномиальное время, например что log p it i (где под я подразумеваю приблизительно пропорционально). Это реальная проблема, потому что, поскольку subset-sum не является строго NP-полной, вам нужно найти эти log p i для больших целых чисел t iT1T2...TКжурналпяαTяαжурналпяTя .

Теперь предположим, что мы требуем, чтобы все целые числа t k в задаче суммы подмножеств находились между x и x ( 1 + 1 / k ) , и чтобы сумма составляла приблизительно 1T1 ... TКИксИкс(1+1/К). Проблема суммы подмножеств будет по-прежнему NP-полной, и любое решение будет суммойk/2целых чисел. Мы можем изменить задачу с целых чисел на действительные, если мы позволимti быть междуtiиti+112ΣяTяК/2Tя'Tя , и вместо того, чтобы требовать, чтобы сумма была точноs, мы требуем, чтобы она была междуsиs+1Tя+110Кss . Нам нужно только указать наши числа примерно на4logkбольше битов, чтобы сделать это. Таким образом, если мы начнем с чисел сбитамиB, и мы можем указать действительные числаlogpiпримерно доB+4logks+1104журналКВжурналпяВ+4журналК бит точности, мы можем осуществить наше сокращение.

Теперь из Википедии (через комментарий Сянь-Чжи ниже), число простых чисел между и Т + Т 5 / 8 является θ ( Т 5 / 8 / войти Т )TT+T5/8θ(T5/8/журналT) , так что если вы просто выбрать номера случайным образом в этом диапазоне, и проверить их на простоту, с высокой вероятностью получить штрих за полиномиальное время.

Теперь давайте попробуем сокращение. Допустим, все наши имеют длину B бит. Если мы возьмем T I длины 3 B биты, то можно найти простой р я вблизи Т я с 9 / 8 B битами точности. Таким образом, мы можем выбрать T i так, чтобы log T it i с точностью 9 /TяВTя3ВпяTя9/8ВTяжурналTяαTя бит. Это позволяет нам найти p iT i, так что log p it i с точностью 9 /9/8ВпяTяжурналпяαTя бит. Если подмножество этих простых чисел умножается на что-то близкое к целевому значению, существует решение исходных проблем суммы подмножеств. Таким образом, мы позволяем N = Π i p i , выбираем L и U соответствующим образом, и мы получаем рандомизированное уменьшение от суммы подмножества.9/8ВNзнак равноΠяпяLU


3
Я не понимаю сокращения. Чтобы задача суммы подмножеств являлась NP-полной, число должно быть задано в двоичном виде. Если нам нужны целые числа, логарифмы которых близки к числам в случае проблемы суммы подмножеств, нам нужно экспоненциально много цифр. Как вы преодолеваете это?
Цуёси Ито

2
@Peter: предположение в теории чисел называется гипотезой Крамера , которая утверждает, что , где p n - n-е простое число. Смотрите статью основной разрыв также для справки. pn+1pn=O(log2n)pN
Сянь-Чи Чан 之 之

2
@Peter: Да, эта версия предположения была доказана для достаточно большой. Первый результат такого рода показан Хохейзелем, а лучший результат из-за Википедии - работа Бейкера, Хармана и Пинца , где α = 0,525 , c 1 = (поскольку оно верно для вероятности 1) и c 2 = 1. , Tαзнак равно0,525с1знак равнос2знак равно1
Сянь-Чжи Чанг 之 之

2
Просто наткнулся на это. Должен отметить, что я не знаю, каким было оригинальное доказательство Килиана-Алона. Мое единственное знание доказательства - это общение с Ногой, который не помнил подробности первоначального доказательства, и доказательство, которое он реконструировал, было именно этим. Обратите внимание, что это также может быть описано как детерминированная редукция при некоторых теоретических предположениях о сильных числах (например, что в любом интервале вида есть простое число [x, x + polylog (x)]).
Вооз Барак

4
Я только что говорил с Джо Килианом. Он сказал, что доказательство того, что он и Алон придумали, включало рандомизированные сокращения с нулевой ошибкой. Насколько ему известно, детерминированное сокращение все еще открыто, если вы не сделаете какое-то теоретическое предположение, как уже сказал Вооз Барак.
Тимоти Чоу

8

Я думаю, что это связано с теоремой PCP (в частности, ).Nпзнак равнопСп[О(журналN),О(1)]

Отрывок из статьи Мадху :

... Идея о том, что верификатор может выполнять любые вычисления за полиномиальное время, значительно обогащает класс теорем и доказательств и начинает предлагать весьма нетривиальные методы доказательства теорем. (Одним из непосредственных следствий является то, что мы можем предположить, что теоремы / доказательства / утверждения / аргументы являются двоичными последовательностями, и мы будем делать это впредь.) Например, предположим, что у нас есть утверждение (скажем, гипотеза Римана), и скажем, что оно имеет доказательство, которое будет соответствовать статье в 10000 страниц. Вычислительная перспектива говорит, что с учетом A и этой границы (10 000 страниц) можно эффективно вычислить три натуральных числа N , L , U с L U NAAN,L,ULUNтаким образом, что истинно тогда и только тогда , когда N имеет делитель между L и U . Целые числа N , L и U будут довольно длинными (возможно, на их написание уйдет миллион страниц), но они могут быть созданы чрезвычайно эффективно (менее чем за то время, которое потребуется принтеру для распечатки всех этих целых чисел, что, конечно, самое большее день или два). (Этот конкретный пример основан на результате из-за личного общения Джо Килиана ) ...ANLUNLU

... далеко за пределы моих навыков теории сложности :-)


2
Это просто еще одна формулировка, что эта проблема является NP-полной.
Марк Бери

@Marc ... ммм ... Я думаю , что это означает: является NP-полной, потому что существует полиномиальная редукция из NP-полной задачи.КРАТКОЕ ДОКАЗАТЕЛЬСТВОсуществует ...{L,U,N|(p{L,,U})[p|N]}
Marzio De Biasi

2
КРАТКОЕ ДОКАЗАТЕЛЬСТВО в статье почти такое же, как проблема ограниченного останова. Сокращение от проблемы КРАТКОЕ ДОКАЗАТЕЛЬСТВО было бы, скорее всего, столь же грязным, как и типичное доказательство NP-полноты SAT, и поэтому маловероятно, что доказательство NP-полноты этой задачи поиска факторов Килианом построит сокращение от КРАТКОЕ ДОКАЗАТЕЛЬСТВО проблемы напрямую.
Tsuyoshi Ito

0

Это неформальная идея эффективного детерминированного сокращения (и может быть неполной):

Fractran - полный по Тьюрингу язык программирования. Соответствующим образом определяется ограниченно-версия программ Fractran должна быть приводимой к языку {L,U,M|( a positive integer p{L,,U})[p|M]}

Например, ограниченная версия может спрашивать, производится ли целое число в выходной последовательности программы Fractran за определенное количество шагов (делений) (то есть M = N jF i ).MM=NjFi

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.