Che cos’è la ricottura simulata?

La ricottura simulata è una tecnica informatica che può trovare buone, anche se non necessariamente ottimali, soluzioni a un problema. È così chiamato perché imita il processo metallurgico di ricottura. Nei metalli, la ricottura è il processo di purificazione riscaldando il metallo e poi raffreddandolo lentamente. Il programma per computer “purifica” lo spazio della soluzione fino a quando tutto ciò che rimane sono soluzioni migliori o quasi migliori.

Ci sono due fattori critici che l’utente di un programma di ricottura simulata deve specificare: la temperatura di partenza, o la percentuale di soluzioni peggiori che possono essere esplorate; e la velocità di raffreddamento, che è la velocità con cui tale percentuale viene ridotta. Una temperatura iniziale bassa spesso si conclude con un risultato molto lontano dall’ottimale. L’avvio a una temperatura molto elevata può comportare che la ricerca richieda molto più tempo del necessario. Allo stesso modo, una velocità di raffreddamento troppo alta genererà risultati scadenti, mentre una velocità di raffreddamento molto bassa si tradurrà in un programma che viene eseguito per un tempo molto lungo.

Lo stato di “alta temperatura” per il programma di ricottura simulata è un’impostazione che consente di esaminare un’ampia gamma di soluzioni, incluse molte peggiori delle soluzioni già trovate. Il computer può esaminare molte soluzioni peggiori della soluzione attuale per evitare di rimanere a un minimo locale sostanzialmente peggiore della migliore. Ad esempio, si può immaginare di partire dalla sommità di una collina o di una montagna con l’obiettivo di raggiungere la base. Lungo il percorso possono esserci burroni o voragini. Se il computer non può andare in salita abbastanza lontano da uscire, si bloccherà anche se non è vicino alla base.

Fino a che punto il programma può andare in salita è determinato dalla percentuale di soluzioni peggiori che il programma è autorizzato a esaminare. Con il passare del tempo si trovano soluzioni progressivamente migliori e diminuisce il rischio di un profondo baratro, per cui si riduce la percentuale di soluzioni peggiori che il computer può esplorare. La diminuzione di questa frazione viene definita “raffreddamento”. Quando la temperatura raggiunge una frazione preimpostata, che non deve essere necessariamente 0, la ricerca termina.

Il motivo per utilizzare la ricottura simulata o altre tecniche di ricerca dell’intelligenza artificiale è ridurre a una quantità gestibile il tempo necessario per trovare una soluzione quasi ottimale. Per molti problemi, una ricerca esaustiva – il test di ogni possibile soluzione contro ogni altra possibile soluzione – potrebbe richiedere mesi o anni. L’alternativa più conosciuta alla ricottura simulata sono gli algoritmi genetici. Altri popolari algoritmi di ricerca dell’intelligenza artificiale includono l’ottimizzazione della colonia di formiche, l’ottimizzazione dello sciame di particelle, il vicino più prossimo e i classificatori bayesiani.