13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497
|
|
- Yago Vilarinho Brunelli
- 5 Há anos
- Visualizações:
Transcrição
1 Capítulo 13 Outros modelos de computação Funções recursivas Sistemas de Post Sistemas de rescrita Cálculo Lambda 497
2 Máquinas de Turing (1936): os modelos de computação mais gerais Outros modelos de computação desenvolvidos entre 1930 e 40 funções recursivas (Kurt( Gödel, 1929, Skolem, Herbrand sistemas de Post (Emil Post, sistemas de rescrita (Emil Post) cálculo- l (Alonzo Church, h 1930, Grande objectivo: saber se é possível encontrar máquinas capazes de provar proposições matemáticas, a partir de um conjunto de axiomas, num número finito de passos, através de sucessivas inferências e deduções- um sistema formal de prova. 498
3 Um tal sistema formal deveria ser: consistente: uma proposição não pode ser considerada verdadeira por uma dada sequência de passos e falsa por outra sequência de passos, completo: toda a proposição que se possa exprimir no sistema pode-se demonstrar ser verdadeira ou falsa. 499
4 K. Gödel Teorema da Incompletude (1931): Qualquer sistema consistente tem que ser incompleto, deve conter algumas proposições que não se podem provar. 500
5 Podem distinguir-se as proposições demonstráveis das não demonstráveis, de tal forma que as demonstráveis o possam ser com rigor por meios mecânicos? Foi esta questão que motivou Turing, Church, Kleen, Post, etc., ao desenvolvimento de modelos de computação. 501
6 Tese de Church Todos os modelos de computação, desde que sejam suficientemente gerais, são equivalentes. Têm todos as mesmas limitações, mantendose em todos zonas de não computabilidade. 502
7 Tese de Church-Turing combinação da tese de Church (equivalência dos modelos de computação) com a tese de Turing (tudo o que é computável pode sê-lo por uma MT)... não demonstrável... define um princípio geral para a computação algorítmica 503
8 Funções recursivas (Gödel) Usualmente uma função denota-se na forma de receita para a sua computação: f (n) = n 3 + n exprime o facto de que a computação da função segue a receita: multiplicar n por si próprio três vezes e depois adicionar n. Alternativa: Qualquer função (computável) )pode-se especificar de um modo recursivo. 504
9 Funções recursivas primitivas I I I I I Funções básicas ou iniciais I = Inteiros não negativos 1. função zero : z (x) = 0, para todo o x I 2. função sucessora : s (x) = x+1, o inteiro que segue x 3. função projecção: p 1 (x 1, x 2 )=x x 1 p 2 (x 1, x 2 ) = x 2 505
10 definição de funções mais complexas a partir das básicas: 1. Composição : f (x, y) = h ( g 1 (x,y), g 2 (x,y)) a partir de funções g 1, g 2, h definidas. 2. Recursão primitiva, uma função pode ser recursivamente definida através de f (x,0) = g 1 (x) f (x, y+1) = h ( g 2 (x,y), f (x,y)) a partir de funções g 1, g 2, h definidas. 506
11 Exemplo 1: adição de números inteiros pode ser definida d pela função add (x, y) definida d por add (x,0) = x add (x, y+1) = add(x,y) + 1 add (4,3) = add (4,2) + 1 = (add (4, 1) +1) + 1 = ((add (4, 0) +1) + 1) +1 = ((4+1)+1)+1 = (5+1)+1 = 6+1 = 7 507
12 13.2. Sistemas de Post Definição 13.3 Um sistema de Post,,, é definido pelo quarteto em que = ( C, V, A, P ) C é um conjunto finito de constantes, composto por dois conjuntos distintos - C N,asco constantes tes não terminais, - C T, as constantes terminais V é um conjunto finito de variáveis A é um conjunto finito de C*, chamado axioma, o símbolo inicial P é um conjunto finito de produções. 508
13 As produções num sistema de Post devem verificar algumas restrições (aqui difere de uma gramática não restringida): id são da forma x 1 V 1 x 2 V 2... x n V n x n+1 y 1 W 1 y 2 W 2... y m W m y m+1 em que x i, y i C* (axiomas) V i, W i V (variáveis) qualquer variável pode aparecer na esquerda no máximo uma vez, e por isso V i V j para i j toda a variável que aparece na direita deve aparecer na m n esquerda, e por isso W i i 1 j 1 V j 509
14 Exemplo Seja um sistema de Post com C T = {1, +, =}, constantes t terminais i C N = V = {V 1, V 2, V 3 }, variáveis A = {1+1=11}, axioma e as produções V 1 +V 2 = V 3 V V 2 = V 3 1, V 1 +V 2 = V 3 V 1 + V 2 1 = V
15 Comparando com a produção padrão, temos para a 1ª produção x 1, V 1 V 1, x 2 +, V 2 V 2, x 3 =, V 3 V 3, x 4 y 1, W 1 V 1, y 2 1+, W 2 V 2, y 3 =, W 3 V 3, y 4 1 e para a segunda x 1, V 1 V 1, x 2 +, V 2 V 2, x 3 =, V 3 V 3, x 4, y 1, W 1 V 1, y 2 +, W 2 V 2, y 3 1=, W 3 V 3, y
16 Pode-se obter a seguinte derivação: 1+1= = = =11111 Se as cadeias forem interpretadas como a representação unária dos números inteiros não-negativos, teremos 1+1=2 2+1=3 2+2=4 3+2=5 A linguagem gerada por este sistema de Post é o conjunto de todas as identidades de adições de inteiros. A intenção original de Post era encontrar um mecanismo de prova rigorosa de afirmações matemáticas, a partir de um conjunto de axiomas. Mas é de utilização complicada. É no entanto um modelo geral de computação. 512
17 13.3. Sistemas de rescrita (rewriting systems) Um sistema de rescrita é composto por um alfabeto e um conjunto de regras ou produções através das quais se produz uma cadeia a partir de outra, isto é se rescreve a partir de outra. Todas as gramáticas que estudámos são sistemas de rescrita O que distingue um sistema de rescrita de um outro é a natureza do alfabeto e as restrições aplicadas às produções. 513
18 Gramáticas matriciais Gramáticas de estrutura de frase (phrase-structure grammars) : Aplica-se uma produção de cada vez, por qualquer ordem e em cada produção substitui-se se uma variável apenas uma vez. Nas gramáticas matriciais há uma certa ordem obrigatória na aplicação das produções e podem-se aplicar várias em cada derivação 514
19 Nas gramáticas matriciais o conjunto P das produções consiste em subconjuntos P 1, P 2,..., P n cada um dos quais é uma sequência ordenada x 1 y 1, x 2 y 2, x 3 y 3,... Sempre que se aplica a primeira produção de um dado P i, de seguida deve aplicar-se a segunda produção à cadeia acabada de criar, depois a terceira produção à cadeia resultante, e assim sucessivamente. Só se pode aplicar a primeira produção de P i se todas as outras (de P i ) puderem ser aplicadas. 515
20 Exemplo: P 1 : S S 1 S 2 P 2 : S 1 as 1, S 2 bs 2 c P 3 : S 1, S 2, Uma derivação SS 1 2 as1 bs2c S S 1 S 2 as 1 bs 2c aas 1bbS 2cc aaas 1bbbS 2ccc aaabbbccc A produção P 2 introduz sucessivamente um a, um b e um c. A linguagem gerada é por isso L ={a a n b n c n, n 0} Vantagem: as GM s são por vezes uma solução mais simples. 516
21 Algoritmos de Markov é um sistema de rescrita cujas produções x y se consideram ordenadas, numa derivação deve usar-se a primeira produção aplicável, a derivação faz-se pela (extrema) esquerda, algumas das produções podem ser assinaladas como terminais, x.y. y começa-se uma derivação com uma cadeia w * continuando até que ou se aplica uma produção terminal ou não há mais produções aplicáveis. 517
22 Para aceitação de linguagens, identifica-se um conjunto T. Começando com uma cadeia terminal, aplicam-se produções até se obter a cadeia vazia. Definição Seja M um Algoritmo de Markov com alfabeto e terminais T. O conjunto L(M) = {w T * : w } * é a linguagem aceite por M. 518
23 Exemplo: Seja o algoritmo de Markov com =T ={ab} {a, e as produções ab ba Em cada passo de uma derivação apaga-se um a e um b. ababaabbba b bbb abaabbba bbb aabbba abba ba a linguagem aceite é composta por cadeias com um número de a s igual ao de b s. 519
24 Exemplo: Encontrar uma algoritmo de Markov para L = { a n b n, n 0} Uma solução ab S S ab asb S S.. CFG S asb S Até certo ponto os algoritmos de Markov são gramáticas de estrutura em frase revertidas, trabalhando para trás (não considerando a última produção). 520
25 Uma linguagem é recursivamente enumerável se e só se existir um algoritmo de Markov para ela (teorema 13.7 Linz). 521
26 Sistemas-L (Sistemas de rescrita paralelos) estendidos Ossse sistemas s L (de Aristid Lindenmayer) foram desenvolvidos v dos para modelizar o crescimento de organismos vivos. São essencialmente il sistemas de rescrita paralelos: ll em cada passo de uma derivação tem que se rescrever todo e qualquer símbolo, como na reprodução de um organismo vivo (células, plantas, ). As produções são da forma a u em que a e u *. 522
27 Exemplo Seja = {a} e um sistema-l definido por a aa Uma sua produção, iniciando-se com a, será a aa aaaa aaaaaaaa aaaaaaaaaaaaaaaa 2 n L a 2, n 0 muito mais difícil de obter por uma gramática de estrutura em frase. 523
28 Prusinkiewicz P. and A. Lindenmayer - The Algorithmic Beauty of Plants, Springer Verlag, Início Início Semente w 0 : F-F-F-F Prod: F F-F+F+FF-F-F+F F: seguir em frente distância d + rodar à esquerda 90º - rodar à direita 90 º Dividir d por 4 em cada etapa n Imagens produzidas por uma sistema - L 524
29 ema - L Pro oduzida as por um ma sist Prusinkiewicz P. and A. Lindenmayer- The Algorithmic Beauty of Plants, Springer Verlag,
30 os sistemas-l estendidos podem ter produções da forma (x, a, y) u a, x, y, u * só se pode substituir a por u quando a ocorrer como parte de uma cadeia xay, isto é, contextualizada. Os sistemas-l contextualizados são modelos gerais de computação. 526
31 13.4. Cálculo - ( - calculus) Criado por Alonzo o Church, cerca c de 1930, como o a primeira expressão de computabilidade, um conceito puramente matemático na época. É uma linguagem de programação abstracta que deu lugar à programação funcional (LISP, Scheme, ML- MetaLanguage, etc.). É um sistema matemático para definir funções computáveis, i.e, é um modelo de computação. Tem o poder de exprimir qualquer computação em termos de funções 527
32 Mais em Cursos on-line sobre cálculo p 528
33 Bibliografia An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, Models of Computation and Formal Languages, R. Gregory Taylor, Oxford University Press, Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addison Wesley, Elements for the Theory of Computation, Harry Lewis and Christos Papadimitriou, 2nd Ed., Prentice Hall, Introduction th the Theory of Computation, Michael Sipser, PWS Publishing Co, Barendregt, H., The Lambda Calculus: its Syntax and Semantics, 2nd ed., Nolrth- Holland, Hindley, J.R. and J.P. Seldin, Introduction ti to Combinators and -calculus, l l LMS Student Texts, Cambridge Universty Press, Prusinkiewicz P. and A. Lindenmayer- The Algorithmic Beauty of Plants, Springer Verlag,
formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas
Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto
Leia maisCapítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268
Capítulo 6 Simplificação de gramáticas livres de contexto e Formas Normais 61 6.1. Métodos para transformar gramáticas ái 62 6.2. Duas formas Normais (Chomsky e Greibach) 268 6.1. Métodos para transformar
Leia maisCapítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375
Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos
Leia mais7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.
Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto
Leia maisProf. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
Leia maisSCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos
Leia maisTeoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.
Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.
Leia maisSCC Introdução à Teoria da Computação
SCC-0505 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia 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 maisSCC Teoria da Computação e Linguagens Formais
SCC-0205 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia 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 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 maisOs limites da computação algorítmica
Capítulo 12 Os limites da computação algorítmica 12.1. Problemas que não podem ser resolvidos pelas MT. 12.2. Problemas indecidíveis para LRE 12.3. Problema da correspondência de Post 12.4. Problemas indecidíveis
Leia 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 maisOutras Máquinas de Turing
Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal
Leia maisGramáticas Regulares
Capítulo 3 Expressões Regulares, Linguagens Regulares es e Gramáticas Regulares 3.1. Expressões Regulares (RE) 3.2. Relação entre ER e Linguagens Regulares (LR) 3.3. Gramáticas Regulares (GR) 3.4. Síntese
Leia maisPLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Pró-Reitoria de Ensino de Graduação Coordenação do Curso de Bacharelado em Sistemas de Informação Site: http://www.bsi.ufrpe.br E-mail: coordenacao@bsi.ufrpe.br
Leia maisSCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente
SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
Leia 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 mais2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Leia maisAlfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
Leia maisLinguagem (formal) de alfabeto Σ
Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou
Leia maisUNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA
UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA CÓDIGO DENOMINAÇÃO CRÉDITOS C. HORÁRIA DCE241 Teoria da Computação 04 75 horas TEM COMO
Leia maisTurma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min
UNIVERSIDADE DEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA TEÓRICA 2 Semestre 2008 04/08/2008 a 12/12/2008 DISCIPLINA: TEORIA DA COMPUTAÇÃO N CÓDIGO: INF05501. Horário:
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Contextualização Prof.ª Aracele Garcia de Oliveira Fassbinder IFSULDEMINAS Campus Muzambinho Muzambinho, Fevereiro de 2012 Sobre esta disciplina O que é uma linguagem formal?
Leia maisTeoria da Computação (BBC244)
Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.
Leia maisLinguagens Formais e Autômatos. Tiago Alves de Oliveira
Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos
Leia maisRevisões de Conjuntos
Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A
Leia 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 maisRegulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192
Capítulo 4 Propriedades das Linguagens Regulares (RL) 4.1. Propriedades d de fecho das RL 4.2. Pertença e finitude it das RL 4.3. Identificação de linguagens não regulares 192 4.1. Propriedades de fecho
Leia maisSCC Capítulo 1 Linguagens Regulares e Autômatos Finitos
SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos 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
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 mais1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?
capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental
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 maisAutómatos de pilha e GIC
Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de
Leia maisSCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)
SCC-505 - Capítulo 2 e (versão 2) João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
Leia maisLinguagens, Reconhecedores e Gramáticas
Linguagens, Reconhecedores e Gramáticas Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias são denominadas sentenças
Leia maisAutómatos de pilha e Gramáticas independentes de contexto
Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja
Leia 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 maisFormas normais. Forma normal de Greibach (FNG) todas as produções são da forma
Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)
Leia maisGramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Leia maisLinguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP
Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações
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 maisMT como calculadoras de funções parciais
MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados
Leia maisTeoria da Computação Aula 01 Revisão de Conjuntos
Teoria da Computação Aula 01 Revisão de Conjuntos Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Conjuntos Conjunto e uma estrutura que agrupa objetos e constitui uma base para construir estruturas
Leia maisECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:
ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: rafafic@gmail.com Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),
Leia maisAs linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.
As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução
Leia maisPCS3616. Programação de Sistemas (Sistemas de Programação) Visão Geral
PCS3616 Programação de Sistemas (Sistemas de Programação) Visão Geral Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional
Leia maisLinguagens Formais e Autômatos Apresentação da Disciplina
Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823
Leia maisCT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...
1 de 14 14/3/2010 09:28 CT-200 Fundamentos de Linguagens Formais e Automata Aula 01 - Introdução Primeira aula (updated just now by YourName) Orientações Gerais: Horários e Avaliação Horários: 3 tempos
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisMá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 maisApostila 05 Assunto: Linguagens dos tipos 0 e 1
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisNoçã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 maisSCC 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 maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Leia 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 Prof.ª Danielle Casillo Nome: Teoria da Computação Créditos: 4 60 horas Período: 2010.2 Horário: segundas e quintas das 20:40 às 22:20
Leia maisCAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS
CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS 6.1 Introdução 215 6.2 Métodos para transformar gramáticas 215 6.2.1 Eliminação do carácter 216 6.2.2 Uma regra geral para substituir
Leia maisTeoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha
Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas
Leia maisSCC 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 maisGBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing
GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Funções Def. Função
Leia 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 maisÁrvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1
Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis
Leia 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 maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Leia maisCAPÍTULO 7 AUTÓMATOS DE PILHA
CAPÍTULO 7 AUTÓMATOS DE PILHA 7.1 Introdução 247 7.2 O Autómato de Pilha, PDA-Push Down Automata 247 7.3 Autómatos de Pilha Não-Determinísticos 249 7.4. Autómatos de pilha e linguagens livres de contexto
Leia maisGramá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 maisAutómatos determísticos de k-pilhas
Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica
Área: Ciência da Computação Teoria da Computação - Linguagem Formais e Autômatos DISPOSIÇÕES GERAIS O processo seletivo para Professor Substituto do do Instituto de Informática constará de 3 provas, nas
Leia maisTeresa 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 maisCapítulo 5. Linguagens livres de contexto
Capítulo 5 Linguagens livres de contexto 5.1. Gramáticas livres de contexto 5.2. Parsing e ambiguidade 5.3. CFG e linguagens de programação 221 5.1. 1Gramáticas ái livres de contexto na parte esquerda
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 maisCAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO
CPÍTULO 8 PROPRIEDDES DS LINGUGENS LIVRES DE CONTEXTO 8.1 Introdução 275 8.2 Dois lemas de bombagem 266 8.2.1 Lema de bombagem para linguagens livres de contexto 275 8.2.2 Lema de bombagem para linguagens
Leia maisTeoria da Computação. Aula 01
Teoria da Computação Aula 01 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/tc 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado
Leia maisAlfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).
Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento
Leia maisTeoria da Computação (cod.11562)
Teoria da Computação (cod.11562) Departamento de Informática Universidade da Beira Interior Figura 1:...but don t they already know how? Esta página no formato pdf 1 Paper do David Hilbert sobre o seu
Leia maisINE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:
INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens
Leia maisCapítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
Leia 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 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 maisACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br
Leia maisSCC 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 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 maisTeoria da Computação
Teoria da Computação Introdução às Linguagens Formais e as suas Gramáticas Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal Plano 1 Introduction a Teoria das Linguagens
Leia maisOutras 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 maisMáquinas Universais. Máquina de Turing. Celso Olivete Júnior.
Máquinas Universais Máquina de Celso Olivete Júnior olivete@fct.unesp.br http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção
Leia 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 maisComputação. Sob uma perspectiva teórica. Elloá B. Guedes. IQuanta. 22 de setembro de 2008
Computação Sob uma perspectiva teórica Elloá B. Guedes IQuanta 22 de setembro de 2008 Elloá B. Guedes (IQuanta) Computação 22 de setembro de 2008 1 / 30 Outline 1 Motivação 2 Contextualização Histórica
Leia maissumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...
sumário 1 introdução e conceitos básicos 1 1.1 introdução à matemática discreta... 2 1.2 conceitos básicos de teoria dos conjuntos... 3 1.2.1 conjuntos...3 1.2.2 pertinência...5 1.2.3 alguns conjuntos
Leia maisTeoria da Computação Aula - Linguagens e Gramáticas Formais
Teoria da Computação Aula - Linguagens e Gramáticas Formais Simão Melo de Sousa SMDS TC 1 Introduction a Teoria das Linguagens Formais prelúdio SMDS TC 2 Aviso Prévio A redacção dos apontamentos da disciplina
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Leia maisPCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing
PCS3616 Programação de Sistemas (Sistemas de Programação) Máquinas de Turing Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional
Leia maisUFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior
Um Algoritmo para Transformar Autômatos Finitos Não- Determinísticos em Autômatos Finitos Quânticos Preservando o Número de Estados e a Linguagem Reconhecida Cheyenne R. G. Isidro cha@dsc.ufcg.edu.br Bernardo
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 maisExercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )
Exercicios 7.1 Escreve expressões regulares para cada uma das seguintes linguagens de Σ = {a, b}: (a) palavras com não mais do que três as (b) palavras com um número de as divisível por três (c) palavras
Leia maisConceitos Básicos. LEIC 2 o Semestre, Ano Lectivo 2012/13. c Inês Lynce
Capítulo 1 Conceitos Básicos Lógica para Programação LEIC 2 o Semestre, Ano Lectivo 2012/13 c Inês Lynce Bibliografia Martins J.P., Lógica para Programação, Capítulo 1. Ben-Ari M., Mathematical Logic for
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018
Programa da Unidade Curricular TEORIA DA COMPUTAÇÃO Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade
Leia maisSistemas-L: Implementação em Java
Sistemas-L: Implementação em Java Luís Gil Setembro 2003 Conteúdo 1 Breve Introdução aos Sistemas-L 2 2 Utilização e invocação do programa 3 3 Ficheiro de descrição do sistema 4 4 Discussão da implementação
Leia maisTeoria 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