Você está na página 1de 33

Teoria da Computao

MsC. Ana Carolina Siravenha


siravenha@ufpa.br Ou carolinaquintao@gmail.com LaPS Laboratrio de Processamento de Sinais

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:

Teoria dos autmatos:

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

Funo: um objeto com relao entradasada (f(a)=b).


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

Conjunto de pontos ligado por linhas.


Pontos: ns ou vrtices. Linhas: arcos. Graus. Sub-grafo.

Grafos

Conjunto de pontos ligado por linhas.

Caminhos:

Crculo rvore

Direcionado: ({A,B,C,D,E},{(A,B),(A,D), (B,C),(B,D),(B,E),(C,E),(E,D),(D,E)})

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.
+
=

* - {}

palavra :0100111 =0,1 palavra=8 =a , b , c , d , e , f , g , ... , u , v , x , y , w , z

=0 palavra : abracadabra palavra=11

Prefixo, Sufixo e Subpalavra

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

Operao binria, sem representao. a justaposio de duas ou mais 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.

Exemplo: Se v=aa e w=ba ento x=vw=aaba e y=wv=baaa.


a b a a

----------------a b a a b a a a

Propriedades da concatenao

Associatividade: v(wt) = (vw)t. Elemento Neutro: w = w = w.

v=aa, w=b, t=a

v(wt) = (vw)t = aaba

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

Uma gramtica uma qudrupla, G=(V, T, P, S), onde:

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.

Definio de derivao (intuitiva)

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.

* Zero ou mais passos de derivao sucessivos. + n Exatamente n 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

Seja p(n) uma proposio sobre N:


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

Base de induo: Seja n=0, logo: (0+0)/2 = 0

Assim,para n=0 a proposta V. Note: 1+2+...+n = 0+1+2+...+n .

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

Marque os conjuntos que so alfabetos:


a) Conjunto dos nmeros naturais; [ ] b) Conjunto dos nmeros primos; [ ] c) Conjunto das letras do alfabeto brasileiro; [ ] d) Conjunto dos algarismos arbicos; [ ] e) Conjunto dos algarismos romanos; [ ] f) Conjunto { a, b, c, d }; [ ] g) Conjunto das partes de { a, b, c }; [ ] h) Conjunto das vogais; [ ] i) Conjunto das letras gregas. [ ]

Exerccios

Marque os conjuntos que so alfabetos:


a) Conjunto dos nmeros naturais [ ] b) Conjunto dos nmeros primos [ ] c) Conjunto das letras do alfabeto brasileiro [x] d) Conjunto dos algarismos arbicos [x] e) Conjunto dos algarismos romanos [x] f) Conjunto { a, b, c, d } [x] g) Conjunto das vogais [x] h) Conjunto das letras gregas [x]

Exerccios

D os possveis prefixos e sufixos de cada uma das seguintes palavras: a) teoria b) universidade c) aaa d) abccba e) abcabc

Exerccios

D os possveis prefixos e sufixos de cada uma das seguintes palavras: a) teoria


P: t, te, teo... S: a, ia, ria... P:u, un, uni... S:e, de, ade...

b) universidade

Exerccios

Você também pode gostar

  • Aula PMBoK
    Aula PMBoK
    Documento14 páginas
    Aula PMBoK
    Ana Carolina
    Ainda não há avaliações
  • Aula1 PDF
    Aula1 PDF
    Documento33 páginas
    Aula1 PDF
    Ana Carolina
    Ainda não há avaliações
  • Calculo1 Aula05
    Calculo1 Aula05
    Documento8 páginas
    Calculo1 Aula05
    marcosdnm
    Ainda não há avaliações
  • Tiramisu
    Tiramisu
    Documento2 páginas
    Tiramisu
    Ana Carolina
    Ainda não há avaliações