Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Índice da seção

Noções Fundamentais

Esta seção introduz os conceitos fundamentais para o estudo dos autômatos finitos e linguagens formais, essenciais para as seções e capítulos subsequentes.

Funções

Sejam e dois conjuntos quaisquer, uma função de em , denotado como , é uma relação que associa cada elemento de a, no máximo, um elemento em .

Sejam e dois conjuntos quaisquer, e sejam e funções de em , isto é, . Dizemos que é uma função parcial quando não está definida para todos os elementos de . Por outro lado, é uma função total quando está definida para todos os elementos de .

Alfabetos e Palavras

Um alfabeto é um conjunto de símbolos finito e não vazio denotado convencionalmente pelo símbolo .

Exemplo

Os conjuntos , , , e são todos alfabetos. Os conjuntos , e não são alfabetos.

Seja um alfabeto, qualquer sequência finita de símbolos na forma com para todo é dita uma palavra sobre .

Exemplo

Dado o alfabeto , tem-se que as sequências , , são todas palavras sobre

A partir daqui, podemos definir algumas operações sobre palavras e alfabetos.

Seja uma palavra, o comprimento de , denotado por , é o número de símbolos que compõem .

Seja uma palavra, é dita palavra vazia, e denotada por , se, e somente se, .

Exemplo

Sejam , , e , quatro palavras pertencentes ao alfabeto . Tem-se que , , e .

Sejam e duas palavas quaisquer, a concatenação de com , denotada por é a palavra formada por todos os símbolos de seguidos por todos os símbolos de , ou seja:

Exemplo

Sejam , ambas pertencentes ao alfabeto , tem-se que e .

Exemplo

Sejam , , tem-se que e .

Nota-se que não existe nenhuma exigência sobre os alfabetos aos quais as palavras da concatenação fazem parte, ou seja, não é obrigatório que elas pertencam ao mesmo alfabeto.

Para quaisquer palavras , vale:

Proof:

sadasdas

Para qualquer palavra :

Proof:

sadasdas

Seja uma palavra , a palavra potência de , denotada por , é definida recursivamente como:

Para toda palavra e para todo é válido que:

  1. .
  2. .

Proof:

sadasdas

Seja uma palavra , a palavra inversa de , denotada por , é tal que .

Também podemos formalizar algumas operações com alfabetos. Em primeiro lugar, uma vez que alfabetos são conjuntos, todas as operações usuais de conjuntos (união, interseção, complemento, ) são válidas. Além dessas, segue:

Seja um alfabeto , a potência de , denotada por , é definida recursivamente como:

Seja um alfabeto, o fecho positivo e o fecho de Kleene de , denotados em ordem por e , correspondem, respectivamente, aos conjuntos:

Seja as palavra , dizemos que é prefixo de , denotado por , sempre que . Por outro lado, dizemos que é sufixo de , denotado por , sempre que .

Exemplo

Seja , o conjunto de todos os prefixos de corresponde ao conjunto: e o conjunto de todos os sufixo de corresponde ao conjunto

Proof:

sadasdas

Toda palavra tem pelo menos um prefixo e um sufixo.

Linguagens

Dado um alfabeto , qualquer subconjunto será chamado de linguagem sobre .

Exemplo

Assim como para alfabetos, as linguagens também herdam as operações clássicas de conjuntos, bem como podemos definir algumas demais operações.

Sejam as linguagens , a concatenação de e , denotado por , corresponde ao conjunto:

Exemplo

Seja uma linguagem, a linguage m reversa de L, denotada por , corresponde ao conjunto:

Exemplo

Seja uma linguagem , a linguagem potência de , denotada por , é definida recursivamente como:

Exemplo

Seja uma linguagem, o Fecho Positivo e o Fecho de Kleene de L, denotados em ordem por e , são, respecivamente:

Exemplo

Seja uma linguagem, as linguagens dos prefixos e dos sufixos de , denotadas em ordem por e , são, respectivamente, os seguintes conjuntos:

Exemplo