Artificial Life Creation T-0 and Launching [video]
youtube.com
youtube.com
Indeed, as a professor in fault tolerance, distributed system, and parallel programming I can confirm that almost nobody work on this. This work is quite fascinating and complete with operational hardware/software combo. Never seen that before! My university has done work like: "Cellular automata based S-boxes", nothing as ambitious as a post-Neumann paradigm.
Hopefully this work leads to a breakthrough on the ease of asynchronous software development. Academia never seriously looks at this due to the difficulty of coding for exotic parallel async architectures. Numerous people dedicated their lives to making coding easy. Centuries of human efforts and we now have Javascript, 1+ million people know how to code in that. Efficient coding using VHDL? Async FPGA stuff? 2D grid tiles? Not many.
Errmm time flies. More than a decade ago.
My theoretical and design work has been focused on concurrent modal languages (with nondeterminism as a basic side effect often), and I am going to be hopeful that I can find a useful common ground with the type of thoughts you've thrown up for me.
"The T2 Tile project is an attempt to build the world's first indefinitely scalable computational stack. First, we suspend the idea that we must be bound to an architecture based on correct and efficient deterministic hardware and software. Instead, much like the physical world around us, we look to robustness as a foundational requirement, building living systems as vessels for digital computation that is firstly robust, then as correct as possible, and finally, as efficient as necessary."
Unfortunately, it seems to be devoid of textual documentation, instead comprising a long series of videos.
First, there is a "T2 Architecture" which appears to be an attempt to build a new computer architecture from scratch, including (I think) dedicated hardware that can be meshed together.
Second, there is some sort of cellular automaton (I think?) that operates on a grid, and a pattern has been produced which results in that pattern reproducing.
Thirdly (?), there is the rule-based grid system on which #2 is being built.
I gather that these are supposed to be related somehow, but I'm not sure exactly how -- is this something where there is a simple substrate with simple rules (built on or perhaps the purpose of the T2 architecture?) with a layer of reproducing programs ("organisms") on top of it, with the goal of allowing (eventually) the ecosystem defined by a population of those "organisms" to perform computations on behalf of a user?
It does not appear to be Conway's Game of Life, or at least nobody is saying that. I think a reproducing pattern would be a pretty significant accomplishment in itself. If this is some other rule-based grid system, then it seems like it's worth studying that on its own, independent of the underlying machine architecture?
I wish some of these videos would just come out and say it, because for the life of me I can't tell if they (the architecture and the system and the "organism") are related or just two things happening at the same time.
Edit: I think this video explained the general idea quite well: https://www.youtube.com/watch?v=helScS3coAE
Reproducing patterns are relatively common now e.g. [0], but the whole game here is artificial life, which means different things to different people, but generally self-reproduction (even with mutation) is not considered sufficient as it does not advance in complexity as life systems seem to.
The pattern in the video in this article, on the other hand, can produce multiple viable offspring (although not always, as there is non-determinism). I am not aware of any such patterns in the Game of Life.
The unique piece here is I believe the increased access to indeterminate state or stochasticity. I can’t speak specifically to whether those patterns exist in the game of life.
The question for me is more whether simpler Turing-complete rule systems can accomplish this on space-scales and time-scales that can give us insights into the nature of emergent behavior in evolved systems.
So it absolutely cannot be Conway's Game of Life - though people often think it is - since GoL assumes deterministic execution (plus other issues).
The basic architecture is called the Movable Feast Machine (MFM) and yes, that is a 2D cellular automata engine with a bunch of unusual details (asynchronous, large R/W neighborhood, ..).
Looking downward, the T2 tiles are specific prototype hardware that implements the MFM. They could be replaced by some other tile that does the same, like x86 could be replaced with ARM given suitable software mods above.
Looking upwards from the MFM, some specific cellular automaton - called a 'physics' - is implemented in a custom language called 'ulam'. The physics in the T-0 video involves some 208 ulam classes: Some deal with the 2D diamond grids, some deal with the 1D linked lists within the diamond grids, and all sorts of infrastructure classes and so on.
Then on top of all that, a subset of those classes represent instructions for a 1D 'assembly language' with operations like 'extend an arm one step', 'deposit a processor node', and so forth. The 'Ancestor 1312' organism/structure/pattern demonstrated in the video is encoded in a 1D chain of those instructions that is loaded (step by step, using MFM events) into an empty diamond grid at the beginning.
I don't completely buy into the notion that this needs to be soup-to-nuts; that the T2 / MFM / Ulam stack is a necessarily the right way forward.
But I think that what I see as the core insight -- that determinism and synchronicity is the deep rot at the core of our understanding of how to build distributed systems -- is true beyond all reasonable doubt. The idea of evolving (literally or figuratively) self-healing systems and components is I think at the core of the future of computer science.
And the dirty secret of all distributed systems of significant scale is that they have already escaped the attempt to confine them -- operational complexity has become a matter of botany, but without any insights or tools to help us deal with the actual complexity, but instead applying layers of attempts to reduce complexity that usually just end up reducing the legibility of the system.
On the other hand, he seems to have an academic pedigree and has presented at serious conferences, so it might be that there's something interesting here that I'm missing. I just can't tell - if anyone else is more enlightened, I'd be interested to hear about it.
It's a bit outdated, but FWIW https://direct.mit.edu/artl/article/22/4/431/2851/The-ulam-P... is reasonably coherent and approachable, I think..
Do you see opportunity in quantum computing given the more direct access to indeterminate state?
I'm like if you want a spreadsheet, fine, use a von Neumann machine. But if you want do inherently robust system control, that has a chance of doing something sensible even in situations that were neither programmed in nor trained upon, what you want is an overprovisioned system that is intrinsically aware of its deployment in space, and is constantly repairing and rebuilding itself.. and this video is another baby step on that road.
But I'm unsure that any redo at that scale would improve delivered performance that much.
If I had it to do over I think I'd've tried to put an ethernet router chip on each tile and basically do backplane ethernet between tiles.
But I dream of LVDS serdes between tiles with low-level packet stuff handled in FPGA fabric..
What specific problems are not tractable via traditional autoscaling methods that cellular automata can compute more efficiently or accurately? I understand you think stochastic type/life type computations are better suited for this, but that would be more of a hunch than verifiable proof.
For example, for computer security, if you write a stochastic algorithm pseudocode such that the cellular automata are essentially doing a "search" for something, an that the cellular automata replicate and scale for the purpose of this stochastic search, I think that would help people understand your computational model better. At least for me!
- This guy is either mad, a genius, or both.
- I am not smart enough to figure out which it is.
- I need a swarm of monitors on my wall.
> I do research, development, and advocacy of robust-first and best-effort computing on indefinitely scalable computer architectures. As of August 2018 I am an emeritus professor of Computer Science at the University of New Mexico. My academic degrees are from Tufts and Carnegie Mellon. Prior work has involved neural networks and machine learning, evolutionary algorithms and artificial life, and biological approaches to security, architecture, and models of computation.
Probably most notable around HN for his Movable Feast Machine, which has been posted here a few times: https://movablefeastmachine.org The goal of that is an indefinitely scalable computer architecture which is very, very robust.
A real world 'thing' (whose very nature is still up to debate) : https://en.wikipedia.org/wiki/Xenobot
https://github.com/elenasa/ULAM/wiki
(discord: https://discord.gg/rBV6Y6sWNY )