Effizientes Lösen eines Systems strenger linearer Ungleichungen mit allen Koeffizienten gleich 1 ohne Verwendung eines allgemeinen LP-Lösers?


9

Gemäß dem Titel gibt es außer der Verwendung eines Allzweck-LP-Lösers einen Ansatz zum Lösen von Ungleichungssystemen über Variablen wobei Ungleichungen die Form ? Was ist mit dem Sonderfall von Ungleichungen, die eine Gesamtordnung über die Summen der Mitglieder der Potenzmenge von ?xi,,xkiIxi<jJxj{xi,,xk}


4
@Ankur: Es spielt keine Rolle, ob es sich um ganze oder reelle Zahlen handelt. Wenn dies strenge Ungleichungen sind, können Sie sie zu Rationalen abrunden und sie dann mit dem kleinsten gemeinsamen Nenner multiplizieren, um eine ganzzahlige Lösung zu erhalten.
Peter Shor

6
Ich habe keine Ahnung, was Sie in 30 Minuten codieren können (in welcher Sprache?). Wenn das das Kriterium für „einfach“ ist, ist das dann überhaupt eine Frage in der theoretischen Informatik?
Tsuyoshi Ito

1
Guter Punkt Peter Shor. jonderry, ich nehme meine Aussage zurück. Ich dachte, dass das kombinatorische Problem, diese strengen Ungleichungen zu erfüllen, und das konvexe analytische Problem, einen inneren Punkt eines Kegels zu finden, qualitativ unterschiedlich sind. Ich habe mich geirrt.
Ankur

1
@Tsuyoshi: Es muss nicht trivial sein, aber ich bin gespannt, ob dies nach ersten Grundsätzen möglich ist, ohne die zusätzliche Leistung eines vollständigen LP-Lösers zu nutzen, insbesondere für den Sonderfall, in dem wir eine Bestellung haben aller Teilmengen-Summen (beachten Sie in diesem Fall, dass die Polynomzeit in der Anzahl der Variablen exponentiell ist).
Jonderry

3
Dann denke ich: "Kann dieses Problem effizient gelöst werden, ohne allgemeine Algorithmen für die lineare Programmierung zu verwenden?" ist eine gute Möglichkeit, Ihre Frage besser zu formulieren.
Tsuyoshi Ito

Antworten:


9

Bei Ihrer ersten Frage ohne die Gesamtreihenfolge lautet die Antwort auf Ihre Frage, dass sie im Wesentlichen so schwierig ist wie die lineare Programmierung. Hier ist ein Überblick über einen Beweis.

wir zunächst eine Variable , die wir . Wählen wir nun eine andere Variable , die wir nennen werden . Wir wollen sicherstellen, dass Berücksichtigen Sie dazu die Ungleichungen usw. Bei einer ausreichend langen Kette wird dies uns sagen, dass oder für einige sehr große ( ist eine Fibonacci-Zahl und wächst daher exponentiell in ).x1>0ϵxi1

ϵ1.
x1<x2,
x1+x2<x3,
x2+x3<x4,
Nx1<xiϵ<1/NNNi

Wir können jetzt ein lineares Programm mit ganzzahligen Koeffizienten erstellen. Wenn wir einen Koeffizienten von 3 für , addieren wir die Ungleichungen und lassen stehen in für 3 . Wenn Sie größere Koeffizienten wünschen, können Sie diese erhalten, indem Sie die Koeffizienten in binärer Notation ausdrücken und Ungleichungen , die garantieren, dass , usw. Um die rechte Seite zu erhalten, machen wir dasselbe mit der Variablenxt

xt<xt<xt<xt+ϵ
xt+xt+xtxtxu2xtxv2xuxi=1. Mit dieser Technik können wir lineare Programme der OP-Form verwenden, um die Machbarkeit für beliebige lineare Programme mit ganzzahligen Koeffizienten ungefähr zu überprüfen, eine Aufgabe, die im Wesentlichen so schwierig ist wie die lineare Programmierung.

Ich weiß nicht, wie ich die zweite Frage analysieren soll, wenn ich nach dem Fall frage, in dem es eine Gesamtreihenfolge für alle Teilmengen gibt.

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.