Algoritmi e calcolabilità - Lezione in semi-presenza

Lezione in semi-presenza

3. Chi è chi nel mondo degli algoritmi: algoritmo, processo, esecutore ed ideatore.

DiapositivaDiapositiva

DiapositivaDiapositiva

I numeri (i dati del problema), le operazioni da svolgere (quella per conoscere la spesa, quella per conoscere il ricavo…), il procedimento da svolgere.

La macchina non può trovare una soluzione possibile a un problema poiché essa è un elemento che non ragiona.

Il procedimento da svolgere per risolvere il problema, non è immediato poiché prima bisogna comprendere il testo. Una volta scritta la procedura risolutiva, essa può essere risolta anche da un individuo che conosca solo le operazioni. Esiste, perciò, un momento in cui qualcuno costruisce la procedura risolutiva, e un momento in cui, un secondo qualcuno la esegue. In alcuni casi, queste due figure possono rivelarsi una figura sola (ad esempio lo studente che deve risolvere un problema di matematica o geometria).

Parlando dei teoremi ad esempio, la dimostrazione è una procedura risolutiva?

Si tratta sempre di una sequenza di passi, ma non vi sono i due ruoli, perché non c’è un individuo che produce la dimostrazione e un altro che la esegue, poiché, una volta data non si deve risolvere. Può darsi che ci sia qualcuno che deve riscoprirla, ma si tratta sempre di riscoprire la dimostrazione. In questo caso, quindi non ci sono i due ruoli.

Tornando alla sequenza di operazioni viste finora, chi svolge la serie di operazioni può essere un individuo distinto e con meno capacità intellettuali di colui che deve svolgere l’atto creativo necessario affinché si trovi la soluzione al problema.

Cos’è l’atto creativo? Per trovarlo occorre un “creatore”. Ma, se si tratta di una procedura già esistente, la persona che la svolgerà può anche non avere le capacità creative.

Esiste un intermezzo tra chi trova la soluzione e chi la esegue che è la serie di istruzioni. Serie di istruzioni che prende il nome di algoritmo.

Questa serie di istruzioni è la soluzione ad un particolare problema proposto. Non si tratta di una sequenza astratta, ma è adibita a risolvere un determinato problema.

Se si osserva esclusivamente l’insieme delle istruzioni, vediamo che, in un certo senso, non è esclusivamente la soluzione del problema, ma è un modo per ottenere la soluzione del problema stesso. Per ottenere questa soluzione, occorre qualcuno che la prepari. Che, cioè, svolga tali operazioni usando le proprie competenze.

Esistono due fasi distinte: l’algoritmo (fase 1) e l’esecuzione dell’algoritmo (fase 2). L’esecuzione dell’algoritmo viene detta processo.

L’algoritmo è quindi una modalità di risoluzione del problema, tale modalità di risoluzione ha specifiche caratteristiche poiché si tratta di una sequenza di istruzioni.

L’esecutore non ha le stesse competenze di colui che trova la risoluzione del problema, ma ha altre competenze, ovvero di poter eseguire quell’algoritmo. Una volta che termina l’esecuzione dell’algoritmo, ottiene il risultato.

Si ha un foglio (algoritmo) dove sono scritte le istruzioni, e qualcuno che legge il foglio e risolve il problema tramite quelle istruzioni. Questo secondo individuo, quando legge il foglio, cambia la sua memoria e trasforma le informazioni che ha in altre informazioni. Si ha un elemento aggiuntivo: foglio, esecutore del foglio, memoria dell’esecutore. Trasformando la sua memoria, l’esecutore ottiene un risultato.