Proprietățile algoritmilor
Pentru a putea spune despre o serie de acțiuni că formează un algoritm, avem nevoie de trei condiții fundamentale:
finitudinea,
generalitatea și
claritatea.
FINITUDINEA
Algoritmul trebuie
să se termine după un număr finit de pași, oricât de mulți ar fi.
Dacă ar avea un număr infinit de pași, robotul nostru ar putea merge să ia pâine
până i se consumă bateria... O condiție de oprire ar putea fi când nivelul acumulatorului
este sub 15% sau, mai logic, când deja avem pâine, nu?
GENERALITATEA
Algoritmul trebuie
să rezolve o întreagă categorie de probleme, nu doar una particulară.
Revenind la algoritmul de cumpărare a pâinii realizat anterior, acesta se poate aplica cu succes
și pentru alte produse:
CLARITATEA
Algoritmul trebuie
să descrie cu exactitate și fără ambiguități pașii care
trebuie parcurși în rezolvarea problemei.
Dacă vrem să îi spunem robotului să ne cumpere
un tricou colorat, pe gustul nostru, ...
habar nu are! Discutăm despre
Inteligență Artificială și
Machine Learning deja. El trebuie
să știe ce modele ne plac, ce culori ori magazine preferăm, ș.a.m.d., din experiența dobândită
anterior, aplicând algoritmi complecși de calcul și analiză.
EFICIENȚA
De altfel, algoritmii trebuie să fie
EFICIENȚI. Dacă suntem în Sibiu și ne hotărâm să plecăm
la Constanța, cu siguranță ruta noastră nu va conține orașul Oradea, decât dacă luăm și vreo rudă de
acolo cu noi. 😜 Vă imaginați ce algoritmi fantastici sunt dezvoltați pentru Google Maps ori Waze a.î.
ruta optimă să fie afișată în timp real?
În practică ne interesează și
eficiența algoritmilor. Dintre două soluții corecte, o preferăm adesea pe cea care
folosește mai puțin timp de execuție sau mai puține resurse. Studiul riguros al acestor aspecte face parte
din teoria
complexității algoritmilor.
Ca programator, este important să ai o
gândire logică și analitică, să fii atent la detalii, perseverent și creativ.
Vei întâlni probleme care nu se rezolvă întotdeauna din prima încercare, de aceea trebuie să ai răbdare, să testezi soluții
și să înveți din greșeli. În același timp, programarea înseamnă și curiozitate: să înțelegi cum funcționează lucrurile și
să cauți permanent soluții mai simple și mai eficiente. Iar, poate cel mai important, să îți placă să construiești
aplicații utile, care rezolvă probleme reale. Un programator bun nu caută doar o soluție care funcționează,
ci una
inteligentă, clară și eficientă.
Avansează spre pagina următoare ...
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic]
securizat sub formă
de fișier *.pdf.
"
O cameră fără cărţi este ca un corp fără suflet."
(G. K. Chesterton)
Cursanții au mai cumpărat ...
[
vezi lista completă a cărților]