Você está na página 1de 10

Linguagens Formais e Autômatos

Prof. Ricardo Loiola


Iniciando em instantes, aguarde...
Conjuntos e Expressões Regulares
• Conjuntos e expressões regulares são notações
alternativas utilizadas para representar a classe de
linguagens mais simples que se conhece: a classe das
linguagens regulares, a mais restrita dentro da Hierarquia
de Chomsky.
• A definição de conjuntos regulares envolve a aplicação de
três operações já estudadas para os conjuntos: união,
concatenação e fechamento reflexivo e transitivo.
• No caso do fechamento, no entanto, cabem algumas
observações adicionais válidas para o caso em que o seu
operando seja não apenas um alfabeto, mas
eventualmente uma linguagem.
Conjuntos e Expressões Regulares
• Como alternativa para a representação dos conjuntos
regulares, visando obter maior concisão e facilidade de
manipulação, Kleene desenvolveu, na década 1950, a
notação das expressões regulares ([60]). Da mesma
forma como ocorre para os conjuntos regulares, as
expressões regulares sobre um alfabeto Σ podem
também ser definidas recursivamente como segue:
1. ∅ é uma expressão regular e denota o conjunto regular ∅;
2. ǫ é uma expressão regular e denota o conjunto regular {ǫ};
3. Cada σ, σ ∈ Σ, é uma expressão regular e denota o conjunto
regular {σ}, σ ∈ Σ;
Conjuntos e Expressões Regulares
• Por se tratar de uma notação concisa, que dispensa
o uso da notação dos conjuntos e o emprego de
símbolos não-terminais para a definição de
linguagens, mas que, ao mesmo tempo, permite a
plena representação dos conjuntos regulares, as
expressões regulares são bastante utilizadas em
áreas que abrangem desde a especificação de
linguagens de programação e de comandos, entre
outras, até a entrada de dados em editores de
texto, programas de busca, análise de padrões etc.
Conjuntos e Expressões Regulares
• As linguagens regulares foram definidas no
capítulo anterior como a classe das linguagens
geradas por gramáticas lineares, à esquerda
ou à direita.
• Até o momento foram apresentados os
conjuntos regulares e a notação mais
comumente utilizada para a sua
representação, as expressões regulares.
Autômatos Finitos
• Da mesma forma como ocorre com as expressões
regulares e com as gramáticas lineares à direita, os
autômatos finitos também possibilitam a
formalização das linguagens regulares, ou seja, das
linguagens do tipo 3.
• No entanto, diferentemente daquelas notações, que
constituem dispositivos de geração de sentenças, os
autômatos finitos são dispositivos de aceitação de
sentenças e constituem um caso particular do
modelo geral de reconhecedores.
Autômatos Finitos
• Serão introduzidas as notações, as convenções, as
características de operação e algumas variantes mais
comuns dos autômatos finitos.
• O item seguinte mostra que a classe de linguagens por
eles aceita coincide exatamente com a classe das
linguagens definidas pelos conjuntos regulares e
também pelas gramáticas lineares à direita.
• Os autômatos finitos podem ser determinísticos ou
não-determinísticos, apresentando ou não transições
em vazio.
Autômatos Finitos
• A eventual presença de não-determinismos
e/ou de transições em vazio não altera a classe
de linguagens aceita pelos autômatos finitos.
• Por motivos estritamente didáticos, serão
introduzidos inicialmente os autômatos finitos
determinísticos, sendo feitas extensões
posteriores para contemplar a existência de
não-determinismos e de transições em vazio.
Autômatos Finitos
• Os autômatos finitos correspondem à instância mais simples do
modelo geral de reconhecedores. As suas principais particularidades
em relação ao modelo geral são:
1. Inexistência de memória auxiliar;
2. Utilização do cursor da fita de entrada apenas para leitura de símbolos,
não havendo operações de escrita sobre a fita;
3. Movimentação do cursor de leitura em apenas um sentido, da esquerda
para a
direita;
4. A fita de entrada possui comprimento limitado, suficiente apenas para
acomodar
a cadeia a ser analisada.
• Os autômatos finitos podem ser representados em notação
algébrica ou através de diagramas de transição de estados,
introduzidos a seguir, mais adequados à sua visualização.
Dúvidas?
• Email: ricardo.loiola@gmail.com
• Site: www.loiola.net.br

Você também pode gostar