A* Algorithmus EINFACH erklärt (Beispiel)

Поделиться
HTML-код
  • Опубликовано: 3 дек 2024

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

  • @Strudel862
    @Strudel862 6 часов назад

    Danke für die super kurze Erklärung. geil!

  • @Clemens.Gooooo
    @Clemens.Gooooo Год назад +12

    Herzlichen Glückwunsch zu 100.000 🎉❤ Abos, mal wieder cooles Video!

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

    Glückwunsch zu 100.000 Abos! wann kommt der dark-souls-mit-gedanken-zocken walkthrough?

  • @KaguyaTrials
    @KaguyaTrials Год назад +1

    100.000🎉 Glückwunsch!

  • @carisameyer
    @carisameyer Год назад +1

    Herzlichen Glückwunsch zu dem 100k abos 😜🥳🥳🥳

  • @Yanni_X
    @Yanni_X Год назад +18

    Woher kommen denn die geschätzten Werte?

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Wie gesagt, das ist eine Heuristik. Die werden geschätzt auf Basis verschiedener Parameter.

    • @Yanni_X
      @Yanni_X Год назад +1

      @@Florian.Dalwigk Aber wie werden sie geschätzt? Es muss ja irgendeine Schätzung sein, die weniger Aufwendig als Dijkstra ist. Ich bezweifle, dass sie einfach gegeben sind, also für eine ganze virtuelle Welt vorberechnet und in einer Tabelle gespeichert werden, sonst könnte man auch genaue Werte nehmen

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      @Yanni_X Das hängt von dem jeweiligen Problem ab und lässt sich nicht pauschal sagen.

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

      Glückwunsch zum blähbuddne!

    • @obinator9065
      @obinator9065 Год назад +3

      @@Yanni_Xmit dem Satz von Pythagoras geht das zum Beispiel. Die Wurzel kann man sich sparen. Unnötige Rechenzyklen.

  • @norude
    @norude Год назад +7

    Ich lerne Deutsch mit deine Videos. Danke 😊

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад +4

      Hervorragend :) Ich habe übrigens auch einen englischsprachigen Kanal ;) youtube.de/@sudoSecurity

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

      @@Florian.Dalwigk Krass jetzt kann ich den Ukrainer aus meiner Gruppe Videos schicken 🙂 Gute Arbeit Mann

  • @h.b.7190
    @h.b.7190 Год назад +1

    Hi!
    Hab dich erst heute entdeckt. Ziehe mir grad deine Reihe zum Thema Netzwerktechnik rein.
    Leider ist die nicht sortiert, aber nutze die eher für Wiederholung um wissen frisch zu halten.
    Danke erstmal für deine Arbeit 💪💪
    Glaubst du, du könntest mal ein Video zum Thema IP Adressen in Verbindung mit Gaming machen?
    Ich hab mal bei nem fremden wc3 Server ein DDos kassiert 😂
    Was wäre den noch alles möglich und wie schützt man sich? Gaming, teamspeak ect. Admins sehen ja die Adressen von Client. Wäre Mega spannend.
    Alles gute dir!

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

    SO deine Bücher sind bestellt! Freu mich drauf, schönes Geburtstagsgeschenk an mich selbst ^^

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Richtig schön :) Ich hoffe, die Bücher gefallen dir! Ich wünsche dir alles Gute zum Geburtstag!

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

      hoffe sie kommen am 2.12 hehe ^^@@Florian.Dalwigk

  • @divided_by_dia446
    @divided_by_dia446 Год назад +3

    aber wie kommt man an h(n)? gibt es da eine Metrik?

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Lässt sich nicht pauschal sagen. Das ist eine Heuristik. Für den Algorithmus reicht es diese Werte als gegeben zu betrachten.

  • @y.a.7490
    @y.a.7490 Год назад +2

    Könntest du bitte erklären wie man am besten Docker erstellt und mit einem Python Programm bindet sodass auf anderen Geräten darauf zugegriffen werden kann? Am besten mit einem konkreten Beispiel Code bitte.

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

    Ehrenmann, danke für die 1,7 in Algorithmen und Datenstrukturen.

    • @Florian.Dalwigk
      @Florian.Dalwigk  5 месяцев назад +1

      Herzlichen Glückwunsch :) Das freut mich wirklich sehr!

  • @Red_Fox_Miro
    @Red_Fox_Miro Год назад +1

    gut erklärt 👍

  • @soufiane1337
    @soufiane1337 Год назад +3

    Sehr gut erklärt aber was ist der Vorteil im Vergleich zum Dijkstra-Algorithmus beziehungsweise h(n) ist doch nicht notwendig oder ist das nur bei diesem Beispiel so ? VG Soufiane

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад +2

      Doch, genau das unterscheidet den Algorithmus ja vom Dijkstra. Wenn man die Werte gut schätzt, können viele Pfade von vornherein ausgeschlossen werden.

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад +2

      Im Endeffdekt ist A* Dijlstra als "Best First Search".

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

      @@Florian.Dalwigk Achso und Dijkstra würde trotzdem alle Wege berechnen um den günstigen Weg zu finden?

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад +1

      @soufiane2142 Genau! Der Dijkstra Algorithmus berechnet jedoch von S aus die kürzesten Wege zu ALLEN Knoten im Graphen!

    • @obinator9065
      @obinator9065 Год назад +1

      Der Djikstra testet alle Nodes, während der A* die Heuristik verwendet um die ungefähre Entfernung zum Ziel *abzuschätzen.* Stell dir das so vor als ob der Algorithmus einfach die direkte Luftlinie von der getesten Node zur Ziel-Node berechnet, z.B. durch den Satz Pythagoras, und dann einschränkt welche Neighbour-Nodes, hier dann im Stile des Djikstra, getestet werden.
      Dass dieser algorithmisch terminiert, heißt dass man immer den Weg findet, anstatt zu numerischen Approximationen zu greifen.

  • @ReddDevil1982
    @ReddDevil1982 9 месяцев назад

    Daumen hoch. Besser kann man es nicht erklären :).

  • @its_trexic
    @its_trexic Год назад +3

    Gut erklärt und cooler Algorithmus! Mir stellt sich gerade die Frage, ob man die geschätzten Werte jedes mal neu berechnen muss? Würde ja eigentlich nur Sinn machen, doch das hätte dann ja auch wieder einen relativ hohen Rechenaufwand. Wie hast du denn die geschätzten Werte in deinem Beispiel berechnet?

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад +2

      Die Werte sind in der Regel vorgegeben

    • @FaRihr
      @FaRihr Год назад +8

      Der A* wird beispielsweise auch sehr gerne als Grundlage für die Routenberechnung in Navis genommen. In dem Fall sind die heuristischen (geschätzten) Werte oft einfach die Luftlinie vom Ort zum Ziel. Und die ändert sich natürlich nicht, die Werte können also einmal erstellt werden und müssen dann nur noch abgerufen werden.
      Für andere Probleme sucht man sich dann einfach die entsprechend passenden Vereinfachungen um daraus die Heuristik zu erstellen.

  • @supergorilla1232
    @supergorilla1232 Год назад +3

    Wie wird die Liste erstellt?

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Welche Liste?

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

      @@LaChRiZ2k sqrt(a^2+b^2), also der Pythagoras zur Berechnung der "Länge" der Linie.
      Die Wurzel kann man sich eigentlich sparen für Rechenzyklen. Ist ja auch oft als: a^2+b^2=c^2 anzutreffen.
      3D Welten lassen sich auch einfach auf einen 2-dimensionalen Graphen reduzieren. Wenn ned alles gerade ist und man trotzdem ein gleichermaßen aufgeteiltes Grid haben will, rechnet man einfach die Steigung mit.
      Guck nach A* Videos mit Implementation, da sieht man das dann auch gut :)

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

      ich glaub, ohne Rechenbeispiel ist das nicht sehr verständlich, wie man auf h(n) kommt. Jedefalls gerade nicht für mich.

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

      Die Terminierung des Algorithmus ist garantiert. Du kannst h(n) auch einfach gleich 69 setzen, und er wird trotzdem eine Strecke finden. Bei der Heuristik geht es nur darum die Zahl der getesten Nodes zu verringern in dem man eine Funktion nimmt die sinnvolle Aussagen über die Entfernung der aktuell getesten Node zu der Ziel-Node zu finden. Da kannste zum Beispiel einfach eine "Luftlinie" zeichnen und die Länge solcher Linie kriegt man einfach mit dem Pythagoras. Für Videospiele reicht das vollkommen.
      Da muss man nicht das Rad neu erfinden. @@ijnmutsuki7031

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      @ijnmutsuki7031 Es ist zum Verständnis des Algorithmus völlig egal, wie man auf h(n) kommt. Die Heuristik ist ein völlig anderes Thema

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

    Genau genommen dürfte man hier doch A* nicht anwenden, da die Heuristik nicht zulässig ist(Kosten von D werden überschätzt). Für jemanden, der den Algorithmus nicht kennt, sicher trotzdem ein hilfreiches Vdeo!

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Die heuristischen Werte sind fiktiv, es geht um die Anwendung bzw. die Funktionsweise des Algorithmus

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

    danke

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

    Ich frage mich, ob man den A* Algorithmus auch für eine Route von der Erde zu Sagittarius A* nutzen kann ;)

    • @Florian.Dalwigk
      @Florian.Dalwigk  Год назад

      Darauf ist der Algorithmus nicht ausgelegt. ;)

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

      Klar, Du braucht nur eine Karte der Hyperraum-Umgehungsstraßen der Galaxis. Die bilden dann einen Graphen, auf den Du dann den A*-Algorithmus anwenden kannst.

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

    Den Algorithmus hätte Blizzard mal kennen sollen, dann hätte man mit dem Dragoon echt arbeiten können :-)

  • @Nick-ub1yx
    @Nick-ub1yx 3 месяца назад

    Warum schaut man sich nicht S A B D an?