Heuristiek
Over het algemeen is een heuristiek een "vuistregel" of een goede richtlijn om te volgen bij het nemen van beslissingen. In de informatica heeft heuristiek een vergelijkbare betekenis, maar verwijst het specifiek naar algoritmen.
Bij het programmeren van software streven programmeurs ernaar de efficiëntste algoritmen te maken voor het uitvoeren van verschillende taken. Dit kunnen eenvoudige processen zijn, zoals het sorteren van getallen, of complexe functies, zoals het verwerken van afbeeldingen of videofragmenten. Omdat deze functies vaak een groot aantal verschillende invoerwaarden accepteren, kan het ene algoritme in bepaalde gevallen goed presteren, maar in andere gevallen minder goed.
Het algoritme voor beeldcompressie van GIF presteert bijvoorbeeld goed bij kleine afbeeldingen met weinig kleuren, maar niet zo goed als JPEG-compressie bij grote afbeeldingen met veel kleuren. Als je wist dat je alleen met kleine afbeeldingen zonder een groot aantal kleuren zou werken, zou GIF-compressie alles zijn wat je nodig had. Je hoefde je dan geen zorgen te maken over grote afbeeldingen met veel kleuren, dus het zou geen zin hebben het algoritme voor die afbeeldingen te optimaliseren. Op dezelfde manier gebruiken programmeurs vaak algoritmen die in de meeste situaties goed werken, ook al presteren ze mogelijk inefficiënt in ongebruikelijke situaties.
Een heuristisch proces kan daarom bestaan uit het uitvoeren van tests en het verkrijgen van resultaten door vallen en opstaan. Naarmate meer voorbeeldgegevens worden getest, wordt het gemakkelijker om een efficiënt algoritme te maken voor het verwerken van vergelijkbare soorten gegevens. Zoals eerder vermeld, zijn deze algoritmen niet altijd perfect, maar werken ze meestal goed. Het doel van heuristieken is een eenvoudig proces te ontwikkelen dat nauwkeurige resultaten binnen een aanvaardbare tijd oplevert.
Test je kennis