Ricombinando come tessere le copertine delle prime 400 puntate della mia webserie “Mesmer in pillole” si ottengono immagini diverse: le riconosci tutte? Allontanati dallo schermo e strizza gli occhi!

Per costruire il mosaico, il programma divide l’immagine in tante piccole celle. Per ognuna misura quanto ogni tessera disponibile le assomiglia, ottenendo una tabella di punteggi: più il valore è basso, più la tessera è adatta.

Il problema è scegliere una tessera per ogni cella, senza riutilizzarne nessuna, in modo che il risultato complessivo sia il migliore possibile. Le combinazioni possibili sono enormi, quindi non si possono provare tutte.

Per risolvere questo tipo di problema si usa un metodo matematico chiamato “algoritmo ungherese”, progettato proprio per trovare l’abbinamento ottimale tra due insiemi (qui: celle e tessere).

Questo algoritmo non prova tutte le possibilità: rielabora la tabella dei punteggi per mettere in evidenza le scelte più promettenti e capire come combinarle senza conflitti.

Se non è ancora possibile assegnare tutte le tessere correttamente, modifica i punteggi in modo controllato per far emergere nuove combinazioni migliori.

Ripetendo questo processo, arriva a una soluzione completa: ogni cella riceve una tessera e il mosaico risultante è quello che, nel complesso, assomiglia di più all’immagine di partenza.

Tutti i post sono distribuiti con Licenza Creative Commons BY-NC-SA 4.0