Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Úvod
Bezkontextové L-systémy
Interpretácia
Príklady L-Systémov
Ručné farbenie L-Systémov
Stochastické L-systémy
Príklady
Stochastické
Kontextové
Parametrické
Vkladanie objektov
3D grafika
Využitie L-systémov pri modelovaní vývinu rastlín
Software
Literatúra



Ostatné kapitoly
Lindenmayerove systémy
Modelovanie ekosystémov
Dawkinsove biomorfy
Reakčno-difúzne modely
Difúzne ohraničené zhlukovanie
Voronoiove diagramy
Časticové systémy
Fibbonaciho čísla a zlatý rez


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Interpretácia

Geometrická interpretácia reťazcov, generovaných L-systémami

Vlastné L-systémy generujú len reťazce znakov. Bolo potrebné ich nejakým spôsobom interpretovať ako pravidlá pre rast, vetvenie, a pod.

Lindenmayerovi žiaci Ben Hesper a Pauline Hogeweg (Hogeweg & Hesper,1974) začali v roku 1970 skúmať, či sú L-systémy schopné generovať tiež obrazy rastlín. Reťazec, generujúci morfológiu rastliny, nazvali morfém. Svoje poznatky s generovaním 3584 umelých rastlín publikovali.

Lindenmayer zo začiatku považoval tieto experimenty za nedôstojné a svojich študentov od nich odradzoval. Obrázky používal len na svojich novoročenkách.

Matematik Alvy Ray Smith III (Smith,1984) bol naopak fascinovaný touto schopnosťou L-systémov. Mal k CA blízky vzťah, nakoľko v svojej dizertácii podal dôkaz možnosti zostrojiť univerzálny počítač v 1-D CA. Stal sa jedným z najslávnejších predstaviteľov počítačového umenia. Vo svojich dielach kombinoval rastliny generované L-systémami (používal pre ne termín graftály) s prvkami, ktoré vytváral pomocou klasických fraktálov.

V polovici 80-tych rokov Lindenmayer pripustil, že generovanie virtuálnych rastlín pomocou L-systémov vlastne pomáha odhaliť zákonitosti morfogenézy. Jeho nový spolupracovník - Przemyslaw Prusinkiewicz začal detailne študovať pravidlá, ktorými sa riadia procesy rastu, vetvenia, tvorby pupencov, listov a kvetov. Ukázalo sa, že pomocou L-systémov je možné začat od jedinej bunky, z ktorej postupne vyrastá viacbunková "embryonálna" štruktúra a nakoniec celá entita. Presvedčivým príkladom je porovnanie morfogenézy gametofytu (prvá vývojová fáza nižších rastlín), ktorý vytvoril Martin de Boer (Boer et al) pomocou L-systému s mikroskopickými snímkami prvých vývojových krokov zárodku papradí Microsorium lingueforme.

Jednou z možností geometrickej interpretácie reťazca vytvoreného L-systémom je tzv. 2D korytnačia grafika, známa z programovacieho jazyka LOGO (Papert,1980). Jednotlivé symboly reťazca sa pritom chápu ako príkazy pre riadenie pohybu korytnačky. Väčšina dostupných systémov používa nasledujúci základný súbor príkazov:

SymbolPopis
Fkorytnačka sa posunie dopredu o jednotkovú dĺžku, zanechávajúc po sebe stopu vo forme úsečky
fkorytnačka sa posunie dopredu o jednotkovú dĺžku bez toho, aby zanechávala po sebe stopu
+korytnačka sa na mieste otočí doľava o uhol α
-korytnačka sa na mieste otočí doprava o uhol α
|korytnačka zmení svoj smer na opačný

Uhol α je zadaná konštanta pre daný obrazec. Jednotková dĺžka sa obvykle skracuje v každom iteračnom kroku tak, aby sa základný rozmer výsledného obrazca nemenil. Východzí smer korytnačky je obvykle vodorovný zľava doprava.

Prednosťou korytnačej grafiky je jej flexibilita, umožňujúca (niekedy vďaka rôznym rozšíreniam, o ktorých bude ďalej reč) reprezentovať veľmi zložité štruktúry. Je však veľmi pomalá a náročná na pamäť. Preto sa niekedy používa omnoho rýchlejšia vektorová grafická interpretácia, kde každému symbolu v reťazci zodpovedá vektor v pravouhlom súradnicovom systéme. Ťažko sa v nej ale reprezentujú niektoré zložitejšie štruktúry. V (Alfonesca & Ortega,1997) je uvedený postup transformácie medzi uvedenými dvoma reprezentáciami, aby bolo možné kombinovať výhody obidvoch prístupov.

Rôzne programové reprezentácie :

Jednotlivé programy na generovanie L-systémov používajú trochu odlišné popisy / reprezentácie L-systémov. Nasledujúce odkazy Vás nasmerujú na formálny popis týchto reprezentácií, tak ako ich definujú tieto programy :

Hore
Kontakt: Marek Bundzel