Gibt es eine Möglichkeit, eine Instanz von Subset Sum oder das Number Partition Problem zu codieren, sodass eine (kleine) Lösung für eine Ganzzahlbeziehung eine Antwort ergibt? Wenn nicht definitiv, dann in einem wahrscheinlichkeitstheoretischen Sinne?
Ich weiß, dass LLL (und möglicherweise PSLQ) mit mäßigem Erfolg bei der Lösung von Subset-Summen-Problemen in der Region mit geringer Dichte eingesetzt wurde, in der der ausgewählte Zahlenbereich größer als , aber diese Methoden lassen sich nicht gut skalieren zu Instanzen größerer Größe und zum Fehlschlagen in der Region 'hoher Dichte', wenn der gewählte Zahlenbereich viel kleiner als . Hier bezieht sich niedrige Dichte und hohe Dichte auf die Anzahl der Lösungen. Der Bereich mit niedriger Dichte bezieht sich auf die wenigen oder gar nicht vorhandenen Lösungen, während sich der Bereich mit hoher Dichte auf einen Bereich mit vielen Lösungen bezieht.
In der Region mit hoher Dichte findet LLL (kleine) ganzzahlige Beziehungen zwischen gegebenen Instanzen, aber wenn die Instanzgröße zunimmt, wird die Wahrscheinlichkeit, dass die gefundene Beziehung eine tragfähige Teilmengen- oder Zahlenpartitionsproblemlösung ist, immer kleiner.
Die Erkennung von Ganzzahlbeziehungen ist polynomiell bis in eine exponentielle Grenze des Optimums, wohingegen Teilmenge Summe und NPP offensichtlich NP-vollständig sind. Im Allgemeinen ist dies wahrscheinlich nicht möglich. Könnte dies jedoch einfacher sein, wenn die Instanz gleichmäßig zufällig gezeichnet wird?
Oder sollte ich diese Frage nicht einmal stellen und stattdessen fragen, ob es eine Möglichkeit gibt, die Exponentialgrenze von der optimalen Antwort anstelle einer exponentiellen Zunahme der Berechnung zu verringern?
Antworten:
Sei m der Logarithmus der größten Zahl. Wenn ist, ist es durch dynamische Programmierung in Polynomzeit lösbar. Im Allgemeinen benötigt jeder bekannte Algorithmus mindestens Ω ( 2 m ) Zeit. Es ist kein polynomieller Zeitalgorithmus bekannt, wenn m = ω ( log n ) und m = o ( n )m = O ( logn ) Ω ( 2m) m = ω ( logn ) m = o ( n )
Flaxman und Przydatek stellen jedoch einen Algorithmus zur Verfügung, mit dem Teilmengen-Summenprobleme mittlerer Dichte in der erwarteten Polynomzeit gelöst werden können.
Überprüfen Sie diese Referenz:
Flaxman und Przydatek lösen Teilmengenprobleme mittlerer Dichte in der erwarteten Polynomzeit
quelle