Escolar Documentos
Profissional Documentos
Cultura Documentos
Ementa
Autmatos e Linguagens Formais. Linguagens regulares. Linguagens livres de contexto. Modelos computacionais universais. Computabilidade.
Bibliografia
Cormen, T. H. Algoritmos Teoria e Prtica. Campus, 2002. Toscani, L. V. & Veloso, P. A. S Complexidade de Algoritmos. Sagra-Luzzzato, 2002. Sipser, Michael Introduction to the Theory of computation. PWS Publishing Company, 1997. MENEZES, Paulo F B: Linguagens Formais e Autmatos. P. Alegre: Sagra Luzzatto, 2004 (4a. Ed). HOPCROFT, J. E.; MOTWANI, R.; ULLMAN, J.D.: Introduction to Automata Theory, Languages, and Computation. New York: Addison-Wesley, 2004 (2a. Ed). LEWIS, H. R.; PAPPADIMITRIOU, C. H.: Elements of the Theory of Computation. Englewood Cliffs: PrenticeHall, 1981. SHIELDS, M. W.: An Introduction to Automata Theory. Oxford: Blackwell Scientific Publications, 1987. SALOMA, A.: Formal Languages. New York: Academic Press, 1973.
Avaliao
Trs provas. Listas de exerccios. Poderemos ter trabalhos! Nota final a mdia ponderada: (P*8 + LT*2)/10.
Introduo
Teoria da computao
Computao: soluo de um problema ou o clculo de uma funo, atravs de um algoritmo. A teoria da computao: subcampo da cincia da computao e matemtica.
Busca determinar quais problemas podem ser computados em um dado modelo de computao. Primeiros anos do sculo XX. Definir o significado de um "mtodo simples": um modelo formal da computao.
Teorias...
Teoria da complexidade:
Problema computacionalmente fcil ou difcil. Ordenao e alocao de aulas. Problemas no solveis computacionalmente. Se um enunciado verdadeiro ou falso. Definies e propriedades de modelos matemticos de computao.
Teoria da computabilidade:
A. Finito: processamento de texto, compiladores e desenho de hardware. Gramtica livre de contexto: linguagens de programao e IA.
Notaes e terminologias
Conjunto: A = {7,21,57}
7 A B A
15 A
Sub-conjunto: B = {21}
Conjunto vazio ( ), Unio ( ), Inteseo ( ) e Complemento ( A C )... Sequncia: objetos em alguma ordem.
{1,2,3}, {a, b,d,m,z} e {1,2,3} {3,1,2} Tuplas: sequncia finita (3-tupla, 5tupla)
Notaes e terminologias
Domnio: possveis entradas da funo. Contra-domnio: possveis sadas da funo. f : D CD Reflexiva: para todo x, xRx. Simtrica: para todo x e y, xRy sse yRx. Transitiva: se xRy e yRz, implica em xRz. Antissimtrica: se xRy e yRx, ento x=y.
Relaes:
Grafos
Grafos
Caminhos:
Crculo rvore
Palavra e linguagens
Alfabeto: conjunto finito. O conjunto vazio tambm um alfabeto! Smbolos: membros do alfabeto. Palavra de um alfabeto: sequncia finita de smbolos de um alfabeto.
+
=
* - {}
Prefixo de uma palavra qualquer seqncia inicial de smbolos da palavra. Sufixo de uma palavra qualquer seqncia final de smbolos da palavra. Subpalavra qualquer seqncia contgua de smbolos da palavra. Exemplo: Identificar os prefixos, sufixos e subpalavras de aaba.
aaba: , a, aa, aab, aaba , a, ba, aba, aaba , a, b, aa, ab, ba, aab, aba, aaba
Linguagem formal
um conjunto de palavras sobre um alfabeto. Exemplos: {}, {}, {a, b, aa, ab, ba, bb, aaa, ...}. Aplicaes: Modelos dinmicos, processos de automao, provadores de teoremas, interpretadores, compiladores, lgica temporal, automao, robtica, prototipao, etc.
Concatenao de palavras
produz uma terceira que formada pelos smbolos da primeira, na ordem em que ocorrem, seguidos pelos smbolos da segunda, tambm na ordem em que ocorrem e assim sucessivamente.
----------------a b a a b a a a
Propriedades da concatenao
u=aaba u = aaba = u
Concatenao sucessiva
De uma palavra repetidas vezes com ela mesma. Notao: wn, onde n 0 o nmero de vezes que a palavra repetida. w3 = www. w1 = w. w0 = , para w .
(ab)3 = ababab (01) = 01010101
Gramtica
V um conjunto de smbolos variveis ou noterminais. T um conjunto de smbolos terminais, disjunto de V. P um conjunto finito de regras de produo. S um elemento de V denominado varivel inicial.
Exemplo: G = ( V = {S, X}, T = {a, b}, P = {S a | aX, X b | bX}, S).
Regras de produo
So pares do tipo (a, b), representados por ab, onde a (VT)+ e b (VT)*. Definem as condies de gerao das palavras da linguagem. Abreviao: ab1, ab2, ..., abn por ab1| b2|...|bn. A aplicao de uma regra de produo chama-se uma derivao.
P= {SaX|bX, Xa|b|X}
Derivao
Seja G=(V,T,P,S) uma gramtica. Uma derivao um par da relao denotada por , com domnio em (VT)+ e contradomnio em (VT)*. Um par (a,b) da relao denotado de forma infixa: ab.
Seqncia de Derivao Seja G=(V,T,P,S)=({S,X},{a,b},{SaS|X,Xba|X},S). Uma seqncia de derivao para produzir a palavra aaba nesta gramtica : S aS aaS aaX aaba.
Para toda produo da forma Sb, onde S o smbolo inicial de G, tem-se que Sb. Para todo par ab, onde b=uvw, se vt regra de P, ento autw. Portanto uma derivao a substituio de uma subpalavra, de acordo com uma regra de produo. Notao: Um ou mais passos de derivao sucessivos.
Linguagem gerada
Uma gramtica um formalismo gerador, pois permite derivar (gerar) todas as palavras da linguagem que representa. Seja G = (V, T, P, S) uma gramtica. A linguagem gerada pela gramtica G, denotada por L(G) ou GERA(G), composta por todas as palavras formadas por smbolos terminais derivveis a partir do smbolo inicial S. L(G) = {w T* | S + w}. Exemplo: G=(V,T,P,S)=({S, D}, {0,1,...,9}, {SD| DS, D0|1|...|9}, S).
Linguagem gerada
A gramtica abaixo gera o conjunto dos nmeros naturais: G=(V,T,P,S)=({S, D}, {0,1,...,9}, {SD|DS, D0| 1|...|9}, S).
Por exemplo, gerar 593: S DS 5S 5DS 59S 59D 593
Duas gramticas, G1 e G2 so ditas ser equivalentes se e somente se geram a mesma linguagem, isto :
GERA(G1) = GERA(G2).
Induo
Silogismo estatstico: 90% dos estudantes de EngComp so criativos. Jos estudante de EngComp; logo, Jos criativo. Generalizao estatstica: 63% de uma amostra de 3.845 pessoas escolhidas ao acaso em todo pas so presidencialistas; logo, 63% dos brasileiros so presidencialistas
Induo matemtica
Aplica-se a conjuntos enumerveis. Base de induo: Mostrar que P verdadeira para X=0 ou X=1. Hiptese de Induo: Assumir que P verdadeira para X=N. Passo de Induo: Mostrar que P verdadeira para X=N+1.
Induo matemtica
p(0) verdadeira; Para qualquer k , p k p k 1 verdadeira. Ento, para qualquer n , p(n) verdadeira.
p(0), p(n) e a proposio p k p k 1 denominam-se: base de induo, hiptese de induo e passo de induo, respectivamente.
Induo matemtica
Em uma demonstrao por induo, deve-se demonstrar a base de induo p(0) e, fixado um k, supor verdadeira a hiptese de induo p(k) e demonstrar o passo de induo. Exemplo:Para qualquer n, tem-se que 1+2+...+n = (n+n)/2
Induo matemtica
Hiptese da induo: Suponha que para algum n tem-se que: 1+2+...+n=(n+n)/2. Passo de induo: Prova para 1 + 2 +...+ n + (n + 1):
1 + 2 +...+ n + (n + 1) = (1 + 2 +...+ n) + (n + 1) = (n + n)/2 + (n + 1) = (n + n)/2 + (n*2 + 1*2)/2 = (n + n + 2n + 2)/2 = ((n + 2n + 1) + (n + 1))/2 = ((n + 1) + (n+1))/2. Assim, 1 + 2 +...+ n + (n + 1) = ((n + 1) + (n+1))/2 e para todo n tem-se que 1+2+...+n=(n+n)/2
Exerccios
Exerccios
Exerccios
D os possveis prefixos e sufixos de cada uma das seguintes palavras: a) teoria b) universidade c) aaa d) abccba e) abcabc
Exerccios
P: t, te, teo... S: a, ia, ria... P:u, un, uni... S:e, de, ade...
b) universidade
Exerccios