• Alan Turing foi um matemático e criptógrafo inglês considerado atualmente como o pai da computação, uma vez que, por meio de suas ideias, foi possível desenvolver o que chamamos hoje de computador.
• Trabalhou como funcionário do Governmente Code and Cypher
School e entre 1940 e 1941, e desenvolveu uma máquina capaz de decifrar o “Enigma”, código utilizado pelos nazistas, durante a Segunda Guerra Mundial, dando assim aos aliados uma vantagem que permitiu derrotar mais depressa a Alemanha. • Depois da guerra, trabalhou no Laboratório Nacional de Física do Reino Unido onde pesquisou e trabalhou no projeto para o programa de armazenamento de dados
• Em 1952, Alan Turing enfrentou um processo criminal, pois na
época, na Inglaterra, o homossexualidade era considerado crime. Foi destituído de seu posto no Bletchley Park, o centro inglês de descodificação, condenado e castrado quimicamente (com injeções de hormônios femininos).
• Alan Turing morreu aos 41 anos por intoxicação de cianeto. A
princípio acreditou-se que teria sido suicídio. Alan Turing (1912-1954) Máquina de Turing • A Máquina de Turing é um dispositivo teórico conhecido como máquina universal, que foi concebido pelo matemático britânico Alan Turing.
• O dispositivo escrevia e interpretava símbolos limitados em 0, 1 e
conjunto vazio — basicamente, a estruturação das linhas de códigos atuais.
• É equipada com uma fita perfurada de comprimento infinito,
preenchida em intervalos regulares com símbolos de um conjunto finito e um ponteiro que marcaria a posição real em que a máquina se encontrava, dentro de um conjunto limitado de "estados internos" possíveis. • Cada operação a máquina leria o símbolo inscrito na posição correspondente na fita, e para cada combinação de posição e símbolo lido um programa especificaria um novo símbolo para inscrever na mesma fita ou um movimento a ser efetuado pelo ponteiro, que poderia deslocar-se para a esquerda, para a direita, ou parar. Conceito da Máquina de Turing • Uma fita dividida em células contíguas, cada qual contendo um símbolo de um alfabeto finito, que por sua vez contém, entre outros, um símbolo nulo especial.
• Um dispositivo de leitura e gravação que se movimentasse
para a esquerda e para a direita nessa fita, e conseguisse interpretar e escrever os símbolos. • Um outro dispositivo que registasse cada estado da máquina de Turing, sendo que o número de estados diferentes seria sempre finito e compreenderia um estado inicial de arranque, que iniciaria o dispositivo de registo.
• Uma tabela de ações que comandaria os movimentos da
máquina, dizendo-lhe que símbolo escrever, para onde mover o dispositivo de leitura e gravação, e decidiria qual o seu novo estado, em função do símbolo acabado de ler e do estado em que a máquina se encontrasse no momento. Funcionamento • A Máquina de Turing deve assumir sempre em um estado, pertencente à um conjunto finito de estados; • O processamento de uma Máquina de Turing começa sempre em um estado especial, chamado estado inicial; • Inicialmente a primeira célula da fita é preenchida com “〈”, que indica o início da mesma; • A cabeça de leitura é posicionada inicialmente na segunda célula da fita, a célula seguinte a “〈”; • As células em branco, que não fazem parte da palavra a ser processada, são preenchidas com o símbolo “β”; • O processamento em uma MT consiste em uma sequência de passos que consistem em: • Observar o símbolo corrente da fita (aquele em que o cabeçote está posicionado); • Escrever um símbolo nesta célula da fita; • Mover o cabeçote para a esquerda ou direita; • Mudar o estado corrente; • A ação exata a ser executada é determinada por um programa (função de transição) que comunica à unidade de controle o que deve ser feito com base na configuração (estado + símbolo corrente da fita) em que a Máquina de Turing se encontra. • O processamento termina quando a máquina atinge uma configuração para a qual não existe função prevista, neste caso: • Se a máquina estiver com um estado final ativo, a palavra de entrada é aceita; • Se o estado ativo não for final, a palavra de entrada não é aceita; • Se a máquina não parar (looping), a entrada de entrada não é aceita. Representação de Máquina de Turing por diagrama:
• Semelhante à representação de Autômato finito determinístico;
• Os rótulos das setas, que representam as funções de transição são de acordo com a seguinte legenda: