Computabilidade. da Computação que estudam, formalmente, as capacidades e as limitações da computação.

Tamanho: px
Começar a partir da página:

Download "Computabilidade. da Computação que estudam, formalmente, as capacidades e as limitações da computação."

Transcrição

1 Computabilidade Universidade dos Açores Departamento de Matemática A Computabilidade e a Complexidade são áreas nucleares da Ciência da Computação que estudam, formalmente, as capacidades e as limitações da computação.!! A Computabilidade classifica cada problema (i.e. propriedade) como computacionalmente (ou algoritmicamente) solúvel ou insolúvel!! A Complexidade classifica cada problema computacionalmente solúvel como tratável ou intratável.!! Nesta disciplina, pretende-se compreender, formalmente, a um nível introdutório, a natureza e a estrutura do conceito de computabilidade e seus limites. 2008/09 Teoria da Computação 2

2 !! Modelos de computação (Turing e URM) e a Tese de Church-Turing.!! Codificação, recursão e a máquina universal.!! Enumerabilidade e computabilidade.!! Exemplos de conjuntos não computáveis. 2008/09 Teoria da Computação 3!! Máquinas de Turing!! Turing s world!! Máquinas URM!! URM simulator /09 Teoria da Computação 4

3 Máquinas de Turing Universidade dos Açores Departamento de Matemática Noção que está no centro da Ciência da Computação.!! É um método para desempenhar uma operação de forma mecânica.!! Os primeiros algoritmos (informais) surgiram no tempo da Grécia Antiga.!! A formulação precisa do conceito de algoritmo só surgiu no século XX. 2008/09 Teoria da Computação 6

4 !!1928 Hilbert e Ackermann Entscheidungsproblem ( the principal problem of mathematical logic )!!1936 Turing Church Gödel e Kleene Post!!...!!1963 Shepherdson e Sturgis Máquinas Físicas versus Máquinas Abstractas 2008/09 Teoria da Computação 7!! Anos 60!! Máquinas de Turing aceites como paradigma completo da computação.!! A Ciência da Computação define computação como processamento de informação onde através de um algoritmo o input, completamente especificado antes da computação, era transformado em output, a solução pretendida.!! Anos 70-80!! Máquinas de Turing e outros modelos equivalentes, de acordo com a tese de Church-Turing, eram os modelos matemáticos dos sistemas computacionais.!! Anos 90!! Reconhecidas limitações das Máquinas de Turing.!! O conceito importante nas computações é Interacção. 2008/09 Teoria da Computação 8

5 !! Definição: Uma máquina de Turing determinista de 1 fita, ou simplesmente, uma máquina de Turing é um quíntuplo M=<Q,q 0,!,", q ac > tal que:!! Q é um conjunto finito não vazio cujos elementos se designam estados de M;!! q 0 é um estado designado estado inicial;!!! é um alfabeto designado alfabeto de entrada de M;!! ":Qx!#Qx(!x{E,D}) é uma função designada função de transição de M;!! q ac é um estado de Q, designado estado final de aceitação. 2008/09 Teoria da Computação 9!! _ é designado símbolo branco, E símbolo esquerda e D símbolo direita.!! Definição: Uma fita para uma máquina de Turing M=<Q,q 0,!,", q ac > é uma aplicação f:z#! tal que, {n:n$z e f(n)%_ } é finito.!! Seja f:z#! uma fita para uma máquina de Turing M=<Q,q 0,!,", q ac >. Os elementos do domínio de f designam-se células; n$z designa a n-ésima célula da fita. 2008/09 Teoria da Computação 10

6 !! Seja M=<Q,q 0,!,", q ac > uma máquina de Turing. Registo sobre a fita de M é uma palavra em!*.!! Um registo w é feito sobre uma fita, onde para i>0, o i-ésimo símbolo de w é impresso na i-ésima célula da fita.!! Seja &' um registo sobre uma fita. Por convenção, o acesso à fita é feito através do primeiro símbolo de '. 2008/09 Teoria da Computação 11!! A acção decorrente da função " é realizada através de uma cabeça de leitura /escrita que pode ler ou substituir o primeiro símbolo de ', ou mover-se para a esquerda ou para a direita.!! No caso de ' ser a palavra vazia, diz-se que a máquina lê branco.!! Se está definido o valor de "(q,a), para q$q e a$!, então escrevemos "(q,a)=<m,p>, com m $!({E,D} e p$q, e lê-se encontrando-se o controlo no estado q e tendo sido lido o símbolo a, a cabeça executa a acção m e o controlo passa ao estado p. 2008/09 Teoria da Computação 12

7 (Penrose, The Emperor s New Mind, Oxford Univ. Press, 1989) 2008/09 Teoria da Computação 13!! Se está definido o valor de "(q,a) e se "(q,a)=<m,p> então abreviaremos este facto escrevendo <q,a,m,p>.!! De entre as acções que a máquina pode executar temos os símbolos do alfabeto que denotam, no domínio, a acção de ler, e, no contradomínio, a acção de escrever e os símbolos E e D que denotam o movimento da cabeça um símbolo para a esquerda e um símbolo para a direita, respectivamente. 2008/09 Teoria da Computação 14

8 !! Definição: Seja M=<Q,q 0,!,", q ac > uma máquina de Turing. Configuração de M é um elemento em!*xqx!*.!! As configurações em { _ }*x{q 0 }x!* designam-se configurações iniciais.!! As configuraçõe em!*x{q ac }x!* designam-se configurações finais de aceitação.!! Seja <&,q,'> uma configuração. Por simplicidade, escrevemos doravante &q'.!! Sempre que & é _ escrevemos q'. Sempre que ' é_ escrevemos &q e sempre que & e ' são ambos _ escrevemos q. 2008/09 Teoria da Computação 15!! As máquinas de Turing podem ser representadas através de diagramas de transição, ou seja, grafos orientados etiquetados cujos vértices são representados por:!! etiquetado com identificador do estado inicial,!! etiquetado com identificador do estado final de aceitação!! etiquetado com identificador de estado não inicial e não final e cujas arestas são etiquetadas com o par (s/a), onde s é o símbolo lido do alfabeto e a a acção efectuada pela máquina. 2008/09 Teoria da Computação 16

9 Consideremos a máquina de Turing {<q 0,1,_,q 1 >, <q 1,_,D,q 0 >}. Vejamos o seu efeito sobre uma sequência de 1's ) q 0 _ ) q 1 _ ) q 0 _ ) 2008/09 qteoria da Computação 17 0!! Definição: Seja M=<Q,q 0,!,", q ac > uma máquina de Turing. Próxima configuração de M é a função F :!*xqx!*#!*xqx!* tal que:!! se * 2 ("(q,'[1])=d, então F (&,q,') é <&'[1],* 1 ("(q,'[1])), '>,!! se * 2 ("(q,'[1])=e, então F (&,q,') é <&[1] &[n-1],* 1 ("(q,'[1])),&[n]'>, onde & =n!! se * 2 ("(q,'[1])$!, então F (&,q,') é <&,* 1 ("(q,'[1])),* 2 ("(q,'[1])) '>!! se não, F (&,q,') não está definido. 2006/07 Teoria da Computação II 18

10 !! Definição: Uma palavra ' sobre um alfabeto! diz-se aceite por uma máquina de Turing M=<Q,q 0,!,", q ac > se existe uma sequencia de configurações C 1, C 2,..., C k, em que!! C 1 é a configuração inicial de M para '!! C i+1 =F(C i ), para cada 1<=i<k-1!! C k é uma configuração final de aceitação em { _ }*x{q ac }x{1} 2008/09 Teoria da Computação 19!! Definição: Uma palavra ' sobre um alfabeto! diz-se rejeitada por uma máquina de Turing M=<Q,q 0,!,", q ac > se existe uma sequência de configurações C 1, C 2,..., C k, em que!! C 1 é a configuração inicial de M para '!! C i+1 =F(C i ), para cada 1<=i<k-1!! C k é uma configuração final de aceitação em { _ }*x{q ac }x{0} 2008/09 Teoria da Computação 20

11 !! Definição: Sejam L uma linguagem sobre o alfabeto! e M=<Q,q 0,!,T,", q ac > uma máquina de Turing. M reconhece L se aceitar exactamente todas as palavras que pertencem a L e rejeitar exactamente todas as palavras que não pertencem a L.!! Diz-se que M aceita L se apenas aceitar exactamente todas as palavras que pertencem a L 2008/09 Teoria da Computação 21!! Definição: Codificação unária de naturais é a aplicação +:N#{1}* tal que + (n)=1 n.!! Definição: Seja,:!*#!* uma função parcial. A função, é computável se existe uma máquina de Turing M=<Q,q 0,!,", q ac > tal que, para a configuração inicial q 0 &:!! se,(&) está definido, então a computação é finita e a configuração final de aceitação é 'q ac,(&), com '$!*;!! se,(&) não está definido, então a configuração final é 'q', com '$!*, q$q ou a computação é infinita. 2008/09 Teoria da Computação 22

12 Máquina de Registos (URM) Universidade dos Açores Departamento de Matemática Definição: Uma máquina URM é constituída por uma sucessão de registos que guardam números naturais. O conteúdo de cada registo pode ser alterado mediante a execução de comandos.!! Notação!! R=(R i )i$n denota a sucessão de registos URM.!! r i denota o conteúdo do registo R i. 2008/09 Teoria da Computação 24

13 !! Definição: Comandos URM são os comandos válidos ou operações válidas para a máquina URM e classificam-se em três tipos:!! Comandos zero!: para todo o n-1, Z(n) é o comando que regista 0 em R n e deixa inalterados os demais registos;!! Comandos sucessor: para todo o n-1, S(n) é o comando que substitui r n em R n por r n +1 e deixa inalterados os demais registos; 2008/09 Teoria da Computação 25!! Comandos de salto: para todo o m-1, para todo o n-1, para todo o q-1, J(m,n,q) é o comando que compara r m e r n, deixando todos os registos inalterados; "! se o resultado da comparação é positivo, a máquina URM passa imediatamente a executar o q-ésimo comando do programa, "! se não, a máquina passa imediatamente a executar o comando seguinte; "! se o salto é impossível, porque o programa tem menos de q comandos, então a máquina URM pára;!! Comandos de transferência: para todo o m-1, para todo o n-1, T(m,n) é o comando que substitui r n em Rn por r m e deixa inalterados os demais registos. 2008/09 Teoria da Computação 26

14 2008/09 Teoria da Computação 27!! Definição: Programa URM é uma sequência finita de comandos URM.!! Notação!! P=(p i )i=1,...,n denota um programa URM.!! p i denota o i-ésimo comando de P.!! [a#r k ]r denota a acção de substituir r k por a em r.!! N. denota NxNx /09 Teoria da Computação 28

15 !! Definição: Seja,:N n #N uma função parcial. A função, é computável pela máquina URM se existir um programa URM P=(p j ) j=1,...,k tal que, para qualquer a$n n!! P(a)!b sse a$dom(,) e,(a)=b!! Na configuração final [,(a)#r1] 2008/09 Teoria da Computação 29 f(x,y)=x+y I1 J(3,2,5) I2 S(1) I3 S(3) I4 J(1,1,1) 2008/09 Teoria da Computação 30

16 !! f(x)= x/2 se x é par senão não está definida 2006/07 Teoria da Computação II 31 Funções Parciais Recursivas Universidade dos Açores Departamento de Matemática

17 Proposição As seguintes funções são computáveis pela máquina URM:!!! A constante (função zero-ária) Z;!!! A função unária sucessor S tal que, para todo o x, S(x)=x+1;!!! Para n-1 e 1/i/n, a função n!ária projecção U n i tal que U n i (x 1,...,x n )=x i. 2008/09 Teoria da Computação 33!! Definição Um programa P=<p i >i$1..k está normalizado se e só se, para todo o comando de salto J(m,n,q) de P, se tem q/k+1.!!! Proposição Todo o programa URM pode ser normalizado. 2008/09 Teoria da Computação 34

18 !! Definição Sejam P=<p i > i$1..k e Q=<q i > i$1..l dois programas normalizados.! A composição sequencial de P e Q, que se denota por PQ, é o programa R=<r j > j$1..k+l tal que: se 1/j/k, então r j =p j ; se k<j/k+l e q j-k ${Z(n), S(n)}, então r j =q j-k ; se k<j/k+l e q j-k =J(m,n,q), então r j =J(m,n,q+k).!! 0(P) denota a ordem a partir da qual os registos permanecem inalterados por acção de P. 2008/09 Teoria da Computação 35!! Suponhamos que P é um programa normalizado para a função! f(x 1,...,x n ). É frequente reutilizar P no contexto de um programa maior, recorrendo a outros registos (distintos de R1,...,Rn) para guardar os valores iniciais de x 1,...,x n, requeridos pelo programa P e a um registo R l para guardar o resultado de P.!! Escrevemos P[l 1,...,l n #l] para denotar o programa que calcula f (rl 1,...,rl n ) e guarda o resultado do cômputo no registo Rl.!!! Os únicos registos afectados pela execução de P estão no segmento de memória que se estende entre os registos R1 e R0 (P), mais o registo Rl. 2008/09 Teoria da Computação 36

19 !! Proposição Sejam f(y 1,...,y k ), g 1 (x 1,...,x n ),...,g k (x 1,...,x n ) funções computáveis, Tem-se que a função h(x 1,...,x n )=f(g 1 (x 1,...,x n ),...,g k (x 1,...,x n )) é computável.!!! Este resultado mostra como, a partir de uma função computável, se podem obter novas funções computáveis, por rearranjo, identificação e adição de variáveis. 2008/09 Teoria da Computação 37!! Proposição Sejam f(x) e g(x,y,z) funções. Tem-se que existe uma só função h(x,y) tal que; h(x,0) = f(x ) h(x,y+1) = g(x,y,h(x,y)).!!! Proposição Sejam f(x) e g(x,y,z) funções computáveis. Tem-se que a função h(x,y) que se obtém de f e g por recorrência é computável. 2008/09 Teoria da Computação 38

20 !! Definição Seja f(x,y) uma função. µ y (f(x,y)=0) é o mais pequeno y não está definida se existir, tal que f(x,z) está definido para qualquer z<=y e f(x,z)=0 c.c.!!! Proposição Seja f(x,y) uma função computável. Tem-se que a função g(x)=µ y (f(x,y)=0) é computável. 2008/09 Teoria da Computação 39!! Definição A classe R das funções parciais recursivas é a mais pequena classe de funções parciais que contém as funções básicas Z, S, U i n.!! A classe R das funções parciais recursivas fechada para as operações: substituição, recorrência e minimização.! 2008/09 Teoria da Computação 40

21 !! A classe intuitiva e informal das funções parciais efectivamente computáveis, coincide com a classe das funções computáveis pela máquina de URM. 2008/09 Teoria da Computação 41 Funções Computáveis Universidade dos Açores Departamento de Matemática

22 !! Definição: Seja f : A# B uma função.!! Domínio de f, denotado dom(f), é o conjunto {x $ A: f(x)1 }!! Contradomínio de f, denotado codom(f), é o conjunto { f(x) : x$dom(f) }!! f é uma aplicação (ou função total) se dom(f)=a, ou seja, f(x)1 para cada x $ A 2008/09 Teoria da Computação 43!! Definição: Sejam f : A# B e g : A# B duas funções. Diz-se que f=g sse dom(f)=dom(g) e f(x)=g(x) para cada x$dom(f)!! Definição: Seja f : A# B uma aplicação.!! f é injectiva se para todos os elementos x,y $ A, se x% y, então f(x)%f(y)!! f é sobrejectiva se para cada elemento y $B, existe x $ A, tal que f(x)=y!! f é bijectiva (ou é uma bijecção) se é injectiva e sobrejectiva 2008/09 Teoria da Computação 44

23 !! Definição: Uma enumeração do conjunto é uma aplicação sobrejectiva g: N#X. Se g também for injectiva, então é uma enumeração injectiva.!! Definição: Um conjunto X diz-se numerável se e só se existe uma bijecção f:x#n. Caso contrário, diz-se não numerável 2008/09 Teoria da Computação 45!! Definição Uma enumeração efectiva do conjunto X é uma enumeração computável de X.!! Definição! Um conjunto X diz-se efectivamente enumerável se e só se existir uma bijecção f:x#n tal que, f e f -1 são computáveis.!! Um conjunto é numerável se e só se puder ser enumerado sem repetições.!!! Exemplos Os seguintes conjuntos são efectivamente enumeráveis: a) N2N b) N + 2N + 2N /09 Teoria da Computação 46

24 !! Proposição!! O conjunto de todos os programas URM é efectivamente enumerável. 2008/09 Teoria da Computação 47!! Proposição!! O conjunto de todas as máquinas de Turing é efectivamente enumerável. 2008/09 Teoria da Computação 48

25 !! Definição Para todo o a$n e todo o n$n:!!, n a designa a função n-ária computada pela máquina cujo código é a.!! W n a designa o domínio de (ie, os tuplos para os quais a computação é finita).!! E n a designa o codomínio de,n a.!! Escrevemos, a, W a e E a para abreviar, n a, Wn a e En a, respectivamente. 2008/09 Teoria da Computação 49!! Toda a função n-ária computável encontra-se representada na enumeração, n 0,, n 1,, n 2,..., que é uma enumeração com repetições.!! Proposição A classe de todas as funções n-árias computáveis pela máquina URM, denotada por C n, é contável.!! Proposição C=( n-1 C n é contável.!! Proposição Existe uma função total unária que não é computável. 2008/09 Teoria da Computação 50

26 Predicados decidíveis, semidecidíveis e co-semidecidíveis Universidade dos Açores Departamento de Matemática Definição: Um predicado P de aridade n sobre um conjunto C, é uma relação de aridade n sobre C, ou seja, é um subconjunto de C n.!! Definição: Um predicado P de aridade n sobre um conjunto M é decidível ) relativamente a C, se existe uma função computável! P C :C#N, dada por 1)!! P C(x)=1 se x$ C 2)!! P C (x)=0 se x3 C!! A função! P C é a função característica de P relativamente a C. 2008/09 Teoria da Computação 52

27 !! Definição: Um predicado P de aridade n sobre um conjunto C é semidecidível relativamente a C, se existe uma função computável! P C:C#N, dada por 1)!! P C (x)=1 se x$ C 2)!! P C (x) ) se x3 C 2008/09 Teoria da Computação 53!! Definição: Um predicado P de aridade n sobre um conjunto C é co-semidecidível relativamente a C, se existe uma função computável! P C :C#N, dada por 1)!! P C (x)=) se x$ C 2)!! P C(x)=0 se x3 C 2008/09 Teoria da Computação 54

28 Conjuntos decidíveis e conjuntos semidecidíveis Universidade dos Açores Departamento de Matemática Definição Seja A4N n. A função característica de A, denotada c A, é dada por!! Definição $ & c A (x) = 1 se x " A % & 0 se x # A Um conjunto A4N n é decidível ou recursivo se c A é computável.!! Exemplos!! Os seguintes conjuntos são recursivos "! Pares "! Primos "! Div={(x,y): x e y são naturais e x é divisor de y} ' 2008/09 Teoria da Computação 56

29 !! Definição Seja A4N n. O conjunto A é semidecidível ou recursivamente enumerável se a função é computável (ou de forma equivalente, se o predicado x!a é semidecidível).!! Exemplo!! Qualquer conjunto recursivo é recursivamente enumerável!! {!x(0)=0}!! {!x:!x(0)1 }!! {!x:!x(y)1 }!! {x$wx} 2008/09 Teoria da Computação 57!! Definição Seja A4N n. O conjunto A é co-semidecidível se a função %' & (' # se x $ A é computável (ou de forma equivalente, se o predicado x3a é semidecidível). f (x) = 0 se x " A!! Exemplo!! Qualquer conjunto decidível é co-semidecidível!! {!x:!x(0)"0}!! {!x:!x(0)1 }!! {!x:!x(y)1 }!! {x$w x } 2008/09 Teoria da Computação 58

30 Propriedades dos conjuntos decidíveis e semidecidíveis Universidade dos Açores Departamento de Matemática Proposição: Todo o conjunto finito é decidível.!! Proposição: A classe dos conjuntos decidíveis com a mesma aridade é fechada para a união, a intersecção e a complementação.!! Proposição: Todo o conjunto decidível é semidecidível e co-semidecidível. 2008/09 Teoria da Computação 60

31 !! Proposição: Um conjunto é semidecidível sse o seu complementar é co-semidecidível.!! Proposição: A classe dos conjuntos semidecidíveis com a mesma aridade é fechada para a união e a intersecção.!! Proposição: Um conjunto é decidível sse é semidecidível e co-semidecidível. 2008/09 Teoria da Computação 61!! Proposição: Sejam D um conjunto decidível e C<D. Os conjuntos C e D são ambos decidíveis sse forem ambos semidecidíveis.!! Proposição: Um conjunto é semidecidível sse é o domínio de alguma função computável.!! Proposição: Um subconjunto de N é semidecidível sse é contradomínio de alguma função unária computável. 2008/09 Teoria da Computação 62

32 !! Proposição: Um conjunto é semidecidível sse é vazio ou admite uma enumeração computável.!! Proposição: Um conjunto C é semidecidível sse existe um conjunto R decidível, tal que C={E 1 : existe E 2, tal que (E 1,E 2 ) $ R}. 2008/09 Teoria da Computação 63 Indecidibilidade Universidade dos Açores Departamento de Matemática

33 !! Proposição: Existe uma função unária total que não é computável.!! Proposição (Halting Problem): O conjunto {(x,y) :!x(y)1 } é semidecidível mas não é decidível. 2008/09 Teoria da Computação 65!! Proposição (Printing Problem): O conjunto {c:!x1c} é indecidível.!! Proposição (Problema da Igualdade): {(x,y):!x=!y} é indecidível. 2008/09 Teoria da Computação 66

34 !! Teorema s-1-1 (versão simples) para cada função computável f(x,y), existe uma função total computável k(x), tal que f(x,y)=, k(x) (y). "!Teorema s-m-n Para todo o n-1 e para todo o m-1, existe uma função total (m+1)-ária computável, tal que, com x=(x 1,...,x m ) e y=(y 1,...,y n ). 2008/09 Teoria da Computação 67!! Definição A função universal para funções n-árias computáveis é a função (n +1)-ária 5 n U definida para todo e e x=(x 1,...,x n ), por (Escrevemos 5 U para abreviar 5 1 U.) 2008/09 Teoria da Computação 68

35 !! Definição Uma máquina diz-se universal se e só se computa a função universal.!! Definição O conjunto das palavras aceites por uma máquina universal designa-se por linguagem universal. 2008/09 Teoria da Computação 69!! Proposição Para cada n$n, a função universal 5 n U é computável.!! Corolário Para cada n-1, os seguintes predicados são decidíveis:!! H n (e,x,t)6 P e (x)1 em t ou menos passos!! S n (e,x,t)6 P e (x)1y em t ou menos passos!! Proposição O predicado " x é total é indecidível. 2008/09 Teoria da Computação 70

36 !! Usado para provar muitos dos resultados de indecidibilidade.!! Proposição (Teorema de Rice): Seja B4C 1 tal que B%7, C 1. O predicado, x $B é indecidível. 2008/09 Teoria da Computação 71!! Definição: v$n é vírus auto-replicável se! V =! Vx, onde Vx=! v (x), para qualquer x$n.!! v denota um programa que consome o seu argumento e devolve um resultado equivalente a si próprio.!! Prova-se a existência de vírus auto-replicáveis e o facto do conjunto destes vírus não ser decidível. 2008/09 Teoria da Computação 72

37 !! Proposição (Teorema da Recursão): Para cada aplicação f: N# N computável, existe n$n, tal que! n =! f(n).!! Proposição: O conjunto dos vírus auto-replicáveis é indecidível. (i.e., não existe um antivírus universal) 2008/09 Teoria da Computação 73

2. Geração de Funções Computáveis

2. Geração de Funções Computáveis 2. Geração de Funções Computáveis 2.1 As funções básicas 2.2 Concatenação de programas 2.3 Substituição 2.5 Minimização Teresa Galvão LEIC - Teoria da Computação I 2.1 2.1 As funções básicas Métodos que

Leia mais

1 Postulado de Church-Turing 1

1 Postulado de Church-Turing 1 1 Postulado de Church-Turing 1 Alguns modelos alternativos no estudo da computabilidade Turing: Máquina de Turing Gödel-Kleene: Funções recursivas Church: Cáluculo λ (funções definidas por termos λ) Post:

Leia mais

printing 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;

printing 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 mais

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? 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 mais

COMPUTABILIDADE 2. Indecidibilidade

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

Leia mais

I.2 Introdução a Teoria da Computação

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?

Leia mais

6. Decidibilidade, indecidibilidade e decidibilidade parcial

6. 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 mais

Outras abordagens à computabilidade. Nota

Outras abordagens à computabilidade. Nota Outras abordagens à computabilidade 3.1 Nota Os presentes acetatos foram baseados quase na sua totalidade nos acetatos realizados pela Professora Teresa Galvão da Universidade de Porto para a cadeira Teoria

Leia mais

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Draft-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 mais

INE5317 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 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 mais

Teresa Galvão LEIC - Teoria da Computação I 3.1

Teresa Galvão LEIC - Teoria da Computação I 3.1 3. Outras abordagens à computabilidade 3.1 Outras abordagens à computabilidade 3.2 Funções parciais recursivas 3.3 Funções recursivas primitivas 3.4 Computabilidade de Turing 3.5 Sistemas de Post e Markov

Leia mais

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado?

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado? LFA - PARTE 6 Os Limites da Computabilidade O Que É Computável? O Que É Possível De Ser Computado? João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/

Leia mais

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 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:

Leia mais

Modelos de Computação Folha de trabalho n. 10

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

Leia mais

Aulas Práticas. 1ª Aula Prática Perguntas sobre a Implementação de Funções Simples na Máquina URM...1

Aulas Práticas. 1ª Aula Prática Perguntas sobre a Implementação de Funções Simples na Máquina URM...1 Aulas Práticas 1ª Aula Prática Perguntas sobre a Implementação de Funções Simples na Máquina URM...1 2ª Aula Prática Perguntas sobre a Implementação de Funções Recursivas na Máquina URM...2 3ª Aula Prática

Leia mais

Universidade da Madeira Ano lectivo 2006/07-2º semestre Responsável: Prof. José Carmo

Universidade da Madeira Ano lectivo 2006/07-2º semestre Responsável: Prof. José Carmo TEORIA DA COMPUTABILIDADE E COMPLEXIDADE Licenciatura em Engenharia Informática (2ª ano) Licenciatura em Ensino da Informática (2ª ano) Licenciatura em Matemática (2ª ano) Universidade da Madeira Ano lectivo

Leia mais

Exercícios de Teoria da Computação Computabilidade

Exercícios de Teoria da Computação Computabilidade Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Comunicação e Informação -LERCI Exercícios de Teoria da Computação Computabilidade Secção Ciência

Leia mais

Aula 9: Máquinas de Turing

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

Leia mais

SCC-5832 Teoria da Computação

SCC-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 mais

PCC104 - Projeto e Análise de Algoritmos

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

Leia mais

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

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

Leia mais

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Juliana 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 mais

Máquina de Turing. Controle finito

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

Leia mais

Instituto Superior Técnico Teoria da Computação - LEIC 2013/2014 Aula prática 1

Instituto Superior Técnico Teoria da Computação - LEIC 2013/2014 Aula prática 1 Instituto Superior Técnico Teoria da Computação - LEIC 2013/2014 Aula prática 1 Nota: Na sequência o símbolo representa o símbolo de registo vazio. 1 Máquinas de Turing 1. Considere a máquina de Turing

Leia mais

Resolução Exe 2.12 Monolítico Recursivo

Resolução Exe 2.12 Monolítico Recursivo Resolução Exe 2.12 Monolítico Recursivo Recursivo P R é R 1 onde R 1 def (se T1 então R 2 senão R 3 ) R 2 def F; R 3 R 3 def (se T2 então R 4 senão R 7 ) R 4 def G; R 5 R 5 def (se T1 então R 7 senão R

Leia mais

14.1 Linguagens decidíveis ou Turing reconhecíveis

14.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 mais

SCC Teoria da Computação e Linguagens Formais

SCC 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 mais

Turing e Complexidade

Turing e Complexidade (baseado em material da disciplina PCS2214) PMR2300 Escola Politécnica da Universidade de São Paulo Máquina de Turing Máquina de Turing: modelo mais poderoso de computador, proposto pelo inglês Alan M.

Leia mais

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de

Linguagem 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 mais

Variedades Adicionais das Máquinas de Turing

Variedades 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 mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205 Melhores momentos AULA PASSADA Complexidade Computacional p. 205 MT multifita por MT fita única Duas máquinas são equivalentes se elas reconhecem a mesma linguagem. Teorema. Dada uma máquina de Turing

Leia mais

Computabilidade para Complexidade...

Computabilidade para Complexidade... Computabilidade para Complexidade... Março de 2007 Armando B. Matos Índice Introdução................................................................................ 2 Linguagem FOR e funções primitivas

Leia mais

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 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 mais

1. Uma linguagem de uma máquina de Turing

1. 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 mais

Teoria da Computação

Teoria da Computação Introdução Março - 2009 1 Noções e Terminologia Matemática Conjuntos Um conjunto é um grupo de objetos, chamados elementos ou membros, representado como uma unidade. O conjunto { 3, 41, 57} possui os elementos

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens 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 mais

Exercícios de Teoria da Computação Computabilidade

Exercícios de Teoria da Computação Computabilidade Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Computadores -LERC Exercícios de Teoria da Computação Computabilidade Secção de Lógica e Computação

Leia mais

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

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.

Leia mais

Teoria da Computação 19 de Abril de 2017 Teste 1A Duração: 1h30

Teoria 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 mais

Máquina de Turing. Controle finito

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

Leia mais

Teoria da Computação. Computabilidade e complexidade computacional

Teoria 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 mais

Teoria da Computação 12 de Abril de 2018 Teste 1A Duração: 1h30

Teoria 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 mais

Modelos Universais de Computação

Modelos 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 mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

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.

Leia mais

Teoria da Computação. Computabilidade e complexidade computacional

Teoria 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 mais

COMPUTABILIDADE 3. Funções Parciais Recursivas

COMPUTABILIDADE 3. Funções Parciais Recursivas José Carlos Costa DMA-UMinho 2 de Dezembro de 2011 1/17 Licenciatura em Ciências da Computação COMPUTABILIDADE 3. Funções Parciais Recursivas José Carlos Costa Dep. Matemática e Aplicações Universidade

Leia mais

Linguagens recursivamente enumeráveis

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

Leia mais

SCC Introdução à Teoria da Computação

SCC 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 mais

Máquinas de Turing 3

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)

Leia mais

1 INTRODUÇÃO E CONCEITOS BÁSICOS

1 INTRODUÇÃO E CONCEITOS BÁSICOS 1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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 yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014 Teoria da Computação 2013/2014 Exercícios 1 Máquinas de Registos Ilimitados 1. Construa programas URM sem módulos que calculem as seguintes funções (a) quatro(x) = 4 (b) sg(x) retorna 0 se x > 0, 1 no

Leia mais

Capítulo 2: Procedimentos e algoritmos

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

Leia mais

Exercícios de Teoria da Computação Computabilidade

Exercícios de Teoria da Computação Computabilidade Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Comunicação e Informação -LERCI Exercícios de Teoria da Computação Computabilidade Paula Gouveia Secção

Leia mais

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 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

Leia mais

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 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 mais

Teoria da Computação

Teoria 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 mais

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

ECO026 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 mais

Linguagens Formais e Autômatos Decidibilidade

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

Leia mais

SCC Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade

SCC Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade SCC-505 - Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade 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

Leia mais

Computabilidade e Complexidade (ENG10014)

Computabilidade e Complexidade (ENG10014) Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Modelo de computação poderoso concebido pelo matemático britânico Alan Turing

Leia mais

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Má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 mais

Teoria da Computação. Dep. Matemática Instituto Superior Técnico (em construção) Carlos Caleiro F. Miguel Dionísio Paula Gouveia João Rasga

Teoria da Computação. Dep. Matemática Instituto Superior Técnico (em construção) Carlos Caleiro F. Miguel Dionísio Paula Gouveia João Rasga Teoria da Computação Dep. Matemática Instituto Superior Técnico (em construção) Carlos Caleiro F. Miguel Dionísio Paula Gouveia João Rasga May 18, 2016 2 Contents 1 Preliminares 7 1.1 Conjuntos, funções

Leia mais

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

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

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

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

Leia mais

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Problemas de Decisão Linguagens Formais e Problemas de Decisão 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) Linguagens Formais e Problemas

Leia mais

Teoria da Computação 31 de Maio de 2017 Teste 2A Duração: 1h30

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

Leia mais

Teoria da Computação. Máquinas Universais Máquina de Turing

Teoria da Computação. Máquinas Universais Máquina de Turing Máquinas Universais Máquina de Turing Cristiano Lehrer Máquina de Turing Proposta por Alan Turing, em 1936. Universalmente conhecida e aceita como formalização de algoritmo. Trata-se de um mecanismo simples

Leia mais

Técnicas de Extensão de MT

Técnicas de Extensão de MT Máquinas de Turing Técnicas de Extensão de MT Permanecer parada após a leitura (STILL) Máquinas de Turing com Múltiplas Fitas e Cabeças Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing

Leia mais

Linguaguens recursivamente enumeráveis

Linguaguens 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 mais

Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

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:

Leia mais

Problemas Computáveis

Problemas 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 mais

Máquinas de Turing: uma introdução

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

Leia mais

Computabilidade: uma introdução

Computabilidade: 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 mais

Noção de Computabilidade

Noção de Computabilidade Noção de Computabilidade 1 Procedimento X Algoritmo Procedimento: sequência finita de instruções, que são operações claramente descritas, e que podem ser executadas mecanicamente, em tempo finito. claramente

Leia mais

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing Gramáticas Irrestritas A Máquina de Turing Universal SCC-5832 - Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

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

Leia mais

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. 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 mais

Matemática Discreta - 07

Matemática Discreta - 07 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 07 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

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

Leia mais

Teoria da Computação. Máquinas Universais Máquina com Pilhas

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

Leia mais

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing

SCC Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing SCC-205 - Capítulo 4 Linguagens Recursivamente Enumeráveis e Máquinas de Turing João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

Máquinas de Turing - Computabilidade

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

Leia mais

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação - 1 0 Semestre 007 Professora : Sandra Aparecida de Amo Solução da Lista de Exercícios n o 1 Exercícios de Revisão

Leia mais

Capí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 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 mais

Matemática Discreta - Departamento de Matemática - EST-IPV / III

Matemática Discreta - Departamento de Matemática - EST-IPV / III Matemática Discreta - Departamento de Matemática - EST-IPV - 2003/2004 III - 1 Matemática Discreta - Departamento de Matemática - EST-IPV - 2003/2004 - III 1. Conjuntos Conjuntos, relações e funções Axioma

Leia mais

Tópicos de Matemática. Teoria elementar de conjuntos

Tópicos de Matemática. Teoria elementar de conjuntos Tópicos de Matemática Lic. em Ciências da Computação Teoria elementar de conjuntos Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Tóp. de Matemática - LCC - 2010/2011 Dep. Matemática

Leia mais

COMPUTABILIDADE. 1. Máquinas de Turing

COMPUTABILIDADE. 1. Máquinas de Turing Licenciatura em Ciências da Computação COMPUTABILIDADE 1. Máquinas de Turing Ano letivo 2011/2012 José Carlos Costa Departamento de Matemática e Aplicações Universidade do Minho Definição de máquina de

Leia mais

Teoria da Computação Exame 1 30 de Junho de 2003

Teoria 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 mais

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS Prof.: Marcelo Maraschin de Souza 3. Conjuntos Definição: Um conjunto é uma coleção desordenada de zero ou mais objetos, denominados

Leia mais

Computabilidade e Complexidade (ENG10014)

Computabilidade 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 mais

Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30

Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30 Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30 Grupo I (3+1+3 valores) Considere as linguagens P A = {M

Leia mais

x B A x X B B A τ x B 3 B 1 B 2

x B A x X B B A τ x B 3 B 1 B 2 1. Definição e exemplos. Bases. Dar uma topologia num conjunto X é especificar quais dos subconjuntos de X são abertos: Definição 1.1. Um espaço topológico é um par (X, τ) em que τ é uma colecção de subconjuntos

Leia mais

Matemática I. 1 Propriedades dos números reais

Matemática I. 1 Propriedades dos números reais Matemática I 1 Propriedades dos números reais O conjunto R dos números reais satisfaz algumas propriedades fundamentais: dados quaisquer x, y R, estão definidos a soma x + y e produto xy e tem-se 1 x +

Leia mais

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 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria

Leia mais

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) 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

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Funções recursivas Os formalismos usados para especificar algoritmos podem ser classificados

Leia mais

Faculdade de Computação

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

Leia mais

ANÁLISE MATEMÁTICA II

ANÁLISE MATEMÁTICA II ANÁLISE MATEMÁTICA II Acetatos de Ana Matos Séries de Potências DMAT Séries de Potências As séries de potências são uma generalização da noção de polinómio. Definição: Sendo x uma variável e a, chama-se

Leia mais