Optimering (datalogi)

Fra Wikipedia, den frie encyklopædi
Spring til navigation Spring til søgning
Disambig bordered fade.svg For alternative betydninger, se Optimering. (Se også artikler, som begynder med Optimering)
Broom icon.svgDenne artikel behøver tilrettelse af sproget.
Sproget i denne artikel er af lav kvalitet på grund af stavefejl, grammatikfejl, uklare formuleringer eller sin uencyklopædiske stil.
Du kan hjælpe Wikipedia ved at forbedre teksten.

Inden for datalogi er optimering det at gøre et system mere effektivt, såsom at ændre det til at bruge færre mindre hukommelse, bruge mindre CPU-tid eller anvende mere parallelisme. Optimering kan også ændre på om noget er muligt (i forhold til tid, såsom om noget tager et sekund eller en uge) eller, specielt hvis vi snakker om algoritmer, i forbindelse med massive databeregninger (oftest).

Optimeringer & algoritmer[redigér | redigér wikikode]

Oftest i datalogien snakker man omkring optimeringer i forhold til algoritmer, hvilket jo kommer af at mange ting skal gøres inden for nogle krav, hvilket både er CPU/vente-tid, og hukommelsesforbrug. Nogle gange er det nødvendigt at finde en effektiv løsning til nogle problemer, og andre gange er der slet ikke fundet nogle løsninger der er effektive nok. Normalt når man omtaler algoritmer i forhold til tid/hukommelse bruger man noget der hedder store O notation, til at beregne forbruget i forhold til inputtets størrelse. Et eksempel kunne være hvis vi skal sortere en masse tal, og vi så har 20 linjers kode til at gøre det på, så vil vi få en masse konstanter afhængig af disse linjer, derfor bruger man store "O" til at betegne at vi ser bort fra konstanter, og bare kigger på udviklingen i forhold til inputtets størrelse. Det er næsten altid forbedringer i store O notation man søger, eftersom at konstanter ikke er det der er begrænsningen på store data-mængder, men nogen gange har det stor indvirkning, specielt fordi dem der har en god "O"-tid, ofte har større konstanter, og derved bliver de langsommere ved små data-input. Det var kort om hvad termer/datalogisk optimering går ud på, så lad os kigge på hvad det vil sige når vi snakker om, problemer der ikke har en effektiv løsning, og dem hvor at en effektiv løsning reelt set er den eneste løsning man kan bruge. Et godt eksempel er sådan noget som et skakspil. Her findes der skak-computere, som kan spille som om de er en rigtig person. Problemet med skak, er at der er så mange mulige opstillinger og muligheder igennem spillet, at det faktisk ikke er lykkes nogen at regne alle de "vindende stategiere" ud. Det vil sige at det faktisk ikke er lykkes nogen at finde en måde at vinde for hver mulige opstilling. En skakcomputer fungerer ved at gætte sig til det smarteste træk, og kun ved at vurdere et par ture (alt efter sværhedsgraden på computeren) beregner den sig til et træk.

Eksterne henvisninger[redigér | redigér wikikode]

ProgrammeringStub
Denne artikel om datalogi eller et datalogi-relateret emne er kun påbegyndt. Hvis du ved mere om emnet, kan du hjælpe Wikipedia ved at udvide den.