Gleichungssystem mit binären Variablen

Neue Frage »

avrrobot Auf diesen Beitrag antworten »
Gleichungssystem mit binären Variablen
Meine Frage:
Hallo,

ich habe ein Gleichungssystem von folgendem Typ, welches ich gerne (algorithmisch) lösen möchte:

a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 = 4
a0*b3 + a1*b2 + a2*b1 + a3*b0 = 3
.....

wobei a0,a1,...,an und b0,b1,...,bn Element {0,1}.
Dabei besitzt das System immer ein eindeutige Lösung.
Außerdem kommt jede Kombination aus ax mit bx jeweils einmal vor.
Welches Verfahren kann ich nutzen, um dies effizient zu lösen?

Meine Ideen:
Da man durch Addition der Gleichungen wie in einem normalen linearen Gleichungssystem hier nichts erhält, wird man die Gleichungen multiplizieren müssen, das wird aber schnell unübersichtlich. Teilen von Gleichungen ist auch nicht wirklich praktisch.
Elvis Auf diesen Beitrag antworten »

Wieso besitzt das System immer eine eindeutige Lösung ? Für haben wir mit den drei Lösungen .
avrrobot Auf diesen Beitrag antworten »

Für den Fall n = 0 stimmt das, aber ich habe einen Anwendungsfall, der eine Eindeutige Lösung garantiert. Außerdem ist n immer größer als 0, mehr so wie 100 oder so (deshalb brauche ich ja auch einen Algorithmus, da ich das nicht von Hand lösen kann und will).
Elvis Auf diesen Beitrag antworten »

Das glaube ich nicht. Wenn das schon für n=0 falsch ist, kann es nicht für n>0 richtig sein. Eventuell habe ich dein Gleichungssystem mit "..." falsch verstanden, dann musst Du erst einmal sauber definieren, wie es aussieht.
avrrobot Auf diesen Beitrag antworten »

Ok, warscheinlich habe ich mich hier schlecht ausgedrückt (in mehreren Hinsichten):

-Das ganze ist in der Hinsicht nicht eindeutig, dass die Lösung bezüglich a und b symmetrisch ist. Was ich damit meine ist folgendes: Man kann a und b auch als einen Vektor betrachten, dann hat das System eine Lösung und eine andere mit a und b vertauscht. Aber das ist ja eigentlich nur eine einzige Lösung, da es keine Rolle spielt, ob a nun den einen Vektor enthält oder den anderen.

-Ich sage nicht, dass diese Art von Gleichungssystem prinzipiell nur eine (oder zwei) Lösungen hat, aber ich muss es eben nur in Fällen lösen, von denen ich weiß, dass nur eine (oder eben zwei, wie man es auch betrachtet) Lösungen existiert. Das meine ich mit dem Anwendungsfall

Den Rest hast du glaube ich richtig verstanden.
Elvis Auf diesen Beitrag antworten »

Ein Algorithmus ist nicht nötig, die beiden Lösungen findet man leicht durch Lösen der Gleichungen für n=0,1,2,...
 
 
avrrobot Auf diesen Beitrag antworten »

Ok, ich muss zugeben, dass ich nicht genau weiß, was du meinst.
Deshalb hier mal ein einfaches Beispiel (ich hoffe ich habe es richtig zusammengestellt):










Was wäre dann also die Lösung (natürlich kann man das hier noch relativ leicht von Hand lösen mit etwas nachdenken, aber ich brauche eine generelle Lösung).
Elvis Auf diesen Beitrag antworten »

Wenn ich eine Lösung Deines Problems finde, veränderst Du das Problem. Jetzt hast Du auf der linken Seite mehr und weniger Summanden und die rechte Seite wächst nicht mehr streng monoton. Wenn Du in der Lage bist, das generelle Problem zu formulieren, hast Du wesentlich bessere Aussichten, die generelle Lösung zu finden.
avrrobot Auf diesen Beitrag antworten »

Ich bin mir zwar nicht sicher, wie man zu dieser Interpretation kommen kann, aber ich nahm an, dass die exakte Form des Problemes nicht nötig sei, da es unter Umständen eine generelle Lösung für diese Art gibt (jeweils zwei Variablen multiplizieren und das ganze dann zusammenaddieren). Da es aber anscheinend nötig ist, hier die genaue Form meines Problemes für beliebige Größen:

Es werden immer Gleichungen betrachtet. Wie in dem Beispiel gezeigt werden die Gleichungen jeweils immer um ein Variablenpaar länger bis zur mittleren Glechung, dann wieder kürzer. Zur Generalisierung verwende ich erst einmal eine Darstellung, bei der die Gleichungen nur länger werden:



Wobei die Lösung aus bis und b äquivalent besteht. Alle a und b mit einem höheren Index werden als 0 definiert, daher fallen diese Faktoren dann weg und die Gleichungen werden ab der Mitte kürzer.
ist dabei immer der Wert der Einzelnen Gleichungen, diese sind immer bekannt, es kann aber keine Aussage getroffen werden, außer dass der Wert der ersten und der letzten Gleichung immer 1 ist.

(Es kann sein, dass hier drin irgendwo eine kleine inkonsistenz mit n existiert, aber ich denke man versteht es zusammen mit dem Beispiel)
Elvis Auf diesen Beitrag antworten »

Wenn Du das Problem nicht allgemein aufschreiben kannst oder willst, dann kannst Du auch keine allgemeine Lösung und keinen Algorithmus dafür finden. Jedes solche Problem ist leicht lösbar, falls Deine "Zweideutigkeitsbedingung" (bzw. "symmetrische Eindeutigkeitsbedingung") gilt. Als Programm zur Lösung kannst Du jedes Optimiersystem benutzen, das binäre Probleme lösen kann.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »