Pergunta

O que é uma máquina de Turing e por que as pessoas continuam mencioná-lo? Minha IBM PC é tudo necessidade eu fazer o meu computação! Por que o cuidado ninguém sobre essas máquinas?

Foi útil?

Solução

A razão que máquinas de Turing são um grande negócio tem a ver com o estudo da ciência da computação clássica ou Teoria da Computação tipo de coisas. É basicamente sobre analisando as propriedades gerais de um computador, como o que habilidades teóricas e limitações de um computador tem, bem como o que queremos dizer quando falamos de "computação" alguma coisa.

Um exemplo de algo que se poderia estudar usando Turing Machines é a detenção Problema . Enquanto este problema é algo de um exercício acadêmico, tem implicações reais facilmente palpáveis. Por que não escrever um depurador que simplesmente dizer-lhe ou não o seu programa contém quaisquer loops infinitos? O Deter Problema estabelece que resolver este problema para o caso geral é impossível.

O estudo de Turing Machines também se presta a estudar gramáticas de língua e classes de mesmo, o que leva em programas de desenvolvimento da linguagem. O termo "expressões regulares" acontece porque eles são um , eo estudo dessas gramáticas (parte da Teoria da Computação) irá dizer-lhe mais sobre exatamente que tipos de problemas expressões regulares pode resolver eo que não pode. Por exemplo, uma sintaxe de expressão regular tradicional não será capaz de resolver o seguinte problema:. Analisar um número N de 'a' caracteres na entrada e, em seguida, analisar o mesmo número N de char 'b'

Se você estiver interessado em um bom texto sobre esse tipo de coisa, veja Introdução à Teoria da Computação por Michael Sipser. É bom.

Outras dicas

A máquina de Turing é uma máquina de computação teórica inventado por Alan Turing para servir como um modelo idealizado para cálculo matemático, basicamente, é uma forma simples de computador, composto por, no fita (a fita de papel ), tem um cabeça que pode ler os símbolos, escrever um novo símbolo no lugar e, em seguida, mover para a esquerda ou direita.

A máquina de Turing é dito estar em um determinado Estado , e em seguida, um programa é uma lista de transições , ter um estado atual e um símbolo sob a cabeça, o que deve ser escrito na fita, o que seria o próximo estado, e onde a cabeça deve mover-se.

Aqui está uma Básico Turing Machine, implementado em JavaScript ...

E um esboço:

máquina de Turing

O meu IBM PC é tudo necessidade eu fazer o meu computação!

Algo que os outros não têm apontado: Seu IBM PC é uma máquina de Turing. Mais precisamente, é equivalente a ela, no sentido de que qualquer coisa que seu PC pode fazer, uma máquina de Turing pode fazer, e nada de uma máquina de Turing pode fazer, seu PC pode.

Especificamente, uma máquina de Turing é um modelo de computação que captura completamente a noção de computabilidade, mantendo-se simples de raciocinar sobre, sem todos os detalhes específicos da arquitetura do seu PC.

A (geralmente aceite) "Church-Turing tese" afirma que cada dispositivo ou modelo de computação não mais poderoso do que uma máquina de Turing é. Assim, muitos problemas teóricos (por exemplo, classes como P e NP, a noção de "algoritmo de tempo polinomial", e assim por diante) são formalmente declarada em termos de uma máquina de Turing, embora, é claro, eles podem ser adaptados para outros modelos como bem. (Por exemplo, às vezes pode ser conveniente pensar em computação em termos de cálculo lambda, ou lógica combinatória, ou o que quer ... todos eles são equivalentes em poder de outro, e para o seu IBM PC também.)

Então lá vai:. As pessoas falam sobre máquinas de Turing, porque é uma forma precisa e completa previstos para dizer o que é um "computador" é, sem ter para descrever cada detalhe da arquitetura da CPU, suas restrições, e assim por diante

Na verdade, existem exemplos de máquinas de Turing na natureza. Especificamente, o ribossoma , que se traduz RNA em proteínas, implementa uma máquina de Turing.

Primeiro, um pouco de fundo:

  1. RNA é composto de uma série de nucleótidos ( "bases") que definem as letras do alfabeto genético.
  2. Existem 4 bases do ARN alfabeto -. A, C, G, U
  3. Bases são direcionais: por convenção as extremidades são chamados cinco-prime e três -prime (5' , 3' )
  4. Uma base em uma seqüência de RNA pode atrair uma base na outra cadeia de RNA em "complementar anti-paralela pares", onde um varas para U e C adere G.
  5. As bases são combinados em grupos de 3 para formar "códons" (palavras).
  6. Há 64 combinações possíveis para os códons (4 ^ 3).
  7. cada códon pode coincidir com um "anti-códon". por exemplo agosto <-> UAC
  8. existem moléculas transportadoras especiais ( "ARNt"), que tem nomeadamente anticódons e estão associadas a específico de amino ácidos (proteínas).

O funcionamento do ribossomo é simples:

  1. inicia a transcrição em um "start códon "que define a" leitura frame "
  2. transcrição sempre procede na 5 '-> 3'
  3. o códon sob o quadro de leitura é combinado com um específico tRNA contendo um determinado aminoácido
  4. o códon de iniciação sempre codifica o aminoácido metionina.
  5. o novo aminoácido é ligado à proteína crescente
  6. a armação avança então 3 bases para a próxima codão, e a proteína está continuamente estendido
  7. ao encontrar um codão de "paragem", a tradução é terminada, sem aminoácido está ligado e os dissocia ribossoma do ARNm.

Como você pode ver, esta é uma forma muito simples Máquina de Turing que executa a operação mais complexa - a própria natureza

Por que as pessoas que aviões de design se preocupam com os Irmãos Wright, ou a ciência por trás "elevador" que lhe permite voar aeronaves de asa fixa?

Alan Turing é elogiado como o pai da computação moderna. A Máquina de Turing é o precursor de todos os computadores modernos.

A Teoria da Computabilidade foi minha classe mais difícil na faculdade, mas estou feliz que eu peguei. Isso me fez pensar sobre as coisas que eu nunca teria, ou pensar sobre as coisas de maneiras que eu nunca teria, e essas são coisas boas.

Uma máquina de Turing é uma máquina abstrata capaz de computação.

De Wikipedia:

máquinas de Turing são dispositivos de manipulação de símbolos abstratos básicos que, apesar de sua simplicidade, pode ser adaptado para simular a lógica de qualquer algoritmo de computador. Eles foram descritos em 1936 por Alan Turing. máquinas de Turing não pretendem ser uma tecnologia de computação em prática, mas uma experiência de pensamento sobre os limites da computação mecânica. Assim, eles não foram realmente construídos. Estudando suas propriedades abstratas produz muitos insights sobre ciência da computação e teoria da complexidade.

A máquina de Turing que é capaz de simular qualquer outra máquina de Turing é chamado uma máquina de Turing Universal (UTM, ou simplesmente uma máquina universal). Uma definição mais orientada matematicamente com uma natureza "universal" semelhante foi introduzida por Alonzo Church, cujo trabalho sobre cálculo lambda entrelaçada com Turing está em uma teoria formal de computação conhecido como a tese de Church-Turing. Os estados tese de que as máquinas de Turing, de fato capturar a noção informal de método eficaz na lógica e matemática, e fornecem uma definição precisa de um algoritmo ou 'procedimento mecânico'.

Máquina de Turing é uma máquina abstrata que pode operar em uma sequência de dados e pode alterar o seu próprio estado, bem como os dados enquanto operacionais, de acordo com alguma lógica.

Este é um conceito que constitui a base de algoritmos, programas armazenados e computação em geral. Ele fornece boas idéias e abstrações se você está lidando com algoritmos, estados, dados, etc

Alimento para o pensamento, para a maioria.

Além da entrada da Wikipedia, você pode querer pegar o livro The Annotated Turing por Charles Petzold. Como subtítulo "Uma visita guiada através do papel histórico de Alan Turing em Computability ea máquina de Turing", que inclui o trabalho completo, quebrado em pedaços com muita discurso sobre o tema, incluindo uma perspectiva histórica.

Máquina de Turing é equivalente a um algoritmo. Ele pára quando ele aceita uma string, rejeita ou entra em um loop infinito quando ele não aceita a string.

Tape atua como uma memória, regras de transição atua como 'se então Else' condições

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top