Heuristik
Allgemein gesagt ist eine Heuristik eine „Faustregel“ oder eine gute Orientierungshilfe, die man bei Entscheidungen befolgen kann. In der Informatik hat eine Heuristik eine ähnliche Bedeutung, bezieht sich aber speziell auf Algorithmen.
Bei der Programmierung von Software versuchen Programmierer, die effizientesten Algorithmen zu entwickeln, um verschiedene Aufgaben zu erledigen. Dazu können einfache Prozesse wie das Sortieren von Zahlen oder komplexe Funktionen wie die Verarbeitung von Bildern oder Videoclips gehören. Da diese Funktionen oft eine große Bandbreite an Eingaben verarbeiten, kann ein Algorithmus in bestimmten Fällen gut funktionieren, in anderen jedoch nicht so gut.
Beispielsweise funktioniert der Bildkomprimierungsalgorithmus von GIF gut bei kleinen Bildern mit wenigen Farben, aber nicht so gut wie die Komprimierung von JPEG bei großen Bildern mit vielen Farben. Wenn du wüsstest, dass du nur kleine Bilder ohne eine große Farbpalette verarbeiten würdest, wäre die GIF-Komprimierung alles, was du benötigst. Du müsstest dir keine Gedanken über große, farbenfrohe Bilder machen, daher gäbe es keinen Grund, den Algorithmus für diese Bilder zu optimieren. Ebenso verwenden Programmierer häufig Algorithmen, die in den meisten Situationen gut funktionieren, auch wenn sie in ungewöhnlichen Situationen möglicherweise ineffizient arbeiten.
Daher kann ein heuristischer Prozess darin bestehen, Tests durchzuführen und durch Versuch und Irrtum Ergebnisse zu erhalten. Je mehr Beispieldaten getestet werden, desto einfacher wird es, einen effizienten Algorithmus zur Verarbeitung ähnlicher Datentypen zu entwickeln. Wie bereits erwähnt, sind diese Algorithmen nicht immer perfekt, funktionieren aber meistens gut. Das Ziel von Heuristiken besteht darin, einen einfachen Prozess zu entwickeln, der innerhalb einer akzeptablen Zeit genaue Ergebnisse liefert.
Testen Sie Ihr Wissen