Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Algorithmus des kuerzesten Weges
Sancheck
Geschrieben am: Fr 18.07.2008, 11:43
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 462
Mitglied seit: 29.03.2008


Hallo,
ich habe einige Punkte (es geht hier nicht um ein NAVI etc.) sondern nur um vl. 50 Punkte.

Nun moechte ich den Weg abfahren. zwischen diesen Punkten.

Der kuerzeste Weg ist von relevanz.
Ich habe von jedem Punkt x und y Koordinaten.
Meine Idee:
Ich berechne mir mittels

laenge = sqrt((x1-x2)^2+(y1-y2)^2)

zwischen ALLEN Punkten die laengen,... das sind dann 50! werte(! steht fuer Fakultaet)

Naja und das reihe ich dann und fange mit dem kuerzesten Wert an....bis ich alle abgefahren habe,...

Mein Gedankengang richtig?
Top
PMEmail Poster
Top
 
 
Oliver Pester
#2 Geschrieben am: Fr 18.07.2008, 12:08 (+00:25)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 11
Mitglied seit: 23.06.2008


Hallo,

vielleicht solltest du dir den Dijkstra-Algorithmus mal anschauen. Nicht erschrecken...sieht vielleicht auf den ersten Blick etwas kompliziert aus, ist aber eigentlich sehr einfach.

Es gibt meines Wissens auch schon viele Implementierungen in den unterschiedlichsten Programmiersprachen.

Grüße
Oli


--------------------
Top
PMEmail PosterUsers Website
Top
 
Sancheck
#3 Geschrieben am: Fr 18.07.2008, 13:14 (+01:05)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 462
Mitglied seit: 29.03.2008


Hallo,
danke. smile.gif
nein der hilft mir hier nichts da ich ALLE Punkte anfahren muss
Top
PMEmail Poster
Top
 
Oliver Pester
#4 Geschrieben am: Fr 18.07.2008, 13:43 (+00:28)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 11
Mitglied seit: 23.06.2008


...ok, ich verstehe. Du hast einen Startpunkt von dem aus du alle Knoten nacheinander, mit minimaler weglänger erreichen willst...?

Dann könnten minimale Spannbäume interessant für dich sein. Mit dem Algorithmus von Kruskal kannst du solche minimalen Spannbäume berechnen. In dem Artikel sind unten auch 2 Java-Applets verlinkt...da kannst du ja ein wenig damit rumspielen.

Hilft das vielleicht?

Grüße
Oli

PS.: wenn es sich bei dir um eine einmalige Sache handelt, dann fährst du wohl mit deinem (naiven) Ansatz auch nicht schlecht. Allerdings wirst du dort wohl nicht den kürzesten weg finden...nur einen kurzen smile.gif

PPS: http://de.wikipedia.org/wiki/Algorithmus_von_Prim als Alternative zu dem von Kruskal


--------------------
Top
PMEmail PosterUsers Website
Top
 
Alain_Aubert
#5 Geschrieben am: Fr 18.07.2008, 14:21 (+00:38)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4694
Mitglied seit: 25.09.2003


1. Gibt es einen Weg von jedem Punkt zu jedem Punkt? Das wäre ein Spezialfall.
2. Es gibt nicht 50! Längen. Du sollst nicht Formeln anwenden, sondern nachdenken. Mal 5 Punkte aufs Papier. Dort wirst Du nicht 5!=120 sondern 10 Wege haben. 4+3+2+1=10.
3. Mit dem kürzesten Weg anzufangen wird nur den ersten Teilabschnitt in der schnellsten Zeit erreichen.
4. Dijkstra löst das Problem NICHT! Es ist das Problem des Handlungsreisenden, bzw. das Eulerkreisproblem (sofern Deine Lösung verlangt, dass Du jeden Punkt nur einmal besuchst).
5. Ein Spannbaum löst das Problem auch nicht. (Du musst bei einem Spannbaum bestimmte Wege doppelt gehen, d.h. der minimale Spannbaum ist eine obere Schranke des kürzesten Wegs, d.h. ist höchstens doppelt so lange wie der minimale Weg).

Der Spannbaum ist aber der erste Schritt zum genausten Ansatz. Die beste Heuristik - so meine ich - ist die Christofides-Heuristik. Die maximale Abweichung ist 50%.

QUOTE
Naja und das reihe ich dann und fange mit dem kuerzesten Wert an....bis ich alle abgefahren habe,...

Diese Heuristik hat sogar einen Namen, die des nächsten-Nachbarns. Leider ist die Abweichung zum kürzesten Weg beliebig gross. D.h. u.U. erhälts Du nicht einmal einen kurzen, sondern einen beliebig langen Weg.

Bei 50 Punkten kannst Du mit Brute Force die richtige Lösung errechnen.

Das dürfte für Dich interessant sein:
http://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden
Top
PMEmail PosterUsers Website
Top
 
cr4m0
#6 Geschrieben am: Mi 23.07.2008, 10:36 (+4d 20:14)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 176
Mitglied seit: 30.07.2007


Top
PMEmail Poster
Top
 
Sancheck
#7 Geschrieben am: Mi 23.07.2008, 10:47 (+00:11)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 462
Mitglied seit: 29.03.2008


Danke schon geloest smile.gif ist im übrigen sehr interessant ,kann ich euch empfehlen das thema
Top
PMEmail Poster
Top
 
Alain_Aubert
#8 Geschrieben am: Mi 23.07.2008, 12:22 (+01:35)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4694
Mitglied seit: 25.09.2003


Poste bitte Deine Lösung.
Top
PMEmail PosterUsers Website
Top
 
Sancheck
#9 Geschrieben am: Mi 23.07.2008, 12:36 (+00:13)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 462
Mitglied seit: 29.03.2008


Meine Loesung ist unter Umstaenden nicht die ideale.
Ich habe die Abstaende zwischen allen punkten ermittelt.
Das geht bei 50 Stueck noch ganz gut
also 50+49+48,...Stueck sind das.
Nun habe ich gereiht.Den kuerzesten Weg von meiner Startposition genommen. Dann wieder den kuerzesten usw. Das fuehrt im realen zu einem Netzartigen Ablauf.
Das heisst, ich laufe tatsaechlich einen relativ optimierten Weg ab.
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/25417

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Preisvergleich-Algorithmus in PHP slayter 155 0 Sa 26.01.2008, 16:50
Google Pagerank-Algorithmus - Matthias - 364 2 Fr 3.08.2007, 14:02
effektiver Algorithmus? (Kürzester Weg auf Graph) Moritz_Klussmann 2984 20 Do 27.07.2006, 16:38
Veränderter Google Algorithmus und PR-Update Remo Uherek 2757 6 So 7.12.2003, 17:03




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen


[Interessiert an einer Anzeige?]