vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Grosse Mengen an Daten schnell vearbeiten 
Autor: Snof
Datum: 19.04.09 14:44

> Ist das nun die absoulut optimale Tour?

Wahrscheinlich ja. Sicher? Nein. Aber selbst wenn nicht, wird sie nur gering vom Optimum abweichen.
Das Problem dabei ist, dass ich keinen Algorithmus für ein minimales Matching gefunden habe.

Um mit einem Pfad jede Kannte des Graphen genau ein Mal abzufahren, müssen zu jedem Knoten genau so viele Kanten hinführen, wie von ihm weg führen. Ist dies nicht der Fall, muss man den Graphen um ein paar Kanten erweitern.

Es gibt genau so viele Knoten mit zu wenig wegführenden Kanten, wie Knoten mit zu wenig hinführenden Kanten (eigentlich ist die Anzahl der Kanten gleich, aber wenn man Knoten, bei denen mehr als eine Kante "fehlt" mehrfach zählt, ist auch die Anzahl der Knoten gleich).

Es ist also relativ einfach eine Kombination zwischen den Knoten zu finden. Das nennt man dann Matching. Komplizierter ist es, ein Minimales zu finden. Einfach durchprobieren ist dabei eine äußerst schlechte Idee. Für n benötigte Kanten gibt es n! mögliche Matchings. Das wird sehr schnell sehr viel.

Ich habe deshalb eine Heuristik implementiert. Böse Zungen würden behaupten ich rate

Aus den n² möglichen Kanten suche ich mir einfach die Kürzeste raus, da diese vermutlich auch zum minimalem Matching gehören würde. Danach sind es nur noch (n-1)² mögliche Kanten, bei denen ich wieder so vorgehe.

Es ist also nicht garantiert, dass das Ergebniss immer optimal ist.

Für deine Strecke ist es aber optimal. Die möglichen Matchings hab ich alle (ja, alle 6 ) mal durchgerechnett.

PS: Studieren tue ich in Rostock.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Grosse Mengen an Daten schnell vearbeiten1.465vista0815.04.09 16:55
Re: Grosse Mengen an Daten schnell vearbeiten911vista0815.04.09 17:17
Re: Grosse Mengen an Daten schnell vearbeiten818Maas15.04.09 17:19
Re: Grosse Mengen an Daten schnell vearbeiten890ModeratorDaveS16.04.09 08:42
Re: Grosse Mengen an Daten schnell vearbeiten884Snof15.04.09 17:23
Re: Grosse Mengen an Daten schnell vearbeiten842vista0816.04.09 07:11
Re: Grosse Mengen an Daten schnell vearbeiten925ModeratorDaveS16.04.09 08:42
Re: Grosse Mengen an Daten schnell vearbeiten836vista0816.04.09 17:57
Re: Grosse Mengen an Daten schnell vearbeiten922Snof16.04.09 20:12
Re: Grosse Mengen an Daten schnell vearbeiten776vista0816.04.09 20:51
Re: Grosse Mengen an Daten schnell vearbeiten904Snof18.04.09 21:39
Re: Grosse Mengen an Daten schnell vearbeiten845ModeratorDaveS19.04.09 09:51
Re: Grosse Mengen an Daten schnell vearbeiten834Snof19.04.09 10:00
Re: Grosse Mengen an Daten schnell vearbeiten816vista0819.04.09 12:45
Re: Grosse Mengen an Daten schnell vearbeiten959Snof19.04.09 14:44
Re: Grosse Mengen an Daten schnell vearbeiten757vista0820.04.09 22:18
Re: Grosse Mengen an Daten schnell vearbeiten875Snof20.04.09 23:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel