Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Produkčné pravidlá
Parametrizácia produkčných pravidiel
Objektovo orientované produkčné pravidlá
Bunkové kódovanie
Gramatický prístup v praxi



Ostatné kapitoly
Genetické algoritmy
Genetické programovanie
Umelá embryogenéza
Evolučný dizajn
Interaktívny evolučný výpočet
Ekogramatiky
Evolučný hardware


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


Produkčné pravidlá

Autorom myšlienky modelovania biologického vývinu pomocou gramatiky je Aristid Lindenmayer, ktorý vytvoril gramatické prepisovacie systémy nazývané L-systémy. Pozoroval, že komplexné prírodné objekty ako rastliny môžu byť popísané iteratívnym nahradzovaním jednoduchších častí komplexnejšími. Táto myšlienka je vyjadrená gramaticky pomocou produkčného pravidla. Reťazce generované L-systémami môžu byť interpretované ako morfologické alebo grafické opisy. Inými slovami, L-systémy predstavujú nepriame kódovanie, ktoré na výstupe poskytuje explicitné reťazce vývojových inštrukcií. Uvedený obrázok ukazuje ako jednoducho prepisovacie pravidlá produkujú stromovú štruktúru. Symboly produkované pravidlami opisujú smery rastu v strome: B znamená rast dopredu, - znamená zahni smer rastu doľava a + znamená zahni smer rastu doprava. L-systémy teda dokážu kódovať komplexné morfológie, používaním relatívne jednoduchých pravidiel.

Aplikácia produkčných pravidiel
Príklad gramatického prístupu

Tieto dve prepisovacie pravidlá opisujú rast stromovej štruktúry. Symbol A, znázornený ako hrubá čiara v strome, je len symbolom, ktorý je prepisovaný v tejto gramatike. Symbol B, ktorý ďalej neexpanduje, sa stáva tenkou vetvou a +/- determinujú relatívne uhly vetiev, expandujúcich zo symbolu A. Symbol [ predstavuje vetvenie. Tento príklad ilustruje ako môže malé množstvo jednoduchých generatívnych pravidiel kódovať veľkú štruktúru s množstvom komponentov.

Táto interpretácia nie je celkom v súlade s definíciou L-systému, upravený L-systém by vyzeral takto:
axiom = A
A = B[-A][+A]B

homomorphism
A = !(4)F!(1)
B = F

Hore
Kontakt: Marek Bundzel