„Algoritm” este un cuvânt care se răspândește mult. Dar când construim conversații în jurul algoritmilor YouTube sau Facebook, despre ce vorbim de fapt? Ce sunt algoritmii și de ce oamenii se plâng atât de mult de ei?
Cuprins
Algoritmii sunt instrucțiuni pentru rezolvarea problemelor
Trăim într-o lume în care computerele sunt doar vag înțelese, chiar dacă ele pătrund în fiecare moment al vieții noastre. Dar există un domeniu al informaticii în care oricine poate înțelege elementele de bază ale a ceea ce se întâmplă. Acea zonă a informaticii se numește programare.
Programarea nu este o muncă plină de farmec, dar este baza tuturor programelor de calculator, de la Microsoft Office la robocallers. Și chiar dacă cunoștințele tale despre programare provin doar din filme proaste din anii 90 și din știri nepotrivite, probabil că nu ai nevoie de nimeni să-ți explice ce face un programator. Un programator scrie cod pentru un computer, iar computerul urmează instrucțiunile codului respectiv pentru a efectua sarcini sau pentru a rezolva probleme.
Ei bine, în lumea informatică, un algoritm este doar un cuvânt elegant pentru cod. Orice set de instrucțiuni care îi spune unui computer cum să rezolve probleme este un algoritm, chiar dacă sarcina este super ușoară. Când porniți computerul, urmează un set de instrucțiuni „cum se pornește”. Acesta este un algoritm la lucru. Când un computer NASA utilizează date brute ale undelor radio pentru a reda o fotografie a spațiului cosmic, acesta este, de asemenea, un algoritm la lucru.
Cuvântul „algoritm” poate fi folosit pentru a descrie orice set de instrucțiuni, chiar și în afara domeniului de calcul. De exemplu, metoda ta de sortare a argintării într-un sertar este un algoritm, la fel ca și metoda de a te spăla pe mâini după ce ai folosit baia.
Dar, iată chestia: în zilele noastre, cuvântul „algoritm” tinde să fie rezervat unor conversații tehnice foarte specifice. Nu auzi oameni vorbind despre algoritmi de „matematică de bază” sau algoritmi „instrument de graffiti MS Paint”. În schimb, auziți utilizatorii de Instagram plângându-se de algoritmii de sugestii de prieteni sau de grupuri de confidențialitate care atacă algoritmii de colectare a datelor Facebook.
Dacă „algoritm” este un termen captivant pentru instrucțiunile de calcul, atunci de ce îl folosim aproape exclusiv pentru a descrie aspecte confuze, magice și malefice ale lumii digitale?
Majoritatea oamenilor folosesc „algoritmi” și „învățare automată” în mod interschimbabil
În trecut, programatorii și cultura pop se refereau la majoritatea instrucțiunilor de calcul drept „cod”. Acest lucru rămâne valabil și astăzi, în cea mai mare parte. Învățarea automată este zona mare și tulbure a calculului în care avem tendința de a folosi cuvântul „algoritm” în loc de „cod”. Acest lucru a contribuit, în mod înțeles, la confuzia și neliniștea din jurul cuvântului „algoritm”.
Învățarea automată există de mult timp, dar a devenit o mare parte a lumii digitale doar în ultimii 15 ani. În timp ce învățarea automată pare o idee complicată, este destul de ușor de înțeles. Programatorii nu pot scrie și testa cod specific pentru fiecare situație, așa că scriu cod care se poate scrie singur.
Gândiți-vă la ea ca la o formă mai practică de inteligență artificială. Dacă clasificați suficiente e-mailuri ale șefului dvs. ca spam, atunci clientul dvs. de e-mail va începe să introducă automat toate e-mailurile șefului dvs. în dosarul de spam. În mod similar, Google folosește învățarea automată pentru a se asigura că rezultatele căutării YouTube rămân relevante, iar Amazon folosește învățarea automată pentru a sugera ce produse ar trebui să cumpărați.
Desigur, învățarea automată nu este deloc bună și elegantă. Numele „învățare automată” sună suficient de înfiorător pentru a-i face pe unii oameni să se simtă inconfortabil, iar unele dintre utilizările populare ale învățării automate sunt discutabile din punct de vedere etic. Algoritmii pe care Facebook îi folosește pentru a extrage date sau utilizatorii de pe web sunt un exemplu nemăgulitor de învățare automată.
În presă, veți auzi despre „algoritmul Google” pentru clasarea rezultatelor căutării, „algoritmul YouTube” pentru recomandarea videoclipurilor și „algoritmul Facebook” pentru a decide ce postări vedeți în cronologia dvs. Toate acestea sunt subiecte de dispută și dezbatere.
De ce algoritmii sunt controversați
Diviziunea lungă este un algoritm familiar (printre multe altele) pentru împărțirea numerelor. Doar că este realizat de școlari în loc de computere. CPU Intel folosește un algoritm complet diferit atunci când împarte numerele, dar rezultatele sunt aceleași.
Speech-to-text folosește în general învățarea automată, dar nimeni nu vorbește despre „algoritmul” vorbire-la-text, deoarece există un răspuns corect obiectiv pe care fiecare om îl poate recunoaște instantaneu. Nimănui nu îi pasă de „cum” computerul își dă seama ce ai spus sau dacă este vorba de învățare automată sau nu. Ne pasă doar dacă aparatul a primit răspunsul corect.
Dar alte aplicații ale învățării automate nu au avantajul de a avea un răspuns „corect”. De aceea, algoritmii au devenit un subiect obișnuit de conversație în mass-media.
Un algoritm pentru sortarea alfabetică a unei liste este doar o modalitate de a realiza o sarcină definită. Dar un algoritm precum cel de la Google pentru „clasificarea celor mai bune site-uri web pentru o căutare” sau cel de la YouTube pentru „recomandarea celui mai bun videoclip” este mult mai vag și nu îndeplinește o sarcină definită. Oamenii pot dezbate dacă acel algoritm produce rezultatele pe care le-ar trebui și oamenii vor avea opinii diferite în acest sens. Dar, cu exemplul nostru de sortare alfabetică, toată lumea poate fi de acord că lista ajunge să fie sortată alfabetic așa cum ar trebui. Nu există controverse.
Cum ar trebui să folosim cuvântul „algoritm?”
Algoritmii sunt baza tuturor software-ului. Fără algoritmi, nu ai avea telefon sau computer și probabil că ai citi acest articol pe o bucată de hârtie (de fapt, nu l-ai citi deloc).
Dar, publicul larg nu folosește cuvântul „algoritm” ca termen general pentru codul computerului. De fapt, majoritatea oamenilor presupun că există o diferență între un cod de computer și un algoritm, dar nu există. Din cauza asocierii cuvântului „algoritm” cu învățarea automată, semnificația sa a devenit ceață, dar utilizarea sa a devenit mai specifică.
Ar trebui să începeți să utilizați cuvântul „algoritm” pentru a descrie chiar și cele mai banale bucăți de cod de calculator? Probabil că nu, deoarece nu toată lumea va înțelege ce vrei să spui. Limba se schimbă mereu și se schimbă întotdeauna dintr-un motiv întemeiat. Oamenii au nevoie de un cuvânt pentru a descrie lumea confuză, opaca și uneori dubioasă a învățării automate, iar „algoritm” devine cuvântul respectiv – pentru moment.
Acestea fiind spuse, este bine să rețineți că un algoritm (și învățare automată) este, în esență, o grămadă de cod care este scris pentru a rezolva sarcini. Nu există truc magic; este doar o iterație mai complicată a software-ului cu care suntem deja familiarizați.
Surse: Ardezie, Wikipedia, GeeksforGeeks