I played around with fuzzy logics and noticed, how they could be applied on cellular automata. Now I wonder wether fuzzy starting conditions would give boring results of uncertainity or if the usual patterns still show up.

To translate generic boolean logics into probabilty-based fuzzy ones, I *think*, you gotta take the boolean truth table and translate it as follows:

x is the probabilty of a boolean operation to return 1.

1-x is the probability of a boolean operation to not return 1, e.g. to return not 1 which happens to be 0.

so if you have the truth-table of and, for instance:

x y | and

0 0 | 0 =>

(1-x)(1-y)0 1 | 0 =>

(1-x)y1 0 | 0 =>

x(1-y)1 1 | 1 =>

xythe probabilty, that and returns 0 would be

(1-x)(1-y)+

(1-x)*y+

x*(1-y)=

1-xythe more important probability, that and returns 1 simply is

x*yIf you compare those results, you can immediately see, that the results are negations of each other.

the list of all possible two-variable operations of probabilities of boolean variables are:

0(x,y) = 0

NOr(x,y) = (1-x)(1-y)

NotYImpliesX(x,y) = (1-x)y

NotX(x,y) = 1-x

NotXImpliesY(x,y) = x(1-y)

NotY(x,y) = 1-y

XOr(x,y) = x+y-2xy

NAnd(x,y) = 1-xy

And(x,y) = xy

Equivalent(x,y) = 1-x-y+2xy

Y(x,y) = y

XImpliesY(x,y) = 1-y+xy

X(x,y) = x

YImpliesX(x,y) = 1-x+xy

Or(x,y) = x+y-xy

1(x,y) = 1

Obviously, some of those are trivial but this contains all possible 2 variable booleans.

Here is a full plot-list for x,y from 0 to 1, which obviously is the important field of solutions, as probabilities beyond 0 or 1 aren't quite a definied case...

http://www.wolframalpha.com/input/?i=plot+0%2C+%281-x%29%281-y%29%2C+%281-x%29*y%2C+1-x%2C+x*%281-y%29%2C+1-y%2C+x%2By-2*x*y%2C1-x*y%2Cx*y%2C1-x-y%2B2*x*y%2Cy%2C1-y%2Bx*y%2Cx%2C1-x%2Bx*y%2Cx%2By-x*y%2C1%2Cx%3D0...1%2Cy%3D0...1Now the list of 3-variable Booleans contains 256 possible operations, most of which are unnamed and many of which are trivial copies of the 1- and 2-variable case.

However, it shouldn't be too hard to translate a three-to-one-CA into a probability-based approach...

00011110, rule 30, would be

x y z | 30

0 0 0 | 0

0 0 1 | 1 => (1-x)(1-y)z

0 1 0 | 1 => (1-x)y(1-z)

0 1 1 | 1 => (1-x)yz

1 0 0 | 1 => x(1-y)(1-z)

1 0 1 | 0

1 1 0 | 0

1 1 1 | 0

_____ _______________ (Summing it up)

2xyz-2xy-2xz+x-yz+y+z

=

(2x-1)(y-1)z-2xy+x+y, (simplifying)

which returns 0 or 1 correctly for "pure probabilities", e.g. 0/1 Input and else gives the probability of returning 1 as above.

Now I wonder, wether this ends in an uninteresting behaviour or gives a continuous version of the nice odd pattern rule 30 usually results in.