[Haskell-beginners] Haskell Bin Tree Cellular Automata.

Sourabh sourabh.s.joshi at gmail.com
Thu Jun 4 23:31:07 UTC 2015


Wow, it runs in 0.44 seconds now. This is incredible! Can you explain what
just happened here?

On Thu, Jun 4, 2015 at 4:28 PM, Henk-Jan van Tuyl <hjgtuyl at chello.nl> wrote:

> On Fri, 05 Jun 2015 00:50:25 +0200, Sourabh <sourabh.s.joshi at gmail.com>
> wrote:
>
>  I figured out that I am constantly re-computing the trees, and decided to
>> try and memoize the results. Here is my memoization attempt:
>>
>> https://github.com/cbrghostrider/Hacking/blob/master/HackerRank/FunctionalProgramming/Recursion/cellular_automata_memoize_attempt.hs
>>
>> Basically I have changed the simulateCellularAutomata function, which
>> computed the new trees, into a list (automataTrees - line 60).  I was
>> expecting the results to be memoized, but the runtime is unchanged.
>>
>
> At a glance: maybe if you change the line
>   automataTrees starttree rule = (starttree) : [ simulateAutomataStep
> Nothing rule ((automataTrees starttree rule) !! (n-1)) | n <- [1..]]
> to
>   automataTrees starttree rule = iterate (simulateAutomataStep Nothing
> rule) starttree
> it will run faster. The function 'iterate' can be found in Prelude and
> Data.List.
>
> Regards,
> Henk-Jan van Tuyl
>
>
> --
> Folding at home
> What if you could share your unused computer power to help find a cure? In
> just 5 minutes you can join the world's biggest networked computer and get
> us closer sooner. Watch the video.
> http://folding.stanford.edu/
>
>
> http://Van.Tuyl.eu/
> http://members.chello.nl/hjgtuyl/tourdemonad.html
> Haskell programming
> --
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150604/8e388574/attachment.html>


More information about the Beginners mailing list