GOT ARDO. UNI S E B@GMAI L . COM TEORIA DA COMPUTAO E LINGUAGENS FORMAIS MOTIVAO A teoria da cincia da computao comeou com as perguntas 1. Como as linguagens so definidas? Estudo de gramticas de Noam Chomsky 2. O que conseguimos computar? O que um algoritmo? O algoritmo deve ser completo, finito e determinstico Completo: sempre produz um resultado Finito: tem uma sequncia finita de instrues Determinstico: sempre produz o mesmo resultado para a mesma entrada 2 MOTIVAO A teoria da cincia da computao comeou com as perguntas 2. O que conseguimos computar? O que um algoritmo? Necessidade de um modelo formal e abstrato de computao Exemplo: funes recursivas, clculo lambda, mquinas RAM, mquinas de Turing Provado que so todos equivalentes Hiptese de Church-Turing Um problema tem uma soluo algortmica se e somente se pode ser resolvido por um dos sistemas computacionais mencionados 3 MOTIVAO A teoria da cincia da computao comeou com as perguntas 2. O que conseguimos computar? O que um algoritmo? Problemas com soluo computacional ou sem soluo computacional Exemplo de problemas sem soluo i. Determinar se um programa termina para todas as entradas possveis ii. Determinar se dois programas computam a mesma funo 4 MOTIVAO Depois preocupou-se com a pergunta? 3. Quanto custa computar? Problemas tratveis ou intratveis Exemplo Intratveis (tem soluo com recursos ilimitados) Computar todas as possveis jogadas de xadrez com 1000 movimentos 5 OBJETIVOS Dar ao aluno noo formal de algoritmo, computabilidade e do problema de deciso, de modo a deix-lo consciente das limitaes da cincia da computao Dar subsdios para o aluno poder definir linguagens de programao, isto , sua sintaxe e semntica, atravs do estudo das gramticas formais 6 OBJETIVOS Apresentar ferramentas que habilitem o aluno a solucionar problemas com o uso do computador 7 EMENTA Gramticas Linguagens regulares, livres de contexto, sensveis ao contexto e com estrutura de frase Reconhecedores Autmatos finitos, de pilha e mquina de Turing 8 EMENTA Expresses regulares Poder das Mquinas de Turing e Tese de Church- Turing Indecibilidade Teoria de Complexidade Intratabilidade 9 EMENTA DETALHADA Conceitos bsicos e terminologia Introduo Teoria da Computao Cadeias e linguagens Linguagens regulares Gramticas regulares 10 EMENTA DETALHADA Autmatos finitos No determinismo Equivalncia entre autmato finito no determinstico e autmato finito determinstico Fechamento das operaes regulares Expresses regulares 11 EMENTA DETALHADA Equivalncia entre expresso regular e autmato finito no determinstico Converso entre os formalismos Linguagens livres de contexto Gramticas livres de contexto Autmatos com pilha 12 EMENTA DETALHADA Linguagens sensveis ao contexto Gramticas sensveis ao contexto Linguagens de estrutura de frase Gramticas de estrutura de frase Introduo compilao 13 AVALIAO Nota B1 = Avaliao Mensal (4) + Bimestral (4) + Seminrio (2) Nota B1 = Avaliao Mensal (4) + Bimestral (4) + Seminrio (2) Prova Mensal 1: 29/08 Seminrios 1: 29/08 Prova Mensal 2: 31/10 Seminrios 2: 31/10 14 BIBLIOGRAFIA Livros Texto DIVRIO, T. A.; MENEZES, P. B. Teoria da Computao: Mquinas Universais e Computabilidade. 2. ed. Porto Alegre: Sagra-Luzzato, 2000. 205p. HOPCROFT, J. E.; MOTWANI, R.; ULLMAN, J. D. Introduction to Automata Theory, Languages, and Computation. 2. ed. Addison-Wesley, 2001. 521p. MENEZES, P. B. Linguagens Formais e Autmatos. 4. ed. Porto Alegre: Sagra-Luzzato, 2000. 165p. 15 BIBLIOGRAFIA Livros de Referncia CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e prtica. Rio de Janeiro: Campus, 2002. 916p. KOZEN, D. C. Automata and Computability. Springer Verlag, 1997. 400p. 16 SOFTWARES JFLAP http://www.jflap.org/ SCTMF http://www.din.uem.br/yandre/sctmf/ 17