Turing Drawings
wry.me
wry.me
"sunset and nightfall":
http://wry.me/hacking/Turing-Drawings/#2,15,0,3,1,1,1,3,1,10...
"shoreline EQ"
http://wry.me/hacking/Turing-Drawings/#2,22,1,6,2,0,6,0,0,21...
http://wry.me/hacking/Turing-Drawings/#4,3,2,2,3,0,1,1,2,1,0...
Brain dump:
A one-state TM has no hidden state -- this means that it has no way to look at the surroundings (only the current field), which makes them rather boring. (All you'll get is lines or planes of one color, they cannot sensibly navigate the second dimension.)
Two-state TMs are 'clever' enough to change the color after moving, which means they can draw corners and thereby use the whole 2d plane. They still have to put all information into the picture, meaning you get to see all the gory details of information flow. You don't have the transition table, but you can read most of it off the image. You'll see all paths or areas in which movement in a single direction can happen without changing the color. Everything else has to be left in the picture, which means it will constantly overwrite stuff. This, in turn, means that it'll likely use groups of colors for one purpose.
Example: http://wry.me/hacking/Turing-Drawings/#2,8,0,3,2,1,7,3,0,7,0...
The start is boring: red - turn green & go up, green - turn black & go down, black - turn pink & move right (so far this could be done by a 1-state TM.) Pink does some state changes and introduces cyan, shortly after you'll see it 'sewing' to the left, leaving a thick structured line across the image, which is then expanded into a yellow-green covering of the whole black area (see how black/pink move right and cyan/yellow give turning directions and create yellow/green?) and then... ah, well just look at it.
Three-state TMs can hide quite a lot of information. As an example, the extra state can be used as a movement state, allowing non-destructive movement in one direction. (On jump mark (say, white), change to state #3 and keep going until you hit the next jump mark.) It can also be used to non-destructively look in one direction (e.g. for testing what color the left neighbor has). Combinations thereof can do pretty crazy stuff.
Adding more states basically just allows 'compressing' the picture more, which makes it more likely that you'll only see noise - especially if the TMs are randomly generated.
http://www.wry.me/hacking/Turing-Drawings/#3,6,2,2,3,2,4,0,0...
The general idea is a graph of the states and transitions (laid out by d3 or something?), labeled by color with little arrows for the next direction, with the current state and transition highlighted. Also a magnified 'fat bits' view of the head's neighborhood. You'd only see these at the slower speeds where you can conceivably follow, like the marker around the head in the current system.
Also you'd want single-stepping to go with this. I have added that but not pushed it to the webpage or the repo. (There was some little bug I haven't got to.)
http://wry.me/hacking/Turing-Drawings/#4,3,1,2,2,0,1,0,3,1,0...
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,1,1,1,3,2,2,2...
The glider appears after a few seconds of high speed.
Very nice implementation!
Not exactly a glider, but it looks like this does at the start, but reversed...sort of... (maybe)
In fact I studied the space-filling behavior of precisely these 2D Turing machines in 2009. For low numbers of states and colors you can enumerate them exhaustively and calculate the distribution of space-filling efficiency (log-normal, if anyone is interested).
The full spectrum of behavior is quite fascinating to catalog. All these kinds of simple computational system have a character and 'zaniness' all their own.
Putting on a more scientific hat, it might be interesting to look at block-entropy measures and find interesting rulesets that way.
P.S. To the author: this is a great implementation! Really nice to play with. Check out http://reference.wolfram.com/mathematica/ref/TuringMachine.h... for the one built into the Wolfram Language.
http://wry.me/hacking/Turing-Drawings/#4,3,0,2,1,1,1,1,2,2,3...
This one starts with a great wave effect:
http://wry.me/hacking/Turing-Drawings/#4,3,3,1,0,0,1,2,1,1,0...
http://wry.me/hacking/Turing-Drawings/#4,13,3,1,0,0,5,1,2,1,...
I really appreciate this art of randomness, and in particular the fact that it is theoretically equivalent to any computing machine (given much, much more memory and states).
However, the state space is something like k * 2^18 * n^(2^18), where k is the number of states and n the number of symbols. For the default (4, 3) this is 3.125 * 10^125080, so you could be waiting for a while :)
And here's an amazing one: it fills the canvas, getting slower and slower. It will probably take days to complete fill it: http://wry.me/hacking/Turing-Drawings/#10,3,9,2,1,5,2,3,8,1,...
Wind Tunnel: http://www.wry.me/hacking/Turing-Drawings/#4,3,3,1,3,2,1,3,3...
I think this becomes strangely stable: http://wry.me/hacking/Turing-Drawings/#4,4,3,3,2,0,2,3,2,3,0...
Wavy lines: http://wry.me/hacking/Turing-Drawings/#4,3,2,1,1,1,2,0,2,1,3...
Mountain: http://wry.me/hacking/Turing-Drawings/#4,3,2,2,3,2,1,2,0,2,0...
Crystal: http://wry.me/hacking/Turing-Drawings/#4,3,1,2,2,2,1,0,3,1,1...
Nice implementation of it.
http://wry.me/hacking/Turing-Drawings/#2,7,1,2,2,0,6,1,0,1,1...
http://wry.me/hacking/Turing-Drawings/#2,23,1,6,0,0,7,3,1,12...
http://wry.me/hacking/Turing-Drawings/#2,23,1,10,2,0,6,1,0,1...
http://wry.me/hacking/Turing-Drawings/#5,3,0,1,1,3,1,1,3,1,0...
http://wry.me/hacking/Turing-Drawings/#5,3,3,1,2,0,2,1,4,2,3...
Some of the more striking machines I found tonight. I spent a lot of time generating 2/23 machines, they tended to produce colorful and sometimes intricate "introductions", but most often ended in static.
http://wry.me/hacking/Turing-Drawings/#4,3,2,2,1,1,1,2,0,1,2...
This one's building something in the middle:
http://wry.me/hacking/Turing-Drawings/#4,3,3,2,2,3,1,3,3,2,1...
A very clear fractal with triangles:
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,1,0,1,3,3,1,2...
http://wry.me/hacking/Turing-Drawings/#4,3,1,2,3,1,1,0,0,1,1...
You'll want to watch it about four notches down from "fastest".
This is a really cool project! It has a kind of AI feel to it. The website needs a way for users to vote on others' creations, and then they can be selectively "mutated" and evolved to produce really cool ones. The best ones will survive through upvotes. Who knows what you'd end up with?
So here's some driving rain: http://wry.me/hacking/Turing-Drawings/#4,3,1,2,2,0,2,0,3,1,2...
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,2,3,2,3,3,1,3...
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,1,0,2,1,0,2,1...
At one point, right before it goes over the "entropy cliff" it creates what looks like a lot of Sierpinski triangles:
http://wry.me/hacking/Turing-Drawings/#4,3,2,1,0,1,2,3,2,2,2...
I found it quite interesting that one as complex as this could stabilize:
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,3,1,1,2,0,2,3...
This seems to end up like a frozen lightning bolt: http://wry.me/hacking/Turing-Drawings/#4,5,3,3,3,2,4,0,2,2,3...
This creates a pattern almost like hair in the wind: http://wry.me/hacking/Turing-Drawings/#4,5,2,3,0,2,4,3,0,3,1...
Seems as though it's many cats standing on each others heads: http://wry.me/hacking/Turing-Drawings/#4,5,0,3,1,0,3,1,2,1,0...
Like waves on a beach: http://wry.me/hacking/Turing-Drawings/#4,5,3,4,2,1,2,2,0,4,0...
Some otherworldly data wind: http://wry.me/hacking/Turing-Drawings/#4,5,0,3,3,3,3,1,0,3,2...
Eventually, all clouds fade away: http://wry.me/hacking/Turing-Drawings/#4,4,1,1,1,1,2,1,2,3,3...
In and out of phase: http://wry.me/hacking/Turing-Drawings/#4,4,2,2,0,3,1,2,3,1,0...
Like sand dunes moving: http://www.wry.me/hacking/Turing-Drawings/#4,3,1,1,3,3,1,0,2...
Saws on parade: http://www.wry.me/hacking/Turing-Drawings/#4,3,0,2,0,2,2,3,1...
Scooty lightning: http://www.wry.me/hacking/Turing-Drawings/#4,3,3,2,0,3,2,2,3...
The NKS-style question to ask here is: what computations are these doing? Totally unique-unto-themselves computations? Potentially useful computations? Computations analogous to familiar human ones? How would we know? Can we know? Do we run into the limits of undecidability?
The cyclic boundary conditions somewhat 'spoil' things, though. Maybe a particular rule was "destined to multiply input by 5" or "calculate log-2 of input" or something (given suitable encoding of input on the tape), but the computation is foiled as soon as the machine wraps around and starts interfering with itself.
Then again, the self-interference is what makes many of these patterns do the cool things they do.
For this particular canvas, no, as the canvas is finite.
Given enough time or space we can exhaust all states of the canvas and catch cycles. This applies to any finite canvas.
I would guess these are equivalent to regular languages because of the finite state. You can treat the different canvas states as states of a finite automaton. A finite automaton is a canvas turing machine by ignoring the canvas.
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,3,1,1,2,0,2,3...
looks like there's a bifurcation diagram buried in there somehow: https://www.google.co.uk/search?q=bifurcation+diagram
even closer : http://www.wry.me/hacking/Turing-Drawings/#2,23,1,2,2,0,19,3...
Bonus animated brass rubbing: http://wry.me/hacking/Turing-Drawings/#4,3,1,1,2,2,1,1,3,1,0...
The command set is detailed at the bottom of the page -- feel free to make your own and share them. They can be a whole lot of fun.
Edit: A few more examples: http://demoseen.com/langton/#.FP$!~7 http://demoseen.com/langton/#+.7 http://demoseen.com/langton/#T+.gt
Really cool how it just keeps on going, with the shadows of more towers appearing to stretch out from the city centers, and the lights of cars driving down the left and right sides. I've had it running at high speed for quite a while now and buildings keep rising up occasionally.
Ice 9: http://wry.me/hacking/Turing-Drawings/#5,4,3,3,3,3,2,2,1,2,0...
Traveling pyramid: http://wry.me/hacking/Turing-Drawings/#4,3,3,2,0,1,1,2,2,1,3...
Coral-like tendrils (turn up the speed a bit): http://wry.me/hacking/Turing-Drawings/#4,3,1,2,1,3,1,2,2,1,1...
It's like a wave moving to the bottom left. It has been doing the same thing for a while now, but I have not yet found any repetitions.
City across the lake at night: http://wry.me/hacking/Turing-Drawings/#10,2,1,1,0,2,1,2,2,1,...
Draws solid black everywhere, waits, then draws something: http://wry.me/hacking/Turing-Drawings/#3,20,0,1,2,0,6,3,1,17...
Is a pretty amazing simulation of fire with wind (although rotated 90°).
And that 'Glider' one from the other post could work as water on a car wind shield while driving.
My findings:
Here is one with a curious counter-clockwise rotation phenomenon:
http://wry.me/hacking/Turing-Drawings/#6,5,5,2,0,2,1,0,4,4,2...
And a few that take a long time to stabilize and do some interesting things in the meantime:
http://www.wry.me/hacking/Turing-Drawings/#3,5,2,4,1,1,1,3,1...
http://wry.me/hacking/Turing-Drawings/#4,3,0,2,2,1,2,1,3,2,0...
http://www.wry.me/hacking/Turing-Drawings/#3,6,1,3,3,2,1,0,0...
http://wry.me/hacking/Turing-Drawings/#4,4,0,2,0,1,2,3,1,3,3...
And another:
http://wry.me/hacking/Turing-Drawings/#2,20,1,10,0,0,10,0,0,...
I wonder if there is a simple explanation for this phenomenon.
And just for fun:
http://www.wry.me/hacking/Turing-Drawings/#3,6,1,2,2,2,1,0,0...
http://www.wry.me/hacking/Turing-Drawings/#8,3,2,2,1,5,2,1,0...
http://www.wry.me/hacking/Turing-Drawings/#3,6,1,3,0,0,3,3,2...
http://www.wry.me/hacking/Turing-Drawings/#3,7,2,3,2,1,1,3,0...
That last one will surprise you.
More ...
http://www.wry.me/hacking/Turing-Drawings/#3,7,2,6,3,2,3,3,1...
Wait for it:
http://www.wry.me/hacking/Turing-Drawings/#3,6,0,1,0,1,3,2,2...
http://www.wry.me/hacking/Turing-Drawings/#3,6,2,5,2,1,5,1,2...
http://www.wry.me/hacking/Turing-Drawings/#3,6,2,2,3,2,4,0,0...
http://www.wry.me/hacking/Turing-Drawings/#3,4,2,1,0,2,2,2,0...
If your browser window is narrow, the "Fork Me on GitHub" link overlaps the "Pause" button. (But the overlapping part of the GitHub image is transparent, so it's not immediately obvious why "Pause" doesn't work.)
The page content fits just fine, so it seems silly to make the window larger; there's just this little bug.
Visual Migraine: http://wry.me/hacking/Turing-Drawings/#4,3,3,1,3,0,2,3,2,2,2...
Forest reclaims the city: http://wry.me/hacking/Turing-Drawings/#4,3,2,1,3,3,2,3,0,2,1...
Triangle Parallax 1: http://wry.me/hacking/Turing-Drawings/#4,3,0,2,3,2,1,3,1,1,2... Triangle Parallax 2: http://wry.me/hacking/Turing-Drawings/#4,3,2,1,3,0,2,2,2,1,1...
Rain: http://wry.me/hacking/Turing-Drawings/#4,3,2,2,3,0,2,2,1,2,3...
Cross town traffic: http://wry.me/hacking/Turing-Drawings/#4,3,0,1,3,2,2,3,3,1,3...
Scene Carving: http://wry.me/hacking/Turing-Drawings/#4,3,3,2,3,3,1,2,2,1,2...
Fjords: http://wry.me/hacking/Turing-Drawings/#4,3,0,2,3,3,2,3,3,2,0...
Blowing snow: http://wry.me/hacking/Turing-Drawings/#4,3,3,2,1,0,2,2,2,1,3...
Cool!
http://wry.me/hacking/Turing-Drawings/#4,4,2,1,2,1,1,1,2,3,3...
Wavy lines slowly move upwards, some disappear over time.
http://wry.me/hacking/Turing-Drawings/#4,3,0,1,2,0,2,0,3,2,0...
Edit: This one takes very long and looks somewhat like rain in the end:
http://wry.me/hacking/Turing-Drawings/#4,3,1,2,1,0,1,2,0,2,3...
http://wry.me/hacking/Turing-Drawings/#5,3,4,1,3,2,1,2,4,2,3...
How usual is this?
http://wry.me/hacking/Turing-Drawings/#2,3,1,1,2,1,1,0,0,1,0...
It was played on a grid as well, and frequently made patterns similar to these.
http://wry.me/hacking/Turing-Drawings/#4,3,2,1,0,2,2,0,3,2,0...
Escher's hourglass: http://wry.me/hacking/Turing-Drawings/#5,3,3,1,3,0,1,2,1,2,0...
Zigzags (devolves): http://wry.me/hacking/Turing-Drawings/#5,4,3,3,0,3,1,2,1,1,1...
A big static one: Construction line: http://wry.me/hacking/Turing-Drawings/#212,2,13,1,2,207,1,0,...
Mostly static: scales: http://wry.me/hacking/Turing-Drawings/#4,3,1,2,1,2,1,3,1,1,1...
http://www.wry.me/hacking/Turing-Drawings/#2,3,1,2,0,1,2,0,0...
http://wry.me/hacking/Turing-Drawings/#4,3,3,2,2,1,1,3,0,2,2...
I thought it was a bug at first, but it actually does it every time (speed up if you're impatient)
Ends up looking like rain or an old filmreel: http://wry.me/hacking/Turing-Drawings/#7,3,5,1,3,4,2,1,1,2,3...
Still noise, but looks like sand, maybe, or grass waving in the wind: http://wry.me/hacking/Turing-Drawings/#7,3,4,1,2,2,2,3,2,2,1...
Wait no, this is my favorite so far: http://wry.me/hacking/Turing-Drawings/#7,3,2,1,0,6,1,0,2,1,0...
More sand: http://wry.me/hacking/Turing-Drawings/#7,3,0,1,1,0,1,2,5,2,3...
Proper rain: http://wry.me/hacking/Turing-Drawings/#7,3,4,1,0,4,2,3,4,1,0...
Moving line: http://wry.me/hacking/Turing-Drawings/#7,3,0,2,3,0,1,1,2,2,1...
Something about this is cool: http://wry.me/hacking/Turing-Drawings/#7,3,5,2,0,2,1,1,3,2,2...
Proper grass waving in the wind (wait for it): http://wry.me/hacking/Turing-Drawings/#7,3,1,2,2,3,2,2,0,2,1...
Warpspeed http://wry.me/hacking/Turing-Drawings/#2,11,1,5,1,0,1,1,1,5,...
City Corner http://wry.me/hacking/Turing-Drawings/#2,11,1,10,0,1,5,2,0,8...
Coloring Inside the Lines http://wry.me/hacking/Turing-Drawings/#2,11,0,10,2,0,4,3,0,2...
Sewing Machine http://wry.me/hacking/Turing-Drawings/#2,11,1,7,3,0,2,0,0,3,... Seems semi-stable?
Folding Paper Trick http://wry.me/hacking/Turing-Drawings/#2,11,1,4,1,0,5,3,0,10...
Stable http://wry.me/hacking/Turing-Drawings/#5,3,3,1,0,3,1,0,3,1,0...
Counter: http://wry.me/hacking/Turing-Drawings/#5,3,1,1,0,3,1,3,2,1,2... This one seems to behave like some kind of adder. Even at the highest speed setting it takes a long time to see much change, but the black lines seem to grow and move similar to how a binary adder operates.
Spilled Drink http://wry.me/hacking/Turing-Drawings/#13,21,10,11,1,0,7,0,4...
Donkey Kong http://wry.me/hacking/Turing-Drawings/#13,21,0,17,3,11,4,0,0...