[HN Gopher] The Recursive Universe
       ___________________________________________________________________
        
       The Recursive Universe
        
       Author : todsacerdoti
       Score  : 174 points
       Date   : 2020-08-30 13:26 UTC (9 hours ago)
        
 (HTM) web link (www.amandaghassaei.com)
 (TXT) w3m dump (www.amandaghassaei.com)
        
       | leafboi wrote:
       | I try to design my programs like the game of life. I start off
       | with some primitive axioms and build all the high level functions
       | out of a minimal set of primitives.
        
         | aj7 wrote:
         | Are there a lot of parentheses?
        
       | OscarCunningham wrote:
       | Adam P. Goucher recently created metacell more advanced than the
       | one described in the article, for which the Dead state is
       | literally empty space. When a new metacell is born it is
       | constructed by one of its neighbours by colliding gliders.
       | 
       | https://conwaylife.com/wiki/0E0P_metacell
        
       | mensetmanusman wrote:
       | So fun. I like to imagine the workings of the universe as an
       | infinite dimensional game of life. Not sure how we will ever wrap
       | our minds around the complexity.
        
       | platz wrote:
       | thought this was going to follow up with a plug to stephen
       | wolfram
        
       | aj7 wrote:
       | Some rich person should offer a $1M prize for a single useful
       | application, or example in nature or science, of cellular
       | automata.
        
         | Aerroon wrote:
         | Aren't cellular automata used in video games? One of the
         | simplest ways of doing fluid simulation in 2D works on similar
         | principles. Eg http://www.jgallant.com/2d-liquid-simulator-
         | with-cellular-au...
         | 
         | A lot of simulations will likely be done in a manner that's
         | similar to CAs. Pixel shaders run once per pixel, which make
         | this type of abstraction quite attractive, since you can take
         | advantage of the massive parallelism of GPUs.
        
         | mensetmanusman wrote:
         | Agree, like a Clay mathematics prize.
         | 
         | The current answer is amazing screen saver, but part of me
         | thinks the answer is in microbots that are super simple to
         | build and have limited instructions, but could be placed in a
         | configuration to do something useful (like build more?)
        
           | algoholix wrote:
           | You should really take a look at the paper "Computation and
           | Pattern Formation by Swarm Networks with Brownian Motion" or,
           | more generally, any of the papers by Teijiro Isokawa and
           | Ferdinand Peper. What they present is really close to (a
           | theoretical version of) the microbots you're talking about.
           | 
           | I even wrote a report and presentation on those papers for
           | university, but sadly they're in German.
        
         | gnulinux wrote:
         | You mean like procedural generation? I used cellular automata
         | with custom rules to generate procedural generated universes
         | for a video game I worked on.
        
         | asimpletune wrote:
         | I don't see why people are downvoting. I'm not pessimistic, I
         | just don't understand for myself the real life applications, so
         | please educate instead of downvoting.
         | 
         | That said, procedural generation is a great example thanks.
         | 
         | Also, whatever happened of Wolfram's "A New Kind of Science",
         | or whatever it was called. He literally wrote a gigantic book
         | on sampling the computational universe, but I'm not really
         | aware of it being used, probably because I'm ignorant.
        
           | taliesinb wrote:
           | Disclosure: I worked on Mathematica for ~8 years.
           | 
           | I think the value of Stephen's big book is that served as a
           | kind of manifesto to "take computation seriously". By that I
           | mean: to think about computations, in the _abstract_ , as a
           | kind of new mathematics about which we know almost nothing,
           | and about which our naive intuitions from other domains is
           | almost totally inapplicable. It is an injunction to explore
           | the "computational universe", in other words, the "universe
           | of simple computational systems", where CAs live as one of
           | several kinds of maximally simple form of computation (which
           | Wolfram made some attempt to categorize and explore).
           | 
           | By analogy, think about the development of algebra. It didn't
           | come naturally! Yet Algebra is one of the most natural ideas
           | in abstract mathematics, incredibly simple and incredibly
           | powerful, lying as a rosetta stone connecting so many other
           | topics in mathematics. But people didn't immediately accept
           | or describe it; it took many hundreds of years to crystalize
           | and mature as a topic. It's a very old piece of the operating
           | system of mathematics that underwent a lot of hacking and
           | refactoring.
           | 
           | Wolfram proposes we think about computational systems in the
           | same way, as a nascent field that needs exploration, mapping,
           | the irrigation of young minds and new ideas. It may be some
           | time before it yields a harvest. We shouldn't expect it to
           | immediately revolutionize everything.
           | 
           | Even after Turing, computational systems existed as a kind of
           | diaspora in mathematics, having sat unrecognized in all kinds
           | of places, never having had a sort of independent state in
           | which they are not considered as an aspect of something else,
           | as somehow alien and unworthy of respect because of their
           | confusing aspects. Largely, there were two reasons they were
           | treated so shoddily:
           | 
           | 1. they required computers (and good computer tools) to
           | actually explore, since they produced complex and irreducible
           | computations 2. they resisted any kind of analysis by prior
           | mathematics
           | 
           | In other words, _we_ were not ready to really probe them
           | until a few decades ago, and even _now_ our software is not
           | well suited to explore them (Mathematica remains the best
           | tool for the job, though I anticipate Julia will surpass it
           | rapidly). Furthermore, traditional mathematical fields have
           | not adapted to the presence of computation very gracefully.
           | 
           | I guess I would summarize: NKS is an imperfect book and
           | Stephen an imperfect herald of the ideas within. But he was
           | the first person to really articulate those ideas crisply and
           | push them hard into the imagination, and I'm very glad he
           | did. The hand he overplayed was the application to the
           | natural world -- I think that will take longer to pay off
           | than he predicted.
        
           | gnulinux wrote:
           | I mean please don't take this answer the wrong way, but this
           | is like saying "Some rich person should give away $1M for
           | finding an application of complex numbers". It feels
           | condescending. If your area deals with cellular automata e.g.
           | programming languages, computer simulation, procedural
           | generation etc applications of cellular automata are numerous
           | and well understood. It's niche sure, but it's not like this
           | entertaining thing that strangely has no practical
           | applications. I downvoted GP because of this, since it
           | _assumes_ it has no applications and offers a rich person to
           | help us out to compensate for that.
        
         | joycian wrote:
         | https://en.m.wikipedia.org/wiki/Lattice_gas_automaton
        
           | aj7 wrote:
           | I appreciate this response. However the "cellular" is
           | represented by the minimal computational data structure to
           | simulate the gas. There is no automata. Ordinary physics,
           | adhered to as closely as possible, and not phantasmagoric
           | creation and annihilation rules, are used to calculate the
           | next state.
        
             | varjag wrote:
             | The automation is cellular, discrete (binary) and is driven
             | by a set of activation rules. If that's your ordinary
             | physics we had very different physics books.
        
       | leoc wrote:
       | Recursive universes don't get interesting until you start doing
       | system calls:
       | 
       | > So when an inevitable bug occurred in that super-duper LIFE
       | machine, the intelligent entities in the simulation would have
       | suddenly been presented with a window to the metaphysics which
       | determined their own existence. They would have a clue to how
       | they were really implemented. In that case, Fredkin concluded,
       | they entities might accurately conclude that they were part of a
       | giant simulation and might want to pray to their implementors by
       | arranging themselves in recognisable patterns, asking in readable
       | code for the implementors to be given clues as to what _they 're_
       | like.
       | 
       | (Levy's _Hackers_ https://www.worldcat.org/title/hackers-heroes-
       | of-the-compute... ofc, pp. 148-149 in Penguin, p. 120 in
       | O'Reilly:
       | https://books.google.ie/books?id=JwKHDwAAQBAJ&pg=PA120&lpg=P... )
       | 
       | It's unfeasible to keep scanning the whole of a simulated world
       | to try to discern anything that might be intended to pass a
       | message of course, so making a "real" or at least a normal system
       | call involves using a pre-ordained area of the simulated space
       | which is set aside as a buffer, altering the contents of that
       | area according to some pre-ordained protocol known in advance to
       | both the simulated world and the simulating program. Responding
       | to the system call likewise involves the simulating program
       | "miraculously" altering the state of a pre-ordained buffer area
       | according to a pre-set protocol. Not only is this how you can
       | implement system calls in recursive universes: this is what a
       | system call necessarily _is_. System calls, calls to the runtime,
       | just are events of this nature happening between simulated and
       | simulating systems.
       | 
       | Likewise any kind of message passing is built on top of this:
       | basically the only way any process can pass a message to another
       | is to make a system call requesting that a message be passed on
       | to the intended recipient, then hope that simulating system will
       | deliver it as requested. Then delivering the message obviously
       | involves the recipient's simulating system--which isn't
       | necessarily the same system as the sender's simulating system--
       | appropriately altering the state of the recipient.
       | 
       | (Unless the sender and receiver have a shared memory area, you
       | could say, but that's not so different either: two simulated
       | programs only have a shared memory area to the extent that the
       | simulating system is pleased to keep the supposedly-shared area
       | actually consistent in the two programs it is simulating.)
       | 
       | Notice how annoying it is that, by and large, most system-call
       | protocols don't allow a process to, for example, send its
       | simulating system a message explicitly addressed to its
       | simulating system's simulating system, or to send a simulated
       | system a message explicitly addressed to one of its simulated
       | system's simulated systems. I suppose you could set it up with
       | nested VMs and their virtual Ethernet interfaces.
        
         | arethuza wrote:
         | So memory mapped IO between cellular automata and the
         | underlying system? Has anyone implemented anything that uses a
         | feature like that because it sounds rather neat.
        
         | norrius wrote:
         | That reminds me of a story where a student couldn't figure out
         | the properties of some physical system, so he ran a massive
         | simulation of a universe with laws of physics similar to his
         | own (but, of course, cutting corners whenever possible). This
         | universe eventually produced a life form intelligent enough to
         | figure out the necessary equations, at which point he happily
         | copied them to his homework and forgot about the simulation.
         | 
         | ...only to find it days later (= billions of years of simulated
         | time), by which point the simulated life had figured out that
         | their universe was written hastily and its laws were full of
         | subtle bugs, like floating-point rounding errors showing up in
         | physical measurements. Their technological advance let them
         | move stars around, which they grumpily arranged in a message
         | saying "your code sucks".
         | 
         | Can't find it at the moment, does anyone recognise the
         | reference? It could be in one of these books, I suppose, but I
         | don't have them.
        
           | goldenkey wrote:
           | Could that be _Dibb 's Dilemma_?
        
         | aj7 wrote:
         | This is horrifying. Fredkin and Feynman are both heroes of
         | mine, and both succumbed, for at least a time, to the idea that
         | cellular automata is more than a game. Wolfram, another genius,
         | appears still afflicted.
         | 
         | This is a kind of intellectual heroin. As Jerry Garcia said,
         | first drugs seem like the solution, then they turn out to be
         | the problem.
        
           | taliesinb wrote:
           | Cellular automata are like the `y = m * x + b` of the
           | algorithmic universe.
           | 
           | Personally, I believe it is inevitable that a vast and rich
           | new mathematical world will spring up around simple
           | computational systems, where they are the primary object of
           | study and not relegated to being games, "simulations" of
           | something else, curiosities, etc. CAs are just the "hello
           | world" of this universe.
           | 
           | In that future, your attitude will be seen as a kind of
           | parochial holdout of 20th century attitudes.
           | 
           | The new mathematics will:
           | 
           | * privilege finite, discrete systems
           | 
           | * be explicitly constructivist
           | 
           | * not shy away from computational enumeration and
           | classification
           | 
           | * be much more visual, but no less rigorous than our last few
           | hundred years of mathematics
           | 
           | * make deep connections with many new technological systems,
           | like Git, distributed systems, blockchains, computer
           | networks, trust networks, social networks, etc.
           | 
           | * most importantly, be way more fun than old math!
           | 
           | It will exploit to the full the capabilities of computer
           | systems to make the new systems tangible, so that the idea of
           | a 'math paper' will be itself quite old fashioned -- most
           | mathematical work will start with forking a Git repo or the
           | equivalent, and most communication and education will be
           | interactive interrogation of computational systems using a
           | kind of souped-up, computation-focused REPL. It's the kind of
           | mathematics that will be natural when Brett Victor's ideas
           | are actually implemented.
           | 
           | Wolfram's NKS book is the prototype work of this kind, but it
           | will also be seen as quite a product of its time and of the
           | author's prior commitments to physics, math, etc. And of
           | course distorted by the classic Wolfram immodesty.r
        
           | mensetmanusman wrote:
           | Ideas spread like viruses (mathematically, and physically, as
           | the interaction between two individuals who have some
           | percentage change of a successful exchange).
           | 
           | Some idea viruses disrupt the host, some improve the host's
           | health. Some minds are more prone to certain viruses that
           | would be nonsense to lesser minds.
        
             | aj7 wrote:
             | Lesser minds?
        
               | mensetmanusman wrote:
               | Those able to grok fewer simultaneous idea nodes to form
               | new abstractions.
        
         | yencabulator wrote:
         | > (Unless the sender and receiver have a shared memory area,
         | you could say, but that's not so different either: two
         | simulated programs only have a shared memory area to the extent
         | that the simulating system is pleased to keep the supposedly-
         | shared area actually consistent in the two programs it is
         | simulating.)
         | 
         | Maybe it's not intended to be shared, but we can observe timing
         | effects from e.g. cache aliasing, or rowhammer the other
         | universes.
        
       | suby wrote:
       | I know Conway was slightly resentful that game of life
       | overshadowed some of his other work in the public's imagination,
       | but I've always been entranced by it.
       | 
       | I remember as a child the first computer my family had was a dual
       | boot of Microsoft DOS and Windows 3.1 (or something like that?).
       | On the Windows 3.1 side was a version of Conway's Game of Life
       | which was preinstalled, and I'd spend hours messing around with
       | it. You could place two different colors of cells, and I'd set
       | patterns up and then let the simulation go to see which one would
       | "win", or outlast the other.
       | 
       | Conway's Game of Life was also one of the first meaningful things
       | I'd programmed, and even today I like to reimplement game of life
       | when learning a new langauge. Typically I like to let the user
       | assign different colors to the grid, and have new cells born be a
       | blend of all of their neighboring colors as a kind of simulation
       | of natural selection. Right now I'm learning network programming
       | for game development, and I'm finishing up a networked
       | implementation of game of life so multiple people can join and
       | manipulate a running simulation. In general I think it's a good
       | project to use when playing around with learning something new.
       | 
       | I just really like cellular automatons, and game of life in
       | particular.
        
         | pier25 wrote:
         | > _had was a dual boot of Microsoft DOS and Windows 3.1 (or
         | something like that?)_
         | 
         | I had one of those too. I think Windows was more like the
         | desktop environment of DOS.
        
           | aj7 wrote:
           | I pity you guys. Finder 6 was 10 years ahead.
        
       | geophile wrote:
       | OPs website is really interesting. She is doing some amazingly
       | cool things.
        
       | blindm wrote:
       | I am convinced The Universe is an enormous fractal. I always
       | wondered if you 'zoomed out' of the Universe far enough, would
       | you encounter more matter or a separate Universe co-existing next
       | to our one? Keep Zooming out and you could probably see
       | /infinite/ Universes that go on for eternity, as one long fractal
       | journey.
        
         | Trasmatta wrote:
         | Interestingly, in the observable universe there seems to
         | actually be an end to structure or "fractalness" at a certain
         | size:
         | https://en.m.wikipedia.org/wiki/Observable_universe#Large-sc...
        
         | mountainboy wrote:
         | agreed. I've always thought this. And I figure that the ether
         | (medium in which light is a wave) is very dense and is the sum
         | of all matter at smaller scales. Perhaps forces are fractal
         | also, eg gravity at our scale may be the electricity of scale
         | n+1. Similarly time, which is not a thing, but merely a measure
         | of motion. So an electron "planet" buzzes around its proton
         | "star" so fast that to us it is just a probability blur. Just
         | as our Earthly orbit would be a blur to a being at n+1.
         | 
         | Check out this comparison of the various probability states of
         | the hydrogen atom side-by-side with planetary nebula Pretty
         | amazing/cool. https://rloldershaw.people.amherst.edu/stars2/
         | 
         | There is also this: http://www.gpofr.com/fractal-scaling-
         | cosmology/
        
       | cgh wrote:
       | The blog post was inspired by The Recursive Universe by William
       | Poundstone. I read this book years ago and found it amazing. I
       | recently read another book by him, Fortune's Formula, which
       | features the Kelly Criterion, Claude Shannon beating roulette,
       | card counting in blackjack, and the surprising origins of Warner
       | Bros. Recommended for sure. Thanks to the HN poster who suggested
       | it.
        
         | braythwayt wrote:
         | A highly inspiring book, for sure. In my own case, it has led
         | to a handful of blog posts about HashLife, a literate
         | programming implementation, implementing Life on a Turing
         | Machine, and of course, Conway's passing from COVID-19 led to a
         | post about FRACTRAN and the Collatz Conjecture.
         | 
         | We may not break new ground, but when we read about something
         | and are inspired to write code and play with ideas, we engage
         | with the idea at a deeper level than simply reading to
         | comprehend.
         | 
         | What a great post.
        
         | loosetypes wrote:
         | Glad you liked it!
        
         | throw_away wrote:
         | Heh, I remember reading William Poundstone's books "Big
         | Secrets" and "Bigger Secrets" as a kid
         | (https://en.wikipedia.org/wiki/Big_Secrets ). They're mostly
         | about debunking or explaining various urban legends and
         | conspiracy theories. I'm not sure how well they've stood the
         | test of time, but they definitely had a formative impact on my
         | thinking in a way that I only suddenly realized upon reading
         | his name thirty some years later.
        
           | aj7 wrote:
           | Everything written by Poundstone is worth reading.
        
       ___________________________________________________________________
       (page generated 2020-08-30 23:00 UTC)