Best Of Algorithen



  • Welchen Algorithmus findet ihr am besten? Was findet ihr da gut? Geniale Idee, kompakt, schnell oder sonst was.



  • 300 of 61 schrieb:

    Welchen Algorithmus findet ihr am besten? Was findet ihr da gut? Geniale Idee, kompakt, schnell oder sonst was.

    Ich habe letzt die probabilistischen Algorithmen als interessantes Gebiet entdeckt, in das ich mich irgendwann mal einarbeiten möchte. Die Grundidee von probabilistischen Algorithmen ist eigentlich immer die selbe:

    Man hat ein Problem, das man nicht berechnen kann oder nur unter hohem Aufwand berechnen kann. Wenn man bei dem Problem nun gewisse Forderungen durch geforderte Wahrscheinlichkeiten abschwächt, dann kann es sein, dass man das Problem dadurch viel effizienter angehen kann bzw. überhaupt angehen kann. Durch mehrmalige Anwendung des dabei entstandenen Algorithmus kann man zudem die Wahrscheinlichkeiten für das richtige Ergebnis beliebig nah an einen 100%ig korrekt arbeitenden, deterministischen Algorithmus heranführen. Trotzdem hat man am Schluss einen Algorithmus, der unter Umständen in einer viel besseren Komplexitätsklasse als der deterministische Algorithmus liegt bzw. die Lösung des gegebenen Problems erst ermöglicht.

    Für die Praxis macht es dann letztendlich keinen großen Unterschied, ob ein Algorithmus nun in 100% aller Fälle oder nur in 100-(0.1^30)% aller Fälle korrekt arbeitet.



  • Numerische Lösung von DGL
    Simplex
    RSA

    - ohne diese Algorithmen sähe die Welt wahrscheinlich etwas anders aus.



  • simplex find ich scharf 😃 eine extrem simple lösung für komplexe probleme.



  • Gregor schrieb:

    Für die Praxis macht es dann letztendlich keinen großen Unterschied, ob ein Algorithmus nun in 100% aller Fälle oder nur in 100-(0.1^30)% aller Fälle korrekt arbeitet.

    Man kann auch die Laufzeitbedingungen abschwächen.
    Ein wunderschönes Beispiel: http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo42.php

    In Kürze gegeben n Punkte, berechne den kleinsten umschließenden Kreis. Ergebnis immer 100% korrekt, aber die Laufzeit ist randomisiert. 🙂

    Übrigens ist interessanterweise immer noch nicht geklärt, ob Randomisierung im Zusammenhang mit NP-vollständigkeit hilft oder nicht.
    Approximationsalgorithmen und FPT sind ebenfalls interessante Paradigmen um mit schweren Problemen umzugehen.



  • Jester schrieb:

    In Kürze gegeben n Punkte, berechne den kleinsten umschließenden Kreis. Ergebnis immer 100% korrekt, aber die Laufzeit ist randomisiert. 🙂

    Was ein Albtraum! 😮 :p



  • Tim: meine wissens sind alle bekannten deterministischen Verfahren langsamer.

    Ein Vorteil von randomisierten Algorithmen ist oft auch, dass diese recht einfach zu implementieren sind.



  • Raytracing -- So einfach zu erklären

    aber verdammt komplex in der Implementierung



  • crashterpiece schrieb:

    Raytracing -- So einfach zu erklären

    aber verdammt komplex in der Implementierung

    Findest du?



  • Btw, ein imho sehr wichtiger Algorithmus (heute ist sowas Allgemeinwissen) ist die binäre Suche.



  • backtracking



  • Jester schrieb:

    Btw, ein imho sehr wichtiger Algorithmus (heute ist sowas Allgemeinwissen) ist die binäre Suche.

    Den wollte ich auch erst erwähnen :).

    Es ist sehr gut, wenn ein Algorithmus simpel und verständlich ist.



  • Ich fand Dynamische Programmierung ganz interessant, auch wenn ich es praktisch eigentlich noch nie benutzt habe.



  • Die Türme von Hanoi Rekursion. Die ist klein, simpel und elegant.



  • Jester schrieb:

    crashterpiece schrieb:

    Raytracing -- So einfach zu erklären

    aber verdammt komplex in der Implementierung

    Findest du?

    Schon mal einen echten Raytracer geschrieben?



  • wavelets

    wenn man relativ stark komprimierte mpegs damit packt, wird die bildqualitaet besser und man kann staerker komprimieren 🙂 👍

    @raytracer
    einfache idee, einefache implementierung und ohne cheaten recht langsam.



  • rapso schrieb:

    wavelets

    wenn man relativ stark komprimierte mpegs damit packt, wird die bildqualitaet besser und man kann staerker komprimieren 🙂 👍

    @raytracer
    einfache idee, einefache implementierung und ohne cheaten recht langsam.

    Ein Raycaster vielleicht. Ein echter Raytracer ist alles andere als leicht.



  • poisson-sampler schrieb:

    Ein Raycaster vielleicht. Ein echter Raytracer ist alles andere als leicht.

    behauptung gegen behauptung, meine behauptung wird untermauert durch die raytracer die ich schon implementiert haben.

    danke, gast.



  • raytracing ist nun wirklich nicht kompliziert, dafür benötigt man nur gutes grundwissen in geometrie und die sache ist gegessen.



  • rapso schrieb:

    behauptung gegen behauptung, meine behauptung wird untermauert durch die raytracer die ich schon implementiert haben.
    [/quote]
    Meine ebenfalls.

    raytracing ist nun wirklich nicht kompliziert, dafür benötigt man nur gutes grundwissen in geometrie und die sache ist gegessen.

    Da merkt man ja schon, dass du keine Ahnung von der Materie hast, wenn deine Vorstellung von einem Raytracer bei Geometrie aufhört.
    Wenn man einen echten Raytracer mit Beschleunigungsstrukturen, komplexen Beleuchtungssystem (nicht nur Mirror Reflection ) 🙄 , Softshadows, Kaustiken, Nebel, Refraktion etc. haben will, wird es recht fix sehr komplex.




Anmelden zum Antworten