Máquina de Turing: o que é e como funciona
Não podemos conceber o momento histórico em que vivemos sem prestar atenção à importância da computação. Em apenas alguns anos deixou de ser utilizado em áreas específicas para ser uma entidade omnipresente, e não apenas na computadores, mas também telefones celulares e quase todas as tecnologias comumente usadas (como as chamadas "vestuário").
Na verdade, o computador ou celular que você usa para ler este artigo tem uma tecnologia que torna poucas décadas teria precisado de um grande espaço para funcionar (ou teria sido totalmente inviável). E é que hoje caminhamos para uma extraordinária miniaturização dos componentes do computador, que ampliará seu uso e facilitará sua expansão a todas as áreas da vida.
O avanço a que a tecnologia nos submete é imparável, a tal ponto que sem ela não poderíamos mais viver de maneira ótima. Nossa espécie depende da computação, porque a sociedade de hoje é de tal complexidade que funciona Fatores cognitivos nus não permitem mais que seja gerenciado com sucesso, exigindo ajuda externa para compensar nossa deficiências.
Neste texto veremos em que consiste o conceito da máquina de Turing, criado em meados do século 30. Sua contribuição para a computação como é hoje conhecida é evidente, considerando-a o modelo em que se fundamentam a lógica e a arquitetura dos computadores atuais. É isso: a mãe de uma tecnologia que mudou não só o mundo, mas também o horizonte da humanidade.
- Artigo relacionado: "Teoria funcionalista de John Dewey"
O que é a máquina de Turing?
A máquina de Turing é um dispositivo criado em 1936, que representa um modelo idealizado de computação capaz de armazenar / processar informações virtualmente infinitas. O sistema é uma abstração matemática construída de uma forma extraordinariamente simples, mas que facilita a verificação empirista de uma ampla gama de questões sobre teorias de computabilidade e / ou complexidade. Sua idealização marcou um grande marco na história da computação, a ponto de ser considerada a origem dos computadores de hoje (e tecnologias relacionadas, como tablets ou telefones Móvel).
O arquiteto disso foi Alan M. Turing, lógico e matemático inglês que tentou durante toda a vida a concepção de um modelo teórico para responder às incógnitas da sua disciplina, de forma automática e acessível a todos.
Este gênio britânico, cuja importância histórica não pode ser questionada, também contribuiu (junto com vários cientistas poloneses) para desvendar os códigos. criptografias que os militares nazistas usaram para se comunicar secretamente uns com os outros durante a triste segunda guerra mundial (através do que ficou conhecido como máquina enigma). Para isso, ele idealizou um dispositivo de corte eletromagnético (bombe), cujo uso encurtou a duração do conflito e salvou incontáveis vidas humanas, ao permitir que os planos do regime fossem desvendados durante o tempo do hostilidades.
A máquina de Turing é o precursor histórico dos modernos "computadores de programas armazenados", que permitem salvar os dados e os algoritmos nos quais são construídos. Sua vantagem, e um dos fatores pelos quais gera fascínio entre os teóricos da computação, é sua simplicidade e suas enormes possibilidades de configuração técnica; e é que permite a experimentação por meio de como seus elementos físicos são arranjados e a "questão" é colocada com o que seu uso seja programado (por meio de algoritmos, que se traduzem em uma "sucessão" de códigos inspirados na linguagem lógico). Esta versatilidade deve-se à própria natureza dos dados com que opera, sujeitos a um enorme nível de abstração.
Desta forma, a máquina de Turing Pode ser programado para executar instruções específicas que respondem a questões mais ou menos complexas.. Tudo isso implica que sua linguagem particular deve ser conhecida, a fim de adaptar o algoritmo a ela para seu funcionamento, sabendo que não existe um código universal para esclarecer a totalidade das incógnitas matemáticas que adormecem na própria natureza (conforme indicado pela lei de Church-Turing). Portanto, o sistema requer uma mente humana por trás dele, perguntando-se a questão a ser formulada e sabendo como "ir" ao dispositivo para resolvê-la.
A matéria-prima da máquina de Turing são os números computáveis, isto é, aqueles que podem ser calculados objetivamente por meio de uma fórmula matemática e dentro do limite de um tempo razoável. Neste contexto, é imprescindível que se adapte a dois "problemas" específicos: o da decisão (cada resposta é precedida de uma série de elementos de cálculo anteriores que podem ser respondidos dicotomicamente como sim / não) e a parada (reconhecer se as respostas finais são realmente possíveis, ou se o sistema será "condenado" a processar o pedido em um ciclo infinito / insolúvel). Ou seja, que haja um algoritmo específico para o que se pretende conhecer e que sua tecnologia possa responder a ele com a precisão necessária para “parar” e oferecer uma solução.
Até este ponto, a lógica teórica de uma máquina de Turing foi discutida em detalhes. As linhas a seguir irão mergulhar no núcleo de suas características físicas e / ou funcionais, com as quais o algoritmo ou padrão operação que o usuário organizou (e que pode variar de simples equações às próprias entranhas da lei da abstração matemática).
- Você pode estar interessado: "O experimento da sala chinesa: computadores com mente?"
Descrição da máquina de Turing
Junto com a base lógica / matemática que foi descrita, a máquina de Turing requer uma série de elementos físicos, que têm a função de executar os comandos inseridos com anterioridade. Seu arranjo pode ser diverso, uma vez que haveria desenhos quase infinitos deste sistema, mas os seguintes são obrigatoriamente necessários: uma fita de papel ou um material da mesma forma, uma cabeça móvel cuja extremidade é capaz de fazer traços (símbolos ou números) e um processador central no qual codificar os algoritmos que são necessários ou que facilitam o análise.
A fita é o elemento mais essencial de todos eles. Não é nada mais do que uma faixa longitudinal, que é dividida em uma sucessão de quadrados de tamanho igual (ou quadrados), e cujo comprimento dependerá em grande parte do "esforço" que deve ser realizado para resolver a questão colocada pelo usuário (que pode ser tão curto ou tão longo quanto estimado relevante). As caixas são reservadas para a cabeça desenhar diferentes símbolos (como 0-1 no código binário) em cada uma, e constituem o produto de cálculo que deverá ser verificado após o seu desligamento. Em termos de computador, essas fitas poderiam ser a memória de um computador moderno. As primeiras células geralmente possuem um conteúdo já estabelecido (entrada), deixando o restante vazio e pronto para ser utilizado após o processo de cálculo.
Da mesma forma, a máquina de Turing É constituída por uma cabeça, um apêndice mecânico (móvel) que se move para a esquerda ou direita seguindo a ordem que o sistema tem para ela. Em sua extremidade possui um alongamento capaz de registrar um traço na fita, dando sua forma aos números ou figuras que correspondem de acordo com o código que determina o movimento. O modelo original tinha uma cabeça de tecnologia rudimentar, mas os avanços na robótica permitiram o surgimento de projetos novos, mais avançados e precisos. O cabeçalho "lê" o conteúdo das células e move uma única caixa para os lados (dependendo de seu estado específico) para continuar executando a instrução.
Terceiro, existe um processador central com a finalidade de armazenar código e algoritmos contendo instruções para a atividade do aparelho, expressa em termos matemáticos e lógicos. Esta linguagem tem uma nuance universal, embora permita um certo grau de manobra para introduzir expressões operacionais formuladas pelo usuário (desde que o significado esteja operacionalizado). Dessa forma, seu cabeçote facilitaria a execução de instruções armazenadas no processador, o que equivaleria ao que hoje conhecemos como programas ou aplicativos (app). Este sistema permitiria reproduzir qualquer cálculo possível e surgiria como o predecessor de qualquer um dos computadores atuais.
- Você pode estar interessado: "Teoria computacional da mente: em que consiste?"
Operação deste dispositivo
Uma máquina de Turing é projetada para gravar uma amostra específica de símbolos ou números, cujo universo possível é freqüentemente chamado de "alfabeto". Quando trabalha com código binário, seu alfabeto total é dois (0 ou 1), mas pode ser tão amplo quanto for considerado apropriado para a função a ser desempenhada. A cabeça só poderá reproduzir nas células da fita o que foi previamente indicado em tal sistema, então um cálculo (número "pi", por exemplo) exigirá todo o espectro de números (de 0 a 9).
Além disso, o que é conhecido na prática como estados (Q), que também são programados pelo usuário durante a descrição do código (e eles são rotulados como q1, q2, q3, q4... qn). O intervalo total depende de hipóteses matemáticas abstratas e analisa as nuances condicionais da fórmula lógica do código, para que a cabeça se move na direção correspondente e executa a ação pertinente ("se você está na posição q2, escreva" 0 "e não se mova", por exemplo.).
Finalmente, haveria uma função de "transição" (delta), na qual a seqüência total (passo a passo) do processamento é resumida. matemática, e que expressa a instrução completa: leitura de células, escrita de novos símbolos, mudanças de estado (ou não) e movimento do cabeça; em um ciclo recorrente que para ao encontrar a resposta à pergunta inicial, ou também no momento em que que o usuário previu isso em seu código (geralmente por uma exclamação, que é lida como "pare"). Assim que a máquina para de se mover, a fita é recuperada e a resposta fornecida é analisada em detalhes.
Como pode ser visto, há uma semelhança clara entre a máquina de Turing e os computadores que usamos hoje. Sua contribuição tem sido a chave para o avanço exponencial em todos os projetos de computador subsequentes, até o ponto que seu espírito reside no coração de uma tecnologia que nos permite ficar interconectados.
Referências bibliográficas:
- Khan, S. e Khiyal, M. (2006). Modelo de Turing para Computação Distribuída. Jornal de Tecnologia da Informação. 5, 305-313.
- Qu, P., Yan, J., Zhang, Y. e Gao, G. (2017). Máquina de Turing Paralela, uma Proposta. Journal of Computer Science and Technology, 32, 269-285.