Un algoritm este o procedură folosită pentru a rezolva o problemă sau a efectua un calcul. Algoritmii acționează ca o listă exactă de instrucțiuni care efectuează acțiuni specifice pas cu pas în rutinele hardware sau software.
Algoritmii sunt folosiți pe scară largă în toate domeniile de calcul. În matematică,informatică, un algoritm este o mică procedură care rezolvă o problemă. Algoritmii sunt folosiți și ca specificații pentru a efectua prelucrarea datelor și joacă un rol important în sistemele automatizate.
Un algoritm poate fi folosit pentru a comanda seturi de numere sau pentru sarcini mai complicate, cum ar fi recomandarea conținutului utilizatorului pe rețelele sociale. Algoritmii încep de obicei cu o intrare inițială și instrucțiuni care descriu un anumit calcul. Când calculul este efectuat, procesul produce o ieșire.
Cum funcționează algoritmii?
Algoritmii pot fi exprimați ca limbaje naturale, limbaje de programare, pseudocod, diagrame de flux și tabele de verificare. Expresiile în limbaj natural sunt rare pentru că sunt mai ambigue. Limbajele de programare sunt în general folosite pentru a exprima algoritmi executați de un computer.
Algoritmii folosesc o intrare inițială cu o serie de instrucțiuni. Intrarea sunt datele inițiale necesare pentru a lua decizii și pot fi reprezentate ca numere sau cuvinte. Datele de intrare trec printr-o serie de instrucțiuni sau calcule, care pot include aritmetica și luarea de decizii. Rezultatul este ultimul pas al unui algoritm și este de obicei exprimat ca date suplimentare.
De exemplu, un algoritm de căutare preia o interogare de căutare ca intrare și o rulează printr-o serie de instrucțiuni pentru a găsi elemente relevante pentru interogare într-o bază de date. Software-ul de automatizare este un alt exemplu de algoritm, deoarece automatizarea urmează un set de reguli pentru a îndeplini sarcinile. Există mulți algoritmi care compun software-ul de automatizare și toți funcționează pentru a automatiza un anumit proces.
Care sunt diferitele tipuri de algoritmi?
Există diferite tipuri de algoritmi, toți proiectați pentru a îndeplini sarcini diferite. De exemplu, algoritmii fac următoarele:
Algoritmul motorului de căutare. Acest algoritm ia ca intrare șiruri de cuvinte cheie și operatori de căutare, caută în baza de date asociată pagini web relevante și returnează rezultatele.
Algoritm de criptare. Acest algoritm de calcul transformă datele în funcție de acțiuni specifice pentru a le proteja. Un algoritm cu cheie simetrică, cum ar fi standardul de criptare a datelor, de exemplu, utilizează aceeași cheie pentru a cripta și decripta datele. Atâta timp cât algoritmul este suficient de sofisticat, nimeni fără cheie nu poate decripta datele.
Algoritm lacom. Acest algoritm rezolvă problemele de optimizare prin găsirea soluției optime la nivel local, așteptând ca aceasta să fie soluția optimă la nivel global. Cu toate acestea, acest lucru nu garantează soluția optimă.
Algoritm recursiv. Acest algoritm se numește în mod repetat până când rezolvă o problemă. Algoritmii recursivi își numesc o valoare mai mică de fiecare dată când este apelată o funcție recursivă.
Algoritm de rollback. Acest algoritm găsește o soluție la o problemă dată în abordări incrementale și o rezolvă bucată cu bucată.
Algoritmul Împărțiți și cuceriți. Acest algoritm comun este împărțit în două părți. O parte împarte o problemă în subprobleme mai mici. A doua parte preia aceste probleme și le combină pentru a produce o soluție.
Algoritm de programare dinamică. Acest algoritm rezolvă problemele împărțindu-le în subprobleme. Rezultatele sunt apoi stocate pentru a fi aplicate problemelor viitoare de potrivire.
Algoritm de forță brută. Acest algoritm parcurge orbește toate soluțiile posibile la o problemă, căutând una sau mai multe soluții pentru o funcție.
Algoritm de clasificare. Algoritmii de sortare sunt utilizați pentru a rearanja structura datelor pe baza unui operator de comparație, care este utilizat pentru a decide o nouă ordine pentru date.
Algoritmul Hash. Acest algoritm preia datele și le convertește într-un mesaj hash uniform.
Algoritm randomizat. Acest algoritm reduce timpii de execuție și complexitățile de sincronizare. Folosește elemente aleatorii ca parte a logicii sale.
11 tipuri diferite de algoritmi
11 tipuri diferite de algoritmi, inclusiv căutare, hash și forță brută
Care sunt exemplele de algoritmi?
Învățarea automată este un bun exemplu de algoritm, deoarece folosește diverși algoritmi pentru a prezice rezultate fără a fi programat în mod explicit pentru a face acest lucru. Învățarea automată folosește fie învățarea supravegheată, fie învățarea nesupravegheată. În învățarea supravegheată, oamenii de știință din date oferă algoritmi complecși cu date de antrenament etichetate și definesc variabilele pe care le doresc algoritmul evaluează cautand corelații. Sunt specificate intrarea și ieșirea algoritmului.
Învățarea automată nesupravegheată implică algoritmi antrenați pe date neetichetate. Algoritmii de învățare automată nesupravegheați analizează datele neetichetate în căutarea modelelor care pot fi utilizate pentru a grupa punctele de date în subseturi. Majoritatea tipurilor de învățare profundă, inclusiv rețelele neuronale, sunt algoritmi nesupravegheați.
Învățarea automată utilizată în inteligența artificială se bazează și pe algoritmi. Cu toate acestea, sistemele bazate pe învățarea automată pot avea părtiniri inerente în datele care alimentează algoritmul de învățare automată. Acest lucru poate duce la sisteme nefiabile și potențial periculoase.