teoria da computação
DESCRIPTION
UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação. Teoria da Computação. Linguagem Fabrício Dias [email protected]. Agenda. Definição de linguagem Alfabeto Cadeia de símbolos ou palavras Comprimento de palavra Linguagem X Comprimento - PowerPoint PPT PresentationTRANSCRIPT
Teoria da ComputaçãoLinguagem
Fabrício Dias
UNIPÊ – Centro Universitário de João PessoaCurso de Ciências da Computação
2
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.
3
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.
4
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?
5
Palavra 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}
6
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,....
7
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
8
Linguagem X Comprimento
Linguagem 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
9
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 {}.
10
Prefixo, sufixo, subpalavra 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 palavraQualquer 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.
11
Concatenação de palavras
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
12
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
13
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.
14
Dúvidas??