Você está na página 1de 9

1.

Conceitos Bsicos
Alfabeto: conjunto no vazio e finito de smbolos.
Exemplo: = {0,1} = {a, b, c, ..., z}

Palavra (string): sequncia finita de smbolos formada a partir de um alfabeto.


Exemplo: 001011

Palavra vazia: aquela com zero ocorrncia de smbolos. Denotada por .

Conceitos Bsicos
Comprimento de uma palavra: o nmero de posies para smbolos em uma palavra.
|w| denota o comprimento da string w |001011| = 6, ||=0.

Potncias de um alfabeto: k = o conjunto de palavras de tamanho k, formadas a partir de .


Exemplo: = {0,1}
1 = {0, 1} 2 = {00, 01, 10, 11} 0 = {} Quantas palavras ter o conjunto 3 ?

Conceitos Bsicos
O conjunto de todas as palavras formadas a partir de denotado por *.
* = 0 1 2 * = + {}

Concatenao: Se x e y so palavras, ento a palavra xy denota a concatenao de x e y, isto , a palavra formada por uma cpia de x, seguida de uma cpia de y.
x = a1a2...ai y = b1b2...bj xy = a1a2...aib1b2...bj Exemplo: x = 01101 e y = 110; xy = 01101110

Obs.: x = x = x

Prefixo, Sufixo, Subpalavra


prefixo:
qualquer seqncia de smbolos inicial de uma palavra.

sufixo:
qualquer seqncia de smbolos final de uma palavra.

subpalavra:
qualquer seqncia contga de uma palavra.

Exemplo: para a palavra abcb


prefixos: , a, ab,abc, abcb sufixos: , b, cb, bcb, abcb prefixos e sufixos so subpalavras.

Reverso de uma palavra


(Definio Indutiva) O reverso da palavra u *, denotada por uR definido como segue:
(i) se |u|=0 ento u = e R = (ii) se |u|=n>0, ento u=wa para alguma palavra w *, com |w|= n 1 e algum smbolo a , ento uR = awR

Determine o reverso da palavra abcd:

Conceitos Bsicos
Linguagens: Se um alfabeto e L *, ento L uma linguagem sobre .
Exemplos:
O conjunto das palavras da lngua portuguesa; O conjunto dos programas vlidos em C; O conjunto das palavras formada por n 0s seguida de n 1s, n 0:
{, 01, 0011, 000111, ... }

O conjunto de palavras com o mesmo nmero de 0s e 1s:


{, 01, 10, 0011, 0101, 1001, ... }

Conceitos Bsicos
Lp = o conjunto dos nmeros binrios cujo valor primo:
{10, 11, 101, 111, 1011, ... }

A linguagem vazia ; A linguagem {} formada pela palavra vazia; Obs.:


{} ; O alfabeto base sempre finito.

Problema: Dada uma palavra w em *, decidir se ela faz parte ou no de uma linguagem L.

Conceitos Bsicos
Exemplo: decidir se um nmero binrio primo = decidir se ele faz parte de Lp.
11101 Lp?

Usualmente as solues para os problemas no so pensadas como decises do tipo sim/no, mas como alguma coisa que transforma uma entrada em uma sada.
Parser de um compilador C = verifica se o programa est correto e produz uma rvore sinttica. Seja Lx o conjunto de todos os programas vlidos na linguagem de programao X. Se pudermos mostrar que difcil decidir se uma palavra pertence ou no a linguagem Lx, ento podemos concluir que no ser fcil traduzir programas da linguagem X para cdigo objeto. Por qu?

Operaes sobre Linguagens


Unio: L1L2 = {w * | w L1 ou w L2} Interseco: L1L2 = {w * | w L1 e w L2} Diferena: L1-L2 = {w * | w L1 e w L2} Complemento: *-L = {w * | w L} Concatenao: L1L2 = {xy | x L1 e y L2} Potncias: L0={}, L1=L, Lk+1=L.LK Potncias Fecho de Klene: L* = {w | w=w1w2...wn, n0, w1, w2, ...,wn L}
i =0

L =
*

Li

0 ? i ? * ?

Você também pode gostar