Einzelnen Beitrag anzeigen

Gravitar

Registriert seit: 8. Okt 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#1

Ermittlung von Clustern in einer Matrix

  Alt 26. Jun 2011, 17:49
Hi,

ich versuche gerade in einer 2dimensionalen Matrix (13 x 17) Cluster von gleichwertigen oder ähnlichen Zahlen zu finden. Dabei ist leider nur das Vertauschen von ganzen Spalten oder von ganzen Zeilen erlaubt.

Eine Tabelle wird danach bewertet, wie viele Nachbarn (max 8) jeder einzelnen Zelle gleiche Werte bzw. ähnliche Werte enthalten.

Bisher schlage ich mich zum Testen von zufällig gefüllten Matrixen von 10x10 herum.

Der Ansatz, über reines ausprobieren (permutieren) weiterzukommen scheitert an der astronomischen Zahl der Möglichkeiten (10! x 10!). Im Moment habe ich einfach mal die Spalten permutiert. Dass dauert schon 8 Sekunden!!! Wenn ich dass dann noch 3 Mio. mal für die Zeilen mache kann man sich die Wartezeit ausrechnen

Das Sortieren der Spalten/Zeilen nach den jeweiligen Summen bringt auch keine wirkliche Verbesserung. Z.T. verschlechtert sich die Bewertung der Matrix sogar im Vergleich zur zufällig gefüllten Ausgangsmatrix.

Gibt es hier irgendein hyperschlauen Algorithmus der einem da weiterhilft?
  Mit Zitat antworten Zitat