[Archiv!] Reine Mathematik, Physik, Chemie usw.: Gehirntrainingsprobleme, die in keiner Weise mit dem Handel zusammenhängen - Seite 555

 
Svinotavr:

Ist dieses Video auch ein Betrug? PS: Nicht nur Alexeys Meinung, sondern auch die der anderen Forumsmitglieder ist interessant.


"Die einzige Person, die ich kenne, die es geschafft hat, einen Searle-Generator zu bauen, der nach Searle benannt wurde, war Searle selbst":)
 
Svinotavr:
Die Leute, die halb Europa erobert haben, sind auch nicht viele. Dimitri, denken Sie, dass dieser Satz den Rest des Films "verleugnet"? Was meinen Sie: Scheidung oder nicht?


Der Film wirkt wie sektiererische Propaganda. Es ist völliger Blödsinn, das auch nur im Geringsten ernst zu nehmen... Seit 60 Jahren gibt er... und was hat er gegeben?

 
MetaDriver:

// Verzeihen Sie bitte sofort das Off-Topic, denn der spezielle Fall der Anwendung von Lösungen (wenn Lösungen gefunden werden) ist immer noch handelsbezogen.

// (: aber andererseits ist das doch ein Anreiz, oder? :)

// Wenn du mir wirklich hilfst, sage ich dir, warum ich es brauche... ;) Ich versichere Ihnen - es könnte sich als nützlich erweisen...

Aufgabe:

Gegeben: eine Menge von M orthogonalen Vektoren im N-dimensionalen Raum (M<N) // im Grenzfall M==1

Erforderlich: Erstellen eines Generators von Vektoren (!) , die orthogonal zu einer gegebenen Menge sind. Ich brauche eine Idee, wie ich schnell Zufallsvektoren erzeugen kann, die die Bedingung (! ) erfüllen.

Erklärung-Erinnerung: Für einen Raum mit N-Dimensionen ist die Dimension des Lösungsraumes gleich (N-M), d.h. mit einer Anfangsmenge von (M=N-1) Vektoren haben wir eine einzige Lösung (übrigens, wie bekommt man die in einem Zug? Es gibt einen Artikel im Wiki, aber ich habe es noch nicht herausgefunden. Wer kann den Algorithmus an den Fingern erklären - gib mir einen Hinweis(nochmal - sag mir, wofür ich das alles brauche)). Bei einer kleineren Ausgangsmenge gibt es unendlich viele solcher Vektoren, d. h. "es gibt Varianten". Dies sind die Varianten, die generiert werden müssen.

Die Formulierung "die Menge der orthogonalen Vektoren A ist orthogonal zur Menge B" ist etwas zweideutig (im Sinne von: was genau ist orthogonal zu was)... Können Sie die genaue Bedingung angeben, vorzugsweise in Form einer Formel?
 
alsu:
Die Formulierung "die Menge der orthogonalen Vektoren A ist orthogonal zur Menge B" ist etwas zweideutig (im Sinne von: was genau ist orthogonal zu was)... Können wir die genaue Bedingung angeben, vorzugsweise durch eine Formel?

Sie können genauer sein. Worte sind für mich einfacher. Alle Vektoren sind orthogonal zueinander. :) Ich brauche das Set B nicht. Ich meine, ich brauche es, aber nicht sofort, sondern nach und nach. :))

Sie sollten eine Funktion in mql(5) erstellen, die eine anfängliche Menge von Vektoren (A) als Array annimmt und einen Vektor zurückgibt, der orthogonal zu allen Eingangsvektoren ist.

Zum Beispiel so:

bool GetOrtoVector(int Dimention, int InputCount, double &Input[], double &Out[]); 
  { 
    .....  
    return succes; 
  }

Der Ausgangsvektor ist zufällig, aber garantiert aus einem komplementären Raum. (Falls InputCount == Dimention-1, wird der einzig mögliche einwertige Vektor zurückgegeben)

Wichtige Bedingung: Die Funktion muss [so schnell wie möglich] sein. Ich kann es selbst tun. :)

 
alsu:
Die Formulierung "die Menge der orthogonalen Vektoren A ist orthogonal zur Menge B" ist etwas zweideutig (im Sinne von: was genau ist orthogonal zu was)... Können Sie die genaue Bedingung angeben, vorzugsweise in Form einer Formel?

Zu der Formel: Paarweise Skalarprodukte aller eingehenden und ausgehenden Vektoren == 0

Diese Bedingung ermöglicht es uns, das Gleichungssystem eindeutig zu lösen und den letzten Vektor zu erhalten (wenn M==N-1).

Im Fall (M<N-1) hat das System bereits einen Raum von Lösungen.

Aus diesem Lösungsraum muss ich zufällige Vektoren extrahieren. Vorzugsweise sehr schnell.

 
MetaDriver:

Diese Bedingung ermöglicht es uns, das Gleichungssystem eindeutig zu lösen und den letzten Vektor (bei M==N-1) zu erhalten.

Nur wenn die Menge normalisiert ist. Wenn nicht, erhalten wir auch unendlich viele Lösungen.

Beispiel: Für eine Menge {(1,0,0), (0,2,0)} ist jeder Vektor der Form (0,0,z) orthogonal

 
alsu:

Nur wenn die Menge normalisiert ist. Andernfalls erhalten wir ebenfalls eine unendliche Menge von Lösungen.

Beispiel: Für eine Menge {(1,0,0), (0,2,0)} ist jeder Vektor der Form (0,0,z) orthogonal

Ja, natürlich. Alle Vektoren sind normalisiert. Sowohl Eingang als auch Ausgang.
 
MetaDriver:
Ja, natürlich. Alle Vektoren sind normalisiert. Sowohl Eingang als auch Ausgang.
Es gibt eine einfache Lösung... auf der Zunge, wie man sagt))) Gerade jetzt
 
alsu:
Es gibt eine einfache Lösung... auf der Zunge, wie man sagt))) jetzt

Für einen einzelnen Vektor (x0) auf der Eingabe habe ich vor langer Zeit eine Lösung gefunden (für einen Raum mit beliebiger Dimensionalität):

. . 1. Генерируем случайный вектор (x1r)

. . 2. Нормируем его -> (x1rn)

. . 3. Находим сумму и разность вродного (х0) и полученного (x1rn) -> (sX, dX)

. . 4. Складываем sX+dX и нормируем сумму.

. . 5. Готово. Возвращаем из функции и берём с полки пирожок.

--

Aber für mehr als einen Eingangsvektor ist dieser Algorithmus nicht geeignet. Oder ich habe es nicht richtig anpassen können.

Wenn Sie eine Idee haben, wie man es so anpassen kann, dass sich die Iterationen nicht wie ein Schneeball vermehren, wäre das sehr hilfreich.

 

Scheiße, während ich es erklärt habe, glaube ich, dass ich es verstanden habe. :)

Wenn wir die obige Prozedur für jeden Eingangsvektor durchführen, dann ergeben alle Vektoren, die durch Summation mit anschließender Normalisierung der Summe erhalten werden, den gewünschten Pseudo-Zufallsvektor!

alsu, korrigieren Sie mich, wenn ich stumpfsinnig bin.

--

//Ja, ich hab's fast. Das ist etwas komplizierter, es funktioniert nicht so einfach. Nachdem der Vektor xi bei jedem Schritt erhalten wurde, sollten Sie ihn zunächst mit dem nächsten Eingangsvektor "addieren-subtrahieren-normalisieren" und so weiter, bis die Eingangsvektoren ausgehen. Etwa so.