Dal Problema alla Soluzione: La Strategia Risolutiva
Argomenti: strategia risolutiva, input e output, casi reali (PageRank, Deliveroo), proprietà fondamentali
Per introdurre gli algoritmi partiremo da una definizione generale per poi arrivare ad una molto più dettagliata. Gli algoritmi, infatti, non appartengono solo all'informatica, ma vengono applicati in qualsiasi campo.
Un algoritmo è una strategia che ci permette di passare da un problema ad una soluzione.
L'Esempio Semplice: La Ricetta
- Problema: Ho fame e voglio preparare una torta.
- Algoritmo (la ricetta): La sequenza ordinata di passaggi da eseguire.
- Soluzione: La torta pronta!
1. Algoritmi nel Mondo Reale
Gli algoritmi non sono un concetto astratto: lavorano in tempo reale per ottimizzare processi complessi della nostra vita quotidiana.
PageRank (Google)
È il motore di ricerca di Google.
- Problema: Decidere in che ordine mostrare milioni di pagine web.
- Algoritmo: Calcola un punteggio di rilevanza per ciascuna pagina.
- Soluzione: L'elenco ordinato dei risultati di ricerca.
Frank (Deliveroo)
Gestisce le consegne di cibo a domicilio.
- Problema: Consegnare il cibo al cliente nel minor tempo possibile.
- Algoritmo: Assegna l'ordine ai rider più vicini a ristorante e cliente.
- Soluzione: Elenco ottimizzato dei rider per la spedizione.
Perché gli Algoritmi non sono Infallibili? Il Caso Deliveroo
L'algoritmo "Frank" di Deliveroo è stato condannato dal Tribunale di Bologna perché considerato discriminatorio e cieco di fronte alle emergenze:
- Priorità e Mancate Consegne: Se un rider non lavorava per malattia, sciopero o condizioni meteo proibitive, l'algoritmo abbassava comunque il suo "punteggio di affidabilità", penalizzandolo nella prenotazione dei turni futuri.
- Incentivi Pericolosi: L'algoritmo aumentava le tariffe ed i bonus durante le giornate di pioggia, neve o ghiaccio. Questo spingeva i rider ad accettare consegne ad alto rischio per la propria salute pur di guadagnare di più, provocando gravi incidenti stradali.
Gli algoritmi non sono entità neutre o perfette. Se scritti senza considerare la sicurezza, l'etica e l'impatto reale sulle persone, rischiano di generare gravi ingiustizie e pericoli concreti.
2. La Definizione Formale Completa
Per funzionare in modo corretto ed efficace, una strategia deve trasformarsi in una definizione rigorosa:
Un algoritmo è una sequenza finita e ben definita di istruzioni, progettata per risolvere una categoria di problemi in un tempo finito.
- Sequenza Finita: Deve avere un inizio ed una fine con un numero limitato di passaggi e di tempo.
- Ben Definita: Ogni istruzione deve essere chiara e non ambigua (es. "Versa 100 ml di latte" e non "Versa un po' di latte").
- Categoria di Problemi: Risolve una regola generale (es.
area = lato * lato) e non un singolo caso specifico. - Input e Output: Riceve i dati di partenza (Input) e restituisce il risultato finale (Output).
- Deterministico: A parità di Input fornito, deve generare sempre lo stesso identico Output.
Per passare subito alla rappresentazione grafica degli algoritmi, consulta la guida:
Quiz di Verifica: Dal Problema alla Soluzione
Rispondi alle 5 domande per verificare la tua comprensione sul concetto di algoritmo come strategia risolutiva.
In sintesi
Argomenti: concetti principali, riepilogo, competenze
- Un algoritmo è una strategia che permette di trasformare un problema iniziale in una soluzione finale.
- Gli algoritmi non sono astratti: governano i motori di ricerca, la logistica delle consegne e la nostra vita digitale.
- Definire l'algoritmo come strategia risolutiva generale.
- Analizzare casi d'uso reali (Google PageRank e l'algoritmo Frank di Deliveroo).
- Comprendere la necessità di aggiornamento e non discriminazione negli algoritmi della vita reale.