Chi studia matematica, fisica, ingegneria, informatica e scienza in genere, considera gli algoritmi come il pane quotidiano, o meglio, chi non sa maneggiare gli algoritmi non può studiare le suddette materie.

L’uso degli algoritmi è antichissimo, era già conosciuto dai babilonesi che ne hanno lasciato traccia, ma forse è molto più antico.
La parola algoritmo probabilmente deriva dal nome del matematico Mohammed Ibn Musa Al Khwarizmi, vissuto a Baghdad nel nono secolo d.c. Pare che egli sia stato il primo ad aver formalizzato questo concetto nel suo libro “Regole di ripristino e riduzione”.
In origine, per algoritmo si intendeva semplicemente un insieme di operazioni matematiche che, eseguite in sequenza, conducevano ad un risultato.
Col tempo, il concetto si è ampliato e complicato, soprattutto in campo informatico.

Ora si definisce algoritmo una sequenza finita e ordinata di operazioni elementari, non ambigue, che permettono di risolvere, in maniera deterministica, un problema in un tempo finito.
Quindi:
- Il numero delle operazioni che compongono l’algoritmo non può essere infinito.
- La sequenza delle operazioni da eseguire deve seguire un ordine prestabilito.
- Ogni operazione deve essere elementare, cioè, non scomponibile in altre operazioni.
- Ogni operazione deve essere chiaramente interpretabile dall’esecutore.
- Il tempo di esecuzione non può essere infinito.
- Il risultato che si ottiene deve essere unico.
Esempio: ricercare il numero più grande fra un insieme di numeri.
Algoritmo:
- Se l’insieme è vuoto non c’è un numero più grande.
- Se l’insieme contiene una quantità finita di numeri, assumiamo il primo numero come numero più grande corrente.
- In sequenza confrontiamo tutti i numeri della lista col numero più grande corrente. Quando troviamo un numero più grane di questo lo assumiamo come nuovo numero più grande corrente.
- Quando tutti i numeri saranno stati confrontati, il numero più grande corrente è il numero più grande dell’insieme.
La sequenza sopra esposta è un algoritmo perché, mediante una serie ordinata e finita di operazioni, ha portano al risultato di identificare il numero più grande che si cercava.

Precisiamo che le operazioni possono essere di vario tipo e non necessariamente matematiche. Anche l’esecuzione di una precisa ricetta di cucina è un algoritmo. Addirittura, se si segue un preciso ordine, anche indossare un vestito è un algoritmo.
Ovviamente, gli algoritmi che si usano nella scienza, e soprattutto nell’informatica, sono estremamente più complessi.
Un esempio di algoritmo, che tutti usiamo, è il motore di ricerca di Google.









