# Stochastic rule

Similarly to conditional rules, the CGA shape grammar permits stochastic rules, in other words, creating variation using randomness.

``````PredecessorShape -->
percentage% : Successor1
percentage% : Successor2
...
else : SuccessorN``````

The sum of all percentages must not be greater than 100.

#### Example 1

``````Lot -->
30%  : Lot("residential")
20%  : Lot("retail")
else : Lot("industrial")``````

In this example, there is a 30 percent chance that the first successor is chosen and a new Lot shape with parameter "residential" is generated, a 20 percent chance for the second successor, and a 50 percent chance for the last successor to be chosen.

All random numbers, and also the choice of the percentages above, depend on the current shape's seed (the seedian shape attribute).

#### Example 2

Again, condition blocks can be nested:

``````Lot -->
30%  :
50%  : Lot("residential")
else : NIL
20%  : Lot("retail")
else : Lot("industrial")``````

##### Note:

A condition block must always be finished with an else: statement and percentages and successors must not be mixed up.