Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1
|
|
- Brian Rijo Delgado
- 6 Há anos
- Visualizações:
Transcrição
1 Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio: existem programas que aceitam como dados codificações de programas. existem máquinas de Turing que aceitam como dados palavras que são a descrição de máquinas de Turing. podemos escrever em C um programa que interprete programas em C A noção de Universalidade está na base da noção de programa guardado em memória e portanto na de software. Relacionado com a Universalidade está a noção de Auto-referência. Esta capacidade vai permitir a construção de problemas indecidíveis. Por exemplo, (e infelizmente) pode-se demonstrar que não há algoritmos que dado um programa em C determinem o seu resultado ou se ele pára. Departamento de Ciência de Computadores da FCUP MC Aula 23 1
2 Um problema indecidível Dado um programa em C, determinar se os primeiros 9 caracteres que ele escreve são Ola mundo. Vamos ver que não existe nenhum programa em C para resolver este problema. Por contradição, suponhamos que H é um programa que aceita como dados um programa P e um ficheiro I com os dados para P, e escreve sim se P resolver o problema, e escreve nao, caso contrário:h(i, P ) = sim ou H(I, P ) = nao Modificamos H para um programa H 1 que actua como H excepto que quando H escreve nao, H 1 escreve Ola mundo. Departamento de Ciência de Computadores da FCUP MC Aula 23 2
3 Modificamos H 1 para H 2. H 2 aceita apenas como dados o programa P, e actua como H 1 com P como seu programa e dados dele, isto é, H 2 (P ) = H 1 (P, P ). H 2 não pode existir. Se existisse o que escrevia H 2 (H 2 )? Se H 2 (H 2 ) escreve sim então H 2 com dados H 2 não escreve Ola mundo. Mas H 2 (H 2 ) = H 1 (H 2, H 2 ) e H 1 (P, I) escreve sim se e só se P com dados I escreve Ola mundo. Departamento de Ciência de Computadores da FCUP MC Aula 23 3
4 Mas neste caso P é H 2 e I é H 2! Então H 2 (H 2 ) escrever sim implica que H 2 (H 2 ) escreve Ola mundo. Absurdo! Se H 2 (H 2 ) escreve Ola mundo, então H 1 (H 2, H 2 ) também o escreve o que indica que H 2 com dados H 2 não escreve Ola mundo. Então H 2 (H 2 ) escrever Ola mundo implica que H 2 (H 2 ) não escreve Ola mundo. Absurdo! Departamento de Ciência de Computadores da FCUP MC Aula 23 4
5 Linguagens Indecidíveis (não recursivas) Linguagens para as quais não existe nenhuma máquina de Turing que as reconheça. Podem ser: recursivamente enumeráveis (r.e): existe uma MT que pára se os dados pertencerem à linguagem, mas pode não parar caso contrário. Equivalentemente, existe uma máquina (de enumeração) que enumera todos os seus elementos. não serem r.e Departamento de Ciência de Computadores da FCUP MC Aula 23 5
6 Máquinas Universais de Turing O poder computacional das máquinas de Turing permite que existam MTs que simulem outras MTs cuja descrição faz parte dos dados. Considere-se a linguagem constituída pelos pares (M, x) tal que: 1. M é (a codificação em binário de) uma máquina de Turing cujo alfabeto de entrada é {0, 1} 2. x {0, 1} 3. M aceita x As máquinas U que aceitam esta linguagem denominam-se Máquinas de Universais de Turing, i.e, L u = L(U) = {(M, x) x L(M)} Iremos ver que w L u? é um problema indecidível. Departamento de Ciência de Computadores da FCUP MC Aula 23 6
7 Enumeração das palavras de {0, 1} Podemos considerar a seguinte bijecção f entre {0, 1} e N: {0, 1} f N ɛ x é a representação binária de f(x). A i-ésima palavra designa-se por x i. Departamento de Ciência de Computadores da FCUP MC Aula 23 7
8 Codificações de MTs Vamos codificar qualquer máquina de Turing de alfabeto {0, 1} numa palavra de {0, 1}.Como vimos que a cada palavra está associado um inteiro i, poderemos falar na i-ésima MT, M i.seja Associamos M = ({s 1, s 2,..., s k }, {0, 1}, {X 1, X 2,..., X m }, δ, s 1,, {s 2 }) aos estados os inteiros correspondentes (em unário). Sendo s 1 o inicial e s 2 o final. aos símbolos de fita, os inteiros correspondentes (em unário), supondo que X 1 = 0, X 2 = 1 e X 3 = A direcção será referida por D 1 e a, por D 2. Departamento de Ciência de Computadores da FCUP MC Aula 23 8
9 Então, uma transição δ(s i, X j ) = (s k, X l, D m ) será codificada pela palavra: 0 i 10 j 10 k 10 l 10 m O código da MT M é composto (apenas) pelos códigos das transições C i separados por um par de 1 s: C 1 11C C n 1 11C n Para codificar (M, x) podemos separar o código de M do de x por 111. Departamento de Ciência de Computadores da FCUP MC Aula 23 9
10 Exercício Codifica a máquina M = {{s 1, s 2, s 3 }, {0, 1}, {0, 1, }, δ, s 1,, {s 2 }} δ(s 1, 1) = (s 3, 0, ) δ(s 3, 0) = (s 1, 1, ) δ(s 3, 1) = (s 2, 0, ) δ(s 3, ) = (s 3, 1, ). Resolução Departamento de Ciência de Computadores da FCUP MC Aula 23 10
11 Linguagem de diagonalização Com a codificação apresentada podemos dizer que a i-ésima máquina de Turing M i é a máquina de Turing cuja codificação é x i. Claro que nem todos os i correspondem a codificações de MT s. Mas, podemos supor que esses is correspondem a máquinas de Turing M i tal que L(M i ) =. Seja a linguagem L d L d = {x i {0, 1} x i / L(M i )} L d (linguagem de diagonalização) é constituída pelas palavras x tal que a MT M cujo código é x não aceita x como dados. Departamento de Ciência de Computadores da FCUP MC Aula 23 11
12 Como se obtém L d? Construa-se a tabela em N N {0, 1} tal que: o par (i, j) tem o valor 1 se a MT M i aceita x j e 0, caso contrário. Por exemplo, poderíamos ter: i\j A linha i corresponde a L(M i ): os 1 s indicam quais as suas palavras. Os elementos da diagonal indicam se M i aceita x i. Para construir L d complementamos a diagonal: 1, 0, 0, 0,... E L d será formada pelos x j cujo valor é 1. Departamento de Ciência de Computadores da FCUP MC Aula 23 12
13 Mas, então L d não pode corresponder a nenhuma linha da tabela! Porque é diferente nalguma coluna de todas as linhas da tabela Departamento de Ciência de Computadores da FCUP MC Aula 23 13
14 L d não é r.e. Teorema Não existe nenhuma máquina de Turing que aceite L d. Logo L d não é recursivamente enumerável. Suponhamos que L d = L(M) para alguma MT M de alfabeto {0, 1}. Então existe pelo menos um código i, tal que M i = M. Será que x i L d? Se x i L d então M i aceita x i. Mas por definição de L d, x i / L d. ABSURDO! Se x i / L d, então M i não aceita x i. Mas por definição de L d, x i L d. ABSURDO! A contradição resultou de supor que existia M tal que L d = L(M). Departamento de Ciência de Computadores da FCUP MC Aula 23 14
15 Linguagens Temos então: linguagens recursivas linguagens recursivamente enumeráveis linguagens não recursivamente enumeráveis Departamento de Ciência de Computadores da FCUP MC Aula 23 15
16 Fecho das linguagens recursivas para a complementação O estudo das linguagens complementares pode permitir distinguir se uma linguagem é r.e mas não recursiva! Teorema Se L é recursiva, L é recursiva Dem. Suponhamos que L = L(M) para uma MT M que pára sempre.basta construir uma MT M igual a M excepto em que os estados finais de M passam a não o ser em M tem um novo estado de final r, sem transições dele. para cada par (estado não final de M,símbolo da fita) sem transições em M, acrescenta-se uma transição para o estado r. Departamento de Ciência de Computadores da FCUP MC Aula 23 16
17 Teorema também o é L) Se L e L são r.e., então L é recursiva (e portanto, Dem. Seja L = L(M 1 ) e L = L(M 2 ). Construímos uma MT M que simula em paralelo M 1 e M 2, usando duas fitas e estados cujas componentes são os de M 1 e M 2. Se com dados w, M 1 aceitar, M aceita. Senão w / L, mas w L.Então, M 2 tem de aceitar w.nessa altura M pára e rejeita.portanto, com todos os dados M pára e L(M) = L. Logo L é recursiva. Departamento de Ciência de Computadores da FCUP MC Aula 23 17
18 Linguaguens e Complementos As linguagens podem dividir-se em: D recursivas SD r.e não-sd não r.e Há apenas 4 maneiras de uma linguagem L e L se situarem no diagrama: Ambas L e L são recursivas:estão em D Nem L nem L são r.e: estão em não-sd L é r.e mas não recursiva e L não r.e:l em SD\D e L em não-sd L é r.e mas não recursiva e L não r.e: L em SD\D e L em não-sd Departamento de Ciência de Computadores da FCUP MC Aula 23 18
19 Exemplo Como L d é não r.e, podemos concluir que L d não é recursiva, mas poderá ser r.e ou não r.e... Exercício Quais os casos que não são possíveis? Dá exemplos de linguagens em cada um dos restantes casos. Departamento de Ciência de Computadores da FCUP MC Aula 23 19
20 Máquina de Turing Universal, U Podemos agora descrever uma máquina universal U tal que L u = L(U) = {(M, x) x L(M)} Com dados (M, x) (codificados, como vimos), U simula M com dados x. 1. examina os dados da 1 ā fita e verifica se até 111 é um código legítimo para uma MT. Senão pára sem aceitar. Departamento de Ciência de Computadores da FCUP MC Aula 23 20
21 2. copia para a 2 ā fita os dados x codificando para símbolos da fita: 10 se for 0 (em x) e 100 se for 1. Coloca a cabeça dessa fita no ínicio dos dados. 3. colocar 0 na 3 ā fita. 4. para simular um movimento de M, U procura uma transição 0 i 10 j 10 k 10 l 10 m, tal que 0 i é o valor da 3 ā fita, 0 j o símbolo de fita que começa na cabeça da 2 ā fita de U. U muda o valor da 3 ā fita para 0 k, substituí 0 j por 0 l na 2 ā fita e move a cabeça da 2 ā fita para o próximo 1 à esquerda (m = 1) ou à direita (m = 2). 5. Se não houver transições de um estado não final, M pára e U também. 6. Se M pára num estado final, U aceita o par (M, x). Se M não pára, U também não pára. Departamento de Ciência de Computadores da FCUP MC Aula 23 21
22 L u é r.e mas não é recursiva A descrição da máquina U garante que L u é r.e.: U aceita (M, x) se x L(M). Suponhamos que L u é recursiva.então L u = {(M, x) x / L(M)} também o é. Mas então também teriámos uma MT que aceitava L d! O que seria absurdo! Seja L(M 1 ) = L u. Podemos modificar M 1 para uma MT M 2 que aceita L d = {(x, x) x / L(x)} M 2 modifica os dados para x111x. Departamento de Ciência de Computadores da FCUP MC Aula 23 22
23 M 2 simula M 1 nos novos dados. Se x é codificação duma M i,m 1 verifica se M i aceita x. M 1 aceita se e só se M i não aceita x i, i.e, se x i L d.isto é L(M 2 ) = L d. Absurdo! Departamento de Ciência de Computadores da FCUP MC Aula 23 23
24 O problema da paragem é indecidível Suponhamos que uma máquina de Turing aceita por paragem (e não por estado final). Dada uma MT M, seja H(M) = {x M pára com dados x} L h = {(M, x) x H(M)} denomina-se o problema da paragem (halting problem) de máquinas de Turing. Teorema L h é r.e mas não recursiva. Dem. Vamos transformar uma máquina de Turing que aceita por estados finais, numa que só pára se aceitar. Isto é, dada uma MT M e dados x, podemos construir uma MT N exactamente igual a M, excepto que N não pára se M rejeita x. Isto é, N pára com dados x sse M aceita x. Departamento de Ciência de Computadores da FCUP MC Aula 23 24
25 Para todo o x, x H(N) sse x L(M).Como L u é r.e, então L h é r.e Mas se L h fosse recursiva L u também o era. Suponhamos que existe uma MT K que reconhecia L h, então vamos ver que existia uma MT K que reconhecia L u : dado (M, x), constrói N e determina, usando K, se x H(N) (i.e x L(M)) Mas x L(M) se e só se (M, x) L u. Então K reconhecia L u (seria recursiva). Absurdo! Logo, L h r.e mas não é recursiva. Departamento de Ciência de Computadores da FCUP MC Aula 23 25
26 Leituras [HMU00] (Cap 9.1-2) [Mor96] Referências [HMU00] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison Wesley, 2nd edition, [Mor96] Nelma Moreira. Computabilidade: uma introdução. Technical report, Departamento de Ciência de Computadores da FCUP, Departamento de Ciência de Computadores da FCUP MC Aula 23 26
Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?
Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem
Leia maisLinguaguens recursivamente enumeráveis
Linguaguens 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,
Leia maisLinguaguens 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
Leia maisLinguagens 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
Leia maisMT como calculadoras de funções parciais
MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados
Leia maisAutómatos determísticos de k-pilhas
Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado
Leia maisNoções de grafos (dirigidos)
Noções de grafos (dirigidos) Grafo G = (V, E) é um conjunto de vértices (ou nós) V e um conjunto de arcos E V V. 1 2 5 3 4 G = ({1, 2, 3, 4, 5}, {(1, 2), (2, 3), (2, 4), (3, 2), (3, 4), (4, 4)}) Um arco
Leia maisMá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
Leia maisExercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )
Exercicios 7.1 Escreve expressões regulares para cada uma das seguintes linguagens de Σ = {a, b}: (a) palavras com não mais do que três as (b) palavras com um número de as divisível por três (c) palavras
Leia maisCapí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
Leia maisAutómatos de pilha e Gramáticas independentes de contexto
Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja
Leia maisAutómatos de pilha e GIC
Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de
Leia maisAutó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
Leia maisModelos 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
Leia maisCapí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
Leia maisformais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas
Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto
Leia maisAs linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.
As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução
Leia maisÁrvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1
Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis
Leia maisComputabilidade: uma introdução
Computabilidade: uma introdução Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: nam@ncc.up.pt Revisão:1996 Revisão: Maio 2001 Revisão alargada:2003
Leia maisProblemas Computáveis
Indecidibilidade Problemas Computáveis Máquinas de Turing ou Problemas Computáveis ou Linguagens Recursivamente Enumeráveis LER (*) podem ser divididas em 2 classes: as MT que sempre param (Algoritmos),
Leia maisTeoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.
Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.
Leia maisGramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Leia maisS. C. Coutinho. Máquina de Turing Universal p. 1/22
Máquina de Turing Universal S. C. Coutinho Máquina de Turing Universal p. 1/22 Objetivo Descrever uma máquina de Turing U, capaz de simular qualquer outra máquina de Turing M. Para isto a máquina deve
Leia maisLinguagem (formal) de alfabeto Σ
Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou
Leia maisLinguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de
Linguagem Universal 1. Uma máquina de Turing representa um PC? Ou representa um possível problema que um PC pode resolver? 2. Uma máquina de Turing pode ser utilizada para simular uma de Turing máquina.
Leia maisFormas normais. Forma normal de Greibach (FNG) todas as produções são da forma
Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)
Leia maisDraft-v0.1. Máquinas de Turing Máquinas de Turing
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
Leia maisCapítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375
Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos
Leia maisRevisões de Conjuntos
Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A
Leia maisComputabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade
Leia maisPrimeira 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
Leia maisprinting problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor;
1 Introdução 1 No texto que se segue vão ser apresentados resultados sobre não decidibilidade de alguns predicados (sobre os naturais). Para certos predicados vai ser apresentada uma prova de que não é
Leia maisAula 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
Leia maisSCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação 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 - São Carlos
Leia maisProblemas decidíveis para LICs
Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é
Leia maisAula 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
Leia maisDecidibilidade. 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:
Leia maisAutómatos finitos não determinísticos (AFND)
Autómatos finitos não determinísticos (AFND) [HMU00](Cap 2.3) Computações não determinísticas: o estado seguinte não é univocamente determinado pelo estado actual.num autómato finito (não-determínistico):
Leia maisLinguagens 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
Leia maisSCC Teoria da Computação e Linguagens Formais
SCC-0205 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisComputabilidade: uma introdução
Computabilidade: uma introdução Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: nam@dcc.up.pt Revisões:1996,2001,2003 Conteúdo 1 Computação efectiva
Leia maisSCC Introdução à Teoria da Computação
SCC-0505 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisTeoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz
Leia maisProblemas decidíveis para LICs
Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é
Leia maisCapí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
Leia maisModelos de Computação
Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas
Leia maisTeoria da Computação 19 de Abril de 2017 Teste 1A Duração: 1h30
19 de Abril de 2017 Teste 1A Duração: 1h30 Construa uma máquina de Turing que calcule a função que a cada natural n N 0 faz corresponder n 2. Deverá usar notação unária para os naturais. Apresente apenas
Leia maisMá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
Leia mais14.1 Linguagens decidíveis ou Turing reconhecíveis
Linguagens decidíveis ou Turing reconhecíveis Problemas decidíveis para Linguagens Regulares Teorema Seja A linguagem A DFA é decidível A DFA = {A : A é um DFA e aceita } Dem Basta mostrar como construir
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 14 Máquinas de Turing humberto@bcc.unifal-mg.edu.br Última aula Autômatos com Pilha Controle de estado a b a a b X Y Y X O que já vimos...
Leia maisIntrodução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.
DEINFO - UFRPE Julho, 2014 Motivação Introdução O que pode ser computado? E mais intrigantemente, o que não pode ser computado? Motivação Introdução O que pode ser computado? E mais intrigantemente, o
Leia maisMarcos 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.
Leia maisTeoria 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
Leia maisModelos Universais de Computação
Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)
Leia maisCOMPUTABILIDADE 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
Leia maisAula 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
Leia maisRedutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Redutibilidade Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 1 / 46 Redutibilidade:
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisMá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)
Leia maisI.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?
Leia maisECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:
ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: rafafic@gmail.com Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),
Leia maisUNIVERSIDADE 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 yandre@din.uem.br Teoria da Computação Ciência da Computação
Leia maisTeoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
Leia maisUNIVERSIDADE 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 yandre@din.uem.br Teoria da Computação Ciência da Computação
Leia maisMá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
Leia maisMelhores 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.
Leia maisACH2043 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 ariane.machado@usp.br 1 Nas últimas aulas Tese de Church-Turing Problemas computacionais descritos
Leia maisTeoria 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
Leia maisMáquinas Universais. Máquina de Turing. Celso Olivete Júnior.
Máquinas Universais Máquina de Celso Olivete Júnior olivete@fct.unesp.br http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção
Leia maisUniversidade Federal de Uberlândia Mestrado em Ciência da Computação
Universidade Federal de Uberlândia Mestrado em Ciência da Computação Solução da 1 a Prova de Teoria da Computação - 05/05/2010 Questão 1 (Valor = 7 pontos) Um número real é dito algébrico se é raiz de
Leia maisFaculdade 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
Leia maisMá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
Leia maisVariedades Adicionais das Máquinas de Turing
LFA - PARTE 5 Variedades Adicionais das Máquinas de Turing 1 Máquinas de Turing com uma Fita Infinita de um Sentido A fita da máquina é infinita apenas à direita O quadrado da fita mais à esquerda contém
Leia maisUNIVERSIDADE 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 yandre@din.uem.br Teoria da Computação Ciência da Computação
Leia maisPCS3616. 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
Leia maisUNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA
UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA CÓDIGO DENOMINAÇÃO CRÉDITOS C. HORÁRIA DCE241 Teoria da Computação 04 75 horas TEM COMO
Leia maisProf. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
Leia maisApostila 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
Leia mais1. Uma linguagem de uma máquina de Turing
Linguagem de uma Máquina de Turing 1. Uma linguagem de uma máquina de Turing, é. 2. Linguagens aceitas por uma MT são chamdas recursivamente enumeráveis. O recursivo nesta caso significa decidível, ou
Leia maisTeoria da Computação 12 de Abril de 2018 Teste 1A Duração: 1h30
12 de Abril de 2018 Teste 1A Duração: 1h30 que reconheça a linguagem constituída pelas palavras da forma x $ y com x, y {0, 1} tais que x = 3 y, onde os valores são tomados em representação binária. Por
Leia maisProjeto de máquina de Turing com múltiplas fitas reconhecedora de número primo
Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo CCO 410 Aspectos Formais da Computação Prof.º Wanderley Lopes de Souza Universidade Federal de São Carlos Diego Luiz Cavalca
Leia maisLINGUAGENS 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.
Leia maisMá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
Leia maisApostila 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
Leia maisSCC 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
Leia maisOutras Máquinas de Turing
Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal
Leia maisOs limites da computação algorítmica
Capítulo 12 Os limites da computação algorítmica 12.1. Problemas que não podem ser resolvidos pelas MT. 12.2. Problemas indecidíveis para LRE 12.3. Problema da correspondência de Post 12.4. Problemas indecidíveis
Leia maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Leia maisAlfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 15 Máquinas de Turing (parte 2) humberto@bcc.unifal-mg.edu.br Última Aula Uma Máquina de Turing (MT) possui: uma fita infinita para representar
Leia maisGBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing
GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Funções Def. Função
Leia maisTeoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
Leia maisINE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação
INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br
Leia mais6. Decidibilidade, indecidibilidade e decidibilidade parcial
6. Decidibilidade, indecidibilidade e decidibilidade parcial Nos capítulos anteriores, já foram referidos diversos problemas decidíveis. Apenas foi analisado um único problema indecidível ( φ é total )
Leia maisMá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
Leia maisTeoria da Computação Exame 1 30 de Junho de 2003
Licenciatura em Engenharia Informática e de Computadores Teoria da Computação Exame 1 30 de Junho de 2003 I.1 a) Considere-se a gramática regular G = (V, I, P, S) onde V = {S, A, B, C, D}, I = {x, y} e
Leia maisLimites da Computação Algorítmica: Problemas Indecidíveis
Capítulo 10 Limites da Computação Algorítmica: Problemas Indecidíveis Tendo estudado o que as máquinas de Turing podem fazer, estudaremos, agora, o que elas não podem fazer. Embora a tese de Turing nos
Leia maisPLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Pró-Reitoria de Ensino de Graduação Coordenação do Curso de Bacharelado em Sistemas de Informação Site: http://www.bsi.ufrpe.br E-mail: coordenacao@bsi.ufrpe.br
Leia mais