Il puzzle delle “Torri di Hanoi” è costituito da tre aste sulle quali è possibile disporre una serie di dischi di dimensioni crescenti. Nel caso più tipico, il gioco consiste nel ricostruire una torre ordinata di dischi su un’asta diversa da quella di partenza muovendo i dischi tra le aste senza mai porre un disco sopra uno di dimensioni minori.
Il puzzle fu inventato nel 1883 dal matematico francese Edouard Lucas che si firmò con lo pseudonimo di N. Claus de Siam.
Secondo l’autore il puzzle derivava da un’antica e curiosa leggenda orientale, probabilmente inventata da Lucas stesso. La leggenda narra che a Benares, durante il regno dell’imperatore Fo Hi, c’era un tempio che conteneva una cupola posta al centro del mondo. Sotto la cupola, al momento della creazione, Dio aveva posto tre aste e su una di esse aveva formato una torre di 64 dischi d’oro di dimensioni via via decrescenti. Dio aveva quindi dato il compito ad alcuni monaci di ricostruire la torre in un’altra posizione, spostando i dischi tra le aste senza mai mettere un disco sopra uno più piccolo. Quando i monaci avessero completato il loro compito, il mondo sarebbe finito.
Il puzzle delle “Torri di Hanoi” rappresenta un classico esempio di rebus matematico la cui soluzione diventa “esponenzialmente” complessa man mano che aumentano gli elementi in gioco. Basta infatti pensare che, se con 4 dischi la soluzione minima richiede solo 15 mosse, quando i dischi diventano 64 il numero minimo di mosse diventa eccezionalmente grande, pari a circa 20 miliardi di miliardi. Nel caso di numerosi dischi, la soluzione del puzzle diventa così intricata e complessa da risultare in pratica inaccessibile senza l’aiuto di un computer.
Esistono molte strategie per risolvere in modo automatico rebus di questo tipo: ad esempio l’algoritmo ricorsivo, che fornisce la soluzione minimale, o gli algoritmi di ricerca della soluzione sull’albero delle possibili configurazioni del problema.
Queste procedure rappresentano esempi di applicazione di tecniche di base utilizzate nel campo dell’Intelligenza Artificiale. L’Intelligenza Artificiale è quel settore dell’Informatica che si occupa si progettare sistemi hardware o software in grado di fornire prestazioni, che a un osservatore comune, sembrerebbero di pertinenza esclusiva dell’intelligenza umana. Un esempio di queste capacità è proprio l’abilità nel risolvere “complicati” rebus matematici.