DIY Turing Machine

After reading "On Computable Numbers," Mike Davey, a DIY guy from Wisconsin, wasn't satisfied with just imagining the theoretical computing device Alan Turing conceived. So he built one

2 min read
DIY Turing Machine

Everyone who's read about Alan Turing and his ideas on computation probably has created a mental picture of the theoretical computing device he conceived and that we now call a Turing machine. Mike Davey, a DIY guy from Wisconsin, wasn't satisfied with just imagining the thing. So he built one.

Though there are other Turing machine implementations out there -- including a Lego-based design -- Davey wanted to built one that looked like Turing's original concept.

The result -- holy algorithms. The thing is a beauty. A read-write head? Check. A moving tape for the bits? Check.

From now on whenever I think of a Turing machine I'll picture Davey's.

Watch the video below to see the machine in action, then go to his web site aturingmachine.com to see descriptions of the hardware and the programs he's run. From the site:

My goal in building this project was to create a machine that embodied the classic look and feel of the machine presented in Turing’s paper. I wanted to build a machine that would be immediately recognizable as a Turing machine to someone familiar with Turing's work.

Although this Turing machine is controlled by a Parallax Propeller microcontroller, its operation while running is based only on a set of state transformations loaded from an SD card and what is written to and read from the tape. While it may seem as if the tape is merely the input and output of the machine, it is not! Nor is the tape just the memory of the machine. In a way the tape is the computer. As the symbols on the tape are manipulated by simple rules, the computing happens. The output is really more of an artifact of the machine using the tape as the computer.

The heart of the turing machine is the read-write head. The read-write head transports the tape and positions cells of the tape appropriately. It can read a cell determining what, if any, symbol is written there. The machine works on, and knows about, only one cell at a time. The tape in my machine is a 1000’ roll of white 35mm film leader. The characters, ones and zeros, are written by the machine with a black dry erase marker.

[youtube //www.youtube.com/v/E3keLeMwfHY&hl=en_US&fs=1&color1=0x3a3a3a&color2=0x999999&hd=1 expand=1]

 

The Conversation (0)

How the U.S. Army Is Turning Robots Into Team Players

Engineers battle the limits of deep learning for battlefield bots

11 min read
Robot with threads near a fallen branch

RoMan, the Army Research Laboratory's robotic manipulator, considers the best way to grasp and move a tree branch at the Adelphi Laboratory Center, in Maryland.

Evan Ackerman
LightGreen

This article is part of our special report on AI, “The Great AI Reckoning.

"I should probably not be standing this close," I think to myself, as the robot slowly approaches a large tree branch on the floor in front of me. It's not the size of the branch that makes me nervous—it's that the robot is operating autonomously, and that while I know what it's supposed to do, I'm not entirely sure what it will do. If everything works the way the roboticists at the U.S. Army Research Laboratory (ARL) in Adelphi, Md., expect, the robot will identify the branch, grasp it, and drag it out of the way. These folks know what they're doing, but I've spent enough time around robots that I take a small step backwards anyway.

The robot, named RoMan, for Robotic Manipulator, is about the size of a large lawn mower, with a tracked base that helps it handle most kinds of terrain. At the front, it has a squat torso equipped with cameras and depth sensors, as well as a pair of arms that were harvested from a prototype disaster-response robot originally developed at NASA's Jet Propulsion Laboratory for a DARPA robotics competition. RoMan's job today is roadway clearing, a multistep task that ARL wants the robot to complete as autonomously as possible. Instead of instructing the robot to grasp specific objects in specific ways and move them to specific places, the operators tell RoMan to "go clear a path." It's then up to the robot to make all the decisions necessary to achieve that objective.

Keep Reading ↓ Show less