Draft-v0.1. Máquinas de Turing Máquinas de Turing
|
|
|
- Matilde Azevedo Gabeira
- 9 Há anos
- Visualizações:
Transcrição
1 13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal da potência de tais processos. Apesar dos modelos então criados serem equivalentes, nesta abordagem vamos sempre utilizar o modelo das Máquinas de Turing, como suporte para as matérias estudadas Máquinas de Turing O modelo de Máquina de Turing que aqui vamos usar é constituído por uma unidade de controlo, que contém o "programa"da máquina, uma cabeça de escrita e leitura, e uma fita que vamos supor ilimitada e totalmente preenchida por caracteres "espaço" _. No início da execução da máquina, o input está escrito na fita, a cabeça está colocada sobre o primeiro carácter do input e o controle da máquina encontra-se num estado que vamos designar de inicial. Em cada passo, dependendo do caracter que pode ser lido pela cabeça e do estado em que o controle se encontra, o caracter sob a cabeça pode ser mudado, o estado do controle alterado e a cabeça movida, uma posição, para esquerda ou direita. Se em alguma altura o controle chegar a um estado especial de aceitação ou de rejeição, para e comunica para o exterior se aceita ou rejeita de acordo com o estado. No modelo de máquina de Turing que aqui vamos usar, estabelecemos como regra que a cabeça da máquina não se pode deslocar para a esquerda da posição inicial. Isso significa que com a cabeça na posição inicial, se o controle indicar que a mesma se deve mover para a esquerda, a cabeça mantêm-se imóvel. Formalmente, uma máquina de Turing é definida da seguinte forma. Definição 13.1 (Máquina de Turing) Um máquina de Turing (TM), é um túplo Q Σ Γδ 0, em que Q é o conjunto finito de estados; Σ é o alfabeto de input; Γ é o alfabeto da fita; δ é a função de transição da máquina, δ : Q Γ Q Γ {R L} ; 0 é o estado inicial; o estado de aceitação; o estado de rejeição. 111
2 Configuração de uma TM O estado de uma TM fica completamente determinado sabendo o estado da máquina, o conteúdo da fita e a posição da cabeça. A esto conjunto de informação chamamos configuração da máquina. Geralmente representamos uma configuração por significando com isso que a TM se encontra no estado, que a fita é _, estando a cabeça sobre o caracter 0. Funcionamento de uma TM Numa TM M dizemos que a configuração C 1 produz a configuração C 2 se M puder evoluir de C 1 para C 2 de acordo com as suas regras de funcionamento, dadas por δ. Suponhamos Γ, Γ e Q. Nesse caso é uma possível configuração de M. Então A configuração inicial de M com input é produz se δ( )=( L) produz se δ( )=( R) 0 ou seja o estado inicial é 0, a fita contém exactamente o input e a cabeça da máquina encontra-se sobre o primeiro caracter do input. Definição 13.2 A máquina de Turing M = Q Σ Γδ 0 aceita o input se existe uma sequência de configurações C 1 C em que: i) C 1 é a configuração inicial de M com input ; ii) cada configuração C produz a configuração C +1 ; iii) C é uma configuração de aceitação, ou seja o estado por ela referido é o estado de M. A linguagem das palavras que são aceites pela TM M diz-se a linguagem de M, e designa-se por (M). Linguagens Turing reconhecíveis Definição 13.3 Uma linguagem L diz-se Turing reconhecível, ou recursivamente enumerável, se existir uma TM M tal que (M) =L, ou seja se há uma TM que a reconhece. De M diz-se ser o reconhecedor de L. Linguagens decidíveis Uma TM M que, pára para todos os inputs, e reconhece a linguagem L diz-se que decide a linguagem L. Definição 13.4 Uma linguagem L diz-se decidível, ou recursiva, se existir uma TM M que decida L. Nesse caso diz-se que M é um decisor de L. Claro que se uma linguagem é decidível também é Turing reconhecível. Exemplo 13.5 Seja L = 0 2 : 0. A TM M representada pelo diagrama seguinte decide L. Neste diagrama, quando uma transição se encontra marcada como X R isso significa que lendo um X se move a cabeça para a direita e que o símbolo da fita é deixado inalterado. Se a transição está marcada como X/YR isso significa que com a leitura de um X, se substitui o simbolo por um Y na fita, e se move a cabeça para a direita. 112
3 X R _ R 4 _ L 0L XL 0 0 R 0/X R 1 2 X R _ R XR _ R 0/X R 3 _ R A ideia do programa é de ir sempre marcando metade dos 0 existentes e garantir que o número dos que sobra é par. Problema 64 Mostrar que a linguagem L = # : {0 1} é decidível. Problema 65 Escrever uma TM que decida a linguagem : = 1. Problema 66 Escrever uma TM que decida # 1 # 2 # # : {0 1} = =. Problema 67 Escrever uma TM que decida {# : com = +1, escritos em base 5}. Variantes de TM Por vezes definimos máquinas de Turing que não possuem somente uma fita mas várias. Para cada uma das fitas a máquina tem uma cabeça, que se pode mover independentemente. Normalmente, neste tipo de máquinas, como há mais do que uma fita, não se obriga as cabeças a moverem-se, podendo ficar na mesma posição depois da leitura e escrita. A função de transição de uma máquina assim definida deverá ser algo como δ; Q Γ Q Γ {L R S} Estes modelos são, no entanto, equivalentes à TM definida atrás. Não é difícil entender que uma TM A com várias fitas possa simular uma TM B com uma só fita. Basta que simule o comportamento da máquina A na primeira fita e simplesmente não use as restantes fitas. A simulação no sentido contrário é mais complicada. Suponhamos, então, que A tem fitas e vamos simular o efeito dessas fitas guardando a informação correspondente na única fita de B. Para isso usamos um símbolo especial #, que adicionamos ao alfabeto Γ, como separador entre os conteúdos das diversas fitas. Para além do conteúdo das fitas, necessitamos também guardar a posição da cabeça da máquina A em cada uma das fitas. Para isso, para cada caracter do alfabeto da fita de A, acrescentamos um novo caracter ao alfabeto da fita de B. B Input: = 1 2 i) Primeiro inicializa-se a fita por forma a simular as fitas de A. A fita deve ter a seguinte configuração: # 1 2 #_ #_ # #_ # 0 R X R ii) Para simular cada passo de A, percorre a fita desde o primeiro #, que marca o início da fita, até ao ( + 1)-ésimo # para determinar os símbolos sob as diversas cabeças virtuais. Seguidamente actualiza as fitas segundo o que está estipulado pela função de transição de A. 113
4 iii) Se em algum momento B move uma cabeça virtual para a cima de um # isso significa que A moveria a correspondente cabeça para uma célula ainda não escrita (_) à direita da respectiva fita. Assim B escreve _ nessa posição e desloca todos os símbolos da fita uma posição para a direita. Depois disto continua a simulação como antes. Como as fitas só são ilimitadas à direita o preceito iii) é suficiente como dispositivo para aumentar as fitas virtuais em B Máquinas de Turing não determinísticas Da mesma forma que para os Autómatos Finitos (pag. 35) ou para os Autómatos de Pilha (pag. 105) as TM também podem ter uma variante não determinística. A sua definição é idêntica à da Definição 13.1 mas a função de transição é, agora, δ : Q Γ 2 Q Γ {LR} A linguagem reconhecida por uma TM não determinística continua a ter a mesma definição: é o conjunto das palavras para as quais há uma sequência de configurações C 1 C 2 C, da máquina, tais que C 1 éa configuração inicial tendo a referida palavra como input; cada C produz C +1 e C é uma configuração de aceitação. Podemos imaginar que a TM executa paralelamente todas as possíveis computações, aceitáveis pela função de transição, a partir da configuração inicial e se algum ramo da computação chegar ao estado de aceitação, a TM pára e aceita o input. Contrariamente ao que acontece com os PDA, as TM não determinísticas não são mais expressivas que as suas versões determinísticas. De facto, vamos mostrar que qualquer TM não determinística pode ser simulada por uma TM determinística equivalente. Comecemos por observar que o número de alternativas não determinísticas que uma TM pode ter, dado um estado e um símbolo a ser lido na fita, é limitado por uma constante. Para isso basta observar que para cada estado e símbolo γ a ser lido da fita, δ( γ) Q Γ {R L}. Pelo que o número de alternativas é, no máximo, =2, com = Q e = Γ. Enquanto a execução de uma TM com um dado input, pode ser vista como uma sequência linear de configurações C 1 C 2 C começada com a configuração inicial C 1 para aquele input, para uma TM não determinística a execução tem que ser vista como uma árvore, com raiz na configuração inicial para o input, e em que cada nó é uma configuração sendo os filhos as possíveis alternativas para o evoluir da execução. Podemo-nos sentir tentados a simular a TM não determinística, percorrendo esta árvore com uma pesquisa em profundidade. Mas mesmo para uma palavra aceite pela máquina, nada nos garante que não haja um ramo de computação que não termine que ocorra antes do ramos que aceita o input, impedindo a simulação de alguma vez terminar. Temos, pois de proceder mais prudentemente. Se considerarmos uma ordem para o conjunto Q Γ {R L} podemos atribuir um endereço único a cada nó dessa árvore. Os endereços podem ser palavras de N, em que ε representa a raiz (a configuração inicial) e em endereço representa a computação que no nó opta por seguir a -ésima possibilidade de computação. Observe-se que a sequência crescente dos inteiros escrita na base corresponde aos endereços obtidos ao percorrer todos os nós da árvore com uma descida em largura. Podemos então usar este facto para dirigir a execução da simulação. Estamos então em condições de provar o seguinte teorema. Teorema 13.6 Para qualquer TM não determinística existe uma TM determinística que a simula. Dem. Seja A uma TM não determinística. Vamos construir uma TM B com 3 fitas que simula A. Como vimos atrás (pag. 113) o número de fitas que a TM tem é irrelevante, pois todos os modelos são equivalentes, mas simplifica a exposição considerar este modelo em vez do modelo de uma só fita. Para simplificar, chamemos às fitas F1, F2 e F3. A fita F1 vai ser usada somente para guardar o input, não sendo nunca modificada. A fita F2 vai conter o endereço de uma possível configuração na árvore de computação de A. A fita F3 será usada como fita de trabalho para cada uma das simulações a realizar. 114
5 B Input: i) A configuração inicial tem F1 contendo, e as fitas F2 e F3 vazias. ii) Copia F1 para F3. iii) Usa F3 para simular A com input num dos seus ramos de execução não determinística, do seguinte modo. Executa as instruções da máquina A usando os símbolos que vai lendo em F2 forma de decidir quais as diversas opções que deve fazer no caso de haver uma escolha não determinística a fazer. Caso tenha chegado ao fim de F 2 ou o endereço do nó não corresponder a uma execução possível passa para iv) ou se chegar a um estado de rejeição. Se chegar a um estado de aceitação, para e aceita o input. iv) Substitui o conteúdo de F2 pelo inteiro seguinte em base e volta para ii). A simulação feita por B tem que recomeçar sempre cada ramo de computação desde o início pois não há outra forma de repor a configuração correspondente ao nó anterior. Se uma palavra for aceite por A, isso significa que há um ramo de execução de A que chega a uma configuração C que contém o estado de aceitação de A. Essa configuração tem portanto um endereço na árvore de execução de A. Portanto ao cabo de um número finito de passos a máquina B acabará por ter esse endereço em F3 e a máquina B aceitará o input. A direcção inversa é igualmente evidente. Corolário 13.7 Uma linguagem L é Turing reconhecível se e só se existir alguma TM não determinística que a reconheça Enumeradores Um outro tipo de dispositivo de computação é uma TM que em vez de aceitar um input, tem duas fitas F1 e F2 e usando F1 como fita de trabalho, em F2 enumera todas as palavras de uma linguagem separadas por um símbolo não pertencente ao alfabeto da linguagem. Problema 68 Escreve um enumerador para a linguagem { : 0}. Problema 69 Escreve um enumerador para a linguagem das representações dos números naturais em base 4. Teorema 13.8 Uma linguagem L é Turing reconhecível se e só se existir uma TM que a enumera. Dem. Suponhamos que existe uma TM E que enumera a linguagem L. Então podemos construir uma TM M que a reconhece, do seguinte modo. M Input: i) Executa E passo a passo e de cada vez que E escreve o símbolo separador em F2, compara a palavra escrita com. ii) Se a comparação tiver sucesso aceita e para. Para a demonstração na direcção contrária, suponhamos então que a TM A reconhece L. Podemos então descrever um enumerador E para L, do seguinte modo. Dado um alfabeto Σ é fácil de encontrar um enumerador E Σ que o enumere Σ (é exactamente o que se pede no Problema
6 para a o alfabeto { }). E Para =1 2 3 prossegue da seguinte forma: i) Obtêm de E Σ a lista de palavras 1 2. Para cada um dessas palavras, executa passos de A com input. ii) Se em alguma das execuções anteriores A aceitar o seu input, coloca-o em F2 e continua. Problema 70 Encontra uma TM que decide a linguagem { : primo}. Problema 71 Mostra que uma linguagem é decidível se e só se algum enumerador a enumera pela ordem lexicográfica. Problema 72 Mostrar que a classe das linguagens Turing reconhecíveis é fechada para: 1. a união; 2. a concatenação; 3. o fecho de Kleene; 4. a intersecção; 5. homomorfismo. Problema 73 Mostrar qua a classe das linguagens decidíveis é fechada para: 1. a união; 2. a concatenação; 3. o fecho de Kleene; 4. a complementação; 5. a intersecção. 116
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma
Modelos de Computação Folha de trabalho n. 10
Modelos de Computação Folha de trabalho n. 10 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada
Linguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Melhores momentos AULA PASSADA. Complexidade Computacional p. 136
Melhores momentos AULA PASSADA Complexidade Computacional p. 136 Configurações controle q 7 cabeça 1 0 1 1 0 1 1 1 fita de leitura e escrita Configuração 1 0 1q 7 1 0 1 1 1 Complexidade Computacional p.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela
Máquinas de Turing 3
Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)
Linguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.
Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing
Máquinas de Turing - Computabilidade
BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma
Teoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: [email protected] Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade
Aula 9: Máquinas de Turing
Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular
Primeira Lista de Exercícios 2005/1... Exercício 1 Desenhe Diagrama de Estados para Máquinas que Decidem as Linguagens:
UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM167 Teoria da Computação Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Primeira Lista de Exercícios 2005/1 Exercício
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Modelo de computação poderoso concebido pelo matemático britânico Alan Turing
Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Máquina de Turing. Controle finito
Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos
Máquinas de Turing: uma introdução
Máquinas de Turing: uma introdução Nelma Moreira Armando Matos Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {nam,acm}@ncc.up.pt 1996 Revisão: Maio 2001 1
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
Variações de Máquinas de Turing
Linguagens Formais e Autômatos Variações de Máquinas de Turing Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hdp://dcc.ufmg.br/~nvieira) Sumário Variações de Máquinas
Aula 3: Autômatos Finitos
Teoria da Computação Primeiro Semestre, 25 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
Máquinas de Turing (MT)
Linguagens Formais e Autômatos Máquinas de Turing (MT) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Sumário Introdução Máquinas de Turing
Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Decidibilidade Mário S Alvim (msalvim@dccufmgbr) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S Alvim (msalvim@dccufmgbr) Decidibilidade DCC-UFMG (2018/02) 1 / 45 Decidibilidade:
Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:
5 Propriedades de LR Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos: São fechadas para determinas operações sobre linguagens:
Faculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 8 - Indecidibilidade Exercicio 1-5.5 do Livro
Linguagens Regulares. Prof. Daniel Oliveira
Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada
Apostila 05 Assunto: Linguagens dos tipos 0 e 1
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:
ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: [email protected] Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),
LINGUAGENS FORMAIS E AUTÔMATOS
LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.
Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente
ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação
Aula 10: Decidibilidade
Teoria da Computação Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas são sim ou não. Exemplo
Complexidade de Algoritmos. Edson Prestes
Edson Prestes A classe P consiste nos problemas que podem ser resolvidos em tempo Polinomial (Problemas tratáveis) A classe NP consiste nos problemas que podem ser verificados em tempo polinomial (Problemas
Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)
Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
Marcos Castilho. DInf/UFPR. 16 de maio de 2019
16 de maio de 2019 Motivação Quais são os limites da computação? O que é um Problema de decisão? Um problema de decisão é um conjunto de perguntas, cada uma das quais tem um SIM ou um NÃO como resposta.
a n Sistemas de Estados Finitos AF Determinísticos
a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 1. Linguagens Regulares Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto [email protected] www.each.usp.br/lauretto
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)
Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) 1 Gramática Sensível ao Contexto Definição: Uma gramática G é sensível ao contexto se
Capítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.
Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação
Teoria da Computação. Máquinas Universais Máquina com Pilhas
Máquinas Universais Máquina com Pilhas Cristiano Lehrer Introdução A Máquina com Pilhas diferencia-se das Máquinas de Turing e de Post principalmente pelo fato de possuir uma memória de entrada separada
LLC's: Lema do Bombeamento e Propriedades de Fechamento
Linguagens Formais e Autômatos LLC's: Lema do Bombeamento e Propriedades de Fechamento Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hfp://dcc.ufmg.br/~nvieira) Sumário
Linguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Linguagens Formais e Problemas
Autômatos de Pilha (AP)
Linguagens Formais e Autômatos Autômatos de Pilha (AP) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (h@p://dcc.ufmg.br/~nvieira) Sumário Introdução Autômatos de pilha
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Aula 10: Decidibilidade
Teoria da Computação Segundo Semestre, 2014 Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas
Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Redutibilidade Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Redutibilidade DCC-UFMG (2018/02) 1 / 46 Redutibilidade:
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
Linguagens livres de contexto e autômatos de pilha
Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 18/11/2013 Linguagens Recursivamente Enumeráveis, Complexidade (Custo) de Tempo/Espaço, Transdutores para exibir complexidade de Tempo/Espaço 1 Linguagens Recursivamente
Linguagens Formais e Autômatos Decidibilidade
Linguagens Formais e Autômatos Decidibilidade Andrei Rimsa Álvares Sumário Introdução A tese de Church-Turing Máquinas de Turing e problemas de decisão Máquina de Turing Universal O problema da parada
SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente
SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos
BCC242. Auômato Finito Determinístico
BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas
Linguagens Livres de Contexto
Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha
PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing
PCS3616 Programação de Sistemas (Sistemas de Programação) Máquinas de Turing Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional
PCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio
LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.
LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante
LR's: Lema do Bombeamento e Propriedades de Fechamento
Linguagens Formais e Autômatos LR's: Lema do Bombeamento e Propriedades de Fechamento Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hfp://dcc.ufmg.br/~nvieira) Introdução
Aula 3: Autômatos Finitos
Teoria da Computação Segundo Semestre, 24 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)
DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1
Teoria da Computação 31 de Maio de 2017 Teste 2A Duração: 1h30
31 de Maio de 2017 Teste 2A Duração: 1h30 Seja Σ um alfabeto. Considere as seguintes linguagens: L 1 = {M M : M é máquina classificadora}, L 2 = {M M : L ac (M) = Σ }. a) Use o teorema de Rice para demonstrar
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação
Máquina de Turing e máquina de Turing universal
Máquina de Turing e máquina de Turing universal Rodrigo Santos de Souza 1 Universidade Católica de Pelotas - UCPel Mestrado em Ciência da Computação Disciplina de Teoria da Computação Prof. Antônio Carlos
Propriedades das Linguagens Livres do Contexto
Capítulo 7 Propriedades das Linguagens Livres do Contexto As linguagens livres do contexto ocupam uma posição central na hierarquia das linguagens formais. Por um lado, as linguagens livres do contexto
I.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
Autômatos Finitos e Não-determinismo
Autômatos Finitos e Não-determinismo Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Autômatos Finitos e Não-determinismo
COMPUTABILIDADE 2. Indecidibilidade
Licenciatura em Ciências da Computação COMPUTABILIDADE 2. Indecidibilidade José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho 15 de Novembro de 2011 José Carlos Costa DMA-UMinho 15 de
Aula 7: Autômatos com Pilha
Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 18 Cap 4.2 - O Problema da Parada Profa. Ariane Machado Lima [email protected] 1 Nas últimas aulas Tese de Church-Turing Problemas computacionais descritos
Terceira Lista de Exercícios 2004/2...
UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Terceira Lista de Exercícios 2004/2
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP 1 ACP Assim como LR tem um autômato equivalente (AF) as LLC tem também
