Hvordan ser en algoritme ud? 1

Hvordan ser en algoritme ud?

Vi ved, at Facebook, Google og Amazon har algoritmer, der giver os opdateringer, søgeresultater og produktanbefalinger, men hvad betyder det egentlig? Hvad kvalificerer som en algoritme? Kan du skrive en ned? Hvordan ville det se ud, hvis du gjorde det? Da de løber så mange dele af vores dagligdag, er det vigtigt at have en grundlæggende fornemmelse af, hvad der præcist foregår under hætten – og det er virkelig ikke så skræmmende, som det ofte ser ud til.

Uformel definition: Algoritmer er kun opskrifter

På det mest basale er en algoritme simpelthen et sæt veldefinerede trin, som du kan følge, generelt tage nogle input og producere et andet sæt output. En cupcake-opskrift kan være en algoritme. Det samme er vejledningen til en vens hus, afspilning af et stykke node eller processen med at slå et ord op i en ordbog. Raymond Queneau trykte endda en bog med ti sonetter med linjer, der kan blandes og matches problemfrit for at skabe 100.000.000.000 originale digte. Hvordan disse algoritmer implementeres varierer meget, men du behøver ikke at være fortrolig med nogen programmeringssprog for at forstå den grundlæggende logik bag dem. For eksempel er det følgende en algoritme til at give enkle gangvejledninger.

  1. Efter at være gået ud af din dør, drej til højre.
  2. Gå ned ad vejen, indtil du kommer til Market Street
  3. Når du når Market Street, drej til højre.
  4. Gå ligeud, indtil du ser en murstensbygning.
  5. Gå ind af hoveddøren.

Det er en meget simpel algoritme, der bruger en masse input, som mennesker nemt kan behandle; vi kender allerede til gåture, gader, materialer, adgang og alle de andre ting. Hvis vi lavede en retningsalgoritme til en robot, skulle den være meget længere og mere specifik, hvilket er det, der får mange algoritmer til at se så forvirrende ud for mennesker.

Mere formelt: Algoritmer er klare, utvetydige formler

algoritmer-quicksort

En algoritme, du sandsynligvis bruger hver dag, er Googles PageRank-algoritme, som ser på hundredvis af faktorer ved en webside, kører dem gennem dens formel og tildeler den en score. De søgeresultater, du ser som svar på din søgeterm, er et direkte resultat af denne score. Det fungerer så godt, fordi det følger et klart defineret sæt regler, der fortæller den, hvad den skal kigge efter, hvad den skal ignorere, og hvad den skal gøre med den information, den finder.

For at visualisere en meget enkel søgeproces, er her en lineær søgealgoritme, der leder efter tallet 3 i en liste over tal.

liste = [1, 3, 5]

  1. Tjek hvert punkt på listen.
  2. Så snart en af ​​elementerne er lig med tre, skal du returnere dens position.
  3. Hvis tre ikke er på listen, skal du returnere “Tre er ikke på listen!”

Efter disse trin vil computeren se på det første tal, som er et. Da den ikke er lig med tre, går den videre og tjekker det næste tal. Da det tal er tre, returnerer det noget i stil med “Tallet tre er det andet punkt på listen.”

I Python-kode vil en lineær sorteringsalgoritme se ud som følgende billede.

algoritmer-lineær-søgning

algoritmer-lineær-output

Det eneste, den kode gør, er at tage en liste med tal, se på hvert element på listen og kontrollere, om det matcher søgeordet. Hvis intet gør det, returnerer det bare “False”. Dette er en ekstremt simpel algoritme, men uanset om det er en linje kode eller en million, så fungerer alle eksisterende algoritmer efter det samme grundlæggende princip: tag information, bearbejd den i henhold til en forudindstillet logik og få resultater.

Hverdagsalgoritmer

De fleste af de algoritmer, der rent faktisk driver vores hverdag, er ikke open source. Vi ved ikke præcis, hvordan Google bestemmer, hvilke søgeresultater der skal vises, eller hvordan Facebook sætter dit nyhedsfeed sammen, men vi kan stadig se resultaterne af disse beregninger. Ikke desto mindre er de vigtige, og vi har en ret god idé om den grundlæggende logik bag dem.

algoritmer-pagerank

  • Google PageRank fungerer ved at se på antallet og kvaliteten af ​​links, der fører til og fra en webside, selvom der er et stort antal hemmelige kriterier, som konstant opdateres for at forbedre resultaterne og forhindre nogen i at spille systemet.
  • Facebooks nyhedsfeed måler styrken af ​​dit forhold til mennesker og grupper baseret på din aktivitet, og bruger derefter disse og nogle andre faktorer til at generere dit nyhedsfeed.
  • Amazon og Netflix bruge anbefalingsalgoritmer, der ser på brugerdata, finder ud af ting, som hver bruger måske vil have, og viser brugeren disse ting.
  • UPS’s ORION system er en kæmpe stor (1000+ sider!) algoritme, men den kan beregne den mest effektive rute for enhver levering, mens den også tager højde for alle former for realtidsdata og driftsparametre, som forespurgte leveringsvinduer.
  • Kunstig intelligens applikationer som selvkørende biler, ansigtsgenkendelse, naturlig sprogbehandling, prædiktiv analyse og mange flere er afhængige af algoritmer, der kan indtage visuelle, lyd- eller digitale data, finde ud af, hvad der foregår, og returnere passende resultater.
  • Annoncering algoritmer er overalt. Mens mennesker er dem, der kommer med de annoncer, du ser, er det en algoritme, der i sidste ende afgør, om du er den rigtige målgruppe.

Alt er en algoritme

Når du først ved, hvordan en algoritme ser ud, kan du ikke stoppe med at lægge mærke til dem. De er ikke kun i vores teknologi, da de trods alt er i vores hjerner. Alt, hvad vi gør, er et resultat af at modtage input, behandle dem og producere output. De fleste af disse processer er gemt inde i en konstant omarrangerende sort boks, men de er der, bag kulisserne, og hjælper os med at gå rundt, forstå sproget og træffe beslutninger om ting. Mennesker er udstyret til at forstå algoritmer på et instinktivt niveau, så selvom computeralgoritmer er skrevet i uoverskuelig matematik og kode, kan de alle oversættes til termer, vi forstår.

Billedkredit: Mandelbrot sæt billede, Websteder, der forbinder hinanden for at illustrere PageRank, CTP TheoryOfComputation Lineær søgning, Farvebjælker til skalsorteringsalgoritme

Støt vores arbejde ❤️

Hvis du kunne lide denne artikel, kan du overveje at give drikkepenge for at hjælpe os med fortsat at udgive kvalitetsindhold.

Sikker betaling med PayPal
Moyens I/O Staff har motiveret dig og givet dig råd om teknologi, personlig udvikling, livsstil og strategier, der vil hjælpe dig.