Skip to content
EntityQ1376168· pop 17· linked from 109 articles

memoisation

Sign in to save

teknik för att optimera datorprogram

Wikidata facts

Show 2 more facts
different from
memorization
Sources (4)

via Wikidata · CC0

Article · Svenska

Memoisation, memoisering, är en teknik för att optimera datorprogram som innebär att resultatet av uträkningar som sker medan programmet körs lagras i en tabell. Om en beräkning som redan har utförts efterfrågas, kan tabellen läsas av istället för upprepa hela den potentiellt tidskrävande uträkningen. Tekniken kan jämföras med cachning av minne. Speciellt handlar memoisation om att associera funktionsargument med för enskilda funktioner, oftast genom att spara associationerna i en hashtabell. Tekniken är bara tillämpbar på funktioner utan sidoeffekter, och används därför oftast inom funktionell programmering där sådana funktioner är vanliga eller kan markeras explicit. I programspråk med stöd för kan man skriva en funktion som omvandlar godtyckliga funktioner till memoiserade funktioner. I övriga språk måste memoisation implementeras separat för varje funktion. Tekniken är också allmänt känd inom algoritmteorin som dynamisk programmering, vilket är ett effektivt lösningssätt för vissa typer av optimeringsproblem. Delresultat lagras och återanvänds istället för att beräknas på nytt varje gång de behövs. När tekniken används praktisk leder den till snabbare program men kräver istället mer datorminne. En betydande andel viktiga optimeringsproblem går i praktiken inte att lösa utan dynamisk programmering.

Abstract from DBpedia / Wikipedia · CC BY-SA