L-système
Un L-système ou le système de Lindenmayer de est une grammaire formelle (un ensemble de de règles et de symboles) le plus célèbre employée pour modeler les processus de croissance du développement de l'usine , mais également capable modeler la morphologie d'une série d'organizations. des L-systèmes peuvent également être employés pour produire des fractales autosimilaires telles que les L-systèmes des systèmes de fonction réitérés par ont été présentés et développés dans le 1968 par le biologiste théorique hongrois et le botaniste de l'université de d'Utrecht , Aristid Lindenmayer (&ndash de 1925 ; 1989 ).
Origines
En tant que biologiste, Lindenmayer a fonctionné avec de la levure et les mycètes filamenteux et a étudié les modèles de croissance de divers types d'algues, telles que bleu/vert catenula '' le '' de bactéries d'Anabaena. À l'origine les L-systèmes ont été conçus pour fournir une description formelle du développement de telles organizations multicellulaires simples, et pour illustrer les rapports de voisinage entre les cellules d'usine. Plus tard, ce système a été prolongé pour décrire de plus hautes usines et des structures de embranchement complexes.
structure de L-système
La nature récursive des règles de L-système mène à l'Individu-similitude et de ce fait à la fractale - comme les formes il est facile décrire qu'avec un L-système. Il est pareillement facile définir des modèles d'usine et le normal-regard des formes organiques, comme en augmentant le niveau de récursion la forme lentement « se développe » et devient plus complexe. Les systèmes de Lindenmayer sont également populaires dans la génération de la vie artificielle .les grammaires de L-système sont très semblables à la grammaire de Semi-Thue de (voir la hiérarchie de Chomsky de ). des L-systèmes sont maintenant généralement connus comme paramétrique L systèmes, définis comme tuple G de
= { V , S , ω, P },
là où
le V (l'alphabet de
) est un ensemble d'éléments contenants de symboles qui peuvent être remplacés (variables de )
Le S est un ensemble d'éléments contenants de symboles qui demeurent fixes (constantes de )
le ω (début de , axiome de ou initiateur de de ) est une corde des symboles du V définissant l'état initial du système
Le P est un ensemble de règles de production de 'ou le de productions de définissant les variables de manière peut être remplacé par des combinaisons des constantes et d'autres variables. Une production se compose de deux cordes - le de prédécesseur de et le de successeur de .
Les règles de la grammaire de L-système sont appliquées itérativement à partir de l'état initial. Autant de règles en tant que possible sont appliquées simultanément, par itération ; c'est le dispositif de distinction entre un L-système et le langage formel produits par une grammaire . Si les règles de production devaient être appliquées seulement un par un, on produirait tout simplement d'une langue, plutôt qu'un L-système. Ainsi, les L-systèmes sont les sous-ensembles stricts de langues.
Un L-système est sans contexte de si chaque règle de production se réfère seulement à un symbole individuel et pas à ses voisins. Des L-systèmes sans contexte sont ainsi spécifiés par une grammaire de préfixe de , ou une grammaire régulière .
Si une règle dépend non seulement d'un symbole simple mais également de ses voisins, ce se nomme un L-système sensible au contexte de de .
S'il y a exactement une production pour chaque symbole, alors le L-système serait le déterministe de (un L-système sans contexte déterministe s'appelle populairement un de D0L-system). S'il y a plusieurs, et chacun est choisi avec une certaine probabilité pendant chaque itération, alors c'est un L-système stochastique de de .
Using des L-systèmes pour se produire les images graphiques exige que les symboles dans le modèle se rapportent à des éléments d'un schéma sur l'écran d'ordinateur. Par exemple, le du programme FractInt (voir des liens externes ci-dessous) emploie les graphiques de tortue (semblable à ceux dans le langage de programmation de logo ) pour produire des images d'écran. Il interprète chacun constant dans un modèle de L-système comme commande de tortue.
Exemples des L-systèmes
Exemple 1 : Algues
Le L-système original de Lindenmayer pour modeler la croissance des algues. variables de : Constantes d'un B : aucun début de
: Un de
ordonne : (→ ab d'A), (→ de B A)
ce qui produit : n de
= 0 : Un n de
= 1 : n de
d'ab = 2 : n de
d'aba = 3 : n de
d'ABAAB = 4 : n de
d'ABAABABA = 5 : n de
d'ABAABABAABAAB = 6 : n de
d'ABAABABAABAABABAABABA = 7 : ABAABABAABAABABAABABAABAABABAABAAB
Exemple 2 : Nombres de Fibonacci
Si nous définissons la grammaire simple suivante : variables de : Constantes d'un B : aucun début de
: Un de
ordonne : (→ d'A B), (→ ab de B)
alors ce L-système produit l'ordre suivant des cordes : n de
= 0 : Un n de
= 1 : n B = 2 : n de
d'ab = 3 : n BAB = 4 : n de
d'ABBAB = 5 : n BABABBAB = 6 : n de
d'ABBABBABABBAB = 7 : BABABBABABBABBABABBAB
Ce sont les images de miroir des cordes du premier exemple, avec A et B échangés. De nouveau, chaque corde est la concaténation des deux précédents, mais dans l'ordre renversé.
En l'un ou l'autre exemple, si nous comptons la longueur de chaque corde, nous obtenons l'ordre célèbre de Fibonacci de des nombres :
1 de 1 2 3 5 8 13 21 34 55 89…
Pour n>0, si nous comptons la position de Th du k de l'extrémité invariable de la corde (est parti dans l'exemple 1 ou droit dans l'exemple 2), la valeur est déterminée près si un multiple du moyen d'or fait partie de l'intervalle (k-1, k). Le rapport d'A à B converge de même au moyen d'or.
Cet exemple donne le même résultat (en termes de longueur de chaque corde, pas ordre de comme et les BS) si le de règle (→ de B ab) est remplacé par le (BA de → de B) .
Exemple 3 : La poussière de chantre de
variables de : Constantes d'un B : aucun début de: Le de
d'A {chaîne de caractères commençants} ordonne : (→ ABA D'A), (→ BBB DE B)
Laisser le " moyen du A ; dessiner le forward" ; et " moyen du B ; déplacer le forward" ;.
Ceci produit la fractale du chantre célèbre réglé sur une vraie ligne droite le R .
Exemple 4 : Courbe de Koch
Une variante de la courbe de Koch de qui emploie seulement des right-angles. variables de : Constantes F : + &minus ; début de
: Le F ordonne : (→ F+F&minus de F ; F&minus ; F+F)
Ici, le F signifie le " ; forward" d'aspiration ; , le + le signifie le " ; tourner 90°" gauche ; , et - signifie le " ; tourner 90°" droit ; (voir les graphiques de tortue ). n de
= 0 :
n deF
= 1 :
n deF+F-F-F+F
= 2 :
n deF+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F
= 3 :
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+ F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+ F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F
Exemple 5 : Carrelages de Penrose
Les images suivantes ont été produites par un L-système. Elles sont connexes et très semblables aux carrelages de Penrose de inventés par le Roger Penrose .
Comme un L-système ces carrelages s'appellent les losanges de Penrose de et les tuiles de Penrose de . Les images ci-dessus ont été produites pour le n = 6 comme L-système. Si nous superposons correctement des tuiles de Penrose pendant qu'un L-système nous obtiennent le prochain carrelage :
autrement nous obtenons les modèles qui ne couvrent pas une surface infinie complètement :
Exemple 6 : Triangle de Sierpinski
La triangle de Sierpinski de tracée using un L-système. variables de : Constantes d'un B : + &minus ; début de
: Un de
ordonne : (→ B&minus d'A ; A&minus ; B), (angle → de B A+B+A) : 60°
Ici, A et B signifient les deux le " ; forward" d'aspiration ; , + " de moyens ; tourner à gauche par l'angle" ; , et &minus ; signifie le " ; tourner à droite par l'angle" ; (voir les graphiques de tortue ). L'angle change le signe à chaque itération de sorte que la base des formes triangulaires soient toujours au fond (ils seraient dans le dessus et le bas, alternativement, autrement).
align=" de
Evolution pour le n = 2, n = 4, n = 6, n = 9
Il y a une autre manière de tracer la triangle de Sierpinski de using un L-système. variables de
: Constantes F G : + &minus ; début de
: F&minus ; G&minus ; Le G ordonne : (→ F&minus de F ; G+F+G&minus ; F), (de → de G) angle du
GG : 120°
F et G tous les deux signifient le " ; forward" d'aspiration ; , + " de moyens ; tourner à gauche par l'angle" ; , et &minus ; signifie le " ; tourner à droite par l'angle" ;.
Exemple 7 : Courbe de dragon
La courbe de dragon de dessinée using un L-système. variables de : Constantes DE X/Y F : + &minus ; début de
: Le FX ordonne : (→ X+YF+ de X), (→ de Y - FX-Y) angle de
: 90°
Ici, F signifie le " ; forward" d'aspiration ; , - " de moyens ; tourner 90°" gauche ; , et + " de moyens ; tourner 90°" droit ;. X et Y ne correspondent à aucune action de schéma et sont seulement employés pour commander l'évolution de la courbe.
align=" de
courbe de >Dragon pour le n = 10
Exemple 8 : Usine de fractale
variables de : X constantes F : + &minus ; début de
: Le du
X ordonne : (→ F-+X de X] +F-X), (→ FF de F) angle de
: 25°
Ici, F signifie le " ; forward" d'aspiration ; , - " de moyens ; tourner 25º" gauche ; , et + " de moyens ; tourner 25º" droit ;. X ne correspond à aucune action de schéma et est employé pour commander l'évolution de la courbe. le correspond à sauver les valeurs courantes pour la position et l'angle, qui sont reconstituées quand le ''' correspondant est exécuté.
align=" de
Fractal pour le n = 6
Exemple 9 : L-système modifié de Koch
Un chiffre de fractale dessiné présentant un changement périodique d'angle signent dedans l'itération du L-système habituel de la courbe de Koch de .
Problèmes non résolus
Il y a beaucoup de problèmes non résolus impliquant des études des L-systèmes. Par exemple :Caractérisation de
tous les L-systèmes sans contexte déterministes qui sont localement catenative. (La solution complète d'A est connue seulement dans le cas où il y a seulement deux variables).
donné une structure, trouvent un L-système qui peut produire cette structure.
Types de L-systèmes
L-systèmes sur la vraie ligne R de :Système de Prouhet-Thue-Morse de
Les L-systèmes bien connus sur un plat R 2 sont :
Courbes servantes à blanc (courbe , les courbes , l'église de Dekking, Kolams de Hilbert de de Peano de ,
courbes servantes à blanc médianes (courbe de Lévy C de , courbe de dragon de Harter-Heighway de , terdragon de Davis-Knuth),
carrelages (carrelage de sphinx, carrelage de Penrose de ),
arbres, usines, et semblable.
Livres
Przemyslaw Prusinkiewicz - la beauté algorithmique de la version de pdf des usines disponible ici pour libre
Voir également
Graftal
Fractale
Système de fonction réitéré par
Courbe de Hilbert de
.
| Random links: | Mkdir | Ventilateur de LearAvia Lear | Chaîne de maman | Castelo de Paiva | L-sistema |