Algoritam

Dijagram algoritma (Euklidov algoritam) za izračunavanje najvećeg zajedničkog djelitelja (NZD) dva broja a i b na mjestima nazvanim A i B. Algoritam se nastavlja uzastopnim oduzimanjem u dvije petlje: AKO test B ≥ A daje „da“ ili „istina” (točnije, broj b u lokaciji B veći je ili jednak broju a u mjestu A) Zatim, algoritam Određuje b ← b - A (što znači da broj b - A zamjenjuje staru b). Slično tome, AKO A> B, PA A ← A - B. Proces se prekida kada je (sadržaj od) B jednak 0, dajući NZD u A. (Algoritam izveden iz Scott 2009: 13; symbols and drawing style from Tausworthe 1977).
Dijagram Adae Lovelace iz "note G", prvi objavljeni računalni algoritam.

U matematici i informatici, algoritam je konačni niz precizno definiranih, računalno izvedljivih uputa, tipično za rješavanje klase problema ili za izvršavanje računa. Algoritmi su uvijek nedvosmisleni i koriste se kao specifikacije za obavljanje izračuna, obrade podataka, automatiziranog zaključivanja i drugih zadataka.

Kao učinkovita metoda, algoritam se može izraziti unutar ograničene količine prostora i vremena, i u dobro definiranom formalnom jeziku za izračunavanje funkcije. Polazeći od početnog stanja i inicijalnog unosa (možda i praznog), upute opisuju izračun koji se, kada se izvodi, nastavlja kroz ograničeni broj dobro definiranih sukcesivnih stanja, na kraju stvarajući "izlaz" i završava u konačnom završnom stanju. Prijelaz iz jednog stanja u drugo nije nužno determinističko; neki algoritmi, poznati kao randomizirani algoritmi, uključuju nasumični unos.

Koncept algoritma postoji još od antike. Aritmetičke algoritme, kao što je algoritam za podjelu, koristili su stari babilonski matematičari c. 2500. godine prije Krista i egipatski matematičari c. 1550. pr. Grčki su matematičari kasnije koristili algoritme na sito Eratostena za pronalazak pravih brojeva, i euklidski algoritam za pronalaženje najvećeg zajedničkog djelitelja dva broja. Arapski matematičari kao što je Al-Kindi u 9. stoljeću koristili su kriptografske algoritme za probijanje koda temeljeni na frekvencijskoj analizi.

Sama riječ algoritam potječe od perzijskog matematičara iz 9. stoljeća Muḥammada ibn Mūsā Mūsā al-Khwārizmī, latiniziranoAlgoritmija. Djelomična formalizacija onoga što bi postalo moderni koncept algoritma započela je pokušajima da se riješi Entscheidungsproblem (problem odluke) koji je postavio David Hilbert 1928. godine. Kasnije su formalizacije definirane kao pokušaji definiranja "učinkovite proračunljivosti " ili "učinkovite metode". Te formalizacije obuhvaćale su rekurzivne funkcije Gödel - Herbrand - Kleene iz 1930., 1934. i 1935., lambda računica Crkve Alonza iz 1936., Formulacija 1 Emila Pota iz 1936. i Turingovoga stroja Alana Turinga iz 1936–37 i 1939.


Developed by StudentB