1 / 19

Teoria da Computação

UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação. Teoria da Computação. MÁQUINA DE TURING (Continuação) Fabrício Dias http://teoria.computacao.googlepages.com / fabriciounipe@ig.com.br. Agenda. Máquina de Turing Linguagem Enuméravel Recursivamente

Télécharger la présentation

Teoria da Computação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIPÊ – Centro Universitário de João PessoaCurso de Ciências da Computação Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias http://teoria.computacao.googlepages.com/ fabriciounipe@ig.com.br

  2. Agenda • Máquina de Turing • Linguagem Enuméravel Recursivamente • Extensões da Máquina de Turing • Não-determinismo • Máquina de Turing Multidimensional • Máquina de Turing com Múltiplas Cabeças • Hierarquia de classes de linguagens

  3. Máquina de Turing • Critério para o Reconhecimento de Linguagens. • Se a máquina pára para toda palavra da linguagem sobre o alfabeto de entrada, ela é reconhecida pela Máquina de Turing.

  4. Linguagem Enumerável Recursivamente • Definição 3.8 Linguagem Enumerável Recursivamente • Uma linguagem aceita por uma Máquina de Turing é dita enumerável recursivamente. • Enumerável deriva do fato de que as palavras de qualquer linguagem enumerávelrecursivamente podem ser enumeradas ou listadas por uma Máquina de Turing. • Recursivamente é um termo matemático, anterior ao computador, com significado similar ao de recursão, utilizado na computação.

  5. Linguagem Enumerável Recursivamente • Se L é uma dessas linguagens, então para qualquer máquina M que aceita a linguagem L, existe pelo menos uma palavra w, não pertencente a L, que, ao ser processada por M, resulta que a máquina entre em loop infinito. • Se w pertence a L, M pára e aceita a entrada; • Se w não pertence a L, M pode parar, rejeitando a palavra, ou permanecer processando indefinidamente (loop).

  6. Linguagem Enumerável Recursivamente • Exemplos – as seguintes linguagens são exemplos de linguagens Enumeráveis Recursivamente. • Duplo_Bal = { anbn / n 0} • Triplo_Bal = { anbncn / n 0} • Palavra_Palavra = { ww / w é palavra sobre os símbolos a e b} • { w / w tem o mesmo número de símbolos a que b} • { ai bj ck / i=j ou j=k}

  7. Linguagens Recursivas • Uma sub-classe da Classe das Linguagens Enumerável Recursivamente, denominada Classe das Linguagens Recursivas, é composta pelas linguagens para as quais existe pelo menos uma Máquina de Turing que pára para qualquer entrada, aceitando ou rejeitando.

  8. Linguagens Recursivas • Uma linguagem L é dita Linguagem Recursiva se existe uma Máquina de Turing M, tal que: • ACEITA(M) = L • REJEITA(M) = * - L • LOOP(M) = 

  9. Linguagens Recursivas • Pode-se afirmar que a classe das Linguagens Recursivas representa todas as linguagens que podem ser reconhecidas mecanicamente. • Existem conjuntos que não são Enumeráveis Recursivamente, ou seja, linguagens para as quais não é possível desenvolver uma MT que as reconheça.

  10. Extensões da Máquina de Turing

  11. Extensões da Máquina de Turing • São apresentadas outras modificações sobre o modelo básico da Máquina de Turing, as quais não aumentam o poder computacional. • Ou seja, é possível construir Máquinas de Turing tradicionais que simulam cada uma das modificações sugeridas.

  12. Extensões da Máquina de Turing • As Máquinas Universais são equivalentes às diversas versões modificadas do modelo básico, com características que supostamente aumentariam o poder computacional • Não-determinismo • Múltiplas fitas • Múltiplas cabeças • Fita infinita em ambos os lados

  13. Não-Determinismo • Não-determinismo é uma importante generalização dos modelos de máquinas. • No caso da Máquina de Turing, para o mesmo estado corrente e símbolo lido, diversas alternativas são possíveis. Cada alternativa é percorrida de forma totalmente independente.

  14. Não-Determinismo • Genericamente, não-determinismo é interpretado como: • a máquina, ao processar uma entrada, tem como resultado um conjunto de novos estados. • ela assume um conjunto de estados alternativos, como se houvesse uma multiplicação da unidade de controle, uma para cada alternativa, processando independentemente, sem compartilhar recursos com as demais. • processamento de um caminho não influi no estado geral, nem no símbolo lido dos demais caminhos alternativos.

  15. Não-Determinismo • Para uma máquina M não-determinística, uma palavra w pertence a: • ACEITA(M) se existe pelo menos um caminho alternativo que aceita a palavra. • REJEITA(M) se todas as alternativas rejeitam a entrada. • LOOP(M) se nenhum caminho aceita a palavra e pelo menos um fica em loop.

  16. Não-Determinismo • Isso significa que as alterações de conteúdo na fita realizadas em um caminho não modificam o conteúdo da mesma nos demais caminhos alternativos.

  17. Máquina de Turing Multidimensional • Máquina de Turing Multidimensional • Neste modelo, a fita tradicional é substituída por uma estrutura do tipo arranjo k-dimensional, infinita em todas as 2k direções;

  18. Máquina de Turingcom Múltiplas Cabeças • Máquina de Turing com Múltiplas Cabeças • A Máquina de Turing com esta modificação possui k cabeças de leitura e gravação sobre uma única fita. • Cada cabeça possui movimento independente. Assim, o processamento depende do estado corrente e do símbolo lido em cada uma das cabeças.

  19. Combinações • Combinações • Combinações de algumas ou de todas as modificações apresentadas. • A combinação de algumas ou de todas as modificações apresentadas não aumenta o poder computacional da Máquina de Turing. • Por exemplo, uma Máquina de Turing Não-Determinística com Múltiplas Fitas e Múltiplas Cabeças pode ser simulada por uma Máquina de Turing tradicional.

More Related