Heuristik
Gemeinsam gesprochen ist eine Heuristik eine „Faustregel“ oder ein guter Leitfaden, dem man bei Entscheidungen folgt. In der Informatik hat eine Heuristik eine ähnliche Bedeutung, bezieht sich aber speziell auf Algorithmen.
Bei der Programmierung von Software versuchen Computerprogrammierer, die effizientesten Algorithmen zu erstellen, um verschiedene Aufgaben zu erfüllen. Dabei kann es sich um einfache Vorgänge wie das Sortieren von Zahlen oder um komplexe Funktionen wie die Verarbeitung von Bildern oder Videoclips handeln. Da diese Funktionen oft eine große Bandbreite an Eingaben akzeptieren, kann ein Algorithmus in bestimmten Fällen gut funktionieren, während er in anderen nicht so gut funktioniert.
Zum Beispiel funktioniert der GIF-Bildkompressionsalgorithmus gut bei kleinen Bildern mit wenigen Farben, aber nicht so gut wie die JPEG-Kompression bei großen Bildern mit vielen Farben. Wenn Sie wüssten, dass Sie es nur mit kleinen Bildern zu tun haben, die keine große Farbpalette haben, wäre die GIF-Kompression alles, was Sie brauchen. Sie müssten sich keine Gedanken über große, farbige Bilder machen, also gäbe es keinen Grund, den Algorithmus für diese Bilder zu optimieren. In ähnlicher Weise verwenden Computerprogrammierer oft Algorithmen, die für die meisten Situationen gut funktionieren, auch wenn sie für ungewöhnliche Situationen ineffizient sind.
Daher kann ein heuristischer Prozess beinhalten, dass man Tests durchführt und durch Versuch und Irrtum Ergebnisse erhält. Je mehr Beispieldaten getestet werden, desto einfacher wird es, einen effizienten Algorithmus zur Verarbeitung ähnlicher Datentypen zu erstellen. Wie bereits erwähnt, sind diese Algorithmen nicht immer perfekt, funktionieren aber die meiste Zeit über gut. Das Ziel von Heuristiken ist es, einen einfachen Prozess zu entwickeln, der genaue Ergebnisse in einer akzeptablen Zeitspanne erzeugt.