Linguagens Formais e                       Autômatos                                            P. Blauth Menezes         ...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
8 - Linguagens Recursivamente        Enumeráveis e Sensíveis ao                 Contexto     8.1 Máquina de Turing     8.2...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao ContextoLinguagens Formais e Autômatos - P. Blauth Menezes   4
8 Linguagens Recursivamente  Enumeráveis e Sensíveis ao Contexto◆    Ciência da Computação     • conhecimento sistematizad...
◆    Alan Turing (1936) propôs um modelo     • Máquina de Turing     • aceito como uma formalização de        ∗ procedimen...
◆    Alonzo Church (1936)     • Hipótese de Church            qualquer função computável pode ser processada por uma      ...
◆    Resumidamente, uma máquina de Turing     • autômato     • fita não possui tamanho máximo     • pode ser usada simulta...
◆    Gramática Irrestrita     • sem restrições sobre a forma das produções     • mesmo poder computacional que o formalism...
◆    Classe das Linguagens Recursivamente Enumeráveis     • inclui algumas para as quais é        ∗ impossível determinar ...
◆    Linguagens Recursivas     • subclasse da Classe das Linguagens Enumeráveis       Recursivamente     • existe pelo men...
◆    Linguagens Sensíveis ao Contexto ou Tipo 1     • aceitas por uma Máquina de Turing com Fita Limitada        ∗ máquina...
Universo de Todas as Linguagens                                 Linguagens Enumeráveis Recursivamente                     ...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing         8.1.1 Noção Intuitiva ...
8.1 Máquina de Turing◆    Noção de algoritmo não é matematicamente precisa◆    Intuitivamente, deve possuir     • descriçã...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing         8.1.1 Noção Intuitiva ...
8.1.1             Noção Intuitiva◆    Máquina de Turing (Alan Turing, 1936)     • mecanismo simples     • formaliza a idéi...
◆    Ponto de partida de Turing     • uma pessoa     • com um instrumento de escrita e um apagador     • realiza cálculos ...
◆    Hipóteses aceitáveis     • natureza bidimensional do papel não é essencial para os cálculos        ∗ fita infinita or...
◆    Hipóteses aceitáveis (pessoa)     • conjunto de estados da mente durante o cálculo        ∗ finito        ∗ dois em p...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing         8.1.1 Noção Intuitiva ...
8.1.2             Modelo◆    Constituído de três partes     • Fita, usada simultaneamente como dispositivo de        ∗ ent...
◆    Fita: finita à esquerda e infinita à direita     • infinita: “tão grande quanto necessário”     • dividida em células...
• Inicialmente        ∗ palavra a ser processada: células mais à esquerda (após o          marcador de início de fita)    ...
◆    Unidade de controle     • número finito e predefinido de estados     • cabeça da fita        ∗ lê um símbolo de cada ...
Def: Máquina de Turing                                           M = (Σ, Q, δ, q0, F, V, β, ❂)     • Σ - alfabeto (de símb...
◆    Símbolo de início de fita     • ocorre exatamente uma vez e na célula mais à esquerda da fita◆    Função programa    ...
◆    Função programa interpretada como um diagrama     • estados inicial e finais: como nos autômatos finitos     • suponh...
◆    Computação de uma máquina de Turing M, para uma     palavra de entrada w     • sucessiva aplicação da função programa...
◆    Aceita a entrada w     • atinge um estado final        ∗ máquina pára        ∗ w é aceita◆    Rejeita a entrada w    ...
◆    Definição formalmente do comportamento     • necessário estender a definição da função programa     • argumento: um e...
Def: Linguagens Aceita, Rejeitada, LoopLinguagem Aceita ou Linguagem Reconhecida por M                         ACEITA(M) o...
◆    Cada máquina de Turing M sobre Σ     • induz uma partição de Σ*     • em classes de equivalência        ∗ ACEITA(M), ...
Exp: Máquina de Turing: Duplo Balanceamento                                                     L = { anbn  n ≥ 0 }Máquin...
Exp: Máquina de Turing: Duplo Balanceamento                                                                    (A, A, D)  ...
δ            ❂                     a            b       A          B          β   q 0 (q0, ❂, D) (q1, A, D)               ...
❂     a     a    b     b     ß ...         ❂   a    a    b    b   ß ...   ❂   A    a    b    b    ß ...     q0            ...
Obs: Máquina de Turing × AlgoritmoFoi afirmado que Máquina de Turing     • é aceita como uma formalização do conceito de a...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.2 Modelos Equivalentes à Máquina    de Turing◆    Uma razão para considerar a máquina de Turing como     o mais geral di...
◆    Autômato com Múltiplas Pilhas     • autômato com duas pilhas (citado no estudo das LLC)        ∗ poder computacional ...
◆    Máquina de Turing com Fita Infinita à Esquerda e à     Direita     • fita infinita dos dois lados não aumenta o poder...
◆    Máquina de Turing com Múltiplas Fitas     • k fitas infinitas à esquerda e à direita e k cabeças de fita     • função...
◆    Máquina de Turing Multidimensional     • fita tradicional         ∗ substituída por uma estrutura do tipo arranjo k-d...
◆    Modificações combinadas sobre a Máquina de Turing     • combinação de algumas ou todas as modificações        ∗ não a...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.3 Hipótese de Church◆    Objetivo do modelo abstrato de computação Máquina     de Turing     • explorar os limites da ca...
◆    Forte reforço da Hipótese de (Turing-) Church          "A capacidade de computação representada pela máquina de      ...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1        Máquina de Turing     8.2        Modelos ...
8.4 Máquina de Turing como    Reconhecedor◆    Classes de linguagens definidas a partir do     formalismo máquina de Turin...
◆    Classe das Linguagens Recursivamente Enumeráveis     • existe uma máquina de Turing capaz de determinar        ∗ se u...
◆    Recursivas × Recursivamente Enumeráveis                                                     ∈                ∈       ...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1        Máquina de Turing     8.2        Modelos ...
8.4.1             Linguagem Recursivamente EnumerávelDef: Linguagem Recursivamente Enumerável ou Tipo 0Uma linguagem aceit...
◆    Considerando a Hipótese de Church     • a máquina de Turing é o mais geral dispositivo de computação     • então, a C...
Teorema: Linguagem Não-Recursivamente EnumerávelSeja Σ = { a, b }Suponha Xi o i-ésimo elemento na ordenação lexicográfica ...
Então não é linguagem recursivamente enumerável                                      L = { xi  xi não é aceita por Ti }Pr...
Obs: Cardinal dos Problemas > Cardinal dos AlgoritmosConjunto das condifições de todas as máquinas de Turing     • isomorf...
Portanto, computacionalmente            existem mais problemas do que algoritmos para resolvê-los.Exemplo                 ...
8.1.2             Linguagem RecursivaDef: Linguagem RecursivaExiste pelo menos uma máquina de Turing M     • ACEITA(M) = L...
Exp: Linguagem Recursiva     • { anbn  n ≥ 0 }     • { anbncn  n ≥ 0 }     • { w  w ∈ { a, b }* e tem o dobro de símbol...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.5 Propriedades das Linguagens    Recursivamente Enumeráveis e    Recursivas◆    Algumas das principais propriedades     ...
Teorema: Complemento de uma Linguagem Recursiva é         RecursivaSe uma linguagem L sobre um alfabeto Σ qualquer é recur...
Seja     • Inverte uma máquina de Turing que inverte ACEITA / REJEITA     • M’ máquina de Turing resultante da composição ...
Teorema: Linguagem Recursiva × Recursivamente         EnumerávelL é recursiva sse L e ~L são recursivamente enumeráveisPro...
(⇐ direta)Suponha L linguagem tal que L e ~L são recursivamente enumeráveisEntão existem M1 e M2, máquinas de Turing, tais...
M                                   ∈                 ∈                                                     M1            ...
Teorema: Linguagens Recursivas ⊂ Recursivamente         EnumeráveisProva: (direta)Mostrar inclusão própria     • existe pe...
L é Recursivamente Enumerável                        (esboço da máquina de Turing)     • M gera palavras X1, X2,… em ordem...
L não é RecursivaJá foi visto     • L é recursiva sse L e ~L são recursivamente enumeráveisComplemento de L não é recursiv...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.6 Gramática Irrestrita◆    Gramática Irrestrita     • gramática sem qualquer restrição nas produçõesExp: Gramática Irres...
Exp: Gramática Irrestrita: { anb nc n  n ≥ 0 }                                         G = ({ S, C }, { a, b, c }, P, S) ...
Teorema: Linguagem Recursivamente Enumerável ×         Gramática IrrestritaL é linguagem recursivamente enumerável sse L é...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.7 Linguagem Sensível ao ContextoDef: Gramática Sensível ao Contexto                                                     ...
◆    Portanto, em uma gramática sensível ao contexto     • a cada etapa de derivação     • tamanho da palavra derivada não...
Exp: Linguagem Sensível ao Contexto: Palavra     Duplicada                                      { ww  w é palavra de { a,...
Gera o primeiro w após X, e o segundo w após Y     • a cada terminal gerado após X        ∗ gerada correspondente variável...
8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto     8.1 Máquina de Turing     8.2 Modelos Equivalentes à...
8.8 Máquina de Turing com Fita    LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes   82
◆    Máquina de Turing com Fita Limitada     • máquina de Turing     • fita limitada ao tamanho da entrada     • mais duas...
Def: Máquina de Turing com Fita Limitada (MTFL)                                           M = (Σ, Q, δ, q0, F, V, ❂, ✝)   ...
Exp: Máquina de Turing com Fita Limitada: Palavra     Duplicada                                  L = { ww  w é palavra de...
q0                                                                 (❂, ❂, D)                                              ...
Teorema: Linguagem Sensível ao Contexto × Máquina         de Turing com Fita LimitadaL é uma linguagem sensível ao context...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
Linguagens Formais e                       Autômatos                                            P. Blauth Menezes         ...
Próximos SlideShares
Carregando em…5
×

08 linguagens recursivamente enumeraveis e sensiveis ao contexto

1.265 visualizações

Publicada em

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.265
No SlideShare
0
A partir de incorporações
0
Número de incorporações
18
Ações
Compartilhamentos
0
Downloads
65
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

08 linguagens recursivamente enumeraveis e sensiveis ao contexto

  1. 1. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGSLinguagens Formais e Autômatos - P. Blauth Menezes 1
  2. 2. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 2
  3. 3. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 3
  4. 4. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao ContextoLinguagens Formais e Autômatos - P. Blauth Menezes 4
  5. 5. 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto◆ Ciência da Computação • conhecimento sistematizado relativo à computação◆ Origem da Ciência da Computação: remota • antiga Grécia: III a.C - desenho de algoritmos por Euclides • Babilônia: estudos sobre complexidade e reducibilidade de problemas • início do século XX: pesquisas com o objetivo de definir ∗ modelo computacional suficientemente genérico ∗ capaz de implementar qualquer função computávelLinguagens Formais e Autômatos - P. Blauth Menezes 5
  6. 6. ◆ Alan Turing (1936) propôs um modelo • Máquina de Turing • aceito como uma formalização de ∗ procedimento efetivo ∗ algoritmo ou ∗ função computável • algoritmo ∗ seqüência finita de instruções ∗ podem ser realizadas mecanicamente ∗ em um tempo finitoLinguagens Formais e Autômatos - P. Blauth Menezes 6
  7. 7. ◆ Alonzo Church (1936) • Hipótese de Church qualquer função computável pode ser processada por uma máquina de Turing ∗ existe um procedimento expresso na forma de uma máquina de Turing capaz de processar a função • como a noção intuitiva de procedimentos não é matematicamente precisa ∗ impossível demonstrar formalmente se a máquina de Turing é, de fato, o mais genérico dispositivo de computação ∗ mostrado: todos os demais modelos propostos possuem, no máximo, a mesma capacidade computacionalLinguagens Formais e Autômatos - P. Blauth Menezes 7
  8. 8. ◆ Resumidamente, uma máquina de Turing • autômato • fita não possui tamanho máximo • pode ser usada simultaneamente como dispositivo de entrada, de saída e de memória de trabalho◆ Linguagens Recursivamente Enumeráveis ou Tipo 0 • aceitas por uma máquina de Turing • segundo a Hipótese de Church, a Classe das Linguagens Recursivamente Enumeráveis ∗ conjunto de todas as linguagens ∗ que podem ser reconhecidas mecanicamente ∗ em um tempo finitoLinguagens Formais e Autômatos - P. Blauth Menezes 8
  9. 9. ◆ Gramática Irrestrita • sem restrições sobre a forma das produções • mesmo poder computacional que o formalismo Máquina de Turing◆ Conseqüência importante do estudo das linguagens recursivamente enumeráveis existem mais problemas não-solucionáveis do que problemas solucionáveisLinguagens Formais e Autômatos - P. Blauth Menezes 9
  10. 10. ◆ Classe das Linguagens Recursivamente Enumeráveis • inclui algumas para as quais é ∗ impossível determinar mecanicamente ∗ se uma palavra não pertence à linguagem • se L é uma destas linguagens, então ∗ para qualquer máquina de Turing M que aceita L ∗ existe pelo menos uma palavra w não pertencente a L que ∗ ao ser processada por M, a máquina entra em loop infinito • ou seja ∗ 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 indefinidamenteLinguagens Formais e Autômatos - P. Blauth Menezes 10
  11. 11. ◆ Linguagens Recursivas • subclasse da Classe das Linguagens Enumeráveis Recursivamente • existe pelo menos uma máquina de Turing que pára para qualquer entrada, aceitando ou rejeitandoLinguagens Formais e Autômatos - P. Blauth Menezes 11
  12. 12. ◆ Linguagens Sensíveis ao Contexto ou Tipo 1 • aceitas por uma Máquina de Turing com Fita Limitada ∗ máquina de Turing com limitação no tamanho da fita (finita) ∗ exercício: diferença para o Autômato Finito?◆ Gramática Sensível ao Contexto • em oposição a “livre do contexto”: lado esquerdo das produções ∗ pode ser uma palavra de variáveis ou terminais ∗ definindo um "contexto" de derivação◆ Classe das Linguagens Sensíveis ao Contexto • contida propriamente na Classe das Linguagens Recursivas • classe especialmente importante ∗ inclui a grande maioria das linguagens aplicadasLinguagens Formais e Autômatos - P. Blauth Menezes 12
  13. 13. Universo de Todas as Linguagens Linguagens Enumeráveis Recursivamente Linguagens Recursivas Linguagens Sensíveis ao Contexto Linguagens Livres do Contexto Linguagens RegularesLinguagens Formais e Autômatos - P. Blauth Menezes 13
  14. 14. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.1.1 Noção Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 14
  15. 15. 8.1 Máquina de Turing◆ Noção de algoritmo não é matematicamente precisa◆ Intuitivamente, deve possuir • descrição finita • passos ∗ discretos (em oposição ao contínuo) ∗ executáveis mecanicamente ∗ em um tempo finitoLinguagens Formais e Autômatos - P. Blauth Menezes 15
  16. 16. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.1.1 Noção Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 16
  17. 17. 8.1.1 Noção Intuitiva◆ Máquina de Turing (Alan Turing, 1936) • mecanismo simples • formaliza a idéia de uma pessoa que realiza cálculos • lembra os computadores atuais ∗ embora proposta anos antes do primeiro computador digital◆ Modelo máquina de Turing • no mínimo, mesmo poder computacional • de qualquer computador de propósito geralLinguagens Formais e Autômatos - P. Blauth Menezes 17
  18. 18. ◆ Ponto de partida de Turing • uma pessoa • com um instrumento de escrita e um apagador • realiza cálculos em uma folha de papel, organizada em quadrados◆ Inicialmente, a folha de papel • contém somente os dados iniciais do problema◆ Trabalho da pessoa: seqüências de operações simples • ler um símbolo de um quadrado • alterar um símbolo em um quadrado • mover os olhos para outro quadrado • fim dos cálculos ∗ representação satisfatória para a resposta desejadaLinguagens Formais e Autômatos - P. Blauth Menezes 18
  19. 19. ◆ Hipóteses aceitáveis • natureza bidimensional do papel não é essencial para os cálculos ∗ fita infinita organizada em quadrados • conjunto de símbolos: finito ∗ possível utilizar seqüências de símbolosLinguagens Formais e Autômatos - P. Blauth Menezes 19
  20. 20. ◆ Hipóteses aceitáveis (pessoa) • conjunto de estados da mente durante o cálculo ∗ finito ∗ dois em particular: "estado inicial" e "estado final" • o comportamento, a cada momento, é determinado pelo ∗ estado presente ∗ símbolo para o qual sua atenção está voltada • pessoa é capaz de ∗ observar e alterar o símbolo de apenas um quadrado ∗ transferir sua atenção para um dos quadrados adjacentesLinguagens Formais e Autômatos - P. Blauth Menezes 20
  21. 21. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.1.1 Noção Intuitiva 8.1.2 Modelo 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 21
  22. 22. 8.1.2 Modelo◆ Constituído de três partes • Fita, usada simultaneamente como dispositivo de ∗ entrada, saída e memória de trabalho • Unidade de Controle ∗ reflete o estado corrente da máquina ∗ possui uma unidade de leitura e gravação (cabeça da fita) ∗ acessa uma célula da fita de cada vez ∗ se movimenta para a esquerda ou para a direita • Programa, Função Programa ou Função de Transição ∗ define: estado da máquina ∗ comanda: leituras, gravações e sentido de movimento (cabeça)Linguagens Formais e Autômatos - P. Blauth Menezes 22
  23. 23. ◆ Fita: finita à esquerda e infinita à direita • infinita: “tão grande quanto necessário” • dividida em células, cada uma armazenando um símbolo◆ Símbolos podem • pertencer ao alfabeto de entrada • pertencer ao alfabeto auxiliar • ser "branco" • ser "marcador de início de fita"Linguagens Formais e Autômatos - P. Blauth Menezes 23
  24. 24. • Inicialmente ∗ palavra a ser processada: células mais à esquerda (após o marcador de início de fita) ∗ demais células: "branco" marcador de entrada início de fita branco fita ❂ a b b c a ß ß ...cabeçada fita unidade de controle controleLinguagens Formais e Autômatos - P. Blauth Menezes 24
  25. 25. ◆ Unidade de controle • número finito e predefinido de estados • cabeça da fita ∗ lê um símbolo de cada vez e grava um novo símbolo ∗ move uma célula para a direita ou para a esquerda • símbolo gravado e o sentido do movimento ∗ definidos pelo programaLinguagens Formais e Autômatos - P. Blauth Menezes 25
  26. 26. Def: Máquina de Turing M = (Σ, Q, δ, q0, F, V, β, ❂) • Σ - alfabeto (de símbolos) de entrada • Q - conjunto de estados possíveis da máquina (finito) • δ - (função) programa ou função de transição (função parcial) ∗ suponha que Σ ∪ V e { β, ❂ } são conjuntos disjuntos δ: Q × (Σ ∪ V ∪ { β, ❂ }) → Q × (Σ ∪ V ∪ { β, ❂ }) × { E, D } ∗ transição da máquina: δ(p, x) = (q, y, m) • q 0 - estado inicial: elemento distinguido de Q • F - conjunto de estados finais: subconjunto de Q • V - alfabeto auxiliar (pode ser vazio) • β - símbolo especial branco • ❂ - símbolo de início ou marcador de início da fitaLinguagens Formais e Autômatos - P. Blauth Menezes 26
  27. 27. ◆ Símbolo de início de fita • ocorre exatamente uma vez e na célula mais à esquerda da fita◆ Função programa • considera ∗ estado corrente ∗ símbolo lido da fita • determina ∗ novo estado ∗ símbolo a ser gravado ∗ sentido de movimento da cabeça (E e D)Linguagens Formais e Autômatos - P. Blauth Menezes 27
  28. 28. ◆ Função programa interpretada como um diagrama • estados inicial e finais: como nos autômatos finitos • suponha a transição δ(p, x) = (q, y, m) ) (x, y, m) p q estado anterior novo estado símbolo lido sentido do movimento símbolo gravadoLinguagens Formais e Autômatos - P. Blauth Menezes 28
  29. 29. ◆ Computação de uma máquina de Turing M, para uma palavra de entrada w • sucessiva aplicação da função programa ∗ a partir do estado inicial ∗ cabeça posicionada na célula mais à esquerda da fita ∗ até ocorrer uma condição de parada • processamento pode ∗ parar ou ∗ ficar processando indefinidamente (ciclo ou loop infinito)Linguagens Formais e Autômatos - P. Blauth Menezes 29
  30. 30. ◆ Aceita a entrada w • atinge um estado final ∗ máquina pára ∗ w é aceita◆ Rejeita a entrada w • função programa é indefinida para o argumento (símbolo lido e estado corrente) ∗ máquina pára ∗ w é rejeitada • argumento define um movimento à esquerda, e a cabeça da fita já se encontra na célula mais à esquerda ∗ máquina pára ∗ w é rejeitadaLinguagens Formais e Autômatos - P. Blauth Menezes 30
  31. 31. ◆ Definição formalmente do comportamento • necessário estender a definição da função programa • argumento: um estado e uma palavra • exercícioLinguagens Formais e Autômatos - P. Blauth Menezes 31
  32. 32. Def: Linguagens Aceita, Rejeitada, LoopLinguagem Aceita ou Linguagem Reconhecida por M ACEITA(M) ou L(M) • conjunto de todas as palavras de Σ* aceitas por M, a partir de q0Linguagem Rejeitada por M REJEITA(M) • conjunto de todas as palavras de Σ* rejeitadas por M, a partir de q0Linguagem Loop de M LOOP(M) • conjunto de todas as palavras de Σ* para as quais M fica processando indefinidamente a partir de q0Linguagens Formais e Autômatos - P. Blauth Menezes 32
  33. 33. ◆ Cada máquina de Turing M sobre Σ • induz uma partição de Σ* • em classes de equivalência ∗ ACEITA(M), REJEITA(M) e LOOP(M) ∗ se um ou dois dos conjuntos for vazios? Σ* ACEITA(M) REJEITA(M) LOOP(M)Linguagens Formais e Autômatos - P. Blauth Menezes 33
  34. 34. Exp: Máquina de Turing: Duplo Balanceamento L = { anbn  n ≥ 0 }Máquina de Turing M = ({ a, b }, { q0, q1, q2, q3, q4 }, δ, q0, { q4 }, { A, B }, β, ❂)é tal que ACEITA(M) = L e REJEITA(M) = ~Le, portanto, LOOP(M) = ∅ • qualquer palavra que não esteja na forma axbx é rejeitadaLinguagens Formais e Autômatos - P. Blauth Menezes 34
  35. 35. Exp: Máquina de Turing: Duplo Balanceamento (A, A, D) (a, A, D) (b, B, E) q0 q1 q2 (❂, ❂, D) (a, a, D) (a, a, E) (B, B, D) (B, B, E) (B, B, D) (ß, ß, D) q3 (B, B, D) (ß, ß, D) q4Linguagens Formais e Autômatos - P. Blauth Menezes 35
  36. 36. δ ❂ a b A B β q 0 (q0, ❂, D) (q1, A, D) (q3, B, D) (q4, β, D) q1 (q1, a, D) (q2, B, E) (q1, B, D) q2 (q2, a, E) (q0, A, D) (q2, B, E) q3 (q3, B, D) (q4, β, D) q4Linguagens Formais e Autômatos - P. Blauth Menezes 36
  37. 37. ❂ a a b b ß ... ❂ a a b b ß ... ❂ A a b b ß ... q0 q0 q1 ❂ A a b b ß ... ❂ A a B b ß ... ❂ A a B b ß ... q1 q2 q2 ❂ A a B b ß ... ❂ A A B b ß ... ❂ A A B b ß ... q0 q1 q1 ❂ A A B B ß ... ❂ A A B B ß ... ❂ A A B B ß ... q2 q2 q0 ❂ A A B B ß ... ❂ A A B B ß ... ❂ A A B B ß ß ... q3 q3 q4Linguagens Formais e Autômatos - P. Blauth Menezes 37
  38. 38. Obs: Máquina de Turing × AlgoritmoFoi afirmado que Máquina de Turing • é aceita como uma formalização do conceito de algoritmoEntretanto, também é usual considerar como conceito de algoritmo • máquina de Turing que sempre pára para qualquer entradaNesse caso, uma máquina que eventualmente fica em loop infinito • não seria considerada um algoritmoLinguagens Formais e Autômatos - P. Blauth Menezes 38
  39. 39. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 39
  40. 40. 8.2 Modelos Equivalentes à Máquina de Turing◆ Uma razão para considerar a máquina de Turing como o mais geral dispositivo de computação • todos os demais modelos e máquinas propostos • bem como as diversas modificações da máquina de Turing • possuem, no máximo, o mesmo poder computacional da máquina de TuringLinguagens Formais e Autômatos - P. Blauth Menezes 40
  41. 41. ◆ Autômato com Múltiplas Pilhas • autômato com duas pilhas (citado no estudo das LLC) ∗ poder computacional é equivalente ao da máquina de Turing • maior número de pilhas: não aumenta a capacidade computacional • exercício ∗ definição formal: autômato com duas (múltiplas) pilhas ∗ equivalência deles ao modelo da máquina de Turing • como são necessárias duas pilhas, pode-se afirmar ∗ a estrutura de fita é mais expressiva do que a de pilha◆ Máquina de Turing Não-Derminística • não aumenta o poder computacional da máquina de TuringLinguagens Formais e Autômatos - P. Blauth Menezes 41
  42. 42. ◆ Máquina de Turing com Fita Infinita à Esquerda e à Direita • fita infinita dos dois lados não aumenta o poder computacional • pode ser facilmente simulada por uma fita tradicional ∗ células pares: parte direita da fita ∗ células ímpares: parte esquerda da fita ... a-3 a-2 a-1 a1 a2 a3 ... ❂ a1 a-1 a2 a-2 a3 a-3 ...Linguagens Formais e Autômatos - P. Blauth Menezes 42
  43. 43. ◆ Máquina de Turing com Múltiplas Fitas • k fitas infinitas à esquerda e à direita e k cabeças de fita • função programa ∗ dependendo do estado corrente e do símbolo lido em cada fita ∗ grava um novo símbolo em cada fita ∗ move cada cabeça independentemente ∗ assume um (único) novo estado • inicialmente ∗ palavra de entrada: armazenada na primeira fita ∗ demais: brancosLinguagens Formais e Autômatos - P. Blauth Menezes 43
  44. 44. ◆ Máquina de Turing Multidimensional • fita tradicional ∗ substituída por uma estrutura do tipo arranjo k-dimensional ∗ infinita em todas as 2k direções◆ Máquina de Turing com Múltiplas Cabeças • k cabeças de leitura e gravação sobre a mesma fita ∗ movimentos independentes • processamento depende ∗ estado corrente ∗ símbolo lido em cada uma das cabeçasLinguagens Formais e Autômatos - P. Blauth Menezes 44
  45. 45. ◆ Modificações combinadas sobre a Máquina de Turing • combinação de algumas ou todas as modificações ∗ não aumenta o poder computacional da máquina de Turing • exemplo, uma máquina de Turing ∗ não-determinística ∗ com múltiplas fitas ∗ múltiplas cabeças ∗ pode ser simulada por uma máquina de Turing tradicionalLinguagens Formais e Autômatos - P. Blauth Menezes 45
  46. 46. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 46
  47. 47. 8.3 Hipótese de Church◆ Objetivo do modelo abstrato de computação Máquina de Turing • explorar os limites da capacidade de expressar soluções de problemas◆ Portanto, uma proposta de • definição formal da noção intuitiva de algoritmo◆ Diversos outros trabalhos: equivalentes ao de Turing • Máquina de Post (Post - 1936) • Funções Recursivas (Kleene - 1936)Linguagens Formais e Autômatos - P. Blauth Menezes 47
  48. 48. ◆ Forte reforço da Hipótese de (Turing-) Church "A capacidade de computação representada pela máquina de Turing é o limite máximo que pode ser atingido por qualquer dispositivo de computação".◆ Em outras palavras • qualquer outra forma de expressar algoritmos terá, no máximo, a mesma capacidade computacional da máquina de Turing◆ Hipótese de Church não é demonstrável • algoritmo ou função computável: noção intuitivaLinguagens Formais e Autômatos - P. Blauth Menezes 48
  49. 49. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.4.1 Linguagem Recursivamente Enumerável 8.4.2 Linguagem Recursiva 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 49
  50. 50. 8.4 Máquina de Turing como Reconhecedor◆ Classes de linguagens definidas a partir do formalismo máquina de Turing • Linguagens Recursivamente Enumeráveis • Linguagens RecursivasLinguagens Formais e Autômatos - P. Blauth Menezes 50
  51. 51. ◆ Classe das Linguagens Recursivamente Enumeráveis • existe uma máquina de Turing capaz de determinar ∗ se uma palavra w pertence à linguagem • entretanto, se w ∈ ~L, o algoritmo pode ∗ parar: w não pertence à linguagem ∗ ficar em loop infinito◆ Classe das Linguagens Recursivas • existe pelo menos uma máquina de Turing que sempre pára, capaz de determinar se ∗ w ∈ L ou ∗ w ∈ ~LLinguagens Formais e Autômatos - P. Blauth Menezes 51
  52. 52. ◆ Recursivas × Recursivamente Enumeráveis ∈ ∈ w w MT MT ∉ ∉ ou LOOP◆ Aparente contradição reconhecer o complemento de uma linguagem pode ser impossível, mesmo que seja possível reconhecer a linguagemLinguagens Formais e Autômatos - P. Blauth Menezes 52
  53. 53. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.4.1 Linguagem Recursivamente Enumerável 8.4.2 Linguagem Recursiva 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 53
  54. 54. 8.4.1 Linguagem Recursivamente EnumerávelDef: Linguagem Recursivamente Enumerável ou Tipo 0Uma linguagem aceita por uma máquina de TuringExp: Linguagem Recursivamente Enumerável • { anbn  n ≥ 0 } já apresentado • { w  w tem o mesmo número de símbolos a e b } exercício • { aibjck  i = j ou j = k } exercícioLinguagens Formais e Autômatos - P. Blauth Menezes 54
  55. 55. ◆ Considerando a Hipótese de Church • a máquina de Turing é o mais geral dispositivo de computação • então, a Classe das Linguagens Recursivamente Enumeráveis ∗ todas as linguagens que podem ser reconhecidas mecanicamente◆ Linguagens Recursivamente Enumeráveis × Universo de todas as linguagens • classe de linguagens muito rica • entretanto, existem conjuntos que não são recursivamente enumeráveis ∗ não é possível desenvolver uma MT que os reconheçaLinguagens Formais e Autômatos - P. Blauth Menezes 55
  56. 56. Teorema: Linguagem Não-Recursivamente EnumerávelSeja Σ = { a, b }Suponha Xi o i-ésimo elemento na ordenação lexicográfica de Σ* •0-ε • 1-a •2-b • 3 - aa •…Exercícios • é possível codificar todas as máquinas de Turing • como uma palavra sobre Σ de tal forma que • cada código represente uma única máquina de Turing • suponha o conjunto dos códigos ordenados lexicograficamente • suponha que Ti representa o i-ésimo código nesta ordenaçãoLinguagens Formais e Autômatos - P. Blauth Menezes 56
  57. 57. Então não é linguagem recursivamente enumerável L = { xi  xi não é aceita por Ti }Prova: (por absurdo)Suponha que L é recursivamente enumerável • existe uma máquina de Turing que aceita L • seja Tk a codificação desta máquina de Turing: ACEITA(Tk) = LAssim • por definição de L, xk ∈ L sse xk não é aceita por Tk • como Tk aceita L, xk ∈ L sse xk é aceita por TkContradição!!! Logo, L não é linguagem recursivamente enumerávelLinguagens Formais e Autômatos - P. Blauth Menezes 57
  58. 58. Obs: Cardinal dos Problemas > Cardinal dos AlgoritmosConjunto das condifições de todas as máquinas de Turing • isomorfo a um subconjunto infinito dos números naturaisLogo, é enumerável (infinitamente contável) o conjunto de todas • máquinas de Turing • linguagens recursivamente enumeráveis • problemas solucionáveisEm contrapartida, o conjunto das linguagens que não sãorecursivamente enumeráveis (problemas não-solucionáveis) • não-contávelLinguagens Formais e Autômatos - P. Blauth Menezes 58
  59. 59. Portanto, computacionalmente existem mais problemas do que algoritmos para resolvê-los.Exemplo { f: N → N  f é função } • classe muito particular de problemas (linguagens) • prova-se: isomorfo a R (cardinal é 2ℵ ) 0 • maior do que ℵ0 (cardinal do conjunto das máquinas de Turing)Linguagens Formais e Autômatos - P. Blauth Menezes 59
  60. 60. 8.1.2 Linguagem RecursivaDef: Linguagem RecursivaExiste pelo menos uma máquina de Turing M • ACEITA(M) = L • REJEITA(M) = ~LLinguagens Formais e Autômatos - P. Blauth Menezes 60
  61. 61. Exp: Linguagem Recursiva • { anbn  n ≥ 0 } • { anbncn  n ≥ 0 } • { w  w ∈ { a, b }* e tem o dobro de símbolos a que b }Linguagens Formais e Autômatos - P. Blauth Menezes 61
  62. 62. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 62
  63. 63. 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas◆ Algumas das principais propriedades • complemento de uma linguagem recursiva é recursiva • linguagem é recursiva sse a linguagem e seu complemento são linguagens recursivamente enumeráveis • Classe das Linguagens Recursivas está contida propriamente na Classe das Linguagens Recursivamente EnumeráveisLinguagens Formais e Autômatos - P. Blauth Menezes 63
  64. 64. Teorema: Complemento de uma Linguagem Recursiva é RecursivaSe uma linguagem L sobre um alfabeto Σ qualquer é recursiva, então oseu complemento ~L é recursivaProva: (direta)Suponha L linguagem recursiva. Então existe M, máquina de Turing • ACEITA(M) = L • REJEITA(M) = ~L • LOOP(M) = ∅Linguagens Formais e Autômatos - P. Blauth Menezes 64
  65. 65. Seja • Inverte uma máquina de Turing que inverte ACEITA / REJEITA • M’ máquina de Turing resultante da composição de Inverte e M ∗ M’ aceita a linguagem ~L ∗ sempre pára para qualquer entradaPortanto, o complemento de uma linguagem recursiva é recursiva M ∈ ∈ ∈ ∈ Inverte Inverte p M ∉ ∉ ∉ ∉Linguagens Formais e Autômatos - P. Blauth Menezes 65
  66. 66. Teorema: Linguagem Recursiva × Recursivamente EnumerávelL é recursiva sse L e ~L são recursivamente enumeráveisProva:(⇒ direta)Suponha L linguagem recursiva. Então (teorema anterior) • ~L é recursivaComo toda linguagem recursiva também é recursivamente enumerável • L e ~L são recursivamente enumeráveisLinguagens Formais e Autômatos - P. Blauth Menezes 66
  67. 67. (⇐ direta)Suponha L linguagem tal que L e ~L são recursivamente enumeráveisEntão existem M1 e M2, máquinas de Turing, tais que • ACEITA(M1) = L • ACEITA(M2) = ~LSeja M máquina de Turing resultante da composição M ∈ ∈ M1 w ∈ ∉ ∉ M2 InverteLinguagens Formais e Autômatos - P. Blauth Menezes 67
  68. 68. M ∈ ∈ M1 w ∈ ∉ ∉ M2 Inverte • composição não-determinista de M1 com M2 • composição seqüencial de M1 com InvertePara qualquer palavra de entrada • M aceita se M1 aceita • M rejeita se M2 aceitaLogo, L é recursivaLinguagens Formais e Autômatos - P. Blauth Menezes 68
  69. 69. Teorema: Linguagens Recursivas ⊂ Recursivamente EnumeráveisProva: (direta)Mostrar inclusão própria • existe pelos menos uma linguagem recursivamente enumerável que não é recursivaLinguagem recursivamente enumerável que é não-recursiva L = { Xi  Xi é aceita por Ti }Linguagens Formais e Autômatos - P. Blauth Menezes 69
  70. 70. L é Recursivamente Enumerável (esboço da máquina de Turing) • M gera palavras X1, X2,… em ordem lexicográfica ∗ compara com w ∗ quando Xi = w, w é a i-ésima palavra na enumeração • M gera Ti, a i-ésima máquina de Turing (exercícios) • M simula Ti para a entrada w = Xi ∗ se w pertence a ACEITA(Ti), então w pertence a ACEITA(M) ∗ simulador: exercício • M aceita w sse Xi = w é aceita por TiLogo, L é recursivamente enumerávelLinguagens Formais e Autômatos - P. Blauth Menezes 70
  71. 71. L não é RecursivaJá foi visto • L é recursiva sse L e ~L são recursivamente enumeráveisComplemento de L não é recursivamente enumerável • então L é não-recursivaLinguagens Formais e Autômatos - P. Blauth Menezes 71
  72. 72. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 72
  73. 73. 8.6 Gramática Irrestrita◆ Gramática Irrestrita • gramática sem qualquer restrição nas produçõesExp: Gramática Irrestrita: { anb nc n  n ≥ 0 } G = ???Linguagens Formais e Autômatos - P. Blauth Menezes 73
  74. 74. Exp: Gramática Irrestrita: { anb nc n  n ≥ 0 } G = ({ S, C }, { a, b, c }, P, S) • P = { S → abc  ε, ab → aabbC, Cb → bC, Cc → cc }Derivação de aaabbbccc S ⇒ abc ⇒ aabbCc ⇒ aaabbCbCc ⇒ aaabbCbcc ⇒ aaabbbCcc ⇒ aaabbbccc • C "caminha" na palavra até a posição correta para gerar cLinguagens Formais e Autômatos - P. Blauth Menezes 74
  75. 75. Teorema: Linguagem Recursivamente Enumerável × Gramática IrrestritaL é linguagem recursivamente enumerável sse L é gerada por umagramática irrestrita • (não será demonstrado)Linguagens Formais e Autômatos - P. Blauth Menezes 75
  76. 76. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 76
  77. 77. 8.7 Linguagem Sensível ao ContextoDef: Gramática Sensível ao Contexto G = (V, T, P, S)Qualquer regra de produção de P é da forma α → β • β é palavra de (V ∪ T)* • α é palavra de (V ∪ T)+ tal queα ≤ β ∗ excetuando-se, eventualmente, para S → ε ∗ neste caso, S não está no lado direito de qualquer produçãoLinguagens Formais e Autômatos - P. Blauth Menezes 77
  78. 78. ◆ Portanto, em uma gramática sensível ao contexto • a cada etapa de derivação • tamanho da palavra derivada não pode diminuir ∗ excetuando-se para gerar a palavra vazia ∗ se esta pertencer à linguagem◆ Observe (por quê?) • nem toda gramática livre do contexto é sensível ao contextoDef: Linguagem Sensível ao Contexto, Linguagem Tipo 1Linguagem gerada por uma gramática sensível ao contextoLinguagens Formais e Autômatos - P. Blauth Menezes 78
  79. 79. Exp: Linguagem Sensível ao Contexto: Palavra Duplicada { ww  w é palavra de { a, b }* } G = ({ S, X, Y, A, B, 〈aa〉, 〈ab〉, 〈ba〉, 〈bb〉 }, { a, b }, P, S)Produções de P • S → XY  aa  bb  ε, • X → XaA  XbB  aa〈aa〉  ab〈ab〉  ba〈ba〉  bb〈bb〉, • Aa → aA, Ab → bA, AY → Ya, • Ba → aB, Bb → bB, BY → Yb, • 〈aa〉a → a〈aa〉, 〈aa〉b → b〈aa〉, 〈aa〉Y → aa, • 〈ab〉a → a〈ab〉, 〈ab〉b → b〈ab〉, 〈ab〉Y → ab, • 〈ba〉a → a〈ba〉, 〈ba〉b → b〈ba〉, 〈ba〉Y → ba, • 〈bb〉a → a〈bb〉, 〈bb〉b → b〈bb〉, 〈bb〉Y → bbLinguagens Formais e Autômatos - P. Blauth Menezes 79
  80. 80. Gera o primeiro w após X, e o segundo w após Y • a cada terminal gerado após X ∗ gerada correspondente variável • variável "caminha" na palavra até passar por Y ∗ deriva o correspondente terminal • para encerrar ∗ X deriva subpalavra de dois terminais ∗ e correspondente variável a qual "caminha" até encontrar Y ∗ quando é derivada a mesma subpalavra de dois terminais • se X derivar uma subpalavra de somente um terminal (e a correspondente variável) ?Linguagens Formais e Autômatos - P. Blauth Menezes 80
  81. 81. 8 - Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 8.1 Máquina de Turing 8.2 Modelos Equivalentes à Máquina de Turing 8.3 Hipótese de Church 8.4 Máquina de Turing como Reconhecedor 8.5 Propriedades das Linguagens Recursivamente Enumeráveis e Recursivas 8.6 Gramática Irrestrita 8.7 Linguagem Sensível ao Contexto 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 81
  82. 82. 8.8 Máquina de Turing com Fita LimitadaLinguagens Formais e Autômatos - P. Blauth Menezes 82
  83. 83. ◆ Máquina de Turing com Fita Limitada • máquina de Turing • fita limitada ao tamanho da entrada • mais duas células ∗ marcadores de início e de fim de fita◆ Não-Determinismo? • não é conhecido se aumenta o poder computacionalLinguagens Formais e Autômatos - P. Blauth Menezes 83
  84. 84. Def: Máquina de Turing com Fita Limitada (MTFL) M = (Σ, Q, δ, q0, F, V, ❂, ✝) • Σ - alfabeto (de símbolos) de entrada • Q - conjunto de estados (finito) • δ - (função) programa ou função de transição (parcial) δ: Q × (Σ ∪ V ∪ { ❂, ✝ }) → 2Q×(Σ∪V∪{❂,✝})×{E,D} ∗ transição: δ(p, x) = { (q1, y1, m1),…,(qn, yn, mn) } • q 0 - estado inicial: elemento distinguido de Q • F - conjunto de estados finais: subconjunto de Q • V - alfabeto auxiliar (pode ser vazio) • ❂ - símbolo de início ou marcador de início da fita • ✝ - símbolo de fim ou marcador de fim da fitaLinguagens Formais e Autômatos - P. Blauth Menezes 84
  85. 85. Exp: Máquina de Turing com Fita Limitada: Palavra Duplicada L = { ww  w é palavra de { a, b }* }A máquina de Turing com fita limitada M = ({ a, b }, { q0, q1,…, q9, qf }, δ, q0, { qf }, { X, Y }, ❂, ✝)é tal que ACEITA(M) = L e REJEITA(M) = ~L • q 1, o início do primeiro w é marcado com um X • q 2 e q3 definem não-determinismos ∗ marcar com um Y o início do segundo w • q 5 a q11 verifica a igualdade das duas metadesLinguagens Formais e Autômatos - P. Blauth Menezes 85
  86. 86. q0 (❂, ❂, D) q1 (a, X, D) (b, X, D) (✝, ✝, E) (a, a, D) (a, a, D) q2 q3 (b, b, D) (b, b, D) (a, Y, E) (b, Y, E) (a, a, E) q4 (b, b, E) (X, X, D) q5 (a, X, D) (b, X, D) (Y, Y, D) (a, a, D) (a, a, D) q6 q8 q11 (Y, Y, D) (b, b, D) (b, b, D) (Y, Y, D) (Y, Y, D) (✝, ✝, E) (Y, Y, D) q7 q9 (Y, Y, D) qf (a, Y, E) (b, Y, E) (Y, Y, E) q10 (a, a, E) (b, b, E) (X, X, D)Linguagens Formais e Autômatos - P. Blauth Menezes 86
  87. 87. Teorema: Linguagem Sensível ao Contexto × Máquina de Turing com Fita LimitadaL é uma linguagem sensível ao contexto sseL é reconhecida por uma máquina de Turing com fita limitada • não será demonstradoLinguagens Formais e Autômatos - P. Blauth Menezes 87
  88. 88. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 88
  89. 89. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGSLinguagens Formais e Autômatos - P. Blauth Menezes 89

×