Algoritmer
For at forstå, hvordan man programmerer en computer, må man vide, hvad algoritmer er, og hvordan de fungerer.
Fokusord
- en instruktion
- en rækkefølge
- en variabel
- en betingelse
- et flowchart
Algoritmisk tænkning
En algoritme er en instruktion eller en opskrift, som sætter en række regler for, hvordan et problem skal løses. Fx er en saml-selv-instruktion fra et møbelfirma en slags algoritme. Den angiver, hvordan og i hvilken rækkefølge de enkelte dele skal samles, så man får en hel kommode til sidst. Saml-selv-instruktionen er bygget op af en række variabler og betingelser. Variablerne kan ændres, så du fx kan bygge skuffer i forskellige størrelser med den samme instruktion. Betingelserne kan fx være, at hvis du ikke har samlet selve møblet, har du ikke noget at sætte skufferne ind i. Så skuffernes funktion er betinget af, at din kommode kan samles helt.
Tænk logisk
Der kan sagtens være flere algoritmer, der kan løse det samme problem. Fx kan man samle kommoden på mange forskellige måder, og instruktionen, der følger med, er bare ét forslag til, hvordan man løser problemet. Når man skal løse et problem, er det vigtigt, at man tænker logisk. Det vil sige, at man nedbryder problemet i mindre dele og på den måde bliver bevidst om, hvad det vil kræve at løse hver del for sig.
Når man tænker logisk, tænker man, ligesom en computer vil tænke. Det betyder, at man kun tænker i to muligheder, når man forsøger at finde en løsning til hver del af problemet. Passer skuffen i dette hul? Nej eller ja. Hvis ja, skub den ind. Hvis nej, find en anden skuffe, og spørg igen. Til at danne sig et overblik over disse gentagne processer kan man lave et flowchart.
Flowchart
Et flowchart er en visuel måde at vise logikken i en algoritme på. Et flowchart er bygget op af forskellige geometriske figurer, som er forbundet med hinanden i en rækkefølge. Hver figur viser en betydning i programmeringen.
Forskellige typer af algoritmer
Googles søgealgoritmer søger efter de ord, du skriver, og forsøger at finde en side, der matcher de ord. Sorteringsalgoritmerne sorterer samtidig siderne, så steder, andre brugere har været interesseret i, kommer højere på din liste. Google bruger mange forskellige algoritmer for at hjælpe dig med at finde lige præcis den side, du leder efter.
Facebook kommer også med venneforslag til dig ud fra en algoritme. Hvis man skulle skrive en algoritme for at finde dine venner, kunne det give mening at kigge efter fælles venner, hjemby, og hvilke interesser du har. Facebooks algoritme er hemmelig, og de arbejder hele tiden på at gøre den bedre og give dig som bruger en mere flydende oplevelse på mediet.
Algoritmer har brug for gode data
Google har i samarbejde med Stanford University og University of Massachusetts vist, at det i virkeligheden ikke er algoritmen, der er det vigtigste, men den data, som du putter ind i computeren, og som algoritmen skal arbejde med. Jo flere data algoritmen har at arbejde med, jo bedre resultat får du i den sidste ende. Et stærkt input giver altså et bedre output.
I projektet ønskede man at udvikle en kunstig intelligens, som kunne genkende og arbejde kreativt med sprog. Den kunstige intelligens arbejdede ud fra en algoritme, som dannede sætninger, et ord ad gangen, ved at analysere det forrige ord i sætningen. Google havde forinden uploadet tusindvis af kærlighedsromaner, som algoritmen kunne arbejde med. Derudover gav forskerne systemet en startsætning og en slutning og bad det om at fylde tekst ind imellem de to sætninger. Herunder kan du se en af de tekster, som Googles kunstige intelligens fik skabt.
he was silent for a long moment.
he was silent for a moment.
it was quiet for a moment.
it was dark and cold.
there was a pause.
it was my turn.