The Turing Machine: let’s rethink how software works

Written by nikonelissen | Published 2017/02/06
Tech Story Tags: artificial-intelligence | technology

TLDRvia the TL;DR App

It was the middle of the second world war, Europe was under siege and while the allied forces were able to intercept radio traffic communication, they could not make any sense of the information, since it was encrypted. Germany had developed an ingenious device, called the Enigma, which allowed for millions of possible encryption combinations. Being able to decrypt that communication would no doubt be of tremendous value to the allied forces. One day, a man stepped into the offices of Britain’s code breaking centre at Bletchley park. He claimed he would be able to build a machine that could decrypt the enemy’s communication. It was Alan Turing, a mathematician, cryptanalyst and theoretical biologist.

Alan Turing at the age of 16

In his research, Alan Turing laid the foundation of modern information technology and software development. Especially nowadays, with the rise of artificial intelligence (AI), the “Turing test” is a widely spread concept to test if an implementation of AI is as intelligent as a human. But Alan Turing did a lot more than that. He also described what we now call the Turing Machine, the simplest possible implementation of a computer. A Turing Machine — Alan Turing never actually built one, but others have — consists of a reader capable of reading zeros and ones on a long band of paper. The machine has a memory and it can change directions (reading from left to right and back) based on the instructions (the bits on the paper roll) that it reads. Long story short, Alan Turing mathematically proved that a machine is theoretically capable of executing (almost) any algorithm, or what we now call a “program”.

What does this really mean ? It means that Alan Turing — remember, this is before modern computers actually existed — proved that software would be capable of doing all the things we need it to do, and that all these tasks can be broken up into smaller pieces until you end up with a program, written down as ones and zeros, on a very very long sheet of paper.

Alan Turing proved that all tasks can be broken up into smaller pieces, essentially until you hit a binary question (yes or no).

And that’s essentially what the whole IT world did. We built computers, that still today work with ones and zero’s inside their chips. These bits are combined to make characters, characters become instructions and instructions become a computer program that we compile into an application.

A modern implementation of the Turing Machine

I have always been extremely fascinated by the life of Alan Turing, an exceptionally intelligent person, who by the way did not live an easy life, in part because he was accused and condemned for being gay, a disgrace that the UK rectified not sooner than 2013.

Alan Turing’s machine made me think: would it really be possible to chop up any given task into smaller tasks, making it easier to complete the task ? How would that work ? This concept would solve a problem that I have had for the last couple of years: how to be productive on a smartphone. Granted, we now have a multitude of productivity apps on our iPhone or Android, but I still turn to my computer to get actual work done. Yes, I have Dropbox, Gmail and Evernote apps on my iPhone, and even Bitbucket to follow up on my software development projects, an AWS app to manage my cloud, Turboscan to scan documents and SignNow to sign them. And yet, most of my tasks I cannot fully complete on my phone, making me unproductive on the road, in a waiting room and under the shower.

I would kill for an innovative productivity app that implements the Turing Machine, and chops up all my tasks into smaller pieces, or better, into the smallest pieces thinkable: questions that I could answer with Yes (one) or No (zero). The app would make it super easy to get work done. I would simply read the question, swipe Yes or No with one finger and move on to the next question.

Silly ? Perhaps, yes. But mobile productivity will not improve if we do not start rethinking how work gets done on a smartphone. Mobile app developers have been rethinking user interfaces (UI’s) for a smaller screen, but the processes behind them have not changed. Excel on my smartphone is still Excel, I just see less cells. Gmail on my phone is still email, it’s just harder to read a thread, start a reply, then find an attachment and send it off while adding a calendar invite.

UI’s have been adapted for smaller devices, but the processes behind have not changed. Excel on a smartphone is still Excel, only with less visible cells.

Excel on a smartphone is still Excel, just less cells

What can we learn from Alan Turing ? Turing learned us that any given task can be reduced into smaller tasks, and that those smaller tasks can be very different in nature to the overall job we are trying to accomplish.

Chat bots, powered by artificial intelligence, certainly have the potential to deliver on my wish. A chat bot can ask me questions and allow me to reply by tapping an answer from a multiple choice list. Next, the chat bot can do the actual “stuff” for me, such as updating an Excel file, sending out a document, adding a signature etc. There’s still a lot that needs to happen before this becomes a reality. AI must be capable of really understanding what needs to be done, and more importantly how it can be done. AI needs to be able to interpret incoming data (e.g. an email written by a human, or an alert from a system) and decide on a sequence of actions that will drive to a certain result. In my guest post on Venturebeat, I reflect on how bots could communicate with other bots, to get stuff done. If bots — or essentially apps — are capable of reaching out to other bots to get a sub-task done, we are one step closer to a Turing Machine.

Who will write my Turing Machine productivity app ? Will you ? What’s your answer: Yes (one) or No (zero) ?

— NikoVisit my blog: http://nikonelissen.com


Published by HackerNoon on 2017/02/06