Algoritmer: Hva er de, og hvorfor irriterer de oss?

«Algoritme» er et begrep som ofte brukes. Men når vi diskuterer algoritmer knyttet til YouTube eller Facebook, hva snakker vi egentlig om? Hva er algoritmer, og hvorfor er det så mange klager knyttet til dem?

Algoritmer: Instruksjoner for å løse problemer

Vi lever i en verden der datamaskiner er til stede overalt, men likevel er deres funksjon ofte vag for mange. Men det er et felt innen informatikk der alle kan forstå det grunnleggende: programmering.

Programmering er kanskje ikke det mest glamorøse arbeidet, men det er selve fundamentet for all dataprogramvare, fra Microsoft Office til telefonselgere. Selv om din kunnskap om programmering stammer fra eldre filmer eller nyhetssendinger, forstår du nok hva en programmerer gjør: vedkommende skriver kode for en datamaskin, og datamaskinen følger instruksjonene i denne koden for å utføre oppgaver eller løse problemer.

I informatikk er en algoritme bare et annet ord for kode. Hvert sett med instrukser som forteller en datamaskin hvordan den skal løse et problem, er en algoritme, selv om oppgaven er enkel. Når du starter datamaskinen, følger den en rekke instruksjoner for oppstart. Dette er en algoritme i praksis. På samme måte er det en algoritme i arbeid når en NASA-datamaskin bruker rådata fra radiobølger for å lage et bilde av verdensrommet.

Begrepet «algoritme» kan brukes til å beskrive alle typer instruksjoner, også utenfor det digitale domenet. For eksempel er måten du organiserer bestikk i en skuff en algoritme, på samme måte som din rutine for håndvask etter toalettbesøk.

Det som er verdt å merke seg er at i dag brukes ordet «algoritme» ofte i spesifikke teknologiske sammenhenger. Du hører sjelden folk snakke om «grunnleggende matte»-algoritmer eller «MS Paint graffiti-verktøy»-algoritmer. I stedet klager Instagram-brukere over algoritmer som foreslår venner, eller personverngrupper kritiserer Facebooks metoder for datafangst.

Hvis «algoritme» er et felles begrep for beregningsinstruksjoner, hvorfor brukes det da nesten utelukkende for å beskrive de mer forvirrende, mystiske og kritikkverdige aspektene ved den digitale verden?

Sammenblanding av «algoritmer» og «maskinlæring»

Tidligere kalte programmerere og populærkulturen de fleste beregningsinstruksjoner for «kode». Dette gjelder fortsatt i stor grad. Men maskinlæring er et omfattende område innen databehandling der vi ofte bruker begrepet «algoritme» i stedet for «kode». Dette har forståelig nok bidratt til forvirringen og uroen rundt ordet «algoritme».

Maskinlæring har eksistert lenge, men har først de siste 15 årene blitt en sentral del av den digitale verden. Selv om maskinlæring kan høres komplisert ut, er det ganske lett å forstå konseptet. Programmerere kan ikke skrive og teste spesifikk kode for enhver situasjon, så de skriver kode som kan lære og utvikle seg selv.

Se på det som en mer praktisk form for kunstig intelligens. Hvis du markerer mange av sjefens e-poster som spam, vil e-postprogrammet ditt automatisk begynne å flytte alle e-poster fra sjefen til søppelpostmappen. På samme måte bruker Google maskinlæring for å sørge for at søkeresultater på YouTube er relevante, og Amazon bruker maskinlæring for å foreslå produkter du kanskje vil kjøpe.

Det er imidlertid verdt å merke seg at maskinlæring ikke er uten problemer. Selve navnet «maskinlæring» kan virke skremmende for noen, og noen av de populære bruksområdene for maskinlæring kan være etisk tvilsomme. Algoritmene Facebook bruker for å samle inn data om brukere er et mindre flatterende eksempel på maskinlæring.

I mediene leser vi om «Googles algoritme» for å rangere søkeresultater, «YouTubes algoritme» for å anbefale videoer og «Facebooks algoritme» for å bestemme hvilke innlegg som vises i feeden din. Alle disse er omstridte emner og gjenstand for diskusjon.

Hvorfor algoritmer skaper kontrovers

Divisjon med oppstilling er en kjent algoritme for å dele tall. Det er bare det at det utføres av skoleelever i stedet for datamaskiner. Prosessoren i datamaskinen din bruker en helt annen algoritme når den utfører divisjon, men resultatet er det samme.

Tekst-til-tale-funksjonen bruker gjerne maskinlæring, men ingen snakker om tekst-til-tale-«algoritmen» fordi det finnes et objektivt riktig svar som alle mennesker raskt kan gjenkjenne. Ingen bryr seg om «hvordan» datamaskinen finner ut hva du sa eller om det er maskinlæring eller ikke. Vi er kun opptatt av at maskinen gir det riktige svaret.

Men andre bruksområder for maskinlæring har ikke fordelen av å ha et «riktig» svar. Derfor har algoritmer blitt et hyppig samtaleemne i media.

En algoritme for å sortere en liste alfabetisk er bare en måte å utføre en definert oppgave på. Men en algoritme som den Google bruker for å «rangere de beste nettstedene for et søk» eller YouTubes algoritme for å «anbefale den beste videoen» er mer vag, og utfører ikke en konkret oppgave. Folk kan være uenige i om algoritmen oppnår de ønskede resultatene, og ha ulike meninger om det. Men i alfabetisk sortering kan alle være enige om at listen faktisk er sortert alfabetisk. Dette skaper ikke noen kontrovers.

Hvordan bør vi bruke ordet «algoritme»?

Algoritmer utgjør grunnlaget for all programvare. Uten algoritmer ville vi ikke hatt telefoner eller datamaskiner, og du ville sannsynligvis ha lest denne artikkelen på et papir (eller mest sannsynlig ikke i det hele tatt).

Men allmennheten bruker ikke ordet «algoritme» som et generelt begrep for datakode. De fleste antar faktisk at det er en forskjell mellom datakode og en algoritme – men det er ikke tilfellet. På grunn av «algoritme» sin tilknytning til maskinlæring, har betydningen blitt uklar, men bruken mer spesifikk.

Bør du begynne å bruke ordet «algoritme» for å beskrive selv de mest trivielle delene av datakode? Sannsynligvis ikke, da det kan skape forvirring. Språk er i stadig utvikling, og endringene skjer ofte av en god grunn. Folk trenger et begrep for å beskrive den kompliserte, ugjennomsiktige og av og til tvilsomme verdenen av maskinlæring, og «algoritme» er i ferd med å bli nettopp det ordet – i hvert fall for øyeblikket.

Det er imidlertid viktig å huske at en algoritme (og maskinlæring) i bunn og grunn er en samling med kode som er skrevet for å løse oppgaver. Det er ikke noe mystisk triks; det er bare en mer avansert versjon av programvaren vi allerede kjenner til.

Kilder: Skifer, Wikipedia, GeeksforGeeks