Máte riasy v počítači?

Prečo vyvíjať počítačový model života zelených rias? Jednobunková zelená riasa Chlorella kessleri je významným pr...


Prečo vyvíjať počítačový model života zelených rias? Jednobunková zelená riasa
Chlorella kessleri je významným prvkom moderných ekotechnológií. Práca s
biokultúrou však prináša aj mnohé problémy a ťažkosti, ako je napríklad
zabezpečenie vhodných podmienok na vypestovanie rias, bližšie skúmanie ich
sorpčných vlastností a pod.
Keďže pokusy vykonávané in vitro sú finančne, materiálovo i technologicky
náročné a navyše zdíhavé, na Katedre kybernetiky a umelej inteligencie Fakulty
elektrotechniky a informatiky Technickej univerzity v Košiciach sa už niekoíko
rokov vyvíja počítačový model života kolónie týchto jednobunkových rias.
Spomínaný model prešiel v poslednom čase väčšími zmenami a v oblasti simulácie
životných prejavov kolónie buniek Chlorella kessleri sa začínajú dosahovať prvé
úspechy. Boli odstránené najpodstatnejšie nedostatky modelu, ktoré ho robili
vzdialeným reálnym podmienkam, v ktorých bunky žijú. Zlepšila sa aproximácia
rastu populácie rias a výsledky poskytované simulátorom sa výrazne
stabilizovali. Táto stabilizácia výsledkov bola dosiahnutá napriek tomu, že
počet parametrov modelu výrazne vzrástol.

Prostredie
Prostredie, v ktorom sa virtuálne riasy nachádzajú, tvorí diskrétnu mriežku.
Pri návrhu modelu prostredia bolo potrebné rozhodnúť, aký prístup k simulácii
reálneho živého systému sa zvolí. Prvým možným prístupom k simulácii bola
možnosť programovo reprezentovať veíký objem reálneho sveta, t.j. objem
porovnateíný s objemom kultúr pestovaných v laboratórnych podmienkach (rádovo
litre). Cenou tohto riešenia by bola značne zvýšená miera abstrakcie modelu:
jedna "programová" bunka by musela reprezentovať určité (značne veíké) množstvo
reálnych buniek a pod.
Druhým možným prístupom bolo snažiť sa čo najvernejšie napodobniť veími malú
časť objemu reálneho sveta (rádovo milimetre kubické) a dosiahnuté výsledky
matematicky extrapolovať na väčší objem. Vernosť napodobenia by spočívala v
tom, že každá "programová" bunka by reprezentovala práve jednu skutočnú bunku
riasy Chlorella kessleri. Reprezentovať verne oboje veíký objem i jedinú bunku
nie je možné z jednoduchého dÖvodu nedostatku primeraných výpočtových kapacít.
Bolo rozhodnuté pre vernú simuláciu malého objemu; model tak viac napíňa
paradigmy umelého života o syntetickom prístupe a o budovaní modelov spÖsobom
zdola-nahor. Simulácia veíkého objemu s vyššou mierou abstrakcie by bola
bližšie klasickému analytickému prístupu a budovaniu modelu zhora-nadol.
Simulácia modeluje základné fyzikálne vlastnosti reálneho sveta: teplotu,
difúziu látok v prostredí, osvetlenie, striedanie sa dňa a noci spojené so
zmenou osvetlenia a kolísaním teploty, vzájomné tienenie sa bunkami v
závislosti od hustoty ich výskytu v prostredí, kyslosť prostredia, sedimentáciu
buniek spÖsobenú gravitáciou a pod. V prostredí je simulovaná prítomnosť
minerálnych látok, ktoré slúžia ako zdroj potravy pre bunky, prítomnosť
metabolitov vylučovaných bunkami ako aj prítomnosť znečistenia prostredia
ťažkými kovmi.

Bunky
Každá programová bunka je jedinečná a autonómna. Jej jedinečnosť spočíva v tom,
že je riadená vlastným súborom parametrov, ktoré mÖžu mať iné hodnoty, ako
parametre ktorejkoívek inej bunky. Život každej bunky je kontrolovaný súborom
pravidiel. Tento súbor pravidiel je rovnaký pre všetky bunky.
Bunky o sebe navzájom nevedia, interakcia medzi nimi sa uskutočňuje iba cez
interakciu so spoločným prostredím, v ktorom sa nachádzajú. Ak bunka
spotrebováva minerálne látky s prostredia, znižuje tým množstvo týchto látok vo
svojom najbližšom okolí a tým obmedzuje blízke bunky. Rovnako ak uvoíní do
prostredia produkty svojho virtuálneho metabolizmu, zhorší tým podmienky v
prvom rade sebe a bunkám vo svojom blízkom okolí, pretože príliš veíká
koncentrácia metabolitu je pre bunky toxická.
Rozmnožovanie buniek v modeli napodobňuje rozmnožovanie skutočných buniek. Ide
o rozmnožovanie nepohlavné, rodičom je jediná bunka. Pri jednom delení bunky
vzniknú dve, štyri alebo osem nových buniek, pričom rodičovská bunka zanikne.
Novo vzniknuté bunky zdedia svoje vnútorné parametre od svojho predka, pričom
je možná ich mierna zmena (čím sa simuluje dedičnosť a zmena genetickej
informácie mutáciou pri replikácii DNA). Aby sa bunka mohla rozmnožovať, musí
splniť určité predpoklady: musí mať určitý "vek", musí mať dostatok vnútornej
energie, dostatočné množstvo minerálnych látok a v jej najbližšom okolí musí
byť dostatok miesta pre potomkov.
Aj samotné prežitie virtuálnej programovej bunky je náročné: bunka potrebuje
dostatok minerálnych látok na svoju výživu, dostatok svetla na fotosyntézu,
množstvo metabolitu a ťažkého kovu v prostredí musí byť pod určitou hranicou,
aby sa bunka "neotrávila". No a keď bunka zahynie, prichádza na rad ďalší súbor
pravidiel a parametrov, pretože i m+tva bunka je zložkou prostredia a vplýva
najmä na schopnosť celého systému viazať ťažké kovy z prostredia.

Optimalizácia modelu
Model je riadený približne 75 parametrami, z ktorých približne 50 sa týka bunky
a zvyšné nastavujú vlastnosti prostredia. Hodnoty mnohých z týchto parametrov
(najmä parametrov prostredia) bolo možné vypočítať na základe známych vzťahov
medzi modelom a reálnym prostredím.
Niektoré parametre však boli do modelu zavedené umelo, bez existencie svojho
merateíného vzoru v prírode. Príkladom mÖže byť vnútorná energia bunky,
reprezentujúca akúsi vitalitu bunky. Hodnoty takýchto parametrov boli len
odhadnuté a pre správnu funkčnosť ich bolo potrebné doladiť.
Pred optimalizáciou modelu boli výsledky simulátora nestabilné. Ak sa simulácia
spustila niekoíkokrát opakovane s tými istými parametrami, výsledky sa líšili.
V niektorých prípadoch bunky jednoducho vyhynuli, inokedy zasa veími rýchlo
zaplnili celý virtuálny svet a ďalej sa nerozmnožovali pre nedostatok miesta.
Optimalizáciou tých parametrov modelu, ktoré nebolo možné vypočítať zo známych
vzťahov medzi reálnym svetom a modelom sa tieto výsledky stabilizovali. Rast
populácie buniek v súčasnom modeli dostatočne presne vystihuje rast populácie
buniek v laboratórnych podmienkach.
Predchádzajúce modely boli navrhnuté ako samostatné (standalone) aplikácie. K
nim boli až dodatočne doplnené optimalizačné algoritmy, čo bolo spojené s
nemalými ťažkosťami v implementácii. Súčasný model už vo fáze návrhu
zohíadňoval požiadavku aplikácie optimalizačného algoritmu.

Voíba algoritmu
Už pri predchádzajúcich modeloch sa optimalizácia modelu genetickými
algoritmami ukázala ako časovo veími náročná. Kým predtým bolo optimalizovaných
sedem parametrov, pri súčasnom modeli to bolo 35 parametrov. Aj z tohto údaja
si možno utvoriť predstavu, o koíko je nový model zložitejší v porovnaní s
minulým. Obrovskému priestoru možných nastavení parametrov modelu bolo treba
prispÖsobiť tak optimalizačný algoritmus ako aj spÖsob jeho implementácie.
Na rozdiel od minulých modelov nebol na optimalizáciu toho súčasného použitý
genetický algoritmus, ale tzv. samoorganizačný migračný algoritmus (SOMA). Pre
optimalizáciu simulátora rias bol vybraný preto, že podía doteraz dosiahnutých
výsledkov pri jeho pokusných aplikáciách sa zdá byť odolný voči náhodným javom
v optimalizovanom procese, ktorými v tomto prípade bol napríklad pohyb buniek v
prostredí, zmena ich parametrov pri virtuálnom rozmnožovaní a mnohé ďalšie.
Navyše pri príprave optimalizačného algoritmu SOMA na použitie pri
optimalizácii tohto biologického modelu boli vyvinuté jeho nové modifikácie,
ktoré mÖžu za určitých podmienok optimalizačný proces značne urýchliť bez
straty jeho dobrých optimalizačných schopností.
I napriek spomínaným zlepšeniam by bola stochastická optimalizácia bez ďalších
zlepšení prinajmenšom zdíhavá. Spustenie jednej simulácie za účelom odskúšania
jednej sady jej parametrov trvá aj na relatívne rýchlom osobnom počítači
približne 20 minút. Spúšťať teda niekoíko stovák alebo tisícok simulácií s
rÖznymi parametrami sériovo za sebou nepripadalo do úvahy. Preto bol tento
výpočet distribuovaný na viacero počítačov.
Vytvorila sa tak netradičná klient-server architektúra, v ktorej jediný klient
v tomto prípade optimalizačný algoritmus využíval služby v tomto prípade
výpočtovú silu viacerých serverov; touto črtou projekt vzdialene pripomína
gridové technológie, aj keď bol samozrejme realizovaný len v malom meradle.

Budúcnosť
V súčasnosti sa pracuje na zlepšení optimalizačného algoritmu na ladenie
parametrov simulátora. Práca na samotnom simulátore by mala pokračovať
nastavením parametrov a prípadne aj úpravou pravidiel riadiacich viazanie
ťažkých kovov z prostredia. Tomuto však musí predchádzať práca biológov, ktorí
na vývoji modelu spolupracujú: je potrebné získať údaje o viazaní kovov
reálnymi riasami, aby bolo možné tento dej simulovať a výsledky overiť.

Algoritmus SOMA
Optimalizačný algoritmus SOMA (Self-Organizing Migrating Algorithm,
samoorganizačný migračný algoritmus) využíva ku svojej funkcii niektoré podobné
prístupy, predovšetkým prácu s populáciou riešení. Pri behu algoritmu SOMA sa
však nevytvárajú žiadni noví jedinci, dochádza iba k ich premiestňovaniu v
stavovom priestore.
Samoorganizácia (viď názov algoritmu) vzniká vzájomným ovplyvňovaním sa
jedincov populácie pri pohybe. Výhodou tohto algoritmu proti GA je veími dobrá
geometrická interpretovateínosť a tým aj pochopiteínosť činnosti algoritmu.
(Poznámka redakce: Algoritmus SOMA jsme si podrobněji představili v CW
10/2003.)









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.