Exercícios de Teoria da Computação Computabilidade
|
|
- Leila Costa Prado
- 5 Há anos
- Visualizações:
Transcrição
1 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 da Computação Departamento de Matemática Instituto Superior Técnico 2006/2007
2 1 Programas Mathematica 1. Defina em Mathematica as seguintes funções/predicados (a) somanat que recebe um natural n e devolve a soma de todos os naturais até n (b) somalista que recebe uma lista de naturais e devolve a soma dos seus elementos (c) prodlista que recebe uma lista de naturais e devolve o produto dos seus elementos (d) retiraneg que recebe uma lista de inteiros w e devolve a lista resultante de retirar de w todos os números negativos (e) escolhepares que recebe uma lista de inteiros w e devolve a lista dos elementos pares de w (f) conta que recebe uma lista de inteiros w e um inteiro k e devolve o número de vezes que k ocorre em w (g) contemprimoq que recebe uma lista de naturais w e devolve True se e só se w contém pelo menos um número primo (h) apaga que recebe uma lista w e um número inteiro k e devolve a lista que resulta de se apagar de w todas as ocorrências de k (i) permutacao que recebe duas listas w1 e w2 e devolve True se w2 for uma permutação de w1 e False caso contrário (j) intercala que recebe duas listas w1 e w2 e devolve a lista resultante de intercalar os elementos de w1 e w2 (k) repete que recebe uma lista w e devolve uma lista em que o primeiro elemento de w aparece uma vez, o segundo elemento duas vezes e assim por diante (l) primalg que recebe um inteiro k e devolve o primeiro algarismo de k (m) prodcart que recebe duas listas w = {a 1, a 2,..., a m } e v = {b 1, b 2,..., b n } e devolve a lista {{a 1, b 1 },..., {a 1, b n },..., {a m, b 1 },..., {a m, b n }} (n) prodmatriz que recebe uma matriz de inteiros e devolve o produto de todos os seus elementos (o) mediacpares que recebe uma matriz de inteiros e devolve a média dos elementos das colunas pares (p) contaprimosepares que recebe uma matriz de naturais e devolve um par {x, y} em que x é o número de posições da matriz que têm um elemento primo e y é o número de posições da matriz que têm um elemento par 2
3 (q) conta que recebe uma matriz de naturais e devolve um par {x, y} em que x é o número de colunas da matriz que não contêm primos e y é o maior número primo que ocorre na matriz (y deve ser 0 caso não existam primos) (r) mediascolunas que recebe uma matriz de inteiros e devolve uma lista com tantos elementos quantos as colunas da matriz em que cada posiçao k contém a média dos elementos da coluna k (s) contaparescolunas que recebe uma matriz de inteiros e devolve uma lista com tantos elementos quantos as linhas da matriz em que cada posiçao k contém o número de elementos pares que existem na coluna k (t) listasprimos que recebe uma lista de listas de naturais e devolve uma listas com todas as listas que tenham pelo menos um número primo (u) triangularsuperiorq que recebe uma matriz quadrada de números inteiros e determina se a matriz é triangular superior (isto é, todos os elementos abaixo da diagonal principal são nulos) (v) triangularinferiorq que recebe uma matriz quadrada de números inteiros e determina se a matriz é triangular superior (isto é, todos os elementos acima da diagonal principal são nulos) (w) diagonalq que recebe uma matriz quadrada de números inteiros e determina se é uma matriz diagonal (x) sufixoq que recebe como argumento uma lista w de listas de números inteiros e determina se cada lista em w é sufixo de todas as listas anteriores (recorde que se diz que w1 é prefixo de w2 se existe w3 tal que Join[w1,w3]==w2) (y) decrescenteq que recebe como argumento uma lista w de listas de números inteiros e determina se cada lista está ordenada por ordem decrescente (z) prodmatrizes que recebe duas matrizes de inteiros e devolve o respectivo produto, caso exista. 2. Assuma a seguinte representação de afd s em Mathematica: em que {lista1,lista2,lista3,e,lista4} lista1, lista2 e lista4 são listas de strings representando, respectivamente, o conjunto dos estados, o alfabeto e o conjunto dos estados finais e é uma string que representa o estado inicial lista3 é uma lista de listas de strings do tipo {e1,s,e2}; cada uma destas listas representa uma transição (e1 é o estado de partida, e2 é o estado de chegada e s é o símbolo do alfabeto). 3
4 Defina em Mathematica as seguintes funções/predicados: (a) delta que dado um afd calcula a sua função transição (b) deltatotalq que dado um afd devolve True se a sua função de transição é total e False caso contrário (pode usar a função delta e a função prodcart do exercício 1m) (c) deltatotalq usando agora apenas a função delta (d) deltastar que dado um afd calcula a sua função transição estendida (pode usar a função delta) (e) aceitaq que dado um afd e uma palavra sobre o alfabeto (string) devolve True se a palavra é aceite pelo afd e False caso contrário (f) prodq que dado um afd e um estado devolve True se o estado é produtivo e False caso contrário (g) acessq que dado um afd e um estado devolve True se o estado é acessível e False caso contrário (h) utq que dado um afd e um estado devolve True se o estado é útil e False caso contrário (i) cjeprods, cjeacess, cjeuts e cjeinuts que dado um afd e um estado devolvem, respectivamente, o conjunto dos estados produtivos, acessíveis, úteis e inúteis (j) afdcomplementar que dado um afd constrói o afd complementar (k) afdproduto que dados dois afd s constrói o respectivo afd produto. 3. Assuma a seguinte representação de afnd ɛ s em Mathematica: {lista1,lista2,lista3,e,lista4} em que os diferentes elementos são semelhantes aos da representação de afd s acima referida, mas neste caso lista3 é uma lista de listas de strings do tipo {e1,s,cje} em que e1 é um estado, s é um símbolo do alfabeto ou ɛ e cje é uma lista de estados. Defina em Mathematica as seguintes funções/predicados: (a) delta que dado um afnd ɛ calcula a sua função transição (b) fechoeps que dado um afnd ɛ e um estado calcula o fecho-ɛ do estado (c) deltastarnd que dado um afnd (sem movimentos-ɛ) calcula a sua função de transição estendida (pode usar a função delta) (d) deltastarnde que dado um afnd ɛ calcula a sua função de transição estendida (pode usar as funções delta e fechoeps) (e) aceitaq que dado um afnd ɛ e uma palavra sobre o alfabeto (string) devolve True se a palavra é aceite pelo afd e False caso contrário (f) afndtoafd que dado um afnd (sem movimentos-ɛ) constrói um afd equivalente 4
5 (g) afdsoma que dados dois afnd ɛ A 1 e A 2 constrói um afnd ɛ A tal que L A = L A1 L A2 (h) afdconc que dados dois afnd ɛ A 1 e A 2 constrói um afnd ɛ A tal que L A = L A1 L A2 (i) afdfechokleene que dados um afnd ɛ A 1 constrói um afnd ɛ A tal que L A = (L A1 ). 4. Assuma a representação de afnd ɛ s em Mathematica apresentada anteriormente e a seguinte representação de gramáticas regulares em Mathematica: em que {lista1,lista2,lista3,s} lista1 e lista2 são listas de strings representando, respectivamente, o conjunto dos símbolos auxiliares e o alfabeto s é uma string que representa o símbolo inicial lista3 é uma lista de listas de strings do tipo {le,ld}; cada uma destas listas representa uma produção (le é lado esquerdo e ld é o lado direito). Defina em Mathematica a função afndtogr que dado um afnd ɛ A constrói uma gramática regular G tal que L A = L G. 5. Defina a função Mathematica sintaxe que dada uma string "s" de caracteres Mathematica devolve True se s é uma expressão Mathematica sintacticamente correcta e False caso contrário. 6. Defina as funções Mathematica seguintes usando apenas atribuições x=y, x=0, x=x+1, composição sequencial, If[x==y,prog] e While[x==y,prog] em que x e y são nomes, e prog volta a ser construído apenas com expressões do tipo indicado: (a) menor, que dados dois inteiros não negativos x e y devolve True se x é menor que y e False caso contrário. (b) menorigual, que dados dois inteiros não negativos x e y devolve True se x é menor ou igual que y e False caso contrário. (c) par, que dado um inteiro não negativo x devolve True se x é par e False caso contrário. (d) impar, que dado um inteiro não negativo x devolve True se x é impar e False caso contrário. (e) soma, que dados dois inteiros não negativos x e y devolve a sua soma. (f) diferenca, que dados dois inteiros não negativos x e y devolve x y se x y e 0 caso contrário. 5
6 (g) produto, que dados dois inteiros não negativos x e y devolve o seu produto. (h) quociente, que dados dois inteiros não negativos x e y devolve o quociente da divisão inteira de x por y. (i) potencia, que dados dois inteiros não negativos x e y devolve x y, usando também atribuições x=y+z. (j) raiz, que dados dois inteiros não negativos x e y devolve a raiz de índice y inteira de x, usando também atribuições x=y+z e condições x<y. (k) expoentefact, que dados dois inteiros positivos x e y devolve o expoente do y-ésimo primo na factorização prima de x se x e y, usando também atribuições x=y*z, condições x<y e as funções Mod e PrimeQ. (l) log, que dados dois inteiros positivos x e y devolve o logaritmo inteiro de x na base y se y é maior que 1 e 0 caso contrário, usando também atribuições x=y*z e condições x<y. (m) multiplo, que dados dois inteiros não negativos x e y devolve True se x é múltiplo de y e False caso contrário, usando também atribuições x=y+z. (n) divisor, que dados dois inteiros positivos x e y devolve True se x é divisor de y e False caso contrário: i. usando também atribuições x=y-z ii. usando também atribuições x=y+z e condições x<y iii. usando também atribuições x=y*z e condições x<y (o) qperfeito, que dado um natural devolve True se é quadrado perfeito e False caso contrário. Neste caso pode usar a função Mod. (p) primo, que dado um inteiro positivo devolve True se é primo e False caso contrário. Neste caso pode usar a função Mod. (q) primentresi, que dados dois inteiros positivos devolve True se são primos entre si e False caso contrário, usando também atribuições x=y+z e condições x<y. (r) mdc, que dados dois inteiros positivos devolve o seu máximo divisor comum, usando também atribuições x=y-z e condições x<y. (s) mmc, que dados dois inteiros positivos devolve o seu menor múltiplo comum, usando também atribuições x=y*z e condições x<y. 7. Mostre que são computáveis as seguintes funções (recorde que M é o conjunto das expressões Mathematica) (a) g : M 2 M tal que se x e y são inteiros positivos g(x, y) é o expoente do x-ésimo primo na decomposição de y em números primos e, caso contrário, é a string argumentos inválidos 6
7 (b) f : M M tal que se x é um inteiro positivo então f(x) é uma lista (sem repetições) de listas {p, e}, com p primo e e k 0 o expoente de p na decomposição de x em números primos, e, caso contrário, é a string argumento inválido (c) f : M M tal que se m é uma lista inteiros então f(m) é o número de primos que ocorre nessa lista e, caso contrário, é a string argumento inválido (d) f : M M tal que se m é uma lista então f(m) é a lista que resulta de eliminar os elementos repetidos de m e, caso contrário, é a string argumento inválido (e) f : M M tal que se m é uma matriz de inteiros então f(m) é o produto de todos os seus elementos e, caso contrário, é a string argumento inválido (f) f : M M tal que se m é uma matriz de inteiros então f(m) é número de zeros que ocorrem em m e, caso contrário, é a string argumento inválido (g) f : M M tal que se m é uma matriz então f(m) é número de strings que ocorrem em m e, caso contrário, é a string argumento inválido (h) g : M 2 M tal que se x e y são listas x = {a 1, a 2,..., a m } e y = {b 1, b 2,..., b n } g(x, y) é a lista {{a 1, b 1 },..., {a 1, b n },..., {a m, b 1 },..., {a m, b n }} e, caso contrário, é a string argumentos inválidos (i) g : M 2 M tal que se x é uma lista de listas de inteiros e k é um inteiro então g(x, k) é a lista que contém todas as listas em x nas quais ocorre k e, caso contrário, é a string argumentos inválidos. (j) f : M M tal que se x é um afd (representado com no exercício 2) então f(x) é a lista dos estados produtivos de x e, caso contrário, é a string argumento inválido. 8. Mostre que são computáveis as seguintes funções (recorde que M é o conjunto das expressões Mathematica) (a) c : M 2 M tal que c(x, y) = 1 se x e y são inteiros não negativos e x é múltiplo de y e c(x, y) = 0 nos outros casos (b) c : M 2 M tal que c(x, y) = 1 se x e y são inteiros positivos e x é divisor de y e c(x, y) = 0 nos outros casos (c) c : M 3 M tal que c(x, y, z) = 1 se x, y e z são inteiros positivos e z é o maior divisor comum a x e a y e c(x, y, z) = 0 nos outros casos (d) c : M 3 M tal que c(x, y, z) = 1 se x, y e z são inteiros positivos e z é o menor múltiplo comum a x e a y e c(x, y, z) = 0 nos outros casos. (e) c : M M tal que c(x) = 1 se x é uma lista de inteiros pares e c(x) = 0 nos outros casos 7
8 (f) c : M M tal que c(s) = 1 se s é uma string e c(s) = 0 nos outros casos (g) c : M M tal que c(s) = 1 se s é uma string de letras c(s) = 0 nos outros casos (h) c : M M tal que c(x) = 1 se x é um natural e é capicua e c(x) = 0 nos outros casos (i) c : M M tal que c(m) = 1 se m é uma matriz diagonal de inteiros e c(m) = 0 nos outros casos (j) c : M M tal que c(m) = 1 se m é uma matriz identidade e c(m) = 0 nos outros casos (k) c : M M tal que c(m) = 1 se m é uma matriz triangular superior de inteiros e c(m) = 0 nos outros casos (l) c : M 2 M tal que c(s, I) = 1 se I é um alfabeto (lista em que cada elemento é uma letra ou um dígito) e s é uma palavra sobre I e c(x, y) = 0 nos outros casos (m) c : M 2 M tal que c(x, y) = 1 se x e y são listas e x é uma permutação y e c(x, y) = 0 nos outros casos. 9. Proponha uma representação em Mathematica para a máquina URM, seus comandos e programas e defina uma função que, dada uma configuração inicial e um programa URM P, caso a execução de P a partir configuração inicial dada termine, devolve a configuração da máquina obtida após o fim da execução de P e, caso contrário, não devolve qualquer valor. Modifique a função anterior por forma a que apenas sejam executados passos da execução do programa. 10. Proponha uma representação em Mathematica para a máquina Turing e defina uma função que dada uma máquina de Turing e uma palavra sobre o seu alfabeto devolva True se a palavra pertence a L(M). 2 Máquina de Turing 1. Considere a máquina de Turing M = (Q, I, Γ, δ, q 0, q act, q rej ) em que M = {q 0, q 1, q 2, q act, q rej }, I = {a, b, c}, Γ = {a, b, c, } e δ : Q Γ Q Γ {E, D} tal que δ a b c q 0 (q rej,, D) (q rej,, D) (q 1,, D) (q rej,, D) q 1 (q 2,, D) (q 1,, D) (q 1,, D) (q rej,, D) q 2 (q 2,, D) (q 1,, D) (q 1,, D) (q act,, D) q act q rej calcule a computação de M a partir das seguintes configurações 8
9 (a) q 0 caab (b) q 0 abbc (c) q 0 ccaba 2. Considere a máquina de Turing M = (Q, I, Γ, δ, q 0, q act, q rej ) em que M = {q 0, q 1, q 2, q 3, q act, q rej }, I = {x, y}, Γ = {x, y, X, Y, } e δ : Q Γ Q Γ {E, D} tal que δ x y X Y q 0 (q 1, X, D) (q rej, y, D) (q rej, X, D) (q 3, Y, D) (q rej,, D) q 1 (q 1, x, D) (q 2, Y, E) (q rej, X, D) (q 1, Y, D) (q rej,, D) q 2 (q 2, x, E) (q rej, y, D) (q 0, X, D) (q 2, Y, E) (q rej,, D) q 3 (q rej, x, D) (q rej, y, D) (q rej, X, D) (q 3, Y, D) (q act,, D) q act q rej calcule a computação de M a partir das seguintes configurações (a) q 0 xxy (b) q 0 xyy (c) q 0 xxyy q 0 xxxyyy 3. Considere a máquina de Turing M = (Q, I, Γ, δ, q 0, q act, q rej ) em que M = {q 0, q 1, q 2, q 3, q act, q rej }, I = {1}, Γ = {1, #, } e δ : Q Γ Q Γ {E, D} tal que δ 1 # q 0 (q 1,, D) (q rej, #, D) (q rej,, D) q 1 (q 1, 1, D) (q 1, 1, D) (q 2,, E) q 2 (q 3,, E) (q rej, #, D) (q rej,, D) q 3 (q 3, 1, E) (q rej, #, D) (q act, 1, D) q act q rej calcule a computação de M a partir das seguintes configurações (a) q 0 11#1 (b) q 0 111#11 (c) q (d) q 0 # Descreva uma máquina de Turing M tal que L(M) seja o conjunto das palavras sobre {a, b, c} que comecem em a, terminem em c e tenham pelo menos um b. 5. Descreva uma máquina de Turing M tal que L(M) seja o conjunto das palavras sobre {a, b, c} que tenham um número par de a s e comecem em c. 6. Descreva uma máquina de Turing M tal que L(M) = {0 n 1 n : n IN}. 7. Descreva uma máquina de Turing M tal que L(M) = {w {0, 1} : o número de a s é igual ao número de b s}. 8. Descreva uma máquina de Turing M tal que L(M) = {w {a, b} : w é um palíndromo}. 9
10 9. Descreva uma máquina de Turing M que calcule a função sucessor de inteiros positivos (assumindo a representação unária dos inteiros positivos). 10. Descreva uma máquina de Turing M que calcule a soma de inteiros positivos (assumindo a representação unária dos inteiros positivos). 11. Descreva uma máquina de Turing M que calcule a função que a cada w {0, 1} não vazia associa 1 se w é uma sequência de 1 s e associa 0 caso contrário. 12. Descreva uma máquina de Turing M que calcule a função que a cada w {0, 1} não vazia associa 1 se em w ocorre um 1 e associa 0 caso contrário. 13. Descreva uma máquina de Turing M que calcule a função que a cada w {0, 1} não vazia associa a sequência w que se obtém de w trocando cada 1 por 0 e cada 0 por Descreva uma máquina de Turing M tal que L(M) = {w#w : w {a, b} \{ɛ}}. 15. Descreva uma máquina de Turing M tal que L(M) = {0 n 1 n 2 n : n IN}. 16. Descreva uma máquina de Turing M que calcule a função f : {a} \{ɛ} {a} \{ɛ} tal que f(w) = ww. 3 Máquina URM 1. Considere os seguintes programas URM (a) (b) (c) 1 J(2,3,5) 2 S(1) 3 S(3) 4 J(1,1,1) 1 J(1,2,6) 2 S(2) 3 S(3) 4 J(1,2,6) 5 J(1,1,2) 6 T(3,1) 1 J(1,4,9) 2 S(3) 3 J(1,3,7) 4 S(2) 5 S(3) 6 J(1,1,3) 10
11 7 T(2,1) (d) (e) (f) (g) 1 J(1,3,6) 2 S(2) 3 S(2) 4 S(3) 5 J(1,1,1) 6 T(2,1) 1 J(2,4,10) 2 J(1,4,5) 3 S(4) 4 J(1,1,1) 5 J(2,4,10) 6 J(3,5,11) 7 S(4) 8 S(5) 9 J(1,1,5) 10 S(6) 11 T(6,1) 1 J(3,1,6) 2 J(4,2,9) 3 S(3) 4 S(4) 5 J(1,1,1) 6 Z(1) 7 S(1) 8 J(1,1,10) 9 Z(1) 1 T(1,3) 2 T(2,4) 3 J(1,4,9) 4 J(2,3,9) 5 S(3) 6 S(4)) 7 S(5) 8 J(1,1,3) 9 T(5,1) Emule a execução de cada um dos programas a partir de uma configuração inicial em que, sendo r 1 o conteúdo de R 1, r 2 o conteúdo de R 2 e r 3 o conteúdo de R 3, 11
12 (i) r 1 = 4 e o conteúdo dos outros registos é 0 (ii) r 1 = 5, r 2 = 2 e o conteúdo dos outros registos é 0 (iii) r 1 = 5, r 2 = 3, r 3 = 2 e o conteúdo dos outros registos é 0 (iv) r 1 = 5, r 2 = 3, r 3 = 6 e o conteúdo dos outros registos é 0 (v) r 1 = x, r 2 = y, com x, y IN 0, e o conteúdo dos outros registos é 0. Indique as funções de aridade 1, 2 e 3 que são calculadas por cada programa. 2. Prove que as seguintes funções em h : IN n 0 IN 0, n IN 0, são URMcomputáveis. Não use oráculos, a menos que expressamente indicado. (a) h(x, y) = x + y (b) h(x, y) = max(x, y) (c) h(x) = quociente da divisão inteira de x por 2 (d) h(x, y) = x y (se x y então x y senão 0) (e) h(x, y) = x y se x y e h(x, y) não está definida, caso contrário (note que a execução do programa que calcula h deve terminar se e só x y). (f) h(x, y) = x y (g) h(x, y) = x y i. usando apenas o oráculo SUM ii. sem oráculos (h) h(x, y) = z onde z é o quociente da divisão inteira de x por y, se y é diferente de 0, e é 0 se y=0, usando o oráculo SUB. (i) h(x, y) = z onde z é o resto da divisão inteira de x por y, se y é diferente de 0, e é x se y=0: i. usando apenas o oráculo SUB ii. sem oráculos (j) h(x) = y onde y é a raiz quadrada inteira de x. Só pode usar os oráculos LESS e PROD. SUM[p, q, s] sendo x o conteúdo do registo R p e y o conteúdo do registo R q coloca no registo R s o valor x + y PROD[p, q, s] sendo x o conteúdo do registo R p e y o conteúdo do registo R q coloca no registo R s o valor x.y SUB[p, q, s] sendo x o conteúdo do registo R p e y o conteúdo do registo R q coloca no registo R s o valor do máximo do conjunto {0, x y} LESS[p, q, s] sendo x o conteúdo do registo R p e y o conteúdo do registo R q coloca 1 no registo R s se x for menor que y e 0 caso contrário 12
13 4 Conjuntos decidíveis e semidecidíveis 1. Mostre que são decidíveis os conjuntos seguintes: (a) o conjunto dos números naturais pares (b) o conjunto dos números naturais ímpares (c) o conjunto dos números naturais primos (d) o conjunto dos números naturais que são quadrados perfeitos (e) o conjunto dos pares (x, y) de naturais tais x é múltiplo de y (f) o conjunto dos pares (x, y) de naturais tais x é divisor de y (g) o conjunto dos pares (x, y) de naturais tais x e y são primos entre si (h) o conjunto dos tuplos (x, y, z) de naturais tais z é o maior divisor comum a x e a y (i) o conjunto dos tuplos (x, y, z) de naturais tais z é o menor múltiplo comum a x e a y (j) o conjunto das listas de inteiros de comprimento par (k) o conjunto das listas de inteiros de comprimento primo (l) o conjunto dos pares (s, I) em que s é uma string sobre o alfabeto I (m) o conjunto das matrizes quadradas de inteiros (n) o conjunto das matrizes triangulares superiores de inteiros (o) o conjunto das matrizes triangulares inferiores de inteiros (p) o conjunto das matrizes diagonais de inteiros (q) o conjunto dos naturais que são capicuas (r) o conjunto das palavras aceites por um afd dado (s) o conjunto dos pares (w, D) em que w é uma palavra aceite pelo afd D (t) o conjunto dos estados i. produtivos ii. acessíveis iii. inúteis de um afd dado (u) o conjunto dos afd s equivalentes a um afd dado (v) o conjunto das palavras aceites por um afnd ɛ dado (w) o conjunto das palavras geradas por uma gramática regular dada (x) o conjunto das palavras da linguagem denotada por uma expressão regular dada (y) o conjunto das expressões Mathematica. 2. Mostre que todo o conjunto finito é decidível. 13
14 3. Mostre que a classe dos conjuntos decidíveis (dum mesmo tipo) é fechada para as seguintes operações: (a) intersecção (b) reunião (c) complementação. 4. Mostre que a classe dos conjuntos decidíveis é fechada para a operação binária de produto cartesiano. 5. (a) Mostre que todos os conjuntos referidos no exercício 1 são semidecidíveis. (b) Mostre que todo o conjunto decidível é semidecidível. 6. Mostre que se X IN 2 0 é decidível então o conjunto {x : existe y tal que (x, y) X} é semidecidível. 7. Considere o conjunto das expressões Mathematica E tais que avalia(e). Mostre que este conjunto é semidecidível. 8. Considere o conjunto dos pares de expressões Mathematica (E1,E2) tais que avalia(e1["e2"]).mostre que este conjunto é semidecidível. 9. Considere o conjunto das expressões Mathematica E para as quais existe um natural n tal que avalia(e["n"])=0. Mostre que este conjunto é semidecidível. 10. Considere o conjunto das expressões Mathematica F tal que tais que avalia(f)=e onde E é uma expressão Mathematica dada. Mostre que este conjunto é semidecidível. 11. Considere o conjuntodos pares de expressões Mathematica (E1,E2) tais que avalia(e1)=e2. Mostre que este conjunto é semidecidível. 12. Mostre que um conjunto A é semidecidível se e só se é vazio ou admite uma enumeração (aplicação sobrejectiva de IN para A) computável. 13. Mostre que um conjunto é semidecidível se e só se é domínio de alguma função computável. 14. Mostre que um conjunto é semidecidível se e só se é contradomínio de alguma função computável. 15. Mostre que um conjunto X é semidecidível se e só se existe um conjunto R decidível tal que X = {x : existe y tal que (x, y) R}. 16. Mostre que todo o conjunto semidecidível infinito tem um subconjunto infinito decidível. 17. Mostre que a classe dos conjuntos semidecidíveis é fechada para a operação binária de produto cartesiano. 14
15 18. Mostre que a classe dos conjuntos semidecidíveis (dum mesmo tipo) é fechada para as seguintes operações: (a) intersecção (b) reunião. 19. Seja C IN. Mostre que C e IN\C são ambos decidíveis se e só se forem ambos semidecidíveis. 20. Seja D um conjunto decidível e C D. Mostre que C e D\C são ambos decidíveis se e só se forem ambos semidecidíveis. 5 Predicados decidíveis e semi-decidíveis 1. Prove que os seguintes predicados sobre os naturais são decidíveis. (a) P (x) = x é par (b) P (x) = x é ímpar (c) P (x) = x é quadrado perfeito (d) P (x) = x é número primo (e) P (x, y) = x é menor que y (f) P (x, y) = x é múltiplo de y (g) P (x, y) = x é divisor de y (h) P (x, y) = x e y são primos entre si (i) P (x, y, z) = z é o maior divisor comum a x e a y (j) P (x, y, z) = z é o menor múltiplo comum a x e a y. 2. Prove que os seguintes predicados sobre matrizes de inteiros são decidíveis. (a) P (m) = m é uma matriz quadrada (b) P (m) = m é uma matriz triangular superior (c) P (m) = m é uma matriz diagonal (d) P (m) = m é uma matriz identidade (e) P (m 1, m 2 ) = a matriz m 2 é inversa de m 1 (f) P (m 1, m 2 ) = a matriz m 2 é a transposta de m Prove que os seguintes predicados são decidíveis. (a) P (w, I) = w é uma palavra sobre o alfabeto I (b) P (D, w) = w é uma palavra aceite pelo afd D (c) P (A, w) = w é uma palavra aceite pelo afnd ɛ A (d) P (G, w) = w é uma palavra gerada pela gramática regular G (e) P (α, w) = w é uma palavra da linguagem denotada por α 15
16 (f) P (D, e) = e é um estado produtivo do afd D (g) P (D, e) = e é um estado acessível do afd D (h) P (D, e) = e é um estado útil do afd D (i) P (D 1, D 2 ) = os afd s D 1 e D 2 são equivalentes (j) P (D) = os afd D é uma afd mínimo. 4. Prove que os seguintes predicados sobre expressões Mathematica são decidíveis. (a) P (E) = E é um inteiro (b) P (E) = E é uma lista (c) P (F, X) = X é um ponto fixo de F. 5. Sejam P 1 e P 2 predicados decidíveis. Mostre que (a) P 1 P 2 é um predicado decidível. (b) P 1 P 2 é um predicado decidível. (c) P 1 é um predicado decidível. 6 Indecidibilidade 1. Mostre que existe um conjunto semidecidível que não é decidível. 2. Considere o conjunto das expressões Mathematica E tais que avalia(e). Mostre que este conjunto não é decidível. 3. Considere o conjunto dos pares de expressões Mathematica (E1,E2) tais que avalia(e1["e2"]). Mostre que este conjunto não é decidível. 4. Considere o conjunto das expressões Mathematica E para as quais existe um natural n tal que avalia(e["n"])=0. Mostre que este conjunto não é decidível. 5. Considere o conjunto das expressões Mathematica F tal que tais que avalia(f)=e onde E é uma expressão Mathematica dada. Mostre que este conjunto não é decidível. 6. Considere o conjuntodos pares de expressões Mathematica (E1,E2) tais que avalia(e1)=e2. Mostre que este conjunto não é decidível. 7. Mostre que não é semidecidível o complementar do conjunto das expressões Mathematica E tais que avalia(e). 8. Mostre que não é semidecidível o complementar do conjunto dos pares de expressões Mathematica (E1,E2) tais que avalia(e1["e2"]). 9. Mostre que não é semidecidível o complementar do conjunto das expressões Mathematica E para as quais existe um natural n tal que avalia(e["n"])=0 é semidecidível. 16
17 10. Mostre que não é semidecidível o complementar do conjunto das expressões Mathematica F tal que tais que avalia(f)=e onde E é uma expressão Mathematica dada. 11. Mostre que não é semidecidível o complementar do conjunto dos pares de expressões Mathematica (E1,E2) tais que avalia(e1)=e Prove que os seguintes predicados sobre expressões Mathematica são semidecidíveis mas não são decidíveis. (a) P (E) = avalia(e) (b) P (E1, E2) = avalia(e1["e2"]) (c) P (E) = existe um natural n tal que avalia(e["n"])=0 (d) P (F) = avalia(f)=e onde E é uma expressão Mathematica dada (e) P (E1, E2) = avalia(e1)=e Use o Teorema de Rice para demonstrar que nenhum dos seguintes conjuntos é decidível: (a) {F M : φ 1 F (E) }, com E M; (b) {(F, E) M 2 : φ 1 F (E) }; (c) {F M : existe X M tal que φ 1 F (X) = E}, com E M; (d) {(F, E) M 2 : existe X M tal que φ 1 F (X) = E}; (e) {F M : φ 1 F = φ1 E }, com E M dada; (f) {(F, E) M 2 : φ 1 F = φ1 E }. 17
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 maisExercí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 maisProgramação Imperativa
03.prog.imp.nb 1 Programação Imperativa Nos exercícios que se seguem, as únicas funções primitivas sobre listas que deve utilizar são: First, Last, Rest, Append, Prepend, Length, [[.]] e{}. Cada 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 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 maisTeoria 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 maisUniversidade 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 maisInstituto 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 mais1 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 maisTeoria 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 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 maisAulas 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 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 maisLinguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática
Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra
Leia maisLista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013
Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void
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 mais2. 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 maisTextos de apoio às aulas práticas. Jaime Ramos, Francisco Miguel Dionísio
Computação e Programação Textos de apoio às aulas práticas Jaime Ramos, Francisco Miguel Dionísio DMIST, Dezembro de 2010 Parte I MATLAB 1 Capítulo 1 Exercícios preliminares 1. Defina a função conta divisores
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 maisProgramação Universidade da Beira Interior Departamento de Informática 2007/08
Programação Universidade da Beira Interior Departamento de Informática 1. Faça o fluxograma e o respectivo programa que resolva equações de 2º grau (ax 2 +bx+c=0). O programa deverá pedir ao utilizador
Leia maisMatemática Computacional
folha de exercícios 5 :: página 1/5 exercício 5.1. Defina a função f : R R, f(x) = 4x 4 3x 3 + 2x 2 + x. Calcule f(0), f( 1), f(4/3) e f(2.88923). exercício 5.2. Defina a função g : R R R, g(x, y) = x
Leia maisConceitos básicos de Teoria da Computação
Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3
Leia mais1 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(Ciência de Computadores) 2005/ Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação
Álgebra (Ciência de Computadores) 2005/2006 Números inteiros 1. Diga quais dos conjuntos seguintes satisfazem o Princípio de Boa Ordenação (a) {inteiros positivos impares}; (b) {inteiros negativos pares};
Leia maisUniversidade Federal do Rio de Janeiro Departamento de Ciência da Computação
Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova
Leia maisTeoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.
Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos
Leia maisModelos de Computação Folha de trabalho n. 8
Modelos de Computação Folha de trabalho n. 8 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 maisMATEMÁTICA 1 MÓDULO 2. Divisibilidade. Professor Matheus Secco
MATEMÁTICA 1 Professor Matheus Secco MÓDULO 2 Divisibilidade 1. DIVISIBILIDADE 1.1 DEFINIÇÃO: Dizemos que o inteiro a é divisível pelo inteiro b (ou ainda que a é múltiplo de b) se existe um inteiro c
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 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 maisFaculdade 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 maisLinguagens 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 maisCurso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios
Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Leia maisMatemática Básica Relações / Funções
Matemática Básica Relações / Funções 04 1. Relações (a) Produto cartesiano Dados dois conjuntos A e B, não vazios, denomina-se produto cartesiano de A por B ao conjunto A B cujos elementos são todos os
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 maisa 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 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 maisUNIVERSIDADE 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 TEORIA DA COMPUTAÇÃO Aula 02 Introdução à Teoria da Computação Prof.ª Danielle Casillo Linguagem: é uma forma precisa de expressar
Leia maisMatemá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 mais1 TESTE OPÇÃO II - TEORIA DE NÚMEROS COMPUTACIONAL
1 TESTE OPÇÃO II - TEORIA DE NÚMEROS COMPUTACIONAL Licenciatura em Matemática 30 de março de 2012 duração 1h 45m Responda, justificando cuidadosamente, às seguintes questões: 1. Calcule uma estimativa
Leia mais1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.
Instituto Federal do Pará Professor: Ricardo José Cabeça de Souza Disciplina: - Algoritmos e Construção de Programas LISTA DE EXERCÍCIOS 1. Faça uma função que recebe por parâmetro o raio de uma esfera
Leia maisA = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.
Capítulo 1 Números Reais 1.1 Conjuntos Numéricos Um conjunto é uma coleção de elementos. A relação básica entre um objeto e o conjunto é a relação de pertinência: quando um objeto x é um dos elementos
Leia maisConjuntos Numéricos Conjunto dos números naturais
Conjuntos Numéricos Conjunto dos números naturais É indicado por Subconjuntos de : N N e representado desta forma: N N 0,1,2,3,4,5,6,... - conjunto dos números naturais não nulos. P 0,2,4,6,8,... - conjunto
Leia maisAutómatos Finitos Determinísticos (AFD)
Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto
Leia maisHewlett-Packard CONJUNTOS NUMÉRICOS. Aulas 01 a 08. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz Ramos
Hewlett-Packard CONJUNTOS NUMÉRICOS Aulas 01 a 08 Elson Rodrigues, Gabriel Carvalho e Paulo Luiz Ramos Ano: 2019 Sumário CONJUNTOS NUMÉRICOS... 2 Conjunto dos números Naturais... 2 Conjunto dos números
Leia maisTeoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema
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 maisTeoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema
Leia maisComputabilidade. da Computação que estudam, formalmente, as capacidades e as limitações da computação.
Computabilidade Universidade dos Açores Departamento de Matemática www.uac.pt/~hguerra!! A Computabilidade e a Complexidade são áreas nucleares da Ciência da Computação que estudam, formalmente, as capacidades
Leia maisINE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos
INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
Leia maisMatemática Básica. Fração geratriz e Sistema de numeração 1) 0, = ) 2, =
Erivaldo UDESC Matemática Básica Fração geratriz e Sistema de numeração 1) 0,353535... = 35 99 2) 2,1343434... = 2134 21 99 0 Decimal (Indo-Arábico): 2107 = 2.10 3 + 1.10 2 + 0.10 1 + 7.10 0 Número de
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 maisLinguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.
LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Leia maisInteligência Artificial
Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios Complementares de Lisp Inteligência Artificial Prof Joaquim Filipe Eng.
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 maisTeoria da Computação I
Licenciatura em Engenharia Informática e Computação João Falcão e Cunha João Mendes Moreira Teoria da Computação I º Ano 2001-2002 Prova Escrita 2ª chamada 2002.01.0 Esta prova escrita tem a duração de
Leia maisProgramação das Aulas
Departamento de Ciência da Computação - IME - USP Programação das Aulas Segunda parte Nesta segunda fase da disciplina estudaremos: variáveis do tipo real (float); caracteres (char); operações com números
Leia maisIntrodução à Programação uma Abordagem Funcional
Universidade Federal do Espírito Santo Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres boeres@inf.ufes.br CT VII - Sala 34 Departamento de Informática Centro Tecnológico
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 maisComputaçã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 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 maisIntrodução Definição Conceitos Básicos de Linguagem
Introdução Definição Conceitos Básicos de Linguagem Introdução Desenvolvida originalmente em 1950 Objetivo: Desenvolver teorias relacionadas com a Linguagem natural Logo verificou-se a importância para
Leia maisCurso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos
Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários
Leia maisLista 2 - PMR2300/3200
Lista 2 - PMR2300/3200 Fabio G. Cozman, Thiago Martins 8 de março de 2015 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u
Leia maisLicenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07
Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Ficha 3 Autómatos Finitos Objectivos: Introdução ao conceito de Autómato Finito e notações utilizadas na sua representação;
Leia maisOs 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 mais1. Múltiplos e divisores
Escola Básica de Santa Marinha Matemática 2009/2010 7º Ano Síntese dos conteúdos Números e operações 1 Múltiplos e divisores Múltiplo de um número é todo o número que se obtém multiplicando o número dado
Leia maisProgramação imperativa
Capítulo 8 Programação imperativa 8.1 Exercícios de revisão 1. Distinga entre programação imperativa e programação funcional. 2. Explique a necessidade da introdução do operador de atribuição. 3. Diga
Leia maisCálculo Numérico BCC760
Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita
Leia maisCálculo Diferencial e Integral I
Cálculo Diferencial e Integral I Texto de apoio às aulas. Amélia Bastos, António Bravo Dezembro 2010 Capítulo 1 Números reais As propriedades do conjunto dos números reais têm por base um conjunto restrito
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 maisTeoria da Computação Aula 02 Introdução
Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:
Leia maisÁLGEBRA LINEAR I - MAT Em cada item diga se a afirmação é verdadeira ou falsa. Justifiquei sua resposta.
UNIVERSIDADE FEDERAL DA INTEGRAÇÃO LATINO-AMERICANA Instituto Latino-Americano de Ciências da Vida e Da Natureza Centro Interdisciplinar de Ciências da Natureza ÁLGEBRA LINEAR I - MAT0032 2 a Lista de
Leia maisTeoria 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 maisUm alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.
Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem
Leia maisLINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam
Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João
Leia maisLFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos
LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa
Leia maisÁlgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte I - Matrizes
Álgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte I - Matrizes Prof.a Tânia Preto Departamento Acadêmico de Matemática UTFPR - 2014 Importante Material desenvolvido a partir dos livros
Leia maisVariáveis e instruções de repetição
Variáveis e instruções de repetição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisMá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 maisProcedimentos 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 maisMATEMÁTICA I. Profa. Dra. Amanda L. P. M. Perticarrari
MATEMÁTICA I Profa. Dra. Amanda L. P. M. Perticarrari amanda.perticarrari@unesp.br www.fcav.unesp.br/amanda MATEMÁTICA I AULA 1: PRÉ-CÁLCULO Profa. Dra. Amanda L. P. M. Perticarrari CONJUNTOS NUMÉRICOS
Leia maisMAT 5798 Medida e Integração Exercícios de Revisão de Espaços Métricos
MAT 5798 Medida e Integração Exercícios de Revisão de Espaços Métricos Prof. Edson de Faria 30 de Março de 2014 Observação: O objetivo desta lista é motivar uma revisão dos conceitos e fatos básicos sobre
Leia maisLista de Exercício de Linguagens de Programação Prog. Funcional
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO Lista de Exercício de Linguagens de Programação Prog. Funcional 1) Construa uma função del_posicao_n ::
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 maisExercícios Repetição
Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que
Leia maisALGORITMO DE EUCLIDES
Sumário ALGORITMO DE EUCLIDES Luciana Santos da Silva Martino lulismartino.wordpress.com lulismartino@gmail.com PROFMAT - Colégio Pedro II 25 de agosto de 2017 Sumário 1 Máximo Divisor Comum 2 Algoritmo
Leia mais2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.
Capítulo 5 Abstracção de dados 5. Exercícios de revisão. Diga o que é um tipo abstracto de informação.. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.
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 maisINE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas
INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL:
Leia maisAlgoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição
Algoritmos e Lógica de Programação 6ª Lista de Exercícios Comandos de Repetição 1. Qual a saída do programa abaixo? int i; for (i = 0; i < 10; i += 2) printf("%d\n", i / 2); 2. Qual a saída do programa
Leia maisBCC242. Auômato Finito Determinístico
BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos
LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte
Leia maisErrata da lista 1: Na página 4 (respostas), a resposta da letra e da questão 13 é {2, 3, 5, 7, 11, 13, 17} (faltou o número 17)
Errata da lista 1: Na página 4 (respostas), a resposta da letra e da questão 13 é {2, 3, 5, 7, 11, 13, 17} (faltou o número 17) Lista 1 - Bases Matemáticas Elementos de Lógica e Linguagem Matemática 1
Leia maisLFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos
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 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 maisLinguagens Não-Regulares
Linguagens Não-Regulares 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 Não-Regulares DCC-UFMG (2018/02)
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS
LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.
Leia mais