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, żeNp1p2…pkSp1 … pk
logL≤∑pi∈Slogpi≤logU.
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 i ∝ t 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…tklogpi∝ti∝logpiti
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 / 2t′jatja i zamiast wymagać, aby suma była dokładnies, wymagamy, aby zawierała się międzysis+1tja+ 110 tysss . 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 + 1104 logkblogpjaDziennik B + 4k
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.+ T5 / 8θ ( T5 / 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 B.pjaT.ja9 / 8 BT.jalogT.ja∝ tja bitów. To pozwala nam znaleźć p í ≈ T í tak że log p i a t I z precyzją 9 / 89 / 8bpja≈ Tjalogpja∝ tja 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