A good description of Cellular Automata. https://www.youtube.com/watch?v=QxQBkgCdHGU
On Mon, Jan 19, 2015 at 5:23 AM, cogmission1 . <[email protected]> wrote: > Ok that helps. I guess I understand code better than English :) > > Anyway, very cool. > > David > > On Sun, Jan 18, 2015 at 5:46 PM, Matthew Taylor <[email protected]> wrote: > >> It's actually deceivingly simple. >> >> Each automata starts with a single bit on. Think of it as an >> ever-expanding table with rows and columns, and the first state is a >> 1x1 table with one on bit. The next row would have 3 columns, the next >> 5, then 7, etc. Each new row has 2 more elements than the last, new >> elements being added on the right and left of the structure. >> >> The "rule" for the automata defines it's behavior. For example, I've >> been talking about Rule 30, which I think is best explained by this >> image: >> >> http://mathworld.wolfram.com/images/eps-gif/ElementaryCARule030_1000.gif >> >> Each cell within a new row depends on the state of the three cells >> above it (top left, top center, top right). Those cells decide whether >> the current cell is "on" or not. >> >> There are 256 possible rules for this type of cellular automata, >> because there are 8 possible states to be evaluated (2^8 == 256). Some >> rules don't to anything interested at all, but a handful of them >> generate spectacularly interesting behavior (notably rule 30 [1], rule >> 90 [2], rule 110 [3] among others). >> >> If you're still confused, the algorithm I've written to generate >> automaton is under 100 lines of code: >> >> https://github.com/rhyolight/automatatron/blob/master/automatatron/engine.py >> >> [1] http://mathworld.wolfram.com/Rule30.html >> [2] http://mathworld.wolfram.com/Rule90.html >> [3] http://mathworld.wolfram.com/Rule110.html >> >> --------- >> Matt Taylor >> OS Community Flag-Bearer >> Numenta >> >> >> On Sun, Jan 18, 2015 at 3:11 PM, cogmission1 . >> <[email protected]> wrote: >> > I did, and I read it. I just don't get how the patterns start and >> progress, >> > how one line becomes another line, or how a rule is used to produce the >> next >> > pixel - or whatever the hell is happening. That article explains things >> as >> > if you are someone who's seen it before, which is useless if starting >> from >> > nothing. >> > >> > On Sun, Jan 18, 2015 at 4:51 PM, Matthew Taylor <[email protected]> >> wrote: >> >> >> >> David, didn't you see the document I linked in my first email? >> >> >> >> http://mathworld.wolfram.com/ElementaryCellularAutomaton.html >> >> >> >> The idea was popularized by Stephen Wolfram in "Celluar Automata and >> >> Complexity"[1] and the (presumptuously) titled "A New Kind of >> >> Science"[2] >> >> >> >> The intriguing thing about the ideas is that a very simple set of >> >> rules can generate very complex pseudo-random behavior that mimic some >> >> natural processes. Some cellular automata rules are actually used as >> >> random number generators. >> >> >> >> [1] >> >> >> http://www.amazon.com/Cellular-Automata-Complexity-Collected-1-2150-/dp/0201626640/ref=sr_1_4?s=books&ie=UTF8&qid=1421621337&sr=1-4&keywords=stephen+wolfram >> >> [2] >> >> >> http://www.amazon.com/New-Kind-Science-Stephen-Wolfram/dp/1579550088/ref=sr_1_1?s=books&ie=UTF8&qid=1421621337&sr=1-1&keywords=stephen+wolfram&pebp=1421621340100&peasin=1579550088 >> >> >> >> --------- >> >> Matt Taylor >> >> OS Community Flag-Bearer >> >> Numenta >> >> >> >> >> >> On Sun, Jan 18, 2015 at 2:22 PM, cogmission1 . >> >> <[email protected]> wrote: >> >> > *knock, knock* >> >> > >> >> > uh oh, the Nerd Police are at my door shouting, "Mr. Ray, your geek >> card >> >> > has >> >> > been revoked!" >> >> > >> >> > On Sun, Jan 18, 2015 at 4:19 PM, cogmission1 . >> >> > <[email protected]> >> >> > wrote: >> >> >> >> >> >> Uhm... can you pleez esplain (for us dummies)? I don't get the >> >> >> progression >> >> >> or how the rules are used and what they result in? >> >> >> >> >> >> On Sun, Jan 18, 2015 at 3:31 PM, Matthew Taylor <[email protected]> >> >> >> wrote: >> >> >>> >> >> >>> If anyone wants to play around with it, I've created a python >> project >> >> >>> that can create all elementary cellular automaton easily. >> >> >>> >> >> >>> https://github.com/rhyolight/automatatron >> >> >>> >> >> >>> It's truly amazing to me that only about 80 lines of python code >> can >> >> >>> create the whole library of ECAs. It's a testament to the idea >> that a >> >> >>> very simple ruleset can create extraordinarily complex behavior. >> >> >>> >> >> >>> You can currently use a handler function to get iteration output >> rows, >> >> >>> but I'm going to have to add the ability to stream a subset of >> columns >> >> >>> from a running automata so specific columns can be pushed into >> NuPIC >> >> >>> instead of the entire output (as soon as I find time). >> >> >>> >> >> >>> --------- >> >> >>> Matt Taylor >> >> >>> OS Community Flag-Bearer >> >> >>> Numenta >> >> >>> >> >> >>> >> >> >>> On Sun, Jan 18, 2015 at 2:18 AM, Fergal Byrne >> >> >>> <[email protected]> wrote: >> >> >>> > Hi Matthew, >> >> >>> > >> >> >>> > This would be a great demo (Wolfram's CA stuff appeals to most >> of us >> >> >>> > nerds). >> >> >>> > I predict that if you feed a fixed set of bits into NuPIC, the TM >> >> >>> > will >> >> >>> > learn >> >> >>> > the rule you've picked and will be able to predict the next >> pattern >> >> >>> > for >> >> >>> > all >> >> >>> > but the edge bits (which will be partly random as far as it can >> >> >>> > tell). >> >> >>> > I'd >> >> >>> > also predict that a single-order TM (one cell per column) will be >> >> >>> > also >> >> >>> > able >> >> >>> > to do this learning. >> >> >>> > >> >> >>> > These two predictions come directly from the CLA theory (Subutai >> can >> >> >>> > verify >> >> >>> > this), so it could be a good integration test for new >> >> >>> > implementations >> >> >>> > (assuming NuPIC matches my predictions, of course!). >> >> >>> > >> >> >>> > >> >> >>> > Regards, >> >> >>> > >> >> >>> > Fergal Byrne >> >> >>> > >> >> >>> > On Sat, Jan 17, 2015 at 10:23 PM, Jeff Fohl <[email protected]> >> wrote: >> >> >>> >> >> >> >>> >> I used to be a bit of a cellular automata nerd. I would be >> >> >>> >> interested >> >> >>> >> in >> >> >>> >> seeing what you discover. You could also possibly just feed in >> the >> >> >>> >> values >> >> >>> >> for the center column of rule 30 - though that has been shown >> to be >> >> >>> >> highly >> >> >>> >> random, so I am not sure what the utility of it would be? >> >> >>> >> >> >> >>> >> - Jeff >> >> >>> >> >> >> >>> >> On Sat, Jan 17, 2015 at 1:59 PM, Matthew Taylor < >> [email protected]> >> >> >>> >> wrote: >> >> >>> >>> >> >> >>> >>> I've always been fascinated by elementary cellular automata >> [1]. >> >> >>> >>> Some >> >> >>> >>> rules produce interesting pseudo-random patterns with repeating >> >> >>> >>> features. I think it would be interesting to see if NuPIC can >> >> >>> >>> decipher >> >> >>> >>> these features from the randomly generated output of the >> automaton >> >> >>> >>> and >> >> >>> >>> predict the continuation of partially-developed features. I >> also >> >> >>> >>> wonder what the anomaly scores would say after NuPIC has seen >> >> >>> >>> several >> >> >>> >>> thousand rows of data. >> >> >>> >>> >> >> >>> >>> I've put together a *very* simple program [2] to generate the >> >> >>> >>> output >> >> >>> >>> of Rule 30 [3], but I did it in JavaScript out of habit. I >> really >> >> >>> >>> need >> >> >>> >>> it implemented in Python to get decent integration with NuPIC. >> >> >>> >>> >> >> >>> >>> To feed cellular automaton data into NuPIC, I assume I'll need >> to >> >> >>> >>> choose some number of adjacent columns within the automatons' >> >> >>> >>> output >> >> >>> >>> (maybe 10 fields?). Each field would be simply binary, and I've >> >> >>> >>> got >> >> >>> >>> some code in place now that can extract the columns and print >> them >> >> >>> >>> to >> >> >>> >>> the console [4]. >> >> >>> >>> >> >> >>> >>> Is anyone else interested in this crackpot idea? I have no idea >> >> >>> >>> what >> >> >>> >>> any applications might be, I'm just fiddling around. Let me >> know >> >> >>> >>> if >> >> >>> >>> you're interested and we can discuss. >> >> >>> >>> >> >> >>> >>> [1] >> http://mathworld.wolfram.com/ElementaryCellularAutomaton.html >> >> >>> >>> [2] https://github.com/rhyolight/cellular-automata-engine >> >> >>> >>> [3] http://en.wikipedia.org/wiki/Rule_30 >> >> >>> >>> [4] http://youtu.be/TT2-aXrmJ6k >> >> >>> >>> >> >> >>> >>> Regards, >> >> >>> >>> --------- >> >> >>> >>> Matt Taylor >> >> >>> >>> OS Community Flag-Bearer >> >> >>> >>> Numenta >> >> >>> >>> >> >> >>> >> >> >> >>> > >> >> >>> > >> >> >>> > >> >> >>> > -- >> >> >>> > >> >> >>> > Fergal Byrne, Brenter IT >> >> >>> > >> >> >>> > http://inbits.com - Better Living through Thoughtful Technology >> >> >>> > http://ie.linkedin.com/in/fergbyrne/ - >> >> >>> > https://github.com/fergalbyrne >> >> >>> > >> >> >>> > Founder of Clortex: HTM in Clojure - >> >> >>> > https://github.com/nupic-community/clortex >> >> >>> > >> >> >>> > Author, Real Machine Intelligence with Clortex and NuPIC >> >> >>> > Read for free or buy the book at >> >> >>> > https://leanpub.com/realsmartmachines >> >> >>> > >> >> >>> > Speaking on Clortex and HTM/CLA at euroClojure Krakow, June 2014: >> >> >>> > http://euroclojure.com/2014/ >> >> >>> > and at LambdaJam Chicago, July 2014: http://www.lambdajam.com >> >> >>> > >> >> >>> > e:[email protected] t:+353 83 4214179 >> >> >>> > Join the quest for Machine Intelligence at http://numenta.org >> >> >>> > Formerly of Adnet [email protected] http://www.adnet.ie >> >> >>> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> We find it hard to hear what another is saying because of how loudly >> >> >> "who >> >> >> one is", speaks... >> >> > >> >> > >> >> > >> >> > >> >> > -- >> >> > We find it hard to hear what another is saying because of how loudly >> >> > "who >> >> > one is", speaks... >> >> >> > >> > >> > >> > -- >> > We find it hard to hear what another is saying because of how loudly >> "who >> > one is", speaks... >> >> > > > -- > *We find it hard to hear what another is saying because of how loudly "who > one is", speaks...* >
