Mrówki, śnieg i wiatr

Istnieje taka klasa algorytmów heurystycznych, którą określa się jako algorytmy mrówkowe. Generalnie wykorzystuje się je do wyszukiwania najkrótszych ścieżek w grafach. Idea ich działania opiera się na symulacji kolektywnego zachowania kolonii mrówek, które poszukują pożywienia.

Na początku mrówki błąkają się losowo, a gdy któraś pokarm znajdzie, wyrusza na poszukiwanie mrowiska, znacząc swoją trasę feromonem. Gdy już dotrze do domu, jej ślad zapachowy zaczyna przyciągać inne mrówki, które zaczynają również wykorzystywać tę drogę, a wracając nią już ze zdobyczą dodają własny ślad feromonowy – wzmacniając go w ten sposób. Jednak feromon nie ma absolutnej siły przyciągania i wiele mrówek nadal błąka się i znajdując pokarm wraca trasami innymi niż ta pierwsza albo zbacza z niej, nawet gdy nią początkowo pójdzie. Gdy oznakowanych jest więcej ścieżek, te dłuższe powoli popadają w zapomnienie. Dzieje się tak dlatego, że feromon jest substancją lotną i powoli wyparowuje, tracąc z upływem czasu atrakcyjność dla mrówek. Im dłuższa trasa, tym większe są średnio odstępy pomiędzy wędrującymi mrówkami i  tym słabiej odświeżany jest jej ślad zapachowy, podczas gdy krótsze są mocno odświeżane i systematycznie zyskują na atrakcyjności w porównaniu z nimi. Żeby dostrzec ten efekt, wystarczy wyobrazić sobie trasę tak długą, że w momencie powrotu do gniazda pierwszej mrówki, jej ślad zapachowy w okolicy pokarmu już prawie całkowicie wyparował. Następna użytkowniczka drogi w okolicy pokarmu może pobłądzić, a wracając wybierze zapewne zupełnie inną trasę i nie wzmocni śladu na tej starej. Ten efekt jest tym silniejszy, im dłuższa jest droga do przebycia, ale występuje także dla krótkich ścieżek. Jego efektem jest to, że wędrowczynie generalnie preferują ścieżki krótsze.

Takie zachowanie mrówek można świetnie symulować za pomocą komputera, każąc wirtualnym mrówkom biegać po ścieżkach grafu i używać mechanizmu skopiowanego z przyrody do wyszukiwania w nim najkrótszych ścieżek, a po stosownych modyfikacjach rozwiązywać także inne, trudniejsze problemy obliczeniowe.

Pierwszy takie algorytmy opisał w swoim doktoracie Marco Dorigo z Włoch. Przypomniały mi się w sobotę, gdy wędrowałem z psem na nartach biegowych po łęgach na praskim brzegu Wisły. Bo ludzie w taką pogodę zachowują się jak mrówki. Brną w śniegu, przecierając drogę, ale w miarę upływu czasu wiatr ich ślady zawiewa. Jak ścieżka jest już solidnie zasypana, coraz mniej sensu ma trzymanie się jej i wędrowcy z niej zbaczają. Gdyby Dorigo był Polakiem (albo Eskimosem), pewnie te algorytmy nazywałyby się dziś algorytmami wędrowców w zadymce.

Jerzy Tyszkiewicz

Fot. Mesq, Flickr (CC SA)