# Xaos

Xaos provides more fine grained control over the selection of xforms on each iteration. It is expressed as a probability modifier for each xform in relation to every other xform.

The default state is for all elements to have a value of 1, which means that xaos is not used. When any element is changed to something other than 1, xaos is in effect.

Xaos specifies how likely an xform is to be chosen based on the previous xform that was chosen. Alternatively, this can also be expressed as the probability modifier of the next chosen xform based on the currently chosen one. These two methods of stating xaos are known as “from” and “to”.

The table simultaneously displays the xaos probabilities in both forms, with the xform names shown in the headers. The columns show them in “from” form, hence the “F” prefix. The rows show them in “to” form, hence the “T” prefix. They can be thought of as such:

#### From

Col N, Row M: If the last xform was at index N, adjust the probability weight of xform M by X amount on the next iteration.

#### To

Row M, Col N: If the current xform is at index M, adjust the probability weight of xform N by X amount on the next iteration.

Double clicking any cell will toggle it between 0 and 1.

Double clicking any row or column header will toggle all elements in that row or column between 0 and 1 and do a best fit for all columns.

Double clicking the headers with the right mouse button will just do the best fit without changing any values.

### Clear Xaos

Set all elements to 1, which disables xaos.

### Random Xaos

Set all elements to a random decimal value between 0 and 3, inclusive.

### Add Layer

Add a layer using the specified number of xforms.

A layer is defined as a new set of xforms whose xaos values are the following:

- From existing to existing: unchanged.
- From existing to new: 0.
- From new to existing: 0.
- From new to new: 1.