Turing AutomataturingAutomata
Introduction2D turing machines with 4 possible symbols per space were made. Their state tables were stored in the 'tape' that was used to run the programs, thus allowing self modification. Several of these machines were laid out in the same grid representing the 'tape', and allowed to travel anywhere, modifying themselves or others. AlgorithmThe algorithm is simple. A machine is represented by a 16x16 state table. The columns correspond to the symbols, which also have a direction(More on that later):
Also since there are 4 symbols we can use each one to represent which direction to move on the 'tape'. We end up with each row in the table as:
A lookup based on the current state and symbol underneath is then easily performed. For the actual implementation the state tables and the grid were seeded with random numbers. Source Code
Pictures![]()
![]() Timelapsed VideosConclusionAs simple as these seem I actually find them pretty interesting. I've not seen them described anywhere else, and they have the property of imposing order on randomness. They always seem to end up in a steady state of repeated behavior, usually 'trains' moving around the screen. I've seen a few interesting things happen, such as piston motions, and really close timing ( moving horizontal chains with small breaks, having diagonal chains going through multiple at once). Also weird is that it almost always (Roughly 90% of the time) tends towards 2 colors at the end. Also, there is always a dominant color, which makes some sense...I guess. I have alot of other stuff I want to try with them, but I first needed to make sure the basic design worked out. Last Edited: 2010-10-24 02:32:10
+ Add a comment af22380929bce70dd0d762e64ee0f8742012-02-22 23:31:28.73866 UTC Brian said (2011-04-02 01:29:51): The background music in those clips was masterfully chosen. :-) Cool project!
|
Posts
Source Code

