Wie kann P =? NP verbessern die ganzzahlige Faktorisierung


14

Wenn tatsächlich gleich N P ist , wie würde dies unsere Algorithmen verbessern, um ganze Zahlen schneller zu faktorisieren. Mit anderen Worten, welche Art von Einsicht würde uns diese Tatsache zum besseren Verständnis der Faktorisierung von ganzen Zahlen verhelfen?PNP

Antworten:


9

Wenn ist und wir einen Algorithmus haben, der das k-SAT- Problem in Polynomzeit lösen kann, kann die ganzzahlige Faktorisierung einfach auf k-SAT reduziert werden, indem Factoring als Problem in k-SAT beschrieben wird.P=NP

Im Wesentlichen funktioniert es wie folgt: Sie erstellen eine Reihe von Variablen, die jeweils die Bits von , q und n darstellen . Dann formulieren Sie das k-SAT-Problem als p q = n . Da n bekannt ist, können Sie diese Werte einstellen. Dann beschreibt eine befriedigende Zuordnung ein gültiges p und q . Um die Multiplikation in k-SAT zu beschreiben, können Sie einen der bekannten Multiplikationsalgorithmen verwenden und die logische Schaltung in k-SAT beschreiben. Weitere Informationen zur Reduzierung des Factorings auf k-SAT finden Sie hier .pqnpq=nnpq

Ein besseres Verständnis des Factorings würde wahrscheinlich mehr Forschung und Analyse des magischen Algorithmus erfordern (der NP-vollständige Probleme in der deterministischen Polynomzeit lösen kann) und ihn möglicherweise auf die ganzzahlige Factoring-Formulierung des k-SAT-Problems spezialisieren (was offensichtlich der Fall ist) eine sehr spezifische Struktur, abhängig vom verwendeten Multiplikationsalgorithmus).


3

Das Entscheidungsproblem für das Factoring ist und das Factoring kann in deterministischer Polynomzeit darauf reduziert werden.NP

Wenn dann dann irgendein Problem in N P wird einschließlich Factoring eine Polynomialzeitalgorithmus haben.P=NPNP

Es ist zu beachten, dass die derzeit bekanntesten deterministischen / probabilistischen Algorithmen zum Faktorisieren exponentielle Zeit benötigen, sodass ein polynomieller Zeitalgorithmus eine große Verbesserung darstellt. Ziehen Sie eine 2000-Bit-Zahl in Betracht, um sich ein Bild davon zu machen. Einer kann länger dauern als die ganze Zeit seit dem Urknall, der andere kann in wenigen Millisekunden antworten.


Nur zur Klarstellung für OP: Die allgemeine Entscheidungsversion des Factorings lautet "Hat die Zahl einen Faktor Y, so dass 1 < Y < K ", wobei X und K eingegeben werden. Das Zertifikat ist einfach eine Nummer Y, die die Bedingung erfüllt. Das Entscheidungsproblem kann verwendet werden, um tatsächlich zu faktorisieren, indem eine binäre Suche nach K durchgeführt wird, bis ein einziger geeigneter Faktor von X gefunden wird, und dann auf X / Y zurückzugreifen . XY.1<Y.<KXKY.KXX/Y.
Sasho Nikolov
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.