Este documento apresenta os objetivos e conceitos iniciais da disciplina de Linguagens Formais e Autômatos. Os objetivos incluem entender autômatos finitos determinísticos e não determinísticos, expressões regulares, gramáticas livres de contexto, autômatos de pilha e máquina de Turing. Exemplos de autômatos finitos são apresentados, como um controlador de porta automática e um interruptor.
Este documento apresenta os objetivos e conceitos iniciais da disciplina de Linguagens Formais e Autômatos. Os objetivos incluem entender autômatos finitos determinísticos e não determinísticos, expressões regulares, gramáticas livres de contexto, autômatos de pilha e máquina de Turing. Exemplos de autômatos finitos são apresentados, como um controlador de porta automática e um interruptor.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia online no Scribd
Este documento apresenta os objetivos e conceitos iniciais da disciplina de Linguagens Formais e Autômatos. Os objetivos incluem entender autômatos finitos determinísticos e não determinísticos, expressões regulares, gramáticas livres de contexto, autômatos de pilha e máquina de Turing. Exemplos de autômatos finitos são apresentados, como um controlador de porta automática e um interruptor.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia online no Scribd
Introduo Faculdade Mauricio de Nassau slide 2 Objetivos Aps cursar a disciplina, o aluno dever ser capaz de entender: Autmatos finitos determinsticos e no determinsticos Expresses regulares Gramticas Livre de Contexto Automatos de Pilha Maquina de Turing
slide 3 Avaliao Uma prova
Listas de exerccios (opcionais valendo ponto) + trabalhos em grupo (seminrios ou projeto) slide 4 INTRODUO O comeo... Viso Geral... slide 5 Conceitos Iniciais Computadores atuais mais rpidos e poderosos
Modelos matemticos
Autmatos Finitos
slide 6 Autmatos Finitos Reconhecedor de palavras ou cadeia de caracteres
Bons modelos para computadores com capacidade de memria reduzida
Fazem parte de vrios dispositivos eletro-mecnicos do dia-a-dia slide 7 Autmatos Finitos Exemplo 1 Viso area de uma porta automtica slide 8 Autmatos Finitos Exemplo 1 O controlador passa de um estado para outro dependendo do estmulo (entrada) que recebe:
O controlador da porta pode estar em 2 estados: - aberto (significando porta aberta) - fechado (significando porta fechada) slide 9 Autmatos Finitos Exemplo 1 Entradas: Existem 4 condies de entrada possveis
Frente: significando que uma pessoa est em p sobre o tapete da frente; Retaguarda: significando que uma pessoa est em p sobre o tapete de dentro; Ambos: significando que existem pessoas sobre os 2 tapetes; Nenhum: significando que ningum est sobre os tapetes. slide 10 Autmatos Finitos Exemplo 1 Entradas: Existem 4 condies de entrada possveis slide 11 Autmatos Finitos Exemplo 1 Tabela de Transio slide 12 Autmatos Finitos Exemplo 2 Interruptor Estados: Ligado ou Desligado slide 13 Autmatos Finitos Exemplo 3 Palavra AMOR Qualquer outra palavra deve ser descartada slide 14 Autmatos Finitos Exemplo 3 Tentativa de leitura da Palavra AMBIENTE slide 15 Autmatos Finitos Controladores para:
Lavadoras de loua/roupa
Termmetros eletrnicos
Relgios digitais
Calculadoras
Mquinas de venda automtica slide 16 Um alfabeto E um conjunto finito (no-vazio) de smbolos Ex.: Alfabetos E 1 = {0,1} E 2 = {a, b, c, ., z} Uma cadeia (string) em um alfabeto E uma seqncia finita de smbolos deste alfabeto Ex.: Cadeias 01001 abracadabra Autmatos Finitos Determinsticos Cadeias e Linguagens slide 17 Se w = w 1 w 2 . w n uma cadeia sobre E, o comprimento de w, denotado por |w|, n A cadeia de comprimento 0, denominada cadeia nula e representada por Ex.: |abracadabra| = 11 Autmatos Finitos Determinsticos Cadeias e Linguagens slide 18 Se u = u 1 u 2 . u n e v = v 1 v 2 . v m so cadeias no alfabeto E, ento a concatenao de u com v, denotada por uv, definida por: uv = u 1 u 2 . u n v 1 v 2 . v m
Ex.: u = abra e v = cadabra uv = abracadabra Propriedades da concatenao u = u = u u(vw) = (uv)w |uv| = |u| + |v| Autmatos Finitos Determinsticos Cadeias e Linguagens slide 19 A concatenao da mesma cadeia vrias vezes definida por: w 0 = , e w n+1 = w n w, para n > 0 Se w = w 1 w 2 . w n uma cadeia no alfabeto E, ento a reversa (inversa) de w, denotada por w R , definida por w R = w n . w 2 w 1
Observaes
R = (vw) R = w R v R
Autmatos Finitos Determinsticos Concatenao slide 20 Seja E um alfabeto. Ento: E 0 = { } E 1 = { w : |w| = 1 } E 2 = { w : |w| = 2 } E n = { w : |w| = n }
E * = E 0 E 1 . E n E n+1 . ou seja, E * = { w : w uma cadeia em E} Autmatos Finitos Determinsticos Linguagens Smbolo, alfabeto, cadeia e linguagem slide 21 Smbolo Alfabeto Cadeia Linguagem item de elemento de elemento de conjunto de conjunto de seqncia de Reconhecedores slide 22 slide 23 Autmatos Finitos
O AF uma mquina, reconhecedora de palavras ou cadeia de caracteres, que sempre pra retornando uma resposta sim (cadeia reconhecida) ou no (cadeia no conhecida) Podem ser classificados em: Autmatos Finitos Determinsticos (AFD) Autmatos Finitos No-Determinsticos (AFND) slide 24 Autmatos Finitos Determinsticos Definio Formal Definio formal de um Autmato Finito Determinstico:
Um Autmato Finito Determinstico (AFD) M uma 5-upla:
M = (Q, E, o, q 0 , F), onde
Q: conjunto finito de estados do autmato; E: alfabeto de smbolos de entrada; o: funo programa ou funo de transio (parcial) o: Q E Q. Significa dizer que permanecendo em um estado e lendo um smbolo do alfabeto faz o autmato passar para outro estado ou mesmo ficar no mesmo q 0 : estado inicial (q 0 eQ) F: conjunto de estados finais ou estados de aceitao (F_Q)
slide 25 Exemplo: Seja = {a, b, c, ..., z}. Sejam A e B as linguagens sobre dadas por: A = {bom, mau} e B = {garoto, garota}, ento:
A B = {bom, mau, garoto, garota} A - B = {bomgaroto, bomgarota, maugaroto, maugarota} A* = {, bom, mau, bombom, bommau, maubom, maumau, bombombom, ...} Autmatos Finitos Determinsticos Linguagens slide 26 Autmatos Finitos Determinsticos Representao Grfica Representao Grfica slide 27 Autmatos Finitos Determinsticos Um autmato finito M 1 : (diagrama de estados) M 1 tem 3 estados, q 1 , q 2 , q 3 ;
M 1 inicia no estado q 1 ;
M 1 tem um estado final, q 2 ;
Os arcos que vo de um estado p/ outro chamam-se transies. slide 28 - O autmato finito M 1 recebe os smbolos de entrada um por um;
- Depois de ler cada smbolo, M 1 move-se de um estado para outro, de acordo com a transio que possui aquele smbolo como seu rtulo;
- Quando M 1 l o ultimo smbolo ele produz uma sada: reconhece se M 1 est no estado final no-reconhece se M 1 no estiver. Autmatos Finitos Determinsticos slide 29 Exemplo: entrada 1101
1. Inicia no estado q 1 . 2. L 1, segue transio de q 1 p/ q 2 .
3. L 1, segue transio de q 2 p/ q 2 .
4. L 0, segue transio de q 2 p/ q 3 .
5. L 1, segue transio de q 3 p/ q 2 .
6. Pra c/ sada reconhece.
Autmatos Finitos Determinsticos slide 30 Percebemos que : - M 1 reconhece qualquer cadeia que termine com 1 (vai p/ o estado final q 2 toda vez que l 1);
- M 1 no reconhece cadeias como 0, 10, 101000. Vamos aprender! Testar: 1, 01, 11, 0101 (em M 1 ) Autmatos Finitos Determinsticos slide 31 Exemplo: Autmato que reconhece a linguagem de nmeros binrios com quantidade mpar de 1s. M = (, Q, o, q o , F) Q = { q o , q 1 }, = { 0, 1 }, F = { q 1 } o 0 1 q par q mpar q par q mpar q mpar q par Autmatos Finitos Determinsticos Funo de Transio o (q par ,0) = q par ... slide 32 Um Autmato Finito nunca entra em loop infinito
Novos smbolos da entrada so lidos a cada aplicao da funo programa, o processo de reconhecimento de qualquer cadeia pra de duas maneiras:
Aceitando ou; rejeitando uma entrada. Autmatos Finitos Determinsticos slide 33 Definir um AF engloba definir Um conjunto finito de estados;
Um alfabeto de entrada que indica os smbolos de entrada permitidos;
Um conjunto de regras de movimento que indicam como ir de um estado p/ outro, dependendo do smbolo de entrada;
Um estado escolhido como estado inicial;
Um conjunto de estados escolhidos como estados finais (de reconhecimento); Autmatos Finitos Determinsticos Prove que a seguinte linguagem regular exibindo um autmato que a reconhea:
Qualquer cadeia que termine com um a.
slide 34 Autmatos Finitos Determinsticos Praticando... w n , onde n > 0 o nmero de vezes que a palavra repetida. w 3 = ?
(01) = ? slide 35 Autmatos Finitos Determinsticos Praticando... Prove que a seguinte linguagem regular exibindo um autmato que a reconhea:
Conjunto de todas as palavras que contm 101 como subcadeia.
slide 36 Autmatos Finitos Determinsticos Praticando... Prove que a seguinte linguagem regular exibindo um autmato que a reconhea:
{w | w possui ccc como subpalavra} slide 37 Autmatos Finitos Determinsticos Praticando... Autmatos Finitos Determinsticos Praticando... Prove que a seguinte linguagem regular exibindo um autmato que a reconhea:
{w | w comea e termina por a e possui bb como subpalavra} slide 38 Autmatos Finitos Determinsticos Praticando... slide 39 0 1 q 0 q 1 q 2
q 1 q 3 q 2
q 2 q 1 q 3
q 3 q 3 q 3
Diga a seqncia de estados pelos quais passa o AFD A dado abaixo quando recebe como entrada a palavra 01010. Diga se a palavra aceita ou rejeitada e justifique.
A = ({q 0 , q 1 , q 2 , q 3 }, {0,1}, A , q 0 , {q 3 }), onde A dado abaixo:
slide 40 Construir um AFD que reconhece a linguagem a*.
M = (, Q, o, q o , F) Q = { q o }, = { a }, F = { q 0 }
o a q o q o q o a Autmatos Finitos Determinsticos Praticando... Funo de Transio slide 41 Construir um AFD que reconhece a linguagem aa*
M = (, Q, o, q o , F) Q = { q o , q 1 }, = { a }, F = { q 1 } o a q o q 1 q 1 q 1 q o q 1 a a Autmatos Finitos Determinsticos Praticando... Funo de Transio slide 42 Construir um AFD que reconhece a linguagem (abb*a)*
M = (, Q, o, q o , F)
Q = { q o , q 1 , q 2 }, = { a, b }, F = { q 0 } q o q 1 a b q 2 b a o a b q o q 1 q 1 q rej q rej q 2 q 2 q 0 q 2 Autmatos Finitos Determinsticos Praticando... Funo de Transio Autmatos Finitos Determinsticos Praticando... Prove que a seguinte linguagem regular exibindo um autmato que a reconhea:
Conjunto de todas as palavras que no contm 101 como subcadeia. slide 43 Referncias Material baseado nas apresentaes criados originalmente pelo professor Eduardo Oliveira.
Introduo Teoria da Computao. Professor Wilson Gallindo. UFRPE. Introduction to Automata Theory, Languages and Computation. Jeffrey Ullman [et.al.]. Person Education. 2 Edio. slide 44