1 / 33

Máquina de Turing e Computabilidade

Máquina de Turing e Computabilidade. Máquinas de Turing são os autôma-tos mais potentes que estudaremos. Elas podem computar qualquer fun-ção computável ; Há até quem acredite que tudo que é efetivamente computável é computá-vel por uma MT. Outras noções de computabilidade.

Télécharger la présentation

Máquina de Turing e Computabilidade

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. Máquina de Turing e Computabilidade • Máquinas de Turing são os autôma-tos mais potentes que estudaremos. • Elas podem computar qualquer fun-ção computável; • Há até quem acredite que tudo que é efetivamente computável é computá-vel por uma MT.

  2. Outras noções de computabilidade •  - cálculo (Church 1933); • Funções  - recusivas (Gödel 1936); • Combinadores lógicos (Schönfinkel 1924, Curry 1929); • Sistema de Post (Post 1943); • Máquiinas de Turing (Turing 1936-7). Tese de Church-Turing Todos os sistemas acima captam a noção de computável.

  3. SIMULAÇÃO UNIVERSAL OU PROGRAMAS COMO DADOS. Máquina de Turing (Descrição Informal) ├ a b b a b a ■ ■ ■ ■ ... ambos sentidos, lê/escreve Q

  4. Máquina de Turing: • conjunto finito de estados Q; • uma fita semi-infinita, isto é, ela é delimitada à esquerda pelo símbolo ├ e infinita a direita; • o cabeçote da fita pode se mover para a direita e para esquerda da fita e pode escrever símbolos sobre a fita; • a entrada da fita é de tamanho finito e inicialmente está logo após o ├ (à direita); • as infinitas células a direita da cadeia de entrada todas também contém o símbolo especial nulo ■;

  5. funcionamento começa no estado inicial S e o cabeçote sobre ├; • a cada passo a MT lê o símbolo sobre o ca-beçote, e dependendo deste símbolo e do estado corrente, escreve um novo símbolo nesta célula, move o cabeçote para a direita ou para a esquerda e entra num novo estado (função de transição); • a MT aceita a cadeia de entrada indo para um estado especial t e rejeita indo para um estado especial r; • para algumas cadeias de entrada a MT pode funcionar infinitamente sem nunca aceitá-la ou rejeitá-la.

  6. Uma Máquina de Turing é uma 9-tupla M = (Q,,,■,├,,s,t,r) onde: • Q é o conjunto finito de estados; •  é o alfabeto de entrada (finito); •  é o alfabeto da fita contendo  como um subconjunto (finito) • u \ , símbolo nulo; • ├  \ , delimitador à esquerda • : Qx  Qxx{L,R}, função de transição • sQ, estado inicial • tQ, estado de aceitação • rQ, estado de rejeição

  7. Restrições: • Nunca escrever sobre├ e nunca se mover para fora da fita à esquerda. • Para todo pQ existe um qQ tal que (p,├) = (q,├,R) • Uma vez que a TM entra no estado de aceitação/rejeição ela nunca sai. • Para todo b existe c,c’ e d,d’{L,R} tal que  (t,b) = (t,c,d)  (r,b) = (r,c’,d’)

  8. EXEMPLO: MT que aceita { anbncn / n 0}. Informalmente: • A MTcomeça no estado inicial S, varre a entrada a direita, checando se é da forma a*b*c*. • Ela não escreve no seu caminho (formalmente ela escreve o que leu). • Até encontrar o primeiro ■, daí troca este símbolo por um delimitador à direita .

  9. Agora a MT varre a fita a esquerda apagando o primeiro c que encontra, então o primeiro b e também o primeiro a. • A MT varre a direita apagando um a, um b, e um c. • A MT continua indo da direita para esquerda (e vice-versa) apagando uma ocorrência de cada letra a cada passo.

  10. Se em algum passo ela encontra uma ocorrência de um símbolo e nenhuma de outra, ela rejeita a cadeia. • Senão, ela vai apagar todas as letras e no passo final terá somente nulos entre├ e , neste ponto a MT aceita a cadeia.

  11. Formalmente: Q={s,q1,…,q10,t,r} ={a,b,c} ={,■,} Função de transição: ├ a b c ■  S (S,├,R) (S,a,R) (q1,b,R) (r, _ , _ ) (q3,,L) _ q1 _ (r, _ , _ ) (q1,b,R) (q2,c,R) (r, _ , _ ) _ q2 _ (r, _ , _ ) (r, _ , _ ) (q2,c,R) (q3,,L) _ q3 (t, _ , _ ) (r, _ , _ ) (r, _ , _ ) (q4,■, L) (q3,■,L) _ q4 (r, _ , _ ) (r, _ , _ ) (q5,■,L) (q4,c,L) (q4,■,L ) _ q5 (r, _ , _ ) (q6,■,L) (q5,b,L) _ (q5,■,L) _ q6 (q7,├,R) (q6,a,L) _ _ (q6,■,L) _ q7 _ (q8,■,R) (r, _ , _ ) (r, _ ,_ ) (q7,■,R) (t, _ _ ) q8 _ (q8,a,R) (q9,■,R) (r, _ , _ ) (q8,■,R) (r, _ , _ ) q9 _ _ (q9,b,R) (q10,■,R) (q9,■,R) (r , _, _ ) q10 _ _ _ (q10,c,R) (q10,■,R) (q3,,L)

  12. Configuração inicial (S,├x■,o) • ■ representa um número infinito de ■’s • 0 significa que a máquina está varrendo o delimitador ├ • Uma MT aceita uma cadeia de entrada x* se (S,├x■,0) * (t,y,n) para algum y e n e • rejeita se (S,├x■,0)*(r,y,n) para algum y e n. • M pára para uma entrada x se ela aceita x ou rejeita x. M pode ficar rodando infinita-mente com a entrada x. • O conjunto L(M) representa o conjunto de todas as cadeias aceitas por M.

  13. Um conjunto de cadeias é Recursiva-mente Enumerável (RE) se é L(M) para alguma máquina de Turing M, e • Recursivo se é L(M) para alguma má-quina de Turing M que pára em todas as entradas.

  14. Máquinas de Turing com múltiplas fitas • Fitas extras não adicionam poder computacional ├ ... a a b b b a ■ ■ ■ ├ b b a b b a a ■ ■ ... ... ├ a b b a b a a ■ ■ Q

  15. Uma MT com 3 fitas é similar a MT com uma fita exceto que a de 3 fitas tem as 3 fitas e 3 cabeçotes de leitura. • Em cada passo a máquina lê os três símbolos sobre seus cabeçotes, e baseada nesta informação e no estado corrente, ela imprime um símbolo em cada fita, move os cabeçotes (eles não precisam se mover na mesma direção) e entra num novo estado.

  16. A função de transição é do tipo  : Q x 3  Q x 3 x {L,R}3 • Chamemos a MT com 3 fitas de M. Podemos construir uma máquina de Turing com uma fita N que simula M (EXERCÏCIO).

  17. Máquinas de Turing infinita dos dois lados. • Infinitude para ambos os lados não adiciona poder computacional. ... ... a a a a b a a b a b b quebre aqui ... a a b b a ├ ... a b a a b

  18. Podemos quebrar a fita original em qualquer lugar e simular a MT em uma outra MT infinita só a direita com duas fitas. • A fita de cima é usada para simu-lar a MT original quando seu cabeçote está a direita da quebra, e a trilha de cima é usada para simular a MT original quando seu cabeçote está a esquerda da quebra, movendo-se na direção oposta.

  19. EXERCÍCIOS 1. Construir uma gramática livre de contexto para a linguagem formada pelo conjunto de cadeias sobre {a,b} que não são Palindromes. Mostre que sua gramática está correta. 2. Construa uma gramática na forma Normal de Chomsky para o conjunto não vazio de cadeias com o número balanceado de parênteses ( ) e colchetes [ ]. 3. Descreva a MT N com uma fita que simula M com três fitas (veja notas de aula).

  20. Gramáticas Tipo 0 ( Sem Restrição) G = (V,T,P ,S) onde as produções de P tem a forma  com  e  sendo cadeias arbitrárias de símbolos da gramática e   .    quando   P. L(G) = {W| W  T* e S * W}

  21. EXEMPLO: A gramática geradora de {ai |i é uma potência positiva de 2} 1)SACaB 2)CaaaC 3)CBDB 4)CBE 5)aDDa 6)ADAC 7)aEEa 8)AE  • A e B são delimitadores a direita e a esquerda das formas sentenciais.

  22. C é um marcador que se move entre A e B duplicando o número de a’s pela produção 2. • Quando C alcança o delimitador a direita B ele se transforma em D ou E pelas produções 3 ou 4. • Se D é escolhido ele migra pela produção S até chegar ao delimita-dor A.

  23. Neste ponto D se transforma em C pela produção 6 e o processo co-meça novamente. Se E é escolhido, o delimitador a di-reita é consumido. E migra para a esquerda pela produção 7 e conso-me o delimitador a esquerda, resul-tando em uma cadeia de 2i a’s para i > 0.

  24. Equivalência entre Gramáticas Tipo 0e Máquinas de Turing TEOREMA: Se L é L(G) para uma gramática tipo 0 G=(V,T,P ,S), então L é uma linguagem recursivamente enumerável.

  25. PROVA: • Construiremos uma máquina de Turing não-determinística com duas fitas M para reconhecer L. • A primeira fita é uma fita de entra-da, onde a cadeia W será colocada. • A segunda fita é usada para armaze-nar a forma sentencial  de G. M inicializa  com S. Então M repeti-damente faz:

  26. 1)seleciona, não deterministicamente, uma posição i em , 1 i  |  |. Isto é, começa na esquerda e repetidamente se move para direita ou seleciona a posição atual. 2)seleciona aleatoriamente uma produ-ção  de G. 3)se  aparece começando na posição i de , troque  por  nesta posição (shifting over). 4)compare a forma sentencial resultante com W na fita 1. Se a forma sentencial for igual a W, aceita w como uma sen-tença de G. Senão volta para o passo 1.

  27. Obs: Todas e somente as formas sentenciais de G aparecem na fita 2 quando o passo 2 é executado depois de algumas escolhas. • L(M) = L(G) = L então L é recursivamente enumerável. q.e.d.

  28. TEOREMA: Se L é uma linguagem recursivamente enumerável, então L = L(G) para alguma gramática tipo 0 G. • a prova é mais elaborada e é omitida

  29. Linguagens Sensíveis ao Contexto G = (V,T,P,S) onde as produções em P tem a forma  com  e  sendo ca-deias arbitrárias de símbolos da gra-mática,  e  tem que ser pelo menos tão grande (longo) quanto . • O nome sensível ao contexto vem da forma normal para estas gramáticas onde cada produção tem a forma 1A2 12 com .

  30. Isto é, a variável A pode ser substi-tuída pela cadeia  somente no contexto 1 _ 2. Obs: Quase todas as linguagens que trabalhamos são sensíveis ao con-texto. As únicas provas que certas linguagens não são sensíveis ao contexto são baseadas em diago-nalização.

  31. Autômatos Linearmente Limitados (ALL) Um ALL é uma máquina de Turing não determinística satisfazendo as seguintes condições: 1)o alfabeto de entrada inclui dois símbolos especiais¢ e s, delimita-dores a esquerda e a direita. 2)o ALL não pode se mover a esquer-da de ¢ e a direita de s, nem pode trocar os símbolos ¢ e s na fita.

  32. Obs: Um ALL é uma MT que,ao invés de ter uma fita potencial-mente infinita para computar, tem somente uma porção da fita contendo o símbolo x mais duas células contendo os delimitado-res. Existe uma equivalência entre ALL e gramáticas sensíveis ao contexto.

  33. HIERARQUIA DE CHOMSKY TEOREMA: (a) os conjuntos regulares estão conti-dos propriamente nas linguagens livres de contexto. (b) LLC não contendo a palavra vazia estão contidas propriamente nas LSC. (c) LSC estão propriamente contidas nos conjuntos recursivamente enume-ráveis.

More Related