Title: probability-based fuzzy cellular automata? Post by: kram1032 on March 12, 2011, 02:47:11 PM 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)y 1 0 | 0 => x(1-y) 1 1 | 1 => xy the probabilty, that and returns 0 would be (1-x)(1-y)+(1-x)*y+x*(1-y)=1-xy the more important probability, that and returns 1 simply is x*y If 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...1 (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...1) Now 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. |