Trzmiel lepszy od superkomputera
Wśród szczególnie trudnych i złożonych problemów obliczeniowych słynny jest tak zwany „problem komiwojażera", czy szerzej: problem marszrutyzacji, czyli takiego wyznaczenia trasy, żeby jak najefektywniej obejść wszystkie kluczowe punkty. Nazwa wzięła się od anegdotycznego sprzedawcy, który potrzebuje objechać wiele miast, a chciałby zrobić to jak najkrótszą trasą.
Złożoność takiego planowania rośnie tak prędko, że szybko przekracza nie tylko możliwości człowieka, ale także największych superkomputerów, które nawet nad średnio złożonymi trasami pracować muszą wiele dni. Znajdowanie rozwiązać w czasie rzeczywistym wydaje się wręcz niemożliwe. Ale nie dla... trzmieli.
Naukowcy z Queen Mary's School of Biological and Chemical Sciences (Queen Mary University of London) ze zdumieniem odkryli, że problem zatykający największe istniejące komputery nie jest w ogóle problemem dla pospolitych trzmieli, które rozwiązują go machinalnie, oblatując dostępne źródła pożywienia jak najkrótszą trasą.
W eksperymencie, jaki przeprowadzili profesor Lars Chittka i doktor Mathieu Lihoreau wykorzystano sztuczne, komputerowo kontrolowane kwiaty zawierające nektar, oraz trzmiele, których lot śledzono i analizowano. Uczeni ciekawi byli, czy przy kolejnych „rundach" owady oblatywać będą kwiaty w takiej kolejności, w jakiej znajdowały je pierwszy raz, czy też w inny sposób. Okazało się, że już przy drugim oblocie trzmiele korzystały z najkrótszej możliwej trasy.
W jaki sposób te owady radzą sobie ze złożonością problemu? Ich wyczyn zdumiewa jeszcze bardziej, gdy uświadomimy sobie, że ich mózg ma wielkość główki szpilki, a wykonuje natychmiast obliczenia, które są upiorne dla największych superkomputerów i twardym orzechem dla najlepszych matematyków.
Naukowcy teraz zastanawiają się, jak sprawdzić algorytm, jakim posługują się trzmiele i jakie struktury w ich mózgu pozwalają na takie operacje. Odtworzenie ich działania mogłoby stanowić rewolucję w informatyce. Pokazuje to także, że z pokorą należy oceniać te malutkie móżdżki.
Komentarze (16)
marximus, 13 listopada 2010, 17:14
od razu przypomniało mi się jak wiele lat temu jeszcze bodajże w bajtku na ostatniej stronie czytałem o tym że ktośtam wysunął teorię że mózg pszczoły wykorzystany jako komputer mogłby prowadzić wojne, widać nie była to jakaś kaczka dziennikarska
pitoko, 13 listopada 2010, 18:18
Ciekawy news, ale przydały by się jakieś szczegóły - np. ile było tych kwiatów. W przypadku problemu komiwojażera znane są proste algorytmy, które w krótkim czasie znajdują przybliżone rozwiązanie. Oczywiście gdy liczba miast jest dość mała to często to "przybliżone" rozwiązanie może być jednocześnie rozwiązaniem optymalnym (czyli najkrótszym możliwym). Zatem przypuszczalnie mózg trzmiela nie "wyrasta" ponad klasyczny model obliczeń, ale i tak wciąż zaskakuje człowieka swoim dostosowaniem do pewnego wycinka rzeczywistości (w tym przypadku minimalizacją zużycia energi)
Jurgi, 13 listopada 2010, 21:58
Niestety, londyński uniwerek nie podał większej ilości szczegółów — jeśli takie są, to zawsze streszczam, bo wiem, że wielu Czytelników jest dociekliwych.
Jajcenty, 14 listopada 2010, 01:44
Najzabawniejsze jest to, że nie będziemy wiedzieć czy trzmiele rozwiązały problem dopóki sami go nie rozwiążemy Na razie wiemy tylko, że drugi oblot jest inny od pierwszego.
MikiWay, 14 listopada 2010, 11:38
Jest to problem bardziej z zakresu biologi a nie matematyki. Gdyby uczeni różnych specjalności zaczęli współpracować ze sobą to nie błądzili by we mgle. Od dawna już wiadomo że zwierzęta posiadają swój własny szczególny zmysł orientacji jeszcze nie zbadany przez naukowców - taki biologiczny GPS który pozwala np ptakom na dalekie przeloty.
JakinBooz, 14 listopada 2010, 12:41
W mojej komórce ten problem został już rozwiązany. Google maps też jakoś sobie radzi.
cyberant, 14 listopada 2010, 14:05
chyba nie zrozumiałeś problemu. nie chodzi o wyliczenie najkrótszej trasy między dwoma punktami, tylko wpisujesz lokalizacje np. 49 punktów (np. miasta wojewódzkie w Polsce sprzed nowego podziału) i komputer ma wyliczyć najkrótszą możliwą trasę między nimi, w trakcie której zawitasz tylko 1 raz w każdym mieście i wrócisz do punktu wyjścia.
Najprostszy możliwy algorytm komiwojażera działa tak, że sprawdza wszystkie możliwe trasy i wybiera najkrótszą, w przypadku 5 miast to drobiazg, przy 50 miastach już jest ciężko, ale do policzenia przez komputery. Jak by miast wpisać np. 500... zapchasz każdy sprzęt. (w przypadku najprostszego algorytmu porównawczego) Dlatego stosuje się bardziej zaawansowane algorytmy dotyczące teorii grafów, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.
Tak naprawdę rozwiązań tego problemu jest wiele, jednak wszystkie wymagają zaawansowanej matematyki i złożonych programów. Algorytmy działają na zasadzie permutacji i przybliżeń. Stosuje się też algorytmy genetyczne do rozwiązania tego problemu. Dlatego tym bardziej zaskakuje, że coś wielkości główki od szpilki jest w stanie ten problem sprawnie rozwiązywać w bardzo krótkim czasie.
Ponownie chylimy czoła przed naturą! A mnie dodatkowo zastanawia to - czemu ludzki mózg ma z tym problem, do tego stopnia że musi posiłkować się superkomputerami. Czyżby nasz mózg był zbyt skomplikowany i np. poświęcił specjalizację w danej dziedzinie dla ogólnej uniwersalności? Bo możliwe że kiedyś było to dla nas równie proste jak dla pszczoły... i się nawet nasi praprzodkowie na tym nie zastanawiali, tylko to robili odwiedzając kolejne źródła pożywienia.
thikim, 14 listopada 2010, 15:03
Brakuje mi bardzo podstawowej informacji. Ile standardowo kwiatów jest w stanie optymalnie oblecieć trzmiel.
Bez tej informacji wiemy jedynie że jest to skomplikowany problem. Ale nei wiemy czy np. trzmiel maksymalnie wybiera do oblotu 20 kwiatów ponieważ to już całkowicie mu wystarcza. I np. z 30 by sobie już nie poradził?
Bez tej informacji jest to wiadomość typu wymyśliłem sobie dziś że ....
Niezależnie od tego, wciąż "Nobel z informatyki" do zdobycia.
Czy ludzki mózg ma z tym problem to nie wiem. Nie słyszałem o testowaniu ludzi. Może jakby ktoś od dziecka zapylał kwiatki to też byłby mistrzem. Jest takie powiedzenie: trenuj 1000 h i będziesz uczniem ale trenuj 10 000 h i będziesz mistrzem.
Jurgi, 14 listopada 2010, 16:58
No niekoniecznie, sądzę, że liczba kwiatów podczas eksperymentu nie była na tyle duża, żeby nie można było sprawdzić, czy wybierana trasa jest optymalna.
Tolo, 14 listopada 2010, 19:57
Jurgi ale nie wiadomo czy liczba była na tyle duża ze trzmiele rozwiązły istotnie trudny obliczeniowo problem. Kilka punktów człowiek na kartce albo i w głowie zoptymalizuje. Taki trzmiel to nic innego jak algorytm genetyczny rozwiązujący ten problem
JakinBooz, 14 listopada 2010, 20:07
Chyba nie zrozumiałem, bo nigdzie nie napisałem, że wyznaczyłem trasę między dwoma punktami. Można oczywiście rozwiązywać problem w sferze teoretycznej. Jednak czasem w życiu bywa tak, że trzeba faktycznie odwiedzić kilka miejscowości, niekoniecznie po drodze. A podróżując do tego z dziećmi, dodanie sobie do tysiąckilometrowej trasy nawet 20 km to problem. Ale jak napisał Cyberant, wykracza to poza moje zdolności intelektualne.
John, 15 listopada 2010, 12:07
Jeśli kwiatki ustawione są w sposób oczywisty, to człowiek czy trzmiel w sekundę znajdzie trasę, choćby kwiatków było 1000. A komputer i tak zacznie żmudnie sprawdzać każdą kombinację, bo na razie kompy mało co innego potrafią. Ale teoretycznie możliwe powinno być stworzenie komputera na podobieństwo mózgu.
cyberant, 15 listopada 2010, 12:12
Przepraszam jeśli odniosłeś mój post jako atak na Ciebie, nie to było moim zamiarem. I nigdzie też nie napisałem nic, co by mogło uwłaszczać Twojej inteligencji!
Napisałeś, że problem ten jest rozwiązany w Twojej komórce i w mapach google. Stąd wywnioskowałem że jesteś w błędzie, bo w google maps nie ma nigdzie opcji: "Wpisz ileś tam (n) miast i google znajdzie ci trasę optymalną między nimi" W Twój telefon też nie zaglądałem, ale podejrzewam, że masz w nim jakąś standardową nawigację, która również tej funkcji nie posiada... W google i w nawigacjach masz ustalanie trasy między n-punktami, w kolejności zdefiniowanej przez Ciebie. A to zbytnie uproszczenie i nie podchodzi pod rozwiązanie omawianego problemu grafów Jeśli odniosłeś to jako atak na Ciebie to jeszcze raz sorki, ale zaszła pomyłka! Ja chciałem tylko podyskutować i preferuje sposób kulturalny a nie napastliwy Pozdrawiam!
Tolo, 15 listopada 2010, 13:21
Korzystanie z Google to właśnie analogia bycia trzmielem. Bo wskazując punkty podroży Google jesteśmy trzmielem .
Google upraszcza problem do wyznaczenia trasy miedzy dwoma punktami
googster, 15 listopada 2010, 16:11
# Tolo 'Bo wskazując punkty podroży Google jesteśmy trzmielem "
chyba Ty! ot co, teraz to się dopiero zdenerwowałem!
Jurgi, 15 listopada 2010, 22:55
No lepiej być nazwanym trzmielem, niż bąkiem. )