Skalarprodukt mit einem unbekannten Vektor

Neue Frage »

aipro Auf diesen Beitrag antworten »
Skalarprodukt mit einem unbekannten Vektor
Meine Frage:
Hallo !
Ich habe ein Problem auf dessen Lösung ich einfach nicht komme, und zwar:
Gegeben ist ein Vektor und das Ergebnis der Skalarmultiplikation mit einer Variablen; im Beispiel sieht die Rechnung also so aus:

[latex]
\begin{pmatrix} 3 \\ 5 \\ 11 \\ 20 \end{pmatrix}\cdot\begin{pmatrix} a_1 \\ a_2 \\ a_3 \\ a_4 \end{pmatrix} = 31
[\latex]

Weiterhin sind 2 Bedingungen gegeben:
1. Für die Elemente des bekannten Vektors gilt: Das Element an der i-ten Stelle ist immer größer als die Summe aller vorherigen Elemente; z.B. muss a_4 größer als a_3+a_2+a_1 sein.
2. Die Elemente des unbekannten Vektors haben immer entweder den Wert 0 oder 1, wenn man so will ist der Ergebnisvektor dann ausgeschrieben eine Binärzahl.

Meine Ideen:
Als erstes ist mir natürlich die Aufstellung eines LGS in den Sinn gekommen, nur leider weiß ich nicht wie ich die 2 zusätzlichen Bedingungen mit einbringen soll. Von der 1. weiß ich nicht ob die überhaupt für die Berechnung von Nutzen ist, und bei der 2. nicht wie ich das in mathematische Form bringen kann.

Wenn man das von Hand ausrechnet ist klar, dass als Ergebnisvektor {0,0,1,1} rauskommen muss, da 0*3+0*5+1*11+1*20 die einzigste Lösung innerhalb der Bedingungen ist.

Weiß jemand wie man auf einen allgemeingültigen Rechenweg kommen kann ?

Vielen Dank smile
aipro Auf diesen Beitrag antworten »

Hier nochmal als richtige Formel, kann als unregistrierter leider keine Beiträge ändern :/

JdPL Auf diesen Beitrag antworten »

Diene richtige Formel sieht falsch aus, wahrscheinlich meinst du eher das Skalarprodukt.

Die Idee ist, bei a_4 anzufangen.
Wenn dein bekannter Vektor (1,2,4,8) wäre, könntest du mit (a_1,a_2,a_3,a_4) alle zahlen von 0 bis 15 als Binärschreibweise darstellen. Wie du eine Zahl in das Binärsystem umrechnest, weißt du?
Danach musst du überlegen, warum du für dieses Verfahren noch die 1. Bedingung brauchst.
aipro Auf diesen Beitrag antworten »

Ja, das Skalarprodukt ist gemeint.

Wie ich das von Hand oder in einem Programm löse habe ich schon rausbekommen, wie du sagst rollt man das einfach von hinten auf.
Wenn bei deinem Beispiel mit (1,2,4,8) das Ergebnis 10 gegeben ist, schaue ich wie oft die 8 dort reinpasst, danach wie oft die 4 in die Differenz und so weiter, dann würde man auf 0101 kommen.

Und dafür braucht man ja dann eigentlich auch noch nichtmal die 1. Bedingung oder ?
Nur ist jetzt meine Frage ob das auch noch einfacher mit irgendeinem Zusammenhang geht, weil bei sehr viel größeren Zahlen und Vektoren mit mehreren Elementen ist das ja schon einiges an Aufwand.
JdPL Auf diesen Beitrag antworten »

Die Frage ist, nicht "wie oft" sondern "ob" (wir sind wegen der 2. Bedingung in einer binären Codierung).
Damit lässt sich das Problem in linearer Zeit in abhängigkeit von der Anzahl der Vektoren lösen. Eine viel bessere Lösung kann man also nicht erwarten.

Bei einem bekannten Vektor (1,2,4,7) (verletzt die 1. Bedingung) hättest du allerdings Probleme. (Siehst du, wo hier das Problem auftritt?)
aipro Auf diesen Beitrag antworten »

Ah okay, vielen Dank für deine Hilfe smile
Jetzt weiß ich auch wofür die 1. Bedingung gut ist, das wäre nicht mehr so einfach gewesen wenn ich mich später fragen würde warum keine eindeutigen Lösungen rauskommen Augenzwinkern
 
 
Neue Frage »
Antworten »



Verwandte Themen

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