Linguagem Fabrício Dias fabriciounipe@ig.com.br UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação Teoria da Computação Linguagem Fabrício Dias fabriciounipe@ig.com.br
Agenda Definição de linguagem Alfabeto Cadeia de símbolos ou palavras Comprimento de palavra Linguagem X Comprimento Prefixo, sufixo, subpalvra Concatenação de palavras.
Linguagem Linguagem é um conceito fundamental no estudo de Teoria da Computação Trata da forma precisa de expressar problemas, permitindo um desenvolvimento formal adequado ao estudo da computabilidade.
Alfabeto Alfabeto (Σ) Representado por “Σ” Qualquer conjunto finito de símbolos ou caracteres Um conjunto infinito não é um alfabeto O conjunto vazio é um alfabeto Exemplos de alfabetos Σ1 = {a, b, c} Σ2 = {0, 1, x, y, z} Σ3 = {a, b, c, d, e, f, g, h, .... ,x, z} Σ4 = (conjunto vazio) O conjunto dos IN forma um alfabeto? O conjunto de IN {1, 4, 8,10, …, 1000} é um alfabeto?
Palavra denota uma cadeia vazia ou palavra vazia Cadeia de símbolos (strings) ou palavra Uma Cadeia de Símbolos (ou palavra) sobre um conjunto é uma seqüência de zero ou mais símbolos (do conjunto) justapostos Uma Palavra é uma cadeia de símbolos finita Uma cadeia sem símbolos é uma palavra válida e o símbolo: denota uma cadeia vazia ou palavra vazia Exemplo abcb é uma palavra do alfabeto Σ= {a, b, c} Abcf não é uma palavra do alfabeto Σ= {a, b, c}
Linguagem Linguagem Exemplo Suponha o alfabeto = {a,b}. Então: O conjunto vazio e o conjunto formado pela palavra vazia são linguagens sobre . ≠ {} O conjunto de palíndromos (palavras que têm a mesma leitura da esquerda para direita e vice-versa) sobre é um exemplo de linguagem infinita. , a, b, aa, bb, aaa, aba, bab, bbb,....
Comprimento de palavra Comprimento ou tamanho de uma palavra Se w é uma cadeia sobre , o comprimento de w, denotado por |w|, é o número de símbolos que w contém. A cadeia de comprimento 0, é denominado cadeia nula ou palavra vazia e é representado por . | | = 0 Exemplo Seja o alfabeto = {0, 1}, então w = 01001 é um string ou palavra sobre . |w| = 5
Linguagem X Comprimento Um conjunto de palavras sobre um alfabeto O conjunto 1 é aquele que contém todas as palavras sobre o alfabeto cujo comprimento é 1 (Ou seja, todos os símbolos do alfabeto) Exemplo: Seja o alfabeto = {0, 1} 1 = 0 ou 1 = 1, ou seja | 1 |=1
Linguagem X Comprimento 2 contém palavras sobre com comprimento 2 e assim por diante. Exemplo: Seja o alfabeto = {0, 1, 2} 2 = 01, 02, 12, ou seja | 2 |=1 Definimos então, o conjunto * como o conjunto de todas as palavras sobre este mesmo alfabeto (A união de todos os outros conjuntos) Exemplo: = {0, 1}, então * ={ ,01,001, 00111, ...} + como o conjunto de todas as palavras sobre este mesmo alfabeto, exceto a palavra vazia {}.
Prefixo, sufixo, subpalavra Um Prefixo de uma palavra é qualquer seqüência inicial de símbolos da palavra Um Sufixo de uma palavra é qualquer seqüência final de símbolos da palavra Uma Subpalavra (ou subcadeia) de uma palavra é qualquer seqüência que compõe a palavra Qualquer prefixo ou sufixo de uma palavra é uma subpalavra. Exemplo: Seja a palavra abcb , a, ab, abc, abcb são os prefixos; , b, cb, bcb, abcb são os sufixos; , a, ab, abc, abcb, b, cb, bcb, abcb são subpalavras.
Concatenação de palavras A concatenação de palavras é uma operação binária, definida sobre uma linguagem, a qual associa a cada par de palavras uma palavra formada pela justaposição da primeira com a segunda. Suponha v,w,t como palavras: v(wt) = (vw)t - associatividade w = w = w - elemento neutro a esquerda ou direita
Concatenação sucessiva Concatenação Sucessiva de Palavras A concatenação sucessiva de uma Palavra (com ela mesma) é representada na forma de um expoente: wn onde n é o número de concatenações sucessivas Exemplos: (wabc)0 = wa1 = wa wab3 = wabwabwab wab5 = wabwabwabwabwab
Concatenação Concatenação de Palavras Uma concatenação definida sobre uma linguagem L não é necessariamente fechada sobre L, ou seja, a concatenação de duas palavras de L não é necessariamente uma palavra de L. Exemplo: Suponha a linguagem L de palíndromos sobre Σ = {a, b}. A concatenação das palavras aba e bbb resultam na palavra ababbb a qual não é palíndromo. Portanto a operação de concatenação não é fechada sobre L.
Dúvidas??