Hur ser en algoritm ut? 1

Hur ser en algoritm ut?

Vi vet att Facebook, Google och Amazon har algoritmer som ger oss uppdateringar, sökresultat och produktrekommendationer, men vad betyder det egentligen? Vad kvalificerar sig som en algoritm? Kan du skriva ner en? Hur skulle det se ut om du gjorde det? Eftersom de driver så många delar av vårt dagliga liv, är det viktigt att ha en grundläggande känsla för vad som exakt pågår under huven – och det är verkligen inte så skrämmande som det ofta verkar.

Informell definition: algoritmer är bara recept

Som mest grundläggande är en algoritm helt enkelt en uppsättning väldefinierade steg som du kan följa, i allmänhet ta några ingångar och producera en annan uppsättning utdata. Ett cupcake-recept kan vara en algoritm. Så är vägbeskrivningen till en väns hus, att spela ett notstycke eller processen att slå upp ett ord i en ordbok. Raymond Queneau tryckte till och med en bok med tio sonetter med rader som kan blandas och matchas sömlöst för att skapa 100 000 000 000 originaldikter. Hur dessa algoritmer implementeras varierar stort, men du behöver inte vara bekant med några programmeringsspråk för att förstå den grundläggande logiken bakom dem. Följande är till exempel en algoritm för att ge enkla gånganvisningar.

  1. Efter att ha gått ut genom din dörr, sväng höger.
  2. Gå på vägen tills du kommer till Market Street
  3. När du kommer till Market Street, sväng höger.
  4. Gå rakt fram tills du ser en tegelbyggnad.
  5. Gå in genom ytterdörren.

Det är en mycket enkel algoritm som använder många indata som människor enkelt kan bearbeta; vi vet redan om promenader, gator, material, inträde och alla de andra sakerna. Om vi ​​skulle skapa en riktningsalgoritm för en robot skulle den behöva vara mycket längre och mer specifik, vilket är det som gör att många algoritmer ser så förvirrande ut för människor.

Mer formellt: algoritmer är tydliga, entydiga formler

algoritmer-snabbsort

En algoritm du förmodligen använder varje dag är Googles PageRank-algoritm, som tittar på hundratals faktorer på en webbsida, kör dem genom dess formel och tilldelar den en poäng. Sökresultaten du ser som svar på din sökterm är ett direkt resultat av den poängen. Det fungerar så bra eftersom det följer en tydligt definierad uppsättning regler som talar om vad den ska leta efter, vad den ska ignorera och vad den ska göra med informationen den hittar.

För att visualisera en mycket enkel sökprocess, här är en linjär sökalgoritm som letar efter siffran 3 i en lista med nummer.

lista = [1, 3, 5]

  1. Kontrollera varje punkt i listan.
  2. Så snart en av objekten är lika med tre, återställ sin position.
  3. Om tre inte finns i listan, returnera ”Tre finns inte i listan!”

Efter dessa steg kommer datorn att titta på det första numret, vilket är ett. Eftersom det inte är lika med tre, går den vidare och kontrollerar nästa nummer. Eftersom det numret är tre, returnerar det något i stil med ”Siffran tre är det andra objektet i listan.”

I Python-kod skulle en linjär sorteringsalgoritm se ut som följande bild.

algoritmer-linjär-sökning

algoritmer-linjär-utgång

Allt den koden gör är att ta en lista med siffror, titta på varje element i listan och kontrollera om det matchar söktermen. Om inget gör det, returnerar det bara ”False”. Detta är en extremt enkel algoritm, men oavsett om det är en rad kod eller en miljon, fungerar varje algoritm som existerar på samma grundläggande princip: ta information, bearbeta den enligt någon förinställd logik och få resultat.

Vardagsalgoritmer

De flesta av de algoritmer som faktiskt styr våra vardagliga liv är inte öppen källkod. Vi vet inte exakt hur Google bestämmer vilka sökresultat som ska visas eller hur Facebook sätter ihop ditt nyhetsflöde, men vi kan fortfarande se resultaten av dessa beräkningar. Ändå är de viktiga, och vi har en ganska bra uppfattning om den grundläggande logiken bakom dem.

algoritmer-pagerank

  • Google PageRank fungerar genom att titta på antalet och kvaliteten på länkar som leder till och från en webbsida, även om det finns ett stort antal hemliga kriterier som ständigt uppdateras för att förbättra resultaten och hindra någon från att spela systemet.
  • Facebooks nyhetsflöde mäter styrkan i din relation med människor och grupper baserat på din aktivitet, och använder sedan dessa och några andra faktorer för att generera ditt nyhetsflöde.
  • Amazon och Netflix använd rekommendationsalgoritmer som tittar på användardata, tar reda på saker som varje användare kanske vill ha och visar användaren dessa saker.
  • UPS:s ORION-system är en enorm (1000+ sidor!) algoritm, men den kan beräkna den mest effektiva rutten för alla leveranser samtidigt som den tar hänsyn till alla typer av realtidsdata och driftsparametrar, som begärda leveransfönster.
  • Tillämpningar av artificiell intelligens som självkörande bilar, ansiktsigenkänning, naturlig språkbehandling, prediktiv analys och många fler förlitar sig på algoritmer som kan ta in visuella, ljud- eller digitala data, ta reda på vad som händer och ge lämpliga resultat.
  • Reklam Algoritmer finns överallt. Även om det är människor som kommer med annonserna du ser, är det en algoritm som i slutändan avgör om du är rätt målgrupp.

Allt är en algoritm

När du väl vet hur en algoritm ser ut kan du inte sluta lägga märke till dem. De finns inte bara i vår teknik, eftersom de trots allt finns i våra hjärnor. Allt vi gör är ett resultat av att ta emot indata, bearbeta dem och producera utdata. De flesta av dessa processer är lagrade i en ständigt omarrangerande svart låda, men de finns där, bakom kulisserna, och hjälper oss att gå runt, förstå språk och fatta beslut om saker. Människor är utrustade för att förstå algoritmer på en instinktiv nivå, så även om datoralgoritmer är skrivna i otydlig matematik och kod, kan de alla översättas till termer som vi förstår.

Bildkredit: Mandelbrot set bild, Webbplatser som länkar samman för att illustrera PageRank, CTP TheoryOfComputation Linjär sökning, Skalsorteringsalgoritms färgstaplar

Stöd vårt arbete ❤️

Om du gillade den här artikeln, överväg att lämna dricks för att hjälpa oss fortsätta publicera bra innehåll.

Säker betalning med PayPal
Se även:  Volkswagen-licensierade n+ elcyklar med smarta glasögon
Moyens I/O Staff har motiverat dig och gett dig råd om teknik, personlig utveckling, livsstil och strategier som hjälper dig.