Casualità
Se una regola compare definita più volte ContextFree sceglierà in modo casuale quale eseguire, quindi per ogni comando Render si otterrà una figura potenzialmente diversa.
Se c'è un numero tra il nome della regola e la parentesi graffa aperta questo sarà utilizzato come peso altrimenti il valore di default è 1 per tutte
startshape FIGURA
rule FIGURA 3
{
SQUARE {}
}
rule FIGURA 1.5
{
CIRCLE {}
}
rule FIGURA 0.5
{
TRIANGLE {}
}
rule FIGURA 3
{
SQUARE {}
}
rule FIGURA 1.5
{
CIRCLE {}
}
rule FIGURA 0.5
{
TRIANGLE {}
}
In questo caso i pesi sono 3, 1.5 e 0.5 per un totale di 5. Il quadrato comparirà con probabilità 3/5 = 0.6 (... 0.3 per il cerchio e 0.1 per il triangolo)
Combinando ricorsione e casualità si ottengono delle figure molto interessanti...

Si tratta di due chiamate ricorsive alla regola FIGURERAND{} ma la FIGURA{} renderizzata può essere un cerchio o un quadrato
startshape FIGURERAND
rule FIGURERAND
{
FIGURA{}
FIGURERAND{ s 0.5 x -0.25 b 0.2 }
FIGURERAND{ s 0.5 x +0.25 b 0.2 }
}
rule FIGURA{ CIRCLE{} }
rule FIGURA{ SQUARE{} }
rule FIGURERAND
{
FIGURA{}
FIGURERAND{ s 0.5 x -0.25 b 0.2 }
FIGURERAND{ s 0.5 x +0.25 b 0.2 }
}
rule FIGURA{ CIRCLE{} }
rule FIGURA{ SQUARE{} }
Nota
Se una figura è interessante si può forzare ContextFree a generarla di nuovo utilizzando il tasto < nella barra degli strumenti.In pratica per ogni rendering viene generato un codice di tre lettere che può essere trascritto per essere riutilizzato in seguito oppure può essere recuperato subito tramite i tasti < >.