Dijkstra-Algorithmus

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • 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.

Комментарии • 67

  • @Stehaufmaennchen101
    @Stehaufmaennchen101 2 года назад +23

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

  • @alex3167
    @alex3167 4 года назад +11

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

  • @Campanella12
    @Campanella12 7 лет назад +8

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

    • @randallsam9774
      @randallsam9774 3 года назад

      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 3 года назад

      @Randall Sam instablaster :)

    • @FabianReschke
      @FabianReschke 2 года назад

      @@isaaccesar8486 *SCAM*

  • @Luca-eb4lz
    @Luca-eb4lz Год назад +1

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

  • @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

  • @lennartzdesign2728
    @lennartzdesign2728 4 года назад +3

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

  • @mariamlkandushi7296
    @mariamlkandushi7296 7 лет назад +7

    Very informative. You are doing a great job.

  • @vesnadietz1579
    @vesnadietz1579 2 года назад +1

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

  • @Chavoli1
    @Chavoli1 3 года назад +4

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

  • @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

  • @omarmuhi5167
    @omarmuhi5167 2 года назад

    Danke, Sehr gut erklärt.
    Richtige Ehrenmann 👍

  • @diecksl
    @diecksl 23 дня назад

    Anmerkungen:
    1) Die wichtigste Frage nach dem kürzesten Pfad wird nicht beantwortet (nur Distanz "27" - aber über welche Knoten??). Die Besuchsreihenfolge entspricht nicht dem kürzesten Pfad (kann man schon daran sehen das z. B. B und F nicht Teil des kürzesten Pfades sein können, da sie keine abgehenden Kanten haben)
    2) Ich kann nicht erkennen, welches Kriterium zum "abhaken" eines Knotens führt (die roten Punkte im Tabellenkopf)?
    3) Das "Durchziehen" eines Wertes ans Ende der Tabelle wird nicht erklärt: Grund ist, dass z. B. bei "E" alle eingehenden Kanten (A -> E) betrachtet wurden und somit kein kürzerer Weg existieren kann

  • @FurkanCetin-jf6wt
    @FurkanCetin-jf6wt Год назад

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

  • @marcela4216
    @marcela4216 5 лет назад +5

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

  • @mimilim85
    @mimilim85 3 года назад

    Danke für die Erklärung!

  • @ganzanonymerjeremy
    @ganzanonymerjeremy 4 месяца назад

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

  • @powermax6391
    @powermax6391 5 месяцев назад

    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?

  • @okuspokus4742
    @okuspokus4742 4 года назад +1

    Ist das ein normaler Algorithmus oder der neue Avengers Film

  • @cameraflash150
    @cameraflash150 2 года назад

    Danke, echt gutes Video ^^

  • @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?

  • @simonpingu7708
    @simonpingu7708 Год назад

    Sehr hilfreich danke

  • @ferrari458960
    @ferrari458960 5 лет назад

    Danke! Sehr gut erklärt.

  • @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?

  • @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

  • @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.

  • @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 ? :-)

  • @stuckinobamalow4559
    @stuckinobamalow4559 6 месяцев назад

    intro gibt helldivers 2 vibes FOR SUPER EARTH

  • @ZulaasGaming
    @ZulaasGaming 5 лет назад

    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.

  • @kiradus
    @kiradus 2 года назад

    ich liebe dich

  • @chizieleaticia8385
    @chizieleaticia8385 5 лет назад

    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 5 лет назад

      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.

  • @leibniz75th24
    @leibniz75th24 6 лет назад

    Worin unterscheidet sich der Dijkstra- vom Prim-Algorithmus?

    • @nerdwest2184
      @nerdwest2184  6 лет назад

      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 6 лет назад

      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.

  • @rambulik
    @rambulik 7 лет назад +1

    Super ALgorythmus

  • @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.

  • @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

  • @lordstark806
    @lordstark806 5 лет назад

    Der Jungster Professor ich gesehe habe

  • @BigDoubleJoe
    @BigDoubleJoe 6 лет назад

    supi

  • @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.

  • @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.

  • @FirstLast-hm8oz
    @FirstLast-hm8oz 6 лет назад

    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  6 лет назад +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 6 лет назад

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

    • @nerdwest2184
      @nerdwest2184  6 лет назад +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.