Dijkstra-Algorithmus

Поділитися
Вставка
  • Опубліковано 30 кві 2017
  • In diesem Video präsentiert Prof. Dr. Oliver Lazar den Dijkstra-Algorithmus aus der Gruppe der Graphalgorithmen. Der Algorithmus berechnet die kürzesten Distanzen von einem Knoten zu allen anderen. Mit Hilfe eines Beispiels wird der Ablauf Schritt für Schritt nachvollziehbar erläutert.
  • Наука та технологія

КОМЕНТАРІ • 66

  • @Stehaufmaennchen101
    @Stehaufmaennchen101 2 роки тому +21

    Hey yo, hab die Klausur vor 1,5 Jahren dank dir bestanden und steh vorm Bachelor. Beste Videos die es gibt!

  • @alex3167
    @alex3167 4 роки тому +9

    Nach 2 Stunden vergebens auf dieses Video gestoßen und sofort verstanden! Ehrenmann!

  • @lennartzdesign2728
    @lennartzdesign2728 4 роки тому +3

    Danke schön im Deteil erklärt und nicht so durchgerusht wie das sonst so oft der Fall ist

  • @Luca-eb4lz
    @Luca-eb4lz Рік тому +1

    Super Video klasse das du alles mit Beispielen näher bringst echt toll

  • @vesnadietz1579
    @vesnadietz1579 2 роки тому +1

    Super easy erklärt, sogar viel besser zu verstehen als aus Sedgewick "Algorithms ..". Vielen Dank!

  • @mariamlkandushi7296
    @mariamlkandushi7296 7 років тому +7

    Very informative. You are doing a great job.

  • @mirza-2076
    @mirza-2076 2 роки тому +2

    Ich weiß, dass das schon mehrere gesagt haben, aber eines fehlt. Du hast es so gut und so verständlich erklärt, dass ich es nicht nur verstanden, sondern GELERNT habe. Du hast alles wichtige gesagt:
    - Es werden ALLE Punkte erreicht
    - Sind zwei gleich gewichtet, nehme ich den, der für mich attraktiver ist
    Zu, Beispiel: Sind die Knotenpunkte Restaurants, nehme ich den Punkt, bei dem ich sehr viel Menschenverkehr habe
    Super...TOLLE LEISTUNG

  • @Campanella12
    @Campanella12 7 років тому +8

    Wow perfekt! Vielen dank für die tolle Erklärung. Ich brauchte das dringend für meine Hausaufgaben.

    • @randallsam9774
      @randallsam9774 2 роки тому

      You prolly dont give a shit but does any of you know a tool to log back into an Instagram account?
      I was stupid lost my login password. I appreciate any tips you can give me

    • @isaaccesar8486
      @isaaccesar8486 2 роки тому

      @Randall Sam instablaster :)

    • @FabianReschke
      @FabianReschke 2 роки тому

      @@isaaccesar8486 *SCAM*

  • @a.zeaiter8205
    @a.zeaiter8205 Рік тому +1

    Du hast auf jeden Fall 1000 Likes verdient. Dank dir hab ich diesen Dijkstra Algorithmus innerhalb von 12 Minuten endlich verstanden. Wirklich vielen vielen Dank. Eine Frage, hast du auch Videos zu den Analysis Themen? Wäre dir sehr Dankbar

  • @Chavoli1
    @Chavoli1 3 роки тому +4

    Wie kann man die Besuchsreihenfolge D -> B interpretieren? Da ist zwischen D und B keine Kante.

  • @ferrari458960
    @ferrari458960 5 років тому

    Danke! Sehr gut erklärt.

  • @omarmuhi5167
    @omarmuhi5167 2 роки тому

    Danke, Sehr gut erklärt.
    Richtige Ehrenmann 👍

  • @mimilim85
    @mimilim85 3 роки тому

    Danke für die Erklärung!

  • @marcela4216
    @marcela4216 5 років тому +5

    Super Video, in 12min besser eklärt als der Prof. in einer Stunde

  • @cameraflash150
    @cameraflash150 2 роки тому

    Danke, echt gutes Video ^^

  • @FurkanCetin-jf6wt
    @FurkanCetin-jf6wt Рік тому

    Sehr gutes Video, danke für die Erklärung.
    - Wirtschaftsinformatik Student

  • @SpinnedRock
    @SpinnedRock 4 роки тому

    Wenn jetzt A -> F 2 wäre, dann hätte man das als 1ste bzw. 2ste Iterationen nehmen müssen? Das heißt die nächste Iteration ist nicht inmer unbedingt ein Nachbarknoten oder ? :-)

  • @okuspokus4742
    @okuspokus4742 4 роки тому +1

    Ist das ein normaler Algorithmus oder der neue Avengers Film

  • @crashmansmile98
    @crashmansmile98 7 років тому +1

    Eine kurze Frage zu dem Initial Schritt.
    Ich habe in manchen Vorlesungsfolien gelesen, dass man, anstatt gleich die markierten Knoten mit seinen Werte aufschreibt, zuerst die Knoten mit Unendlich setzt. Wären es dann nicht am Ende n = 8 Schritte?
    Danke für deine Antwort im voraus

    • @nerdwest2184
      @nerdwest2184  7 років тому

      Wenn dir das lieber ist, dann mach doch diesen ersten Schritt noch dazu. Das ändert ja nichts am Gesamtablauf und dem Algorithmus selbst.

  • @rambulik
    @rambulik 7 років тому +1

    Super ALgorythmus

  • @simonpingu7708
    @simonpingu7708 Рік тому

    Sehr hilfreich danke

  • @ganzanonymerjeremy
    @ganzanonymerjeremy 3 місяці тому

    Wie würde man jetzt mit der Tabelle den kürzesten Weg von bspw. A zu H ermitteln ?

  • @SercanSavranOfficial
    @SercanSavranOfficial 5 років тому +4

    Irgendwie finde ich, dass das Video nicht die ganze Problematik erklärt? Es ist hiernach bereits klar, wie die Tabelle dann aussieht, wie ich den Weg von A nach H nehme und welche Knoten hierfür genommen werden müssen um die kürzeste Strecke zu kriegen, wird nicht so ganz klar?
    Wie sieht es dann mit anderen Punkten aus? Wenn ich als Startknoten z.B. den C habe ? Hierfür muss doch dann auch eine Tabelle erstellt werden oder ?

    • @SercanSavranOfficial
      @SercanSavranOfficial 5 років тому +1

      Da muss ich mir bei jedem Knoten doch auch die vorherigen Punkte irgendwo merken um dann von der Tabelle richtig ablesen zu können wo ich eigentlich lang muss?

  • @powermax6391
    @powermax6391 3 місяці тому

    10:22 Selbst wenn G jetzt B erreichen kann, ist ja B bereits als "besucht" markiert. Dann muss man doch B überhaupt nicht mehr betrachten. Oder können sich denn die Kosten für B ändern auch wenn es bereits besucht wurde?

  • @michelmeister5763
    @michelmeister5763 2 роки тому

    Wie kann man sich sicher sein, dass sich die Kosten nicht mehr ändern ? Du hast relativ random immer entschieden ob du bist unten direkt durchschreibst

  • @lemmiix
    @lemmiix 2 роки тому

    Also bestimmt man mit dem Dijkstra Algorithmus nicht die Kosten von einem Anfangspunkt zu einem bestimmten Endpunkt, sondern die geringsten Kosten um einen x-beliebigen Punkt zu erreichen?

  • @kiradus
    @kiradus 2 роки тому

    ich liebe dich

  • @chizieleaticia8385
    @chizieleaticia8385 4 роки тому

    video ist mir leider nicht klar bei dem b kann man zu der H gehen und es wird 10 von b plus 2 von der h gleich 12 oder wie ?

    • @Hexadris
      @Hexadris 4 роки тому

      Kann man nicht, es gibt einen Weg von H zu B aber nicht von B zu H, die Wege sind gerichtet und können nicht in beide Richtungen verwendet werden.

    • @QemeH
      @QemeH 4 роки тому

      @@Hexadris Die Methode funktioniert allerdings auch bei ungerichteten Wegen - man muss das nur während der Anwendung mit bedenken.

  • @stuckinobamalow4559
    @stuckinobamalow4559 4 місяці тому

    intro gibt helldivers 2 vibes FOR SUPER EARTH

  • @leibniz75th24
    @leibniz75th24 5 років тому

    Worin unterscheidet sich der Dijkstra- vom Prim-Algorithmus?

    • @nerdwest2184
      @nerdwest2184  5 років тому

      Dijkstra berechnet die kürzesten Wege von einem bestimmten Knoten zu allen anderen, das ist dann nicht unbedingt der minimale Spannbaum! Den minimalen Spannbaum berechnet der Prim-Algorithmus. Das ist ein Baum ohne redundante Wege mit minimalen Kosten.

    • @leibniz75th24
      @leibniz75th24 5 років тому

      Vielen Dank für die schnelle Antwort! Und wenn ich noch weiter fragen dürfte, könnte man die Aussage treffen, dass der Prim-Algorithmus lediglich bei einem *ungerichteten* Graphen einen minimalen Spannbaum liefert? Oder ist das auch bei einem *gerichteten* Graphen der Fall? Oder hat das keine Relevanz?
      Und ferner, ohne es zuvor überprüft zu haben, ist der Prim-Algorithmus gegenüber dem Kruskal-Algorithmus effizienter und schneller?

  • @huseyincakanl9383
    @huseyincakanl9383 4 роки тому

    How you go to D to B and B to C , no way this path. if you use same point way, this length is wrong.. ????

    • @QemeH
      @QemeH 4 роки тому

      Correct. D is an "end only" node in this network. Same goes for B.
      The method, however, works the exact same in networks where you can travel in both directions along the edges. You just need to account for that if you try to determine which other points are reachable.

  • @daydreamer3510
    @daydreamer3510 5 років тому

    Irgendwie verstehe ich das nicht. Ja klar kleinster Wert für die Kantengewichte aber man kommt doch gar nicht von beispielsweise D zu B wieso ist das dann der kürzeste weg wenn ich die knoten nicht erreiche

    • @nerdwest2184
      @nerdwest2184  5 років тому

      Es wird beim Dijkstra immer ein Startknoten definiert und es gilt, die kürzesten Wege von diesem Startknoten aus zu allen anderen Knoten zu finden (im Beispiel ist das der Knoten A).

    • @HaeckchenKobold
      @HaeckchenKobold 5 років тому

      Du musst dir immer A als deinen Startknoten vorstellen. Kommt ein weiterer hinzu, z.B. E, ist das einer neuer Knoten von wo du agieren kannst.
      Von D zu B gibt es keinen Weg. Aber du kannst von A nach E und dann nach B. Und das dann für 2+8 Kosten.

  • @Thelukkest
    @Thelukkest 3 роки тому +1

    Holy dieses intro

  • @marvin8422
    @marvin8422 7 років тому

    Im Video klingt es so, als könnte man mit dem Djikstra auch minimale Spannbäume bestimmen.
    Dijkstra ist soweit richtig ausgeführt, der minimale Spannbaum ist dies aber nicht!
    Benutze die Kante H->B , anstatt von E->B und ich habe einen Spannbaum, der 6 weniger Einheiten kostet.

    • @nerdwest2184
      @nerdwest2184  7 років тому

      Hallo Marvin812, ich habe jetzt noch einmal genau nachgeschaut und der Dijkstra berechnet die kürzsten Wege von einem Knoten zu allen anderen. Du hast Recht, dass dies nicht der minimale Spannbaum sein muss. Den minimalen Spannbaum berechnet der Prim-Dijkstra-Algorithmus. Mea culpa. Grüße

    • @marvin8422
      @marvin8422 7 років тому

      Also die Standartdefinition, die ich kenne:
      Ein Spannbaum ist ein zusammenhängender Teilgraph des UNGERICHTETEN Graphens G, der alle Knotenüberdeckt von G überdeckt.
      Das Gewicht eines Graphens(also auch eines Spannbaumes) ist gleich der Summe der Kantengewichte.
      Zunächst einmal: Auf welche Definition eines Spannbaumes beziehst du dich hier? Vorallem,weil wir hier einen gerichteten Graphen haben.
      Ich glaube das, was du als Spannbaum beschreibst geht eher so in die Richtung eines Entfernungsbaumes(auf diesen Begriff bin ich vereinzelnt getroffen).

    • @marvin8422
      @marvin8422 7 років тому

      Wobei Prim auch nur in ungerichteten Graphen funktioniert. In gerichteten Graphen gibts es wie bereits erwähnt keine minimalen Spannbäume.
      Es wäre super, wenn du im Video an dieser Stelle eine Anmerkung setzt, damit niemand auf den falschen Weg geleitet wird.

  • @lordstark806
    @lordstark806 5 років тому

    Der Jungster Professor ich gesehe habe

  • @ZulaasGaming
    @ZulaasGaming 4 роки тому

    leider nicht ganz richtig ! Der Weg direkt von E zu B zu springen ist falsch. Der Algorithmus würde an dieser Stelle zuerst zu D springen da dieser Knoten am kürzesten(schnellsten) von E zu erreichen ist.

  • @BigDoubleJoe
    @BigDoubleJoe 6 років тому

    supi

  • @nitsuj1001
    @nitsuj1001 4 роки тому

    Wieso kannst du direkt sagen, dass E abgeschlossen ist am Anfang? Oder auch D, was ist wenn es mehr wege gibt nach D? Ich würde sagen dass kann man erst sagen, wenn es keine eingehenden Kanten mehr gibt zu einem Knoten

    • @MusterusStudius
      @MusterusStudius 4 роки тому +1

      Nein, das ist absolut korrekt so, genau so wird es beispielsweise auch in den Vorlesungen zur theoretischen Informatik vermittelt.

    • @tobiasdietrich6053
      @tobiasdietrich6053 3 роки тому +1

      Es gibt keine Möglichkeit, dass man E billiger erreichen kann, denn jeder andere Weg, der von A weg geht, hat definitiv höhere Kosten.

  • @mr.statik6423
    @mr.statik6423 7 років тому +2

    Gut erklärt, allerdings finde ich persönlich die Tabelle sinnlos, da man die Werte (kürzesten Wege) direkt miteinander verrechnen kann.

  • @FirstLast-hm8oz
    @FirstLast-hm8oz 5 років тому

    Warum sind alle Graphen zu diesem Thema nicht maßstabgerecht ? Warum ist die Strecke A-E länger als A-D und kürzer gezeichnet ? Das hilft mir nicht, das Problem zu verstehen.

    • @nerdwest2184
      @nerdwest2184  5 років тому +5

      Das Problem bei deinem Verständnis liegt darin, dass du dir mit der Kantenbewertung offensichtlich eine Distanz assoziierst. Der Wert an der Kante kann aber im Prinzip für ganz viele Dinge stehen, z.B. die mittlere Warteschlangenzeit für ein Testpaket in einem Netzwerk, die Kapazität eines Rohres und vieles mehr. Eine Kante ist kein Vektor, die Länge der Kante in der Zeichnung ist letztendlich irrelevant, schau nur auf den Wert daran.

    • @FirstLast-hm8oz
      @FirstLast-hm8oz 5 років тому

      Durch nicht maßstabgerechte Darstellung wird es unanschaulich. Wozu dann unterschiedliche Werte und der Algorthmus, wenn es letztlich egal ist ?

    • @nerdwest2184
      @nerdwest2184  5 років тому +7

      @@FirstLast-hm8oz Du verstehst meine Erläuterung nicht!!! Denke nicht so eindimensional! Wer behauptet denn, dass der Wert an der Kante eine Distanz ist? Es kann doch auch der Durchmesser sein und es geht dann um eine mögliche Durchflussmenge. Ich kann ja nichts dafür, wenn du es dir unbedingt ausschließlich als räumliche Distanz vorstellst.

    • @SercanSavranOfficial
      @SercanSavranOfficial 5 років тому +3

      Es ist meistens auch beabsichtigt, dass diese Kantenlängen nicht mit Ihren Wert in Relation stehen. Damit versuchen die Zeichner den Gedankengang , die Länge der Kanten mit ihren Werten zu assoziieren, zu unterbinden!

    • @Blackundercover
      @Blackundercover 4 роки тому +1

      @First Last Sorry aber entweder trollst du gerade heftig oder die Mathematik ist überhaupt nicht deine Stärke, denn es geht hier nicht um maßstabgerechte Darstellung, sondern darum, dass du die Vorgehensweise des Algorithmus verstehst anhand einer Skizze. Nur weil es nicht maßstabgerecht ist, kannst du doch nicht schlussfolgern, dass der Algorithmus und die Gewichtung der Kanten unbrauchbar sind? Es geht hier nicht um Belanglosigkeiten, wie maßstabgerechte Darstellung, sondern darum, die Vorgehensweise des Algorithmus zu verstehen. Wenn du Volumen von einem Würfel berechnest, da zeichnest du ja auch nicht den Würfel maßstabgerecht in dein Heft. Ich verstehe dein Problem nicht.