Cu excepția cazului în care sunteți în matematică sau programare, cuvântul "algoritm" ar putea fi grec pentru dvs., dar este unul dintre elementele de bază ale tuturor lucrurilor pe care le utilizați pentru a citi acest articol. Iată o explicație rapidă a ceea ce sunt și cum funcționează.
Disclaimer: Nu sunt un profesor de matematică sau informatică, deci nu toți termenii pe care îi folosesc sunt tehnici. Asta pentru că încerc să explic totul în engleză, pentru că oamenii nu sunt destul de confortabil cu matematica. Acestea fiind spuse, există unele matematică implicate, și asta e inevitabil. Matei geeks, nu ezitați să corectați sau să explicați mai bine în comentariile, dar vă rog, păstrați-o simplu pentru matematically disinclined among us.
Imagine de Ian Ruotsala
Cuvântul "algoritm" are o etimologie similară cu "algebra", cu excepția faptului că aceasta se referă la matematicianul arab, el-Khwarizmi (doar un interesant tidbit). Un algoritm, pentru non-programatorii dintre noi, este un set de instrucțiuni care iau o intrare, A, și furnizează o ieșire, B, care schimbă datele implicate într-un fel. Algoritmii au o mare varietate de aplicații. În matematică, ele pot ajuta la calcularea funcțiilor de la puncte într-un set de date, printre lucruri mult mai avansate. În afară de utilizarea lor în programarea în sine, ei joacă roluri importante în lucruri precum compresia fișierelor și criptarea datelor.
Să spunem că prietenul tău te întâlnește într-un magazin alimentar și că îl îndrumi spre tine. Spui lucruri precum "intrați prin ușile din partea dreaptă", "treceți secțiunea de pește din stânga" și "dacă vedeți laptele, ați trecut de mine". Algoritmii funcționează astfel. Putem folosi o diagramă pentru a ilustra instrucțiunile pe baza unor criterii pe care le cunoaștem înainte sau în timpul procesului.
(imaginea intitulată "Retragerea prin gheață" EDIT: prin amabilitatea lui Trigger și Freewheel)
De la START, te-ai îndrepta în jos pe cale și, în funcție de ceea ce se întâmplă, urmați "fluxul" către un rezultat final. Diagramele sunt instrumente vizuale care pot reprezenta mai ușor un set de instrucțiuni utilizate de computere. În mod similar, algoritmii ajută la fel cu mai multe modele bazate pe matematică.
Să folosim un grafic pentru a ilustra diferitele modalități pe care le putem da direcții.
Putem exprima acest grafic ca o conexiune între toate punctele sale. Pentru a reproduce această imagine, putem da un set de instrucțiuni altcuiva.
Metoda 1
Putem reprezenta aceasta ca o serie de puncte, iar informația ar urma forma standard a lui graph = (x1, y1), (x2, y2), ..., (xn, yn).
(3), (5, 5), (7,10), (8,7), (9,4), (10,1)
Este destul de ușor să complot fiecare punct, unul după altul, și să le conectați la punctul anterior. Cu toate acestea, imaginați-vă un grafic cu o mie de puncte sau mai multe segmente, toate mergând în fiecare direcție. Lista asta ar avea multe date, nu? Și apoi trebuie să conectăm fiecare unul, unul câte unul, poate fi o durere.
Metoda 2
Un alt lucru pe care îl putem face este să dăm un punct de plecare, panta liniei dintre el și punctul următor și să indice unde să ne așteptăm la următorul punct utilizând forma standard a lui graph = (punct de plecare, [m1, x1, h1 ], ..., [mn, xn, hn] Aici variabila "m" reprezinta panta liniei, "x" reprezinta directia de numarare (fie x sau y), iar "h" mulți care pot conta în direcția menționată. De asemenea, vă puteți aminti să complotați un punct după fiecare mișcare.
gramatică = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [ [-3, x, 1], [-3, x, 1]
Veți ajunge la același grafic. Puteți observa că ultimii trei termeni din această expresie sunt aceiași, astfel încât am putea să o reducem doar spunând "repetați de trei ori" într-un fel. Să spunem că oricând veți vedea variabila "R", înseamnă să repetați ultimul lucru. Noi putem sa facem asta:
gramatică = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [ [R = 2]
Ce se întâmplă dacă punctele individuale nu contează și numai graficul însuși? Putem consolida ultimele trei secțiuni, cum ar fi:
gramatică = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [
Ea scurtează lucrurile puțin de locul unde au fost înainte.
Metoda 3
Să încercăm să facem acest lucru într-un alt mod.
y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10
Aici o avem în termeni algebrici pur. Încă o dată, dacă punctele în sine nu contează și numai graficul face, putem consolida ultimele trei elemente.
y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤10
Acum, ce metodă alegeți depinde de abilitățile dumneavoastră. Poate că ești minunat în ceea ce privește matematica și graficarea, deci alegeți ultima opțiune. Poate că ești bun la navigare, deci alegeți a doua opțiune. În domeniul computerelor, totuși, faci multe sarcini diferite, iar abilitatea computerului nu se schimbă cu adevărat. Prin urmare, algoritmii sunt optimizați pentru sarcinile pe care le finalizează.
Un alt aspect important este acela că fiecare metodă se bazează pe o cheie. Fiecare set de instrucțiuni este inutil dacă nu știți ce să faceți cu ei. Dacă nu știți că ar trebui să complotați fiecare punct și să conectați punctele, primul set de puncte nu înseamnă nimic. Dacă nu știți ce înseamnă fiecare variabilă în a doua metodă, nu veți ști cum să le aplicați, la fel ca cheia unui cifr.Această cheie este, de asemenea, o parte integrantă a utilizării algoritmilor și, deseori, acea cheie se găsește în comunitate sau printr-un "standard".
Când descărcați un fișier .zip, extrageți conținutul, astfel încât să puteți utiliza orice este în interiorul acestuia. În zilele noastre, majoritatea sistemelor de operare se pot scufunda în fișiere .zip ca și cum ar fi folderele normale, făcând totul în fundal. Pe mașina mea Windows 95 de peste un deceniu în urmă, trebuia să extrag totul manual înainte de a putea vedea ceva mai mult decât numele de fișiere din interior. Asta pentru că ceea ce a fost stocat pe disc ca un fișier .zip nu era într-o formă utilizabilă. Gândește-te la o canapea retrasă. Când doriți să o utilizați ca un pat, trebuie să îndepărtați pernele și să le deschideți, ceea ce necesită mai mult spațiu. Când nu aveți nevoie de ea sau doriți să o transportați, o puteți împăși înapoi.
Compresie algoritmii sunt ajustate și optimizate special pentru tipurile de fișiere cărora li se adresează. Formatele audio, de exemplu, utilizează fiecare un mod diferit de a stoca date care, atunci când sunt decodate de codecul audio, vor da un fișier de sunet similar cu forma de undă originală. Pentru mai multe informații despre aceste diferențe, consultați articolul nostru anterior, Care sunt diferențele dintre toate aceste formate audio? Formatele audio fără pierderi și fișierele .zip au un lucru în comun: ambele oferă datele originale în forma exactă după procesul de decompresie. Codecurile audio pierdute folosesc și alte mijloace pentru a economisi spațiu pe disc, cum ar fi frecvențele de tăiere care nu pot fi auzite de urechile umane și netezirea formei de undă în secțiuni pentru a scăpa de unele detalii. În cele din urmă, deși este posibil să nu putem auzi cu adevărat diferența dintre o piesă MP3 și o piesă de CD, există cu siguranță un deficit de informații în primul.
Algoritmii sunt de asemenea utilizați la securizarea liniilor de date sau de comunicații. În loc să stocheze date astfel încât să utilizeze mai puțin spațiu pe disc, este stocat într-o manieră nedetectabilă de alte programe. Dacă cineva vă fură hard diskul și începe să îl scaneze, poate prelua date chiar și atunci când ștergeți fișiere, deoarece datele în sine sunt încă acolo, chiar dacă locația de redirecționare a acesteia a dispărut. Atunci când datele sunt criptate, ceea ce este stocat nu arată cum este. De obicei, arată aleatoriu, ca și cum fragmentarea ar fi trebuit să crească în timp. Puteți, de asemenea, să stocați date și să le faceți să apară ca un alt tip de fișier. Fișierele imagine și fișierele muzicale sunt bune pentru acest lucru, deoarece acestea pot fi destul de mari, fără a atrage suspiciuni, de exemplu. Toate acestea se fac folosind algoritmi matematici, care iau un fel de intrare și îl convertesc într-un alt tip de ieșire foarte specific. Pentru mai multe informații despre modul în care funcționează criptarea, consultați HTG Explică: Ce este criptarea și cum funcționează?
Algoritmii sunt instrumente matematice care oferă o varietate de utilizări în domeniul informaticii. Ei lucrează pentru a oferi o cale între un punct de pornire și un punct final într-un mod consecvent și oferă instrucțiunile de urmărire. Știți mai mult decât ceea ce am subliniat? Distribuiți explicațiile în comentariile dvs.!