NAUKOWIEC AMATOR

Shawn Carlson

krzepnà w skomplikowanà gmatwani-

Algorytm bogów

n´. Lecz jeÊli spadek ten jest powolny, tworzà one wysoce uporzàdkowany

Zwyk∏em sp´dzaç dnie, polujàc nierozwiàzywalnych na pierwszy rzut kryszta∏, czasami miliardy razy wi´k-na supernowe. Wraz z grupà

oka zagadnieƒ. Ten zdumiewajàcy al-szy od pojedynczej czàsteczki.

astrofizyków odkurzyliÊmy sta-

gorytm pozwala nawet zwyk∏ym lap-

Je˝eli ka˝da czàsteczka zostanie unie-ry 76-centymetrowy teleskop, u˝ywa-topom uporaç siź tym problemem za-ruchomiona w stanie o mo˝liwie najni˝-

ny dotychczas jedynie do nauczania, ledwie w kilka minut, co czyni z algo-szej energii, to taki kryszta∏ znajduje sií przekszta∏ciliÊmy go w ca∏kowicie rytmu pot´˝ne narz´dzie w zestawie w minimum energii. (W moim proble-zautomatyzowany instrument badaw-

Êrodków naukowca amatora.

mie odpowiada to takiemu uszeregoczy. Gdy nadchodzi∏a noc, sterowane Algorytm ten, zwany symulowanym

waniu galaktyk, które wymaga od tele-komputerowo cudo budzi∏o si´, spraw-odpr´˝aniem, to znakomite po∏àczenie skopu najmniej ruchów.) Uk∏ad zbli˝a dza∏o swoje uk∏ady i zabiera∏o si´ do pomys∏owoÊci ludzkiej ze skuteczno-si´ do tego minimum w sposób natural-robienia odkryç. W bezchmurne noce Êcià przyrody. Nicholas Metropolis za-ny po raczej nieoczekiwanej i specyficz-teleskop ten potrafi∏ przebadaç setki ga-jmujàcy si´ fizykà matematycznà roz-nej drodze. Czàsteczki majà z natury laktyk w poszukiwaniu obiektów wy-winà∏ t´ procedur´ wraz ze wspó∏pra-energi´ kinetycznà roz∏o˝onà w pew-glàdajàcych jak jasne gwiazdy nie wy-cownikami ju˝ w 1953 roku, ale do po-nym zakresie. Gdy temperatura spada, kryte na wczeÊniejszych zdjćiach.

wszechnego u˝ytku wesz∏a ona dopie-

Êrednia energia kinetyczna siźmniej-Czasami je znajdowa∏.

ro niedawno. Procedur´ Metropolisa sza. Lecz niektóre z czàsteczek pozosta-To by∏o wspania∏e! Nie czu∏em wy-

stosowano ostatnio do znajdowania jà w stanach o wysokiej energii nawet rzutów sumienia, ˝e nie marznća∏ymi u˝ytecznych rozwiàzaƒ problemów ty-wtedy, gdy wi´kszoÊç porusza sińa nocami w odleg∏ym obserwatorium. Za pu komiwoja˝era; komputer naÊlado-tyle powoli, by ulec zwiàzaniu w

to miesiàcami harowa∏em w cyberpie-kle, starajàc sińauczyç teleskopowy komputer, którym galaktykom powi-nien robiç zdjćia i w jakiej kolejnoÊci je obserwowaç. Poniewa˝ dalekie wyciecz-ki od horyzontu do horyzontu wywo-

∏ywa∏y w 40-letnim uk∏adzie naprowa-dzania teleskopu szok, istotne by∏o, by ten wys∏u˝ony weteran rusza∏ si´ mo˝-

liwie jak najmniej. Oznacza∏o to takie ustawienie kolejnoÊci galaktyk, by kàt ruchu teleskopu zsumowany w ciàgu nocy by∏ mo˝liwie najmniejszy. Kom-puterowi zapaleƒcy rozpoznajà w mo-jej galaktycznej zagadce odmian´ pro-blemu komiwoja˝era, w którym hand-larz poszukuje marszruty pozwalajàcej na obejÊcie najkrótszà drogà wszystkich miast na jego liÊcie.

Problem minimalizacji ruchu teleskopu wydawa∏ si´ bardzo trudny. Posor-SLIM FILMS

towaç 200 galaktyk – typowe zadanie

PRZESZUKIWANIE GALAKTYKI sta∏o si´ mo˝liwe dzi´ki boskiemu algorytmowi.

dla naszego teleskopu na jednà noc –

mo˝na na 10375 ró˝nych sposobów. (Dla fanów matematyki: 10375 jest to 200 sil-wa∏ naturalne procesy, które powodujà, kryszta∏. Gdy moleku∏y o ni˝szej ener-nia.) Aby znaleêç ten jedyny sposób

˝e w siatkach krystalicznych szk∏a lub gii „zastygnà”, czśto zwiàzane sà w sta-uszeregowania galaktyk, najmniej for-metalu napr´˝enia wewn´trzne zmniej-nach o wy˝szej energii, ni˝ powinny.

sujàcy dla naszego teleskopu, powinni-szajà si´ w czasie ogrzewania. Proces Czàsteczki o wy˝szych energiach mo-

Êmy byli sprawdziç ka˝de mo˝liwe

ten nazywa siódpr´˝aniem.

gà jednak˝e „wbijaç” z∏apane moleku∏y ustawienie. Niestety, nie wykonajà te-Chocia˝ procedura opiera sińa mo-

ze stanów zwiàzanych o nadmiarze

go nawet wszystkie komputery Êwiata delu odpr´˝ania, jej istotne podstawy energii do stanów o energii ni˝szej. Ta-pracujàce dzieƒ i noc przez tryliardy lat.

fizyczne sà takie same jak w procesie kie przekazywanie energii od czàstecz-Dla wi´kszoÊci rzeczywistych proble-wzrostu kryszta∏u, a byç mo˝e troch´

ki do czàsteczki pozwala im podczas mów wynik ró˝niàcy sió kilka procent

∏atwiejsze do wyt∏umaczenia. Czàstecz-och∏adzania cieczy na wzajemnà re-od idealnego jest w zasadzie akcep-ki w roztworze cukru w goràcej wodzie dystrybucjénergii przez tràcanie wzra-towalny. Na szcz´Êcie informatycy poruszajà si´ we wszystkie strony stajàcych kraw´dzi kryszta∏u w taki wymyÊlili algorytm, dzi´ki któremu w sposób przypadkowy. JeÊli tempera-sposób, ˝e usadawiajàce sińa nich czà-

mo˝na znaleêç rozwiàzanie wielu

tura szybko spada, czàsteczki cukru steczki trafiajà do stanu o minimalnej ÂWIAT NAUKI Maj 1997 99

energii. Ten uporzàdkowany wzrost Algorytm bogów ujawniony

kryszta∏u wyst´puje jedynie podczas powolnego ch∏odzenia, poniewa˝ na Oto procedura stosujàca symulowane odpr´˝anie znalezienie stanu o najni˝szej energii PSEUDOKOD

UWAGI

potrzeba czàsteczkom du˝o czasu.

Lecz co to wszystko ma wspólnego

Podstawowy algorytm programu

z problemem komiwoja˝era? By zasto-

{

Setup()

Utwórz poczàtkowà listí ustaw potrzebne zmienne sowaç procedur´ Metropolisa, musicie opisaç wasz problem jako poszukiwa-for (i = 1; i <= 100; i = i + 1) Wypróbuj do 100 ró˝nych temperatur nie porzàdku. W problemie komiwoja-

{ numSuc=Anneal()

Odpr´˝aj list´ w tej temperaturze;

˝era na przyk∏ad nale˝y okreÊliç najlep-zwróç liczbúdanych zmian

szà kolejnoÊç odwiedzania miejscowoÊci if (numSuc==0) break

JeÊli nie zosta∏y znalezione ˝adne poprawki, z listy. Przy odrobinie sprytu w ten spo-program si´ koƒczy

sób mo˝na sformu∏owaç bardzo wiele temperature=temperature *0.9

Obni˝ temperaturó 10%

problemów. Konieczne jest tak˝e wyge-

}

nerowanie liczby okreÊlajàcej, jak dale-PrintResults()

ce dobre jest aktualne uporzàdkowanie.

}

Im lepsze rozwiàzanie, tym mniejsza b´dzie ta liczba. Jej wartoÊç jest analo-Algorytm inicjujàcy (tworzy poczàtkowà listí ustawia temperatur´ poczàtkowà) giczna do energii kryszta∏u w przyk∏a-

{

dzie procesu jego wzrostu. W moim CreateInitialList (list)

problemie poszukiwania supernowych energy = GetEnergy (list)

porzàdkiem by∏a kolejnoÊç przeszuki-temperature = energy/liczba pozycji na liÊcie wania galaktyk, a wielkoÊcià analogicz-runLimit = 100 * liczba pozycji na liÊcie sucLimit = 10 * liczba pozycji na liÊcie nà do energii by∏ ca∏kowity kàt, o jaki

}

musia∏ obróciç si´ teleskop.

W ramce obok przedstawi∏em szkic

Algorytm odpr´˝ania (odpr´˝a list´ w jednej temperaturze w celu znalezienia najlepszego rozwiàzania) algorytmu. Dzia∏a on na zasadzie obli-

{

czania poziomów energii reprezento-numSuc = 0

Liczba udanych zmian listy

wanych przez ró˝ne sekwencje, inaczej

„Êcie˝ki”. Program zawsze przyjmuje for (I = 0; i <= runLimit; i = i + 1){

Zrób do „runLimit” prób w aktualnej nowe uporzàdkowanie, je˝eli ma ono temperaturze

ni˝szà energińi˝ poprzednie. Wróçmy GetSegment (start,end,insertPoint) Wybierz losowo segment listy do zmiany do przyk∏adu ze wzrostem kryszta∏u; alteration = PickAlteration()

Zadecyduj losowo o odwróceniu kolejnoÊci Êcie˝ka o ni˝szej energii odpowiada jed-w segmencie lub przerzuceniu go w inne nej lub kilku czàsteczkom znajdujàcym miejsce listy

swà drog´ do po∏o˝enia o ni˝szej ener-Edif = EnergyDif (alteration)

Wylicz zmianénergii przy dokonanym gii w sieci krystalicznej. Lecz co ze Êcie˝-

przekszta∏ceniu

kami o energiach wy˝szych? Tutaj rzecz answer = Oracle (Edif, temperature) Zdecyduj, czy zastàpiç aktualnà listńowà ca∏a staje siínteresujàca. Program nie if (answer == YES){

JeÊli Algorytm Wyroczni zadecyduje odrzuca od razu Êcie˝ek o wy˝szych przekszta∏ciç list´...

energiach. Mimo wszystko przemiesz-AlterList ()

...zmieƒ listńa sta∏e

czenie moleku∏y uwiźionej w stanie numSuc = numSuc + 1

Jeszcze jeden sukces!

o wy˝szej energii w sieci jest przyk∏a-

}

dem Êcie˝ki o wy˝szej energii, a takie zdarzenia stanowià sedno procedury.

if (numSuc > = sucLimit) break JeÊli by∏o dostatecznie du˝o prób udanych, Jednak nie ze wszystkich Êcie˝ek

wyjdê z tej p´tli, by móc obni˝yç temperaturó wy˝szych energiach mo˝na stràciç uk∏ad do stanu o energii ni˝szej. Dla

}

okreÊlenia tych, z których mo˝na to zro-return numSuc

biç, stosuje si´ w procedurze tzw. roz-

}

k∏ad prawdopodobieƒstwa Boltzmanna.

Parametr ten okreÊla prawdopodobieƒ-

Algorytm Wyroczni (decyduje, czy zaakceptowaç zaproponowanà nowà list´) stwo znalezienia siúk∏adu, takiego jak

{

czàsteczka lub ich grupa, o ustalonej if (Edif < 0) return YES

Zawsze zachowuj nowà list´, jeÊli ma ni˝szà energii E w danej temperaturze T. W za-energiód starej

stosowaniu do symulowanego odpr´˝ania prawdopodobieƒstwo to wyra˝a siíf (random() < exp(-Edif/temperature)) Nast´pnie u˝yj wspó∏czynnika Boltzmanna liczbà e (sta∏à równà oko∏o 2.7183, która return YES

do zdecydowania, czy powinna zostaç pojawia sićzśto w fizyce i innych dzie-zachowana lista o wy˝szej energii dzinach) podniesionà do pot´gi (-D E/ kT), Uwaga, random() zwraca liczbĺosowà o wartoÊci pomi´dzy zerem a jedynkà gdzie k jest sta∏à Boltzmanna wià˝àcà temperaturź energià, a D E ró˝nicà ener-return NO

JeÊli wszystko inne zawiedzie, odrzuç list´

gii pomi´dzy dwiema Êcie˝kami.

}

Pomys∏owy trik pozwala przetwarzaç list´ bez potrzeby przeliczania za ka˝dym 100 ÂWIAT NAUKI Maj 1997

razem energii od poczàtku. Przetwarza-nie rozpoczyna siód losowego wybra-

W majowym numerze

nia pewnego segmentu listy. Nast´pnie albo odwracany jest porzàdek elementów

mi´dzy innymi:

segmentu, albo ca∏y segment przemiesz-czany i wstawiany ponownie w losowe

■ SUKCES

miejsce listy. W obu wypadkach energia zwiàzana z segmentem sińie zmienia.

W OWCZEJ SKÓRZE

Energia zmienia si´ jedynie w punkcie, Sklonowanie owcy

w którym segment ∏àczy siź resztà listy.

porównano do z∏amania

Ramka na sàsiedniej stronie zawiera kodu genetycznego, pierwszego

pseudokod szkicujàcy niezb´dne procedury. Równowa˝ny kod w jźyku C mo˝-

lotu w Kosmos lub wynalezienia

na skopiowaç z sieci WWW ze strony To-komputera osobistego.

warzystwa Naukowca Amatora.

Co tak naprawdśi´ wydarzy∏o

Symulowane odpr´˝anie nie jest jedy-w Szkocji i jakie to b´dzie mia∏o nym algorytmem naÊladujàcym natur´

w rozwiàzywaniu z∏o˝onych proble-

implikacje?

mów. Tzw. algorytmy genetyczne sy-

■ UCIECZKA

mulujà ewolucjńa poziomie genetycz-

PRZED AIDS

nym dla cyberorganizmów, które same z siebie sà rozwiàzaniem problemów ba-O wirusie nabytego niedoboru

dawczych [patrz: NAUKOWIEC AMA-

odpornoÊci wielokrotnie pisano

TOR; Âwiat Nauki, wrzesieƒ 1992]. Sieci na pierwszych stronach gazet,

neuropodobne – symulujàce czynnoÊci ale dopiero niedawno zacz´to

neuronów w mózgu potrzebne do prze-chowywania informacji, uczenia sićz´Êciej mówiç o nadziei przez doÊwiadczenie i przeprowadza-na jego pokonanie.

nia obliczeƒ – stanowià oddzielne pole

■ WOLTER POPULARYZATOREM NAUKI

intensywnych badaƒ.

Autor Traktatu o tolerancji, Kandyda, ulubieniec francuskich Wszystko to prowadzi do fascynujàce-go wniosku. Przyroda jest o wiele bardziej salonów by∏ równie˝ niez∏omnym propagatorem nauki.

pomys∏owa, ni˝ kiedykolwiek b´dà lu-

■ PTASIE DZIECI¡STWO

dzie. Komputerowa symulacja natural-Dooko∏a wiosna. W∏aÊnie teraz w wi´kszoÊci ptasich gniazd nych metod organizacji i tworzenia do-prowadzi∏a do powstania niezwykle wykluwajà si´ piskl´ta. Jedne zaraz opuszczajà gniazdo, inne pot´˝nych narz´dzi przydatnych do upo-pozostajà w nim i z otwartymi dziobami czekajà na pokarm.

rania siź niektórymi z naszych najbar-

■ SKAZANI NA STAROÂå

dziej dokuczliwych problemów. Pomimo to dotàd uda∏o si´ powieliç na komputerze M∏odoÊç ma nieodparty urok. Nie da si´ jednak jej przed∏u˝aç, gdy˝

jedynie garstkŕozwiàzaƒ natury. Jeszcze mimo post´pu medycyny nadal jesteÊmy skazani na staroÊç.

wiele mo˝emy siód niej nauczyç. Naj-

■ ÂWIAT DèWI¢KÓW

trudniejszà sprawà jest rozeznanie, które uk∏ady warto modelowaç, i zrozumienie, To pierwszy artyku∏ z cyklu „Od Platona i Newtona...”. Pod tym jaki rodzaj problemów nasze symulacje samym tytu∏em Telewizja Polska emituje programy poÊwićone potrafià rozwiàzaç.

fizyce. Ich autorami sà prof. dr hab. Jan Gaj i Ma∏gorzata Uberna.

Tak wić miej oczy otwarte! Byç mo-

˝e podczas kontemplacji turbulentnych zmarszczek w dymie papierosowym, ob-DODATEK HUMANISTYCZNY

serwacji, jak pszczo∏y organizujà si´

■

w rój, czy badania jednoczesnych zwro-

RODZINA I WOLNOÂå

tów klucza ptaków dostrze˝esz szans´

Jednà z nielicznych instytucji spo∏ecznych, których nie zdo∏a∏

na kolejnà istotnà innowacj´ kompute-zniszczyç socjalizm, jest rodzina. Obecna odnowa cywilizacyjna rowego rozwiàzywania problemów.

w Polsce nie mo˝e si´ dokonaç bez jej udzia∏u.

T∏umaczy∏

Zbigniew Loska

■ GEOPOLITYCZNY PRZYPIS?

Czy Timor Wschodni ma szansńa niepodleg∏oÊç? Czy ubieg∏oroczna Chcàc skopiowaç ca∏oÊç kodu w jźyku Pokojowa Nagroda Nobla dla dwóch wybitnych przedstawicieli C potrzebnà do zrealizowania algorytmu symulowanego odpr´˝ania, odwiedê interne-narodu timorskiego mo˝e odmieniç jego los?

towà stronŚociety for Amateur Scientist

■ ˚YWA DEMOKRACJA

http://www.thesphere.com/SAS/

Nie ma demokracji tam, gdzie si´ jej nie praktykuje na co dzieƒ, gdzie Wićej informacji o innych amatorskich projektach naukowych znajdziesz tam˝e lub obywatele nie majà wp∏ywu na urzàdzenia publiczne, a kapita∏ spo-pod numerami telefonów (800)873-8767 lub

∏ecznego zaufania nie jest stale odnawiany.

(619)239-8807.

ÂWIAT NAUKI Maj 1997 101