Una mappa del Paese delle Meraviglie, però, è un'ottimo modo per pensare alle peregrinazioni di Alice e ci si potrebbe chiedere se la nostra eroina ha realizzato il percorso più breve per andare da un posto all'altro del Paese. Un problema di questo genere è anche noto come il problema del commesso viaggiatore: l'eroe della nostra storia deve spostarsi in una serie di città collegate tra loro da una rete stradale. Quello che ci chiediamo è se esiste un percorso che minimizza lo spostamento e soprattutto quale è.
Basati su quesiti di questo genere sono, ad esempio, un paio di puzzle di Sam Loyd: I giochi del re del Siam(2)

Non molto differente è Il giro della bertuccia(2):

Indipendentemente dalle risposte, che potete divertirvi a cercare (non su Google!), il problema del nostro commesso viaggiatore trova varie applicazioni in molte sottobranche della matematica, dalla teoria dei grafi, all'informatica, alla teoria della complessità.
Le sue origini, però, non sono ben chiare: probabilmente risale ai primi del 1800, anche se la sua prima formulazione certa è dovuta ai matematici Hamilton e Kirkman. Il gioco era basato sull'icosian game di Hamilton e sui cammini hamiltoniani.
Un'altra definizione, dove più che a un commesso viaggiatore si fa riferimento a un messaggero, è data da Karl Menger, matematico austriaco:
We denote by messenger problem (since in practice this question should be solved by each postman, anyway also by many travelers) the task to find, for finitely many points whose pairwise distances are known, the shortest route connecting the points. Of course, this problem is solvable by finitely many trials. Rules which would push the number of trials below the number of permutations of the given points, are not known. The rule that one first should go from the starting point to the closest point, then to the point closest to this, etc., in general does not yield the shortest route.(3)Una prima versione semplice che porta subito all'attenzione le caratteristiche da teoria dei grafi del problema è la seguente: trovare il percorso più breve tra quattro città poste ai vertici di una figura geometrica, e quindi costruire la strada corrispondente al percorso minimo.
Quando andiamo a trovare una soluzione computazionale del nostro problema possiamo, però, applicarlo ad ambiti quasi inaspettati, come a un formicaio! E' ad esempio il caso di Distributed optimization by ant colonies di Alberto Colorni, Marco Dorigo e Vittorio Maniezzo che è entrato a far parte della letteratura sull'argomento!
Inoltre, in caso di geometria euclidea, il percorso $p_{ij}$ più breve tra due città $i$, $j$ sarà dato dalla distanza euclidea tra queste: \[d_{ij} = \left [ \left ( x^i_1-x^j_1 \right )^2 + \left ( x^i_2-x^j_2 \right )^2 \right ]^{\frac{1}{2}}\] Poiché si suppone che ogni formica nel suo camminare lascia una traccia di ferormoni dietro di se, allora si introduce anche un parametro $\tau_{ij}$ che misura l'intensità della traccia lasciata tra le città $i$ e $j$: \[\tau_{ij} (t+1) = \rho \cdot \tau_{ij} (t) + \Delta \tau_{ij} (t, t+1)\] dove $\rho$è un coefficiente di evaporazione, ovvero indica quanta traccia è scomparsa nell'unità di tempo, mentre $\Delta \tau_{ij} (t, t+1)$ è definita come la somma degli $m$ $\Delta \tau^k_{ij} (t, t+1)$ che rappresentano la quantità di ferormone lasciata nel percorso tra $i$ e $j$ dalla $k$-sima formica tra l'istante $t$ e l'istante $t+1$.
A questo punto, detta visibilità la quantità $\eta_{ij} = 1/d_{ij}$, si definisce la probabilità di transizione o di passaggio dalla città $i$ alla città $j$ come \[P_{ij} (t) = \frac{\left [ \tau_{ij}(t) \right ]^\alpha \cdot \left [ \eta_{ij} \right ]^\beta}{\sum_{j=1}^n \left [ \tau_{ij}(t) \right ]^\alpha \cdot \left [ \eta_{ij} \right ]^\beta}\] dove $\alpha$ e $\beta$ sono due parametri che permettono il controllo dell'importanza relativa della traccia rispetto alla visibilità.
All'interno dell'algoritmo, infine, si definisce una lista detta tabu, caratteristica di ogni formica, dove viene registrata ogni città visitata. In questo modo i movimenti della formica verranno via via influenzati dalle città già visitate e da visitare.
Gli algoritmi sviluppati sono stati 3, ANT-quantity, ANT-density, ANT-cycle.
Dal punto di vista matematico le differenze notevoli tra i 3 modelli sono nella definizione dell'intensità della scia. Per il quantity: \[\Delta \tau^k_{ij} (t, t+1) = \left\{\begin{matrix} \frac{Q_1}{d_{ij}} & \text{se la } k-\text{sima formica va da } i \text{ a } j \text{ tra } t \text{ e } t+1 \\ 0 & \text{in tutti gli altri casi} \end{matrix}\right.\] Per il density: \[\Delta \tau^k_{ij} (t, t+1) = \left\{\begin{matrix} Q_2 & \text{se la } k-\text{sima formica va da } i \text{ a } j \text{ tra } t \text{ e } t+1 \\ 0 & \text{in tutti gli altri casi} \end{matrix}\right.\] dove $Q_1$ e $Q_2$ sono delle costanti che misurano rispettivamente la quantità di ferormone lasciata sul percorso $p_{ij}$ ad ogni passaggio e la quantità di ferormone lasciata per unità di lunghezza sempre lungo $p_{ij}$.
Mentre i primi due sono sostanzialmente identici, il cycle è invece leggermente differente: \[\Delta \tau^k_{ij} (t, t+n) = \left\{\begin{matrix} \frac{Q_3}{L_k} & \text{se la } k-\text{sima formica usa il percorso } p_{ij} \\ 0 & \text{in tutti gli altri casi} \end{matrix}\right.\] dove $Q_3$ è una costante, mentre $L_k$ è la lunghezza del giro compiuto dalla $k$-sima formica. Inoltre l'intensità della scia è calcolata non più in $t$ ma in $t+n$.
Le migliori prestazioni sono ottenute dal cycle, ha quindi senso presentare i risultati grafici legati a questo modello.
Una delle cose che è necessario verificare con le simulazioni è se queste arrivano a stabilità per lunghi tempi:
Interessante dare un'occhiata alle fluttuazioni sulla deviazione standard:
La stessa formula, poi, viene esplicitamente utilizzata per il nostro commesso viaggiatore in Ant colonies for the travelling salesman problem di Dorigo e Maria Lucia Gambardella.
Gli studi sull'ottimizzazione dei formicai, o più tecnicamente sull'ottimizzazione delle colonie di formiche trovano varie applicazioni. Ad esempio per la risoluzione dei problemi di tipo-NP, ovvero problemi che richiedono tempi lunghi per riuscire a identificare la soluzione ottimale (per una spiegazione dettagliata su questo genere di problemi e su altre cose del genere, leggete questo splendido post di .mau.: è un po' lungo, quindi dovrete perdervi il tempo necessario anche per questo!).
Altre applicazioni anche nel campo delle telecomunicazioni, ad esempio nella risoluzione di problemi legati alle reti, come può essere ad esempio internet. Nel campo industriale, invece, l'applicazione di questi metodi può portare all'ottimizzazione nella gestione dei mezzi di trasporto a disposizione, o a una migliore distribuzione delle merci, o nella ricerca della gestione ottimale dei siti di stoccaggio.
In conclusione un modello interessante, che dalle sue origini a oggi ha subito pochissimi raffinamenti (l'ultimo nel 2006 con Ant Colony Optimization di Dorigo, Mauro Birattari e Thomas Stützle), che, ormai entrato nella letteratura del settore (vedi, ad esempio, la bibliografia di A memetic ant colony optimization algorithm for the dynamic travelling salesman problem di Michalis Mavrovouniotis e Shengxiang Yang) trova applicazioni non solo nella matematica o nell'informatica, ma anche nel mondo reale.
Alberto Colorni, Marco Dorigo, & Vittorio Maniezzo (1992). Distributed Optimization by Ant Colonies Proceedings of the First European Conference on Artificial Life, 134-142 Other: citeulike:5791708
Dorigo, M., Maniezzo, V., & Colorni, A. (1996). Ant system: optimization by a colony of cooperating agents IEEE Transactions on Systems, Man and Cybernetics, Part B (Cybernetics), 26 (1), 29-41 DOI: 10.1109/3477.484436
Dorigo, M., Birattari, M., & Stutzle, T. (2006). Ant colony optimization IEEE Computational Intelligence Magazine, 1 (4), 28-39 DOI: 10.1109/MCI.2006.329691
(1) Per strano che possa sembrare, all'inizio di marzo Alex CF ha realizzato una sorta di kit ispirato proprio a Charles Dodgson
(3) Originale tedesco: Wir bezeichnen als Botenproblem (weil diese Frage in der Praxis von jedem Postboten, übrigens auch von vielen Reisenden zu lösen ist) die Aufgabe, für endlich viele Punkte, deren paarweise Abstände bekannt sind, den kürzesten die Punkte verbindenden Weg zu finden. Dieses Problem ist natürlich stets durch endlich viele Versuche lösbar. Regeln, welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebenen Punkte herunterdrücken würden, sind nicht bekannt. Die Regel, man solle vom Ausgangspunkt erst zum nächstgelegenen Punkt, dann zu dem diesem nächstgelegenen Punkt gehen usw., liefert im allgemeinen nicht den kürzesten Weg.
Nessun commento:
Posta un commento