Menu

L-system

erana

Lindenmayer systems:

I am going to talk how to use this library for L-system propgation, you have to know what L-systems are to understand this page. See http://en.wikipedia.org/wiki/L-system for an introduction and more.

Here's the classical L-system :

leaf and tree L-systems

How we can do L-systems:

The deque inside the lindemayer_system.* files can be used for eg a bubble sort algorithm which propagates by sorting numbers or strings. If you use the numbers of a semi-sorted list of numbers you can elaborate on fitness for each energy of the numbers (energy of a matrix.)
By using a GA (genetic algorithm) this is also correct.

The L-system such as the leaf can be made with the lindemayer_stack and/or deque to functionally operate on e,g, a visual (such as cairo or SDL.)
With a Turtle Graphics package we can draw trees such as in the pictures above, turtle graphics are a 2D Visual solution to drawing L-systems. Note that 3D can be drawn using randomised axioms which draw a leaf or tree that has small deviations of the plant's structure. The bend is just another (random) axiom, thus we can also picture gnarly trees.
A gnarly tree is called a fractal, here's a list of systems that are fractals :
https://en.wikipedia.org/wiki/List_of_fractals_by_Hausdorff_dimension

Again, how we can do L-systems:

. override the lindemayer_util.h classes to make a transform() method in the lindemayer_. for using an approach to parsing, e.g. AI or Adaptive systems.

. You can make a superclass for XX or YY with template parameters to provide for a functor (lindemayer_axiom subclass of lindemayer_system class) which occurs in the chaotic process to run an L-system. The transform() method iterates over the axioms (axioms might need to be re-sorted while running.) The lindemayer_leaf.* files describe a simple axiomatic system by running on a vector of axioms called _axioms.

Binary override :

With the substitution of the above XX and YY classes, the first linked in your binary is executed in real-time on your box. This means your linker overrides with the first symbols found. If you use eg. gcc or ld with -L. -lc -lm libraries, lm is parsed first in the binary and thus the first executed real-time code.

The Parser:

There's an orphan fork process list which can be called to make a parser parse. The thing is that the L-system provides for a super system which can strengthen the compile time features of a parser. The L-system can be combined with other AI or Complex systems so it can learn instead of just iterate. Note that an L-system can attract such as the Lorentz attractor that display a sink and source (deque push_front and deque push_back) and that the numbers generated (e.g. from a string to integer/float, such as the libc atof and atoi functions)
can be patternised and give more or less entropy.

Local maxima/minima can be seen as tree branches where e.g. the longest ot highest reaching branch is the global maximum/minimum (cfr. neural network theory.)

Plant technology:

See http://algorithmicbotany.org/papers/abop/abop.pdf for a book about L-systems in nature.


Related

Wiki: Home

MongoDB Logo MongoDB