@@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
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!
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.
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
Doch, genau das unterscheidet den Algorithmus ja vom Dijkstra. Wenn man die Werte gut schätzt, können viele Pfade von vornherein ausgeschlossen werden.
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.
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?
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.
@@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 :)
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
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!
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.
Danke für die super kurze Erklärung. geil!
Herzlichen Glückwunsch zu 100.000 🎉❤ Abos, mal wieder cooles Video!
Vielen lieben Dank :) Ich freue mich wirklich sehr!
True, HGW!
Glückwunsch zu 100.000 Abos! wann kommt der dark-souls-mit-gedanken-zocken walkthrough?
100.000🎉 Glückwunsch!
Vielen, vielen Dank :)
Herzlichen Glückwunsch zu dem 100k abos 😜🥳🥳🥳
Vielen lieben Dank :)
Woher kommen denn die geschätzten Werte?
Wie gesagt, das ist eine Heuristik. Die werden geschätzt auf Basis verschiedener Parameter.
@@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
@Yanni_X Das hängt von dem jeweiligen Problem ab und lässt sich nicht pauschal sagen.
Glückwunsch zum blähbuddne!
@@Yanni_Xmit dem Satz von Pythagoras geht das zum Beispiel. Die Wurzel kann man sich sparen. Unnötige Rechenzyklen.
Ich lerne Deutsch mit deine Videos. Danke 😊
Hervorragend :) Ich habe übrigens auch einen englischsprachigen Kanal ;) youtube.de/@sudoSecurity
@@Florian.Dalwigk Krass jetzt kann ich den Ukrainer aus meiner Gruppe Videos schicken 🙂 Gute Arbeit Mann
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!
SO deine Bücher sind bestellt! Freu mich drauf, schönes Geburtstagsgeschenk an mich selbst ^^
Richtig schön :) Ich hoffe, die Bücher gefallen dir! Ich wünsche dir alles Gute zum Geburtstag!
hoffe sie kommen am 2.12 hehe ^^@@Florian.Dalwigk
aber wie kommt man an h(n)? gibt es da eine Metrik?
Lässt sich nicht pauschal sagen. Das ist eine Heuristik. Für den Algorithmus reicht es diese Werte als gegeben zu betrachten.
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.
Ehrenmann, danke für die 1,7 in Algorithmen und Datenstrukturen.
Herzlichen Glückwunsch :) Das freut mich wirklich sehr!
gut erklärt 👍
Gerne :)
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
Doch, genau das unterscheidet den Algorithmus ja vom Dijkstra. Wenn man die Werte gut schätzt, können viele Pfade von vornherein ausgeschlossen werden.
Im Endeffdekt ist A* Dijlstra als "Best First Search".
@@Florian.Dalwigk Achso und Dijkstra würde trotzdem alle Wege berechnen um den günstigen Weg zu finden?
@soufiane2142 Genau! Der Dijkstra Algorithmus berechnet jedoch von S aus die kürzesten Wege zu ALLEN Knoten im Graphen!
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.
Daumen hoch. Besser kann man es nicht erklären :).
Das freut mich 😁
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?
Die Werte sind in der Regel vorgegeben
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.
Wie wird die Liste erstellt?
Welche Liste?
@@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 :)
ich glaub, ohne Rechenbeispiel ist das nicht sehr verständlich, wie man auf h(n) kommt. Jedefalls gerade nicht für mich.
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
@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
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!
Die heuristischen Werte sind fiktiv, es geht um die Anwendung bzw. die Funktionsweise des Algorithmus
danke
Gerne
Ich frage mich, ob man den A* Algorithmus auch für eine Route von der Erde zu Sagittarius A* nutzen kann ;)
Darauf ist der Algorithmus nicht ausgelegt. ;)
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.
Den Algorithmus hätte Blizzard mal kennen sollen, dann hätte man mit dem Dragoon echt arbeiten können :-)
Warum schaut man sich nicht S A B D an?
Kann man