[Haskell-cafe] Optimizing cellular automata evaluation (round 2)

Laurent Deniau laurent.deniau at cern.ch
Fri Nov 30 13:30:25 EST 2007


Justin Bailey wrote:
> On Nov 29, 2007 9:11 PM, Jon Harrop <jon at ffconsultancy.com> wrote:
>> Mathematica uses a single arbitrary-precision integer to represent each
>> generation of a 1D automaton. The rules to derive the next generation are
>> compiled into arithmetic operations on the integer. The offloads all such
>> work onto your big number library and, with GMP, will be as fast in Haskell
>> as most other languages.
> 
> Does GHC already use the GMP library for Integer? It looks that way
> but I'm not positive. That'd be ironic, if the higher-level Integer
> representation is faster than a low-level bitwise one ... Still, I
> suspect accessing individual "bits" might kill me if I'm not able to
> move most of the calculation into a call to the library.
> 
> Do you mind elaborating on how rules are compiled into 'arithmetic'
> operations or providing a link?

This would mean that you are able to extract a global rule from your 
local rules (plural if you include topological dependencies) which is 
not possible in the general case. Global behavior was characterized in 
term of information propagation (classification), which was far not 
enough to deduce a global rule. But I haven't look at the domain for a 
decade now ;-)

a+, ld.


More information about the Haskell-Cafe mailing list