Kompletny wariant faktoringu NP.

45

Książka Arory i Baraka przedstawia faktoring jako następujący problem:

FACTORING={L,U,N|( a prime p{L,,U})[p|N]}

Dodają, w dalszej części rozdziału 2, że usunięcie faktu, że jest liczbą pierwszą, sprawia, że ​​ten problem NP jest kompletny, chociaż nie jest to związane z trudnością faktoryzacji liczb. Wygląda na to, że może być obniżka z SUBSETSUM, ale utknąłem, szukając go. Czy jest tu więcej szczęścia?p

EDIT 01 marca: Bounty jest na -completeness dowodu przy użyciu deterministycznego Karp (lub Cooka) redukcji.NP

Michaël Cadilhac
źródło
5
@turkistany: FWIW, uważam za zły styl, aby umieścić kursywę w NP, a zarówno zły styl, jak i zły LaTeX, aby wprowadzić go w tryb matematyczny (ponieważ odstępy między literami różnią się).
Michaël Cadilhac
@ Michaël, Przepraszamy, przywrócono oryginalny styl. Podnieciło mnie twoje pytanie :)
Mohammad Al-Turkistany,
7
Nieco bardziej kompletny opis: na stronie 63 książki piszą: Alon i Kilian (w komunikacji osobistej) wykazali, że w definicji języka Faktoring w przykładzie 2.3 warunek, że czynnik p jest liczbą pierwszą, jest konieczny, aby uchwycić problem faktoringu, ponieważ bez tego warunku ten język jest NP-kompletny (z powodów niemających nic wspólnego z twardością faktorowania liczb całkowitych).
MS Dousti,
2
Oczywiście szukałem artykułu Alona i Kiliana zawierającego „faktoring” i „NP-zupełny”. Nie znalazłem żadnego (wydaje mi się, że jest to w pewnym sensie naturalne). :(
Tsuyoshi Ito
5
@Michael I rzeczywiście jak rendering klasach zamiast NP. Nie? NP
Suresh Venkat

Odpowiedzi:

35

To nie do końca odpowiedź, ale jest blisko. Poniżej znajduje się dowód na to, że problem jest trudny NP przy losowych redukcjach.

Istnieje oczywisty związek z sumą podzbioru, który brzmi: załóżmy, że znasz czynniki : p 1 , p 2 , , p k . Teraz chcesz znaleźć podzbiór S z p 1 ... p k takie, żeNp1p2pkSp1 pk

logL.pjaS.logpjalogU.

Problem z próbą wykorzystania tego pomysłu do pokazania, że ​​problem jest NP-trudny, polega na tym, że jeśli masz problem z podzbiorem o liczbach , t 2 , , t k , niekoniecznie możesz znaleźć liczby pierwsze w czasie wielomianowym, takie jak że log p it i (gdzie przez , mam na myśli w przybliżeniu proporcjonalne do). To jest prawdziwy problem, ponieważ, ponieważ podzbiorem sumy nie jest silnie NP-zupełny, trzeba znaleźć te log P I dla dużych liczb całkowitych t I .t1t2)tklogpjatjalogpjatja

Załóżmy teraz, że wymagamy, aby wszystkie liczby całkowite t k w problemie sumy podzbioru zawierały się w przedziale od x do x ( 1 + 1 / k ) i że suma wynosi około 1t1 tkxx(1+1/k). Problem sumy podzbiorów nadal będzie NP-zupełny, a każde rozwiązanie będzie sumąliczb całkowitychk/2. Możemy zmienić problem z całkowitymi do liczb rzeczywistych, jeśli pozwolimyt ' i wynosić odtIiti+112)jatjak/2)tjatja i zamiast wymagać, aby suma była dokładnies, wymagamy, aby zawierała się międzysis+1tja+110kss . Aby to zrobić, musimy jedynie podać nasze liczby na około4logkwięcej bitów precyzji. Zatem, jeśli zaczniemy od liczb zbitamiBi możemy podać liczby rzeczywistelogpido okołoB+4logkbitów precyzji, możemy przeprowadzić naszą redukcję.s+1104logkblogpjab+4logk

Teraz z wikipedii (przez komentarzu Hsien-Chih za poniżej), liczba liczb pierwszych między i T + T 5 / 8 jest θ ( T 5 / 8 / log T ) , więc jeśli tylko wybierać numery losowo w tym zakresie, a przetestuj je pod kątem pierwotności, z dużym prawdopodobieństwem uzyskaj liczbę pierwszą w czasie wielomianowym.T.T.+T.5/8θ(T.5/8/logT.)

Teraz spróbujmy redukcji. Powiedzmy, że nasz są wszystkie B bitów. Jeśli weźmiemy T I o długości 3 B bitów, to możemy znaleźć doskonałą p ja pobliżu T I z 9 / 8 B bitów precyzją. W ten sposób, możemy wybrać T i tak, że log T i a t I z precyzją 9 / 8tjabT.ja3)bpjaT.ja9/8bT.jalogT.jatja bitów. To pozwala nam znaleźć p íT í tak że log p i a t I z precyzją 9 / 89/8bpjaT.jalogpjatja bitów. Jeśli podzbiór tych liczb pierwszych mnoży się do wartości zbliżonej do wartości docelowej, istnieje rozwiązanie pierwotnych problemów z sumą podzbiorów. Dlatego pozwalamy N = Π i p i , odpowiednio dobrać L i U , i mamy losową redukcję z sumy podzbioru.9/8bN.=ΠjapjaL.U

Peter Shor
źródło
3
Nie rozumiem redukcji. Aby problem sumy podzbiorów był NP-zupełny, liczba musi być podana w postaci binarnej. Jeśli chcemy liczb całkowitych, których logarytmy są zbliżone do liczb w wystąpieniu problemu sumy podzbioru, potrzebujemy wykładniczo wielu cyfr. Jak sobie z tym poradzić?
Tsuyoshi Ito
2
@Peter: Założenie teorii liczb nazywa się hipotezą Craméra , która stwierdza, że , gdzie p n jest n-tą liczbą pierwszą. Zobacz także pierwszą lukę w artykule w celach informacyjnych. pn+1-pn=O(log2)n)pn
Hsien-Chih Chang 8 之
2
@Peter: Tak, ta wersja założenia została udowodniona dla wystarczająco dużej. Pierwszy wynik tego rodzaju pokazuje Hoheisel, a najlepszy wynik dzięki Wikipedii to dzieło Bakera, Harmana i Pintza , o α = 0,525 , c 1 = (ponieważ dotyczy prawdopodobieństwa 1) ic 2 = 1 . T.α=0,525do1=do2)=1
Hsien-Chih Chang 張顯 之
2
Właśnie się z tym spotkałem. Powinienem zauważyć, że nie wiem, jaki był oryginalny dowód Kilian-Alon. Moją jedyną wiedzą na temat dowodu jest komunikacja z Nogą, który nie pamiętał szczegółów oryginalnego dowodu, a zrekonstruowany przez niego dowód był właśnie tym. Zauważ, że można go również opisać jako redukcję deterministyczną przy pewnych założeniach teoretycznych o dużej liczbie (np. Że liczba pierwsza występuje w dowolnym przedziale postaci [x, x + polylog (x)]).
Boaz Barak
4
Właśnie rozmawiałem z Joe Kilianem. Powiedział, że dowód, że on i Alon wymyślili, dotyczył losowych redukcji zerowego błędu. O ile mu wiadomo, redukcja deterministyczna jest wciąż otwarta, chyba że podejmie się jakieś teoretyczne założenie, jak już powiedział Boaz Barak.
Timothy Chow,
8

Myślę, że jest to powiązane z twierdzeniem PCP (w szczególności ).N.P.=P.doP.[O(logn),O(1)]

Fragment gazety Madhu :

... Pojęcie, że weryfikator może wykonywać dowolne wielomianowe obliczenia czasowe, znacznie wzbogaca klasę twierdzeń i dowodów i zaczyna oferować wysoce nietrywialne metody dowodzenia twierdzeń. (Jedną z bezpośrednich konsekwencji jest to, że możemy założyć, że twierdzenia / dowody / twierdzenia / argumenty są ciągami binarnymi i zrobimy to odtąd.) Na przykład załóżmy, że mamy twierdzenie (powiedzmy hipoteza Riemanna) i powiedzmy, że wierzymy, że dowód, który mieściłby się w artykule na 10 000 stron. Perspektywa obliczeniowa mówi, że biorąc pod uwagę A i ten związany (10 000 stron), można skutecznie obliczyć trzy dodatnie liczby całkowite N , L , U z L U NZAZAN.,L.,UL.UN.tak, że jest prawdziwe wtedy i tylko wtedy, gdy N jest dzielnik między L i U . Liczby całkowite N , L i U będą dość długie (być może ich napisanie zajmie milion stron), ale można je wyprodukować niezwykle wydajnie (w czasie krótszym niż czas potrzebny na wydrukowanie wszystkich liczb całkowitych przez drukarkę, co z pewnością wynosi najwyżej dzień lub dwa). (Ten konkretny przykład oparty jest na wyniku spowodowanym osobistą komunikacją Joe Kiliana ) ...ZAN.L.UN.L.U

... daleko poza moimi umiejętnościami teorii złożoności :-)

Marzio De Biasi
źródło
2
To tylko kolejna formuła, że ​​ten problem jest NP-zupełny.
Marc Bury,
@Marc ... mmm ... Myślę, że to znaczy: jest NP-zupełny ponieważ wielomian redukcja z problem NP-zupełnyKRÓTKIM DOWODUistnieje ...{L.,U,N.|(p{L.,,U})[p|N.]}
Marzio De Biasi
2
Problem KRÓTKICH DOWODÓW w dokumencie jest prawie taki sam jak problem ograniczonego zatrzymania. Zmniejszenie z problemu KRÓTKICH DOWODÓW byłoby najprawdopodobniej tak niechlujne jak typowy dowód kompletności NP dla SAT, a zatem jest mało prawdopodobne, aby dowód kompletności NP tego problemu ze znalezieniem czynnika przez Kiliana skonstruował redukcję z KRÓTKI DOWÓD PROBLEM bezpośrednio.
Tsuyoshi Ito
0

Jest to nieformalny skuteczny pomysł deterministycznej redukcji (i może być niepełny):

Fractran to kompletny język programowania Turinga. Odpowiednio zdefiniowane ograniczony wersja programów Fractran należy sprowadzić do języka {L,U,M|( a positive integer p{L,,U})[p|M]}

Na przykład, ograniczonym wersja może zapytać, czy liczba całkowita jest wytwarzany w sekwencji wyjściowego Fractran programu w określonej liczbie etapów (działy) (czyli M = N j * f I ).M.M.=N.jotfaja

Mohammad Al-Turkistany
źródło