Razno

Kako algoritmi vode svijet u kojem živimo

Kako algoritmi vode svijet u kojem živimo

Ovo je prvi članak iz sedam dijelova o Algoritmima i računanju, koji istražuje kako koristimo jednostavne binarne brojeve kako bismo napajali svoj svijet

Ako ste bili dovoljno stari da doživite prvi val osobnih računala 1980-ih, proživjeli ste vjerojatno najznačajniju revoluciju u ljudskoj tehnologiji od izuma kotača. Računska snaga u najjeftinijem pametnom telefonu masovne proizvodnje eksponencijalno je moćnija od svega što je postojalo u ranim danima računanja. Softver koji je pokretao misiju Apollo koji je čovjeka stavio na Mjesec bio je otprilike sofisticiran kao i aplikacija na vašem telefonu danas. Sve to pokretano algoritmima koji koriste nevjerojatnu snagu modernih procesora kako bi postigli naizgled nemoguće.

Koji su problemi?

Prvo, na što mislimo kad koristimo izraz problem? U računarstvu problem je zadatak koji kada se riješi daje željeni rezultat. Ovo je matematičko govorenje jer je problem prepreka između vašeg trenutnog položaja ili stanja i položaja ili stanja u kojem želite biti. Problem predstavlja prepreka između vas i vašeg odredišta. Ono što vam trebaju sada su vrata koja problem pretvaraju u proces koji završava tako da budete u željenom položaju ili stanju.

POVEZANO: KATIE BOUMAN: SJAJNI UM KOJI NAM JE DONIO SLIKU CRNE RUPE

Svi znamo da su računala u osnovi kalkulatori, zbrajaju, oduzimaju i na drugi način manipuliraju 1s i 0s raditi sve, od obrade tekstualnih dokumenata do strujanja Igra prijestolja. To je zamršeni balet između vašeg procesora, softvera, hardvera računala i različitih ulaznih uređaja koji stvaraju i daju i daju sve. U osnovi, međutim, sve što se računala vrti oko jednostavnog zadatka rješavanja problema gradeći mostove između svoje države i one koju žele.

Što je proizvod od 6. i 13? Što je iznos svih brojeva između 120 i 226? Što je ostatak proizvela podjela od 14738 do 19? Sve su to problemi i oni su gradivni blok naših videoigara, softvera za produktivnost i naše streaming zabave. Odgovori na ove probleme kombiniraju se s drugim, sličnim rješenjima drugih problema koji nakon toga nastavljaju rješavati još veće, složenije.

Problem izrade rasporeda za zaposlenike tvrtke svaki tjedan s najnižim mogućim troškovima rada, pronalaženje najkraće rute do odredišta odakle god se u bilo kojem trenutku nalazili ili bilo koji drugi zadatak koji računala obavljaju, a koji danas uglavnom uzimamo zdravo za gotovo sve u konačnici sastavljeno od ovih manjih potproblema čija rješenja dodaju veće rješenje većeg problema s kojim se suočavamo.

Sve to pokreće rješavanje matematičkih i logičkih problema, a ta rješenja, vrata u matematičkim ili logičkim preprekama, proizvodi nešto što se naziva algoritam.

Što je algoritam?

Uvjet algoritam je posljednjih godina divljački zloupotrebljavana, pa je važno razjasniti što to znači. An algoritam niz je koraka poduzetih za rješavanje određenog, diskretnog problema. Google pretraživanje pokreće algoritam, ali samo na način na koji je lutka Matryoshka lutka. Google Search zapravo pokreće algoritam na vrh desetaka algoritmi povrh desetaka drugih algoritmi, svi rješavaju određeni podproblem većeg problema i rade zajedno u jednom procesu ili programu kako bi vratili rezultate pretraživanja upita.

Facebook-ov Newsfeed, Instagram, YouTube, Call of Duty, od kojih su svi izgrađeni algoritmi rješavajući probleme jedni za druge kako bismo proizveli funkcionalnost koju želimo.

Recimo da ste željeli pronaći zbroj svih brojeva između brojeva m i n. Možete stvoriti broj koji se zove proizlaziti, postavite je jednakom 0, i jednostavno dodajte m tome onda m + 1, onda m + 2 i tako dok ne dodate sama n, ostavljajući zbroj svih brojeva u proizlaziti. Ovaj niz koraka je algoritam. Ne baš učinkovit jedan, ali to ćemo sačuvati za kasniji članak.

Algoritmi raditi programski, upute po naputke, gradeći vrata točno onako kako bi ih računalo samo trebalo graditi i omogućujući nam da prođemo iz našeg Trenutna država našem željeni. Oni su odgovor na pitanje: kako da riješim ovaj specifični problem? i odgovori na to pitanje u svakom računalnom programu koji je ikada stvoren jesu ono što toliko pokreće naš moderni svijet.

Kako algoritmi zajedno rade kako bi se stvari postigle

Google je započeo kao odgovor na problem: kako bismo trebali poredati i navesti rezultate vraćene od podudaranja pojma upita sa unosima u indeksu naše web stranice? Googleov indeks web stranica mogao bi imati milijune odgovarajućih stranica za pojam upita, pa je trebalo uvesti neki redoslijed. Neocijenjeni popis stranica bilo je Googleovo početno stanje i željeli su popis stranica rangiranih tako da se najmjerodavnije stranice rangiraju najviše i tako pojave prve na popisu, dok su najmanje mjerodavne najniže i tako gurnute na samo dno.

Google je tada trebao riješiti problem, kako rangirati web stranicu?

The algoritam da su se Larry Page i Sergei Brin razvili sredinom 90-ih PageRank, i služio je kao pokretač koji je pokretao Google pretraživanje kroz rane godine tvrtke. Google je ubrzo nadmašio svaku drugu tražilicu na Internetu, uključujući nekoliko onih koji su imali nekoliko godina prednosti, na kraju dominirajući njihovom konkurencijom i oboje Page i Brina nevjerojatno bogatili, pomažući pretvoriti Google u glagol.

Prije smo spomenuli kako je Googleova tražilica algoritam, ali i puno više od toga. To je zato što je Google pretraživanje tijekom godina postalo mnogo sofisticiranije, a ne samo se oslanjati PageRank; PageRanksada dobiva puno više pomoći nego što je imala u ranih 2000-ih iz desetke, čak stotine, dodatnih algoritama za stvaranje najboljih mogućih rezultata.

Tehnički biste mogli dizajnirati jedan algoritam koji pokreće sve ono što je Google pretraživanje postalo u svoj svojoj složenosti, ali to bi bio nezgrapan, neučinkovit nered. Umjesto toga, Google Search je skup algoritama koji svi rješavaju različite probleme i rješenja tih problema prenose na druge algoritme koji ih trebaju. Prije smo napisali a osnovni algoritam za zbroj svih brojeva između m i n. To je sve u redu, ali mogli biste upotrijebiti taj algoritam da vam pomogne u računanju prosječan kao i jednostavno, uzmite proizlaziti tog algoritma i podijelite proizlaziti razlikom od m - n (nakon provjere toga m - n nije nula, naravno).

Na taj način algoritmi postaju računski gradivni blokovi koji zajedničkim radom mogu rješavati sve veće probleme. Omogućuje SpaceX-u da automatski spaja kapsulu Dragon Crew s Međunarodnom svemirskom postajom i pomogao je riješiti problem spajanja petabajta podataka te lociranja, izoliranja i oporavka prve slike horizonta događaja supermasivne crne rupe.

Radeći zajedno, čak i jednostavni algoritmi mogu postići nevjerojatne stvari, ali neki su algoritmi posebni i sami po sebi zaslužuju priznanje kao doista revolucionarni, pomažući u pokretanju cijelog niza novih tehnologija desetljećima nakon što su prvi put objavljeni.

Drugi dio naše serije o algoritmima i računanju, 7 bitnih algoritama koji upravljaju svijetom, možete pronaći ovdje.


Gledaj video: Extended Euclidean Algorithm Example (Siječanj 2022).