Preview only show first 10 pages with watermark. For full document please download

Automatos

conteúdo: 2. Máquinas de Estado Finito 3. Autômatos Finitos 4. Linguagens e Representações 5. Gramáticas 6. Autômatos Finitos não Determinísticos disciplina: fundamentos de engenharia de computação I ano:2006

   EMBED


Share

Transcript

PCS 2214 - Fundamentos de Engenharia de Computação I 1o. Semestre 2006 PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 LINGUAGENS, GRAMÁTICAS E AUTÔMATOS Professores: Anna Helena Reali Costa Jaime Simão Sichman Liria Matsumoto Sato Romero Tori Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 1 Conteúdo PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos 1. Introdução 2. Máquinas de Estado Finito 3. Autômatos Finitos 4. Linguagens e Representações 5. Gramáticas 6. Autômatos Finitos não Determinísticos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 2 1 Introdução PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Teoria da Computação: Relembrando.. – Teoria da Complexidade – Teoria da Computabilidade – Teoria dos Autômatos Î foco deste módulo! • Teoria dos Autômatos – Preocupa-se com as definições e propriedades de modelos computacionais que permitem uma definição mais formal de um “computador”. – Há inúmeros modelos, precisos em alguns pontos e imprecisos em outros, dependendo das características que se pretende salientar. Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 3 Máquina de Estado Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • É um dos modelos abstratos mais simples: reflete uma máquina que possua uma quantidade muito limitada de memória (computador simples). • Definição: uma Máquina de Estado Finito M, definida por (I, O, S, f, g, σ), consiste de: – – – – – – Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Um conjunto finito I de símbolos de entrada Um conjunto finito O de símbolos de saída Um conjunto finito S de estados Uma função próximo estado f: S x I → S Uma função de saída g: S x I → O Um estado inicial σ∈S 4 2 Máquina de Estado Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Exemplo: Seja I={a,b}, O={0,1}, S={σ0, σ1} e σ = σ0. As funções f e g são definidas pelas regras dadas na tabela: f S Módulo: Linguagens, Gramáticas e Autômatos σ0 σ1 I a f(σ0 ,a)= σ0 f(σ0 ,b)= σ1 f(σ1 ,a)= σ1 f(σ1 ,b)= σ1 g b a σ0 σ1 σ1 σ1 0 1 Autor: Anna H. R. Costa b 1 0 a/0 σ0 g(σ0 ,a)= 0 g(σ0 ,b)= 1 g(σ1 ,a)= 1 g(σ1 ,b)= 0 a/1 b/1 σ1 Versão: 2.1 Data: 04/04/06 b/0 5 Diagrama de Transições PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Definição: Seja M = (I, O, S, f, g, σ) uma máquina de estado finito. O diagrama de transições de M é um grafo orientado G cujos vértices são membros de S. Uma seta indica o estado inicial σ. Uma aresta orientada (σ1,σ2) existe em G se existir uma entrada i com f(σ1,i)=σ2. Neste caso, se g(σ1,i)= o, a aresta (σ1,σ2) é rotulada com i/o. a/0 Autor: Anna H. R. Costa σ0 a/1 b/1 σ1 b/0 Versão: 2.1 Data: 04/04/06 6 3 Funcionamento: Computação da MEF PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Definição: Seja M = (I, O, S, f, g,σ) uma máquina de estado finito. Uma cadeia de entrada para M é uma cadeia sobre I. A cadeia y1….yn é a cadeia de saída de M correspondendo à cadeia de entrada x1…xn, caso existam os estados σ0 , σ1 …,σn ∈ S com: σ0 = σ, σi= f(σi-1, xi), yi= g(σi-1, xi) para i=1,…,n. • Pode-se pensar em M como um computador simples: Autor: Anna H. R. Costa começa no estado σ, consome uma cadeia de caracteres sobre I (entrada) e produz uma cadeia de caracteres sobre O (saída). Versão: 2.1 Data: 04/04/06 7 Funcionamento PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Exemplo: Encontre a cadeia de saída correspondente à cadeia de entrada aababba para a máquina de estado finito abaixo: a/0 Módulo: Linguagens, Gramáticas e Autômatos σ0 a/1 b/1 σ1 b/0 Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 8 4 Exemplo de Máquina de Estado Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Exercício: Projetar uma máquina de estado finito que forneça 1 como saída caso um número par de 1’s seja fornecido numa cadeia de bits de entrada e que forneça 0, no caso contrário. Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 9 Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Um autômato finito Af = (I, O, S, f, g, σ) é uma máquina de estado finito onde: – o conjunto de símbolos de saída é {0,1} e – o estado corrente determina a última saída. • Estados de aceitação: estados para os quais a última saída é 1. • Diagramas de transições de um AF: os estados de aceitação são representados por círculos duplos e os símbolos de saída são omitidos. 10 5 Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Exemplo: Desenhe o diagrama de transições da máquina de estado finito M definida abaixo. O estado inicial é σ0. Mostre que M é um autômato finito e determine o conjunto de estados de aceitação. Módulo: Linguagens, Gramáticas e Autômatos f Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 S I a g b σ1 σ0 σ2 σ0 σ2 σ0 σ0 σ1 σ2 a b 1 1 1 0 0 0 11 Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Resposta do exemplo: A máquina de estado finito M é um AF uma vez que seu conjunto de símbolos de saída é {0,1} e, para cada estado σ, todas as arestas que chegam em σ têm o mesmo rótulo de saída. b Autor: Anna H. R. Costa σ0 a a σ1 a σ2 b Versão: 2.1 Data: 04/04/06 b 12 6 Definição de Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Um autômato finito Af = (I, S, f, A, σ) é definido por: – – – – Um conjunto finito I de símbolos de entrada Um conjunto finito S de estados Uma função próximo estado f: S x I → S Um subconjunto A de S de estados de aceitação – Um estado inicial σ∈ S Versão: 2.1 Data: 04/04/06 13 Aceitação de uma Cadeia PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Definição: Seja Af = (I, S, f, A, σ) um autômato finito. Seja α= x1…xn uma cadeia sobre I. Caso existam os estados σ0 , …,σn satisfazendo: (a) σ0 = σ (b) σi= f(σi-1, xi) (c) σn ∈ A para i=1,…,n; dizemos que α é aceita por Af. • A cadeia vazia (ou nula) λ é aceita por Af se e somente se σ ∈ A. Versão: 2.1 Data: 04/04/06 14 7 Caminho Representando uma Cadeia PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Seja α= x1…xn uma cadeia sobre I. Os estados σ0 , …,σn são definidos pelas condições (a) e (b) da definição anterior. O caminho (σ0 , ..,σn ) é um caminho representando α em Af. – Se o caminho P representa a cadeia α em Af, então Af aceita α se e somente se P terminar em um estado de aceitação. • Ac(Af): conjunto de cadeias aceitas por Af. Versão: 2.1 Data: 04/04/06 15 Aceitação de Cadeias PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Exercícios: 1. A cadeia abaa é aceita pelo AF abaixo? 2. A cadeia abab é aceita pelo AF abaixo? Módulo: Linguagens, Gramáticas e Autômatos b σ0 Autor: Anna H. R. Costa AF: a a σ1 a σ2 b b Versão: 2.1 Data: 04/04/06 16 8 Aceitação de Cadeias PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Respostas dos exercícios: 1. O caminho P = (σ0 ,σ1 ,σ0 ,σ1 ,σ2 ) representa a cadeia abaa. Como o estado final σ2 é um estado de aceitação, a cadeia é aceita pelo AF dado. 2. O caminho P = (σ0 ,σ1 ,σ0 ,σ1 ,σ0 ) representa a cadeia abab. Como o estado final σ0 não é um estado de aceitação, a cadeia não é aceita pelo AF dado. 17 Equivalência de AFs PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Os autômatos finitos A e A’ são equivalentes se Ac(A) = Ac(A’). • Se definirmos a relação R num conjunto de AF’s pela regra ARA’, se A e A’ forem equivalentes, R é uma relação de equivalência. Cada classe de equivalência consiste de um conjunto de AF’s mutuamente equivalentes. Versão: 2.1 Data: 04/04/06 18 9 Equivalência de AFs b PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 A: a a NA A Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 b b Módulo: Linguagens, Gramáticas e Autômatos A’: σ0 b a σ1 a a σ2 b Autor: Anna H. R. Costa A e A’ são equivalentes. Aceitam cadeias sobre {a,b} que não possuem a’s. Versão: 2.1 Data: 04/04/06 19 Linguagens PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Definição: Seja A um conjunto finito de símbolos. Uma linguagem (formal) L sobre A é um subconjunto de A*. – Exemplo: Dado A={a,b}. O conjunto L de todas as cadeias sobre A que contêm um número ímpar de a’s é uma linguagem sobre A. Versão: 2.1 Data: 04/04/06 20 10 Linguagens Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Seja M um Autômato Finito, w uma cadeia sobre I, L uma linguagem (um conjunto de cadeias). Dizemos que M reconhece a linguagem L se: L = {w | M aceita w}. Uma linguagem é dita linguagem regular se existir algum autômato finito que a reconhece. Módulo: Linguagens, Gramáticas e Autômatos – M é, portanto, um algoritmo especificamente projetado para decidir se uma cadeia pertence ou não a uma linguagem regular Î é um dispositivo de reconhecimento dessa linguagem. Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 21 Linguagem Regular e Autômato Finito PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Exercício: Projetar um Autômato Finito M que reconheça a linguagem regular sobre {0,1} de todas as cadeias que possuam 001 como subcadeia. – M deve aceitar 0010, 1001, 11111001111, etc. Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 22 11 Linguagens Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Seja A e B linguagens regulares. Define-se as seguintes operações: – União: A∪B = {x | x∈A ou x∈B} – Concatenação: A°B = {xy | x∈A e y∈B} – Estrela de Kleene: A* = {x1x2... xk | k ≥ 0 e cada xi∈A} • A classe de linguagens regulares é fechada em relação às operações de união, concatenação e estrela de Kleene. • Linguagens regulares podem ser representadas por expressões regulares. – Ordem na execução das operações: 1) estrela de Kleene, 2) concatenação e 3) união. Versão: 2.1 Data: 04/04/06 23 Expressões Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Descrevem um conjunto particular (como, por exemplo, o conjunto das cadeias que pertencem a uma linguagem regular). • Exemplo: (0 ∪ 1) 0* – essa expressão corresponde ao conjunto de todas as cadeias que começam com 0 ou 1, seguidas por qualquer número de 0s: – (0∪1) resulta em L = {0,1} – 0* resulta em L = {λ, 0, 00, 000, 0000, 00000, ....} – Assim, 0, 1, 00, 1000, 0000, 1000000, ... fazem parte da linguagem (0∪1)0*. 24 12 Expressões regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Expressões regulares para algum conjunto finito I de símbolos: – O símbolo λ e o símbolo ∅ – O símbolo i para qualquer i ∈ I – (R1∪R2) , se R1 e R2 são expressões regulares – (R1°R2) , se R1 e R2 são expressões regulares – R1*, se R1 é uma expressão regular Versão: 2.1 Data: 04/04/06 25 Conjuntos regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Expressões regulares representam conjuntos regulares segundo as convenções: • ∅ representa o conjunto vazio (não tem nenhuma cadeia) • λ representa o conjunto {λ} contendo a cadeia nula • i representa o conjunto {i} • Para as expressões regulares A e B: – AB representa o conjunto de todos os elementos da forma αβ, onde α pertence ao conjunto representado por A e β, ao conjunto representado por B. – (A∪B) união do conjunto representado por A com o representado por B. – A* representa o conjunto de todas as concatenações dos elementos do conjunto representado por A. 26 13 Exemplos de Expressões Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Definir a linguagem descrita pelas expressões regulares abaixo. Considerar o alfabeto Σ={0,1}, isto é, Σ é (0∪1): – – – – – – – – – – 0*10* = Σ*1Σ* = Σ*001Σ* = (ΣΣ)* = (ΣΣΣ)* = 01∪10 = (0∪λ)1* = (0∪λ) (1∪λ) = 1*∅ = ∅ ∅* = {λ} 27 Representação de Linguagens PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Há outras classes de linguagem. • Tipos de linguagens: vazias, finitas e infinitas. • Representação de linguagens: – – – – Enumeração de seus elementos (se L for finita); Descrição algébrica; ex: {anbncn⏐n ≥ 1}, com a2 ≡ aa ; Se for regular, por expressões regulares; Definindo um algoritmo para decidir (reconhecer) se uma cadeia (sentença) pertence a L; ex: autômato finito; – Definindo um mecanismo que permita produzir (gerar) apenas cadeias (sentenças) que pertençam a L; ex: gramática. 28 14 Descrição por Geradores PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Como vimos, um dispositivo de reconhecimento de uma linguagem (algoritmo) pode especificar uma linguagem de forma finita. • Um método alternativo: descrever o modo como um elemento genérico da linguagem pode ser produzido (ou gerado). – Tais geradores de linguagem não são algoritmos, uma vez que não são projetados para responder perguntas e não definem exatamente a seqüência de passos a ser executada. • Gramáticas: geradores de linguagem Versão: 2.1 Data: 04/04/06 29 Definição de Gramáticas PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Uma gramática G = (N, T, P, σ) consiste de: – um conjunto finito N de símbolos não terminais; – um conjunto finito T de símbolos terminais, onde N∩T=∅; – um subconjunto P de [(N∪T)* – T*] x (N∪T)*, chamado conjunto de produções; – um símbolo inicial σ∈ N. Versão: 2.1 Data: 04/04/06 30 15 Gramáticas PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Uma produção (A,B)∈P é escrita A→B, onde A∈[(N∪T)* – T*] e B∈(N∪T)*. – Assim, A deve conter pelo menos um símbolo não terminal e B pode conter qualquer combinação de símbolos terminais e não terminais. Ex.: seja a gramática G = (N, T, P, σ), com: Autor: Anna H. R. Costa 1. N={σ}, T={a,b}, P={σ→σa, σ→b} 2. N={σ,S}, T={0,1}, P={σ→λ, σ→S, S→1S, S→0S, S→1, S→0} Versão: 2.1 Data: 04/04/06 31 Derivação PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Seja a gramática G = (N, T, P, σ). Se α→β é uma produção e xαy∈(N∪T)*, dizemos que xβy é diretamente derivável de xαy e escrevemos: xαy ⇒ xβy. • Se αi∈(N∪T)* para i=1,..,n e αi+1 é diretamente derivável de αi para i=1,..,n-1, dizemos que αn é derivável de α1 e escrevemos: α1 ⇒* αn. • Derivação de αn (a partir de α1): α1⇒α2⇒ ...⇒αn – Por convenção, qualquer elemento de (N∪T)* é derivável de si mesmo. 32 16 Gramática e Linguagem PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Exemplo: seja a gramática G = (N, T, P, σ), com N={σ,S}, T={a,b}, P={σ→bσ, σ→aS, S→bS, S→b} (a) A cadeia abSbb é diretamente derivável de aSbb, escrita como aSbb ⇒ abSbb, usando a produção S→bS. (b) A cadeia bbab é derivável de σ, escrita σ⇒* bbab. A derivação é: σ⇒bσ⇒bbσ⇒bbaS⇒bbab A linguagem L(G) gerada por G consiste de todas as cadeias sobre T derivadas de σ. L = {w ∈ T* | σ ⇒* w} 33 BNF PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • BNF (“Backus normal form” ou “Backus-Naur form”): modo alternativo de descrever uma gramática G. – símbolos não terminais: inclusos em <..> – produção S→T, escrita: S::=T – produções da forma: S::=T1, S::=T2, …, S::=Tn podem ser combinadas em S::= T1| T2|…| Tn. (lê-se “ou” para “|”) Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 34 17 BNF PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Exemplo: uma gramática para inteiros – um inteiro é definido como uma cadeia contendo um sinal opcional (+ ou –) , seguido por uma cadeia de dígitos (0 a 9). Símbolo inicial: ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ::= | ::= + < inteiro sem sinal> | – ::= | 35 BNF PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Exemplo: derivação do inteiro -901 ⇒ – ⇒ – ⇒ – ⇒ – ⇒ – 9 ⇒ – 90 ⇒ – 901. 36 18 Gramática para Inteiros Notação equivalente por G = (N, T, P, σ), com: PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 37 N={,,,}, T = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, –} P = {→ 0, → 1, …., → 9, , , → + , → – , , } σ = Linguagens e Gramáticas PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Conforme as restrições impostas ao formato das produções de uma gramática, varia-se correspondentemente a classe de linguagens que tal gramática gera. • A teoria mostra que há quatro classes de gramáticas, capazes de gerar quatro classes correspondentes de linguagens, de acordo com a denominada hierarquia de Chomsky (uma classificação de linguagens formais). Versão: 2.1 Data: 04/04/06 38 19 Convenção da Produção Nula PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Se uma gramática permitir produção da cadeia nula, ela deverá ser da forma σ→λ, onde σ é o símbolo inicial e não pertence ao lado direito de qualquer produção e λ é a cadeia nula. Assim, pode-se tratar esta produção como um caso especial. Seguindo esta convenção, tem-se uma relação de inclusão na Hierarquia de Chomsky. Versão: 2.1 Data: 04/04/06 39 Avram Noam Chomsky PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 http://www.chomsky.info/ (7/12/1928 – atual): Professor Emérito de Lingüística no MIT – Massachusetts Institute of Technology . Criador da Hierarquia de Chomsky. Seus trabalhos em lingüística generativa contribuíram significantemente para o avanço das Ciências Cognitivas. Além de seu trabalho em lingüística, Chomsky é muito conhecido por suas opiniões políticas (ativistas e socialistas) e por sua crítica à política externa dos EUA (que ele chama de “estado terrorista líder”) e governos aliados. Chomsky descreve a si mesmo como um “socialista libertário” e um simpatizante do anarco-sindicalismo. 40 20 Hierarquia de Chomsky PCS 2214 Fund. Eng. Comp. I • Estabelece uma relação de inclusão entre as gramáticas: Tipo 3 ⊂ Tipo 2 ⊂ Tipo 1 ⊂ Tipo 0 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Tipo 0 Gramática irrestrita Tipo 1 Gramática sensível ao contexto Tipo 2 Gramática livre de contexto Tipo 3 Gramática regular Versão: 2.1 Data: 04/04/06 41 Tipos de Gramáticas PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Definição: Seja G uma gramática e λ a cadeia nula: (a) Gramática regular (tipo 3): toda produção na forma Α→ a ou Α→aB ou Α→ λ, com Α,B∈N, a∈T. (b) Gramática livre de contexto (tipo 2): toda produção na forma Α→δ, com Α∈N, δ∈(N∪T)*. (c) Gramática sensível ao contexto (tipo 1): toda produção na forma αΑβ→αδβ, com α,β ∈(N∪T)*, Α∈N, δ∈(N∪T)* – {λ}. (d) Gramática irrestrita (tipo 0): toda produção na forma α→β, com α∈[(N∪T)* - T*] e β∈(N∪T)*. Versão: 2.1 Data: 04/04/06 42 21 Gramática Regular PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 Pode ser de um dos dois tipos: 1. Gramática Linear à Direita, onde toda produção é na forma Α→ a ou Α→aB ou Α→ λ, com Α,B∈N, a∈T. 2. Gramática Linear à Esquerda, onde toda produção é na forma Α→ a ou Α→Ba ou Α→ λ, com Α,B∈N, a∈T. • Ambos os tipos são equivalentes: uma gramática linear à direita pode ser convertida em uma gramática linear à esquerda e viceversa. 43 Gramática Regular PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Exemplo: a gramática G = (N, T, P, σ), com: T={a,b}, N={σ, S}, P={σ→bσ, σ→aS, S→bS, S→b} é regular. • Derivações possíveis: ab, abb, bbbabb,… • No caso, esta é uma gramática linear à direita. • L(G)= b*abb* ⇒ A linguagem L(G) que G gera é uma linguagem regular. Versão: 2.1 Data: 04/04/06 44 22 Gramática Livre de Contexto PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Exemplo: a gramática G = (N, T, P, σ), com: T={a,b}, N={σ}, P={σ→aσb, σ→ab} é livre de contexto. – Derivações possíveis: ab, aabb, aaabbb,… • L(G)={anbn | n > 0} ⇒ L é uma linguagem livre de contexto e não é uma linguagem regular! – Toda linguagem regular é livre de contexto! Autor: Anna H. R. Costa • Linguagens livres de contexto permitem, além das operações permitidas para a linguagem regular, operações de aninhamento. • Têm importante aplicação na especificação e compilação de linguagens de programação. Versão: 2.1 Data: 04/04/06 45 Gramática Sensível ao Contexto PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Exemplo: a gramática G = (N, T, P, σ), com: T={a,b,c}, N={σ,A,B,C,D,E}, P={σ→aAB, σ→aB, A→aAC, A→aC, B→Dc, D→b, CD→CE, CE→DE, DE→DC, Cc→Dcc} é sensível ao contexto – CE→DE diz que C pode ser substituído por D caso C seja seguido por E Módulo: Linguagens, Gramáticas e Autômatos – Derivações possíveis: abc, aabbcc, aaabbbccc,… Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • L(G)={anbncn : n=1,2,…} • Declarações e uso de variáveis em programas fazem parte de linguagens sensíveis ao contexto. 46 23 Gramática Irrestrita PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Exemplo : a gramática G = (N, T, P, σ) a seguir é irrestrita : T={a,b}, N={σ,B,C}, P={σ→BC, BC→CB, B→b, C→a}. – A produção BC→CB somente é permitida em gramáticas do tipo 0. • L(G)={ab, ba} Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 – Esta linguagem pode também ser descrita por uma gramática regular e é, portanto, chamada de linguagem regular. 47 Gramáticas e Linguagens PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Uma gramática regular é uma gramática livre de contexto. • Uma gramática livre de contexto é uma gramática sensível ao contexto. • Uma gramática sensível ao contexto é uma gramática irrestrita. Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 48 24 Linguagens e Gramáticas PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Definição: Uma linguagem L é sensível ao contexto (respectivamente livre de contexto, regular) se existe uma gramática sensível ao contexto G (respectivamente livre de contexto, regular) com L=L(G). • Definição: As gramáticas G e G’ são equivalentes se L(G)=L(G’). Versão: 2.1 Data: 04/04/06 49 Gramática para Inteiros PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • A gramática para inteiros dada anteriormente é livre de contexto. Se mudarmos as produções para: ::= 0 |1 |... | 9 | λ ::= + | − | 0 |1 |... | 9 ::= 0 |1 |... | 9 Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 resultará numa gramática G regular. Como a linguagem L=L(G) gerada não foi modificada, concluímos que L é uma linguagem regular. 50 25 Gramáticas Regulares e Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Nesta seção mostraremos que gramáticas regulares e autômatos finitos são essencialmente equivalentes, no sentido em que ambos são especificações de uma linguagem regular (a gramática, como geradora da linguagem, e o autômato, como reconhecedor da linguagem). Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 51 De Autômatos Finitos para Gramáticas Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Seja o autômato finito AF abaixo, o qual aceita cadeias sobre {a,b} que contêm um número ímpar de a’s. b P Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa b a a I • Determinar a gramática regular equivalente. Versão: 2.1 Data: 04/04/06 52 26 De Autômatos Finitos para Gramáticas Regulares • AF Î G: PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 – os símbolos de entrada {a,b} do AF são os símbolos terminais de G. – Os estados P e I são os símbolos não terminais. – O estado inicial P é o símbolo inicial. – Os arcos do AF correspondem às produções de G. Se existir um arco rotulado por x de S para S’, escreve-se a produção: S→xS’. • No exemplo, tem-se: P→ bP, P→ aI, I→ aP, I→ bI – Além disso, se S for um estado de aceitação, incluise: S→λ. • No exemplo: I→λ. 53 De Autômatos Finitos para Gramáticas Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos • Assim, a gramática G=(N,T,P,P), com: N={I,P}, T={a,b} e P={P→ bP, P→ aI, I→ aP,I→ bI, I→λ} gera a linguagem L(G), a qual é a mesma que o conjunto de cadeias aceitas pelo autômato finito AF: b b Autor: Anna H. R. Costa P a a I L(G) = Ac(AF) Versão: 2.1 Data: 04/04/06 54 27 De Autômatos Finitos para Gramáticas Regulares PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Teorema: Seja A um autômato finito dado por um diagrama de transições. Seja σ o estado inicial. Seja T o conjunto dos símbolos de entrada e N, o conjunto de estados. Definir produções S→xS’ se existir um arco rotulado x de S para S’ e S→λ se S for um estado de aceitação. Seja a gramática regular G=(N,T,P,σ). Desta forma, o conjunto de cadeias aceitas por A é igual a L(G). Versão: 2.1 Data: 04/04/06 55 De Gramáticas Regulares para Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Seja a gramática regular G=(N,T,P,σ), com N={σ, C}, T={a,b}, P={σ→bσ, σ→aC, C→bC, C→b}. Determinar o AF correspondente. • G Î AF: – Os símbolos não terminais são os estados. – Para cada produção da forma S→xS’, desenhar uma aresta de S a S’, com rótulo x (produções σ→bσ, σ→aC, C→bC). Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa – A produção C→b equivale a: C→bF, F→λ, sendo F um símbolo não terminal adicional. – A produção F→λ indica que F é um estado de aceitação. Versão: 2.1 Data: 04/04/06 56 28 De Gramáticas Regulares para Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 57 b σ b a C b F Diagrama de transições do autômato resultante. • Este autômato é um autômato finito não determinista (estando no estado C, caso receba b como entrada, o próximo estado não está determinado: pode ser C ou F) G=(N,T,P,σ), com N={σ, C}, T={a,b}, P={σ→bσ, σ→aC, C→bC, C→b}. Autômatos Finitos Não Determinista PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Um autômato finito não determinista At=(I,S,f,A,σ) é definido por: – um conjunto finito I de símbolos de entrada. – um conjunto finito S de estados. – uma função próximo estado f: S × I → P(S). – um subconjunto A de S de estados de aceitação. – um estado inicial σ. Versão: 2.1 Data: 04/04/06 58 29 Autômatos Finitos Não Determinista PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa • Exemplo: desenhar o diagrama de transições do AF não determinista com I={a,b}, S={σ,C,D}, A={C,D}, estado inicial σ e função próximo estado dado pela tabela abaixo: I S σ C D a b {σ,C} φ {C,D} {D} {C} φ Versão: 2.1 Data: 04/04/06 59 Autômatos Finitos Não Determinista PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Seja At=(I,S,f,A,σ) um autômato finito não determinista: – A cadeia nula é aceita por At se e somente se σ∈A. – Se α = x1…xn é uma cadeia não nula sobre I e os estados σ0,…, σn satisfazem: (a) σ0 = σ; (b) σi ∈ f(σi-1, xi) com i = 1,.., n; (c) σn ∈ A, diz-se que α é aceita por At. 60 30 Autômatos Finitos Não Determinista PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 61 • Denota-se Ac(At) ao conjunto de cadeias aceitas por At e diz-se que At aceita Ac(At). • Se At e At’ são autômatos finitos não determinista e Ac(At)=Ac(At’), então At e At’ são equivalentes. • Se α = x1…xn é uma cadeia sobre I e existem os estados σ0,…, σn satisfazendo: (a) σ0 = σ, (b) σi ∈ f(σi-1, xi) com i = 1,.., n, o caminho (σ0,…, σn) é chamado de caminho que representa α em At. Autômatos Finitos Não Determinista PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Exercício: a cadeia α = aabaabbb é aceita pelo autômato finito não determinista abaixo? Se sim, localizar o caminho que representa α e o estado de aceitação. Módulo: Linguagens, Gramáticas e Autômatos a σ Autor: Anna H. R. Costa a b a C a D b Versão: 2.1 Data: 04/04/06 62 31 Gramáticas Regulares em AFNDs PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Teorema: Seja G = (N,T,P,σ) uma gramática regular. Seja I = T, S = N ∪ {F}, onde F∉ N∪T, f(S,x) = {S’ | S→xS’ ∈ P} ∪ {F | S →x ∈ P}, A = {F} ∪ {S | S→λ ∈ P}. Desta forma, o autômato finito não determinista At = (I, S, f, A, σ) aceita precisamente cadeias de L(G). 63 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 • Na seção anterior vimos que, se A é um autômato finito, existe uma gramática regular G, com L(G)=Ac(A). Vimos também que, se G é uma gramática regular, existe um autômato finito não determinista At, com L(G)=Ac(At). • Nesta seção veremos que, se G é uma gramática regular, existe um autômato finito A, com L(G)=Ac(A). Isso será resultado da demonstração de que qualquer autômato finito não determinista pode ser convertido num autômato finito equivalente. 64 32 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 • Teorema: Seja um autômato finito não determinista At=(I,S,f,A,σ). Seja: (a) S’= P(S). (b) I’= I. (c) σ’= {σ}. (d) A’= {X∈S’ | X ∩ A ≠ ∅}. (e) Para cada X∈S’ e x∈I’, com s∈S se X= ∅ ∪ f(s,x) se X≠ ∅. ∅ Módulo: Linguagens, Gramáticas e Autômatos f’(X,x) = s∈X Autor: Anna H. R. Costa Então o autômato finito At’= (I',S’,f’,A’,σ’) é equivalente a At. Versão: 2.1 Data: 04/04/06 65 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I • Ex.: Encontrar o autômato finito equivalente ao autômato finito não determinista dado abaixo: b 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 66 σ b a C b F • O conjunto de símbolos de entrada não muda: I’= {a,b}. O estado inicial é σ’= {σ}. • Os estados S’ consistem de todos os subconjuntos do conjunto S original: S’ = {φ, {σ}, {C}, {F}, {σ,C}, {σ,F}, {C,F}, {σ,C,F}}. • Os estados de aceitação são todos os subconjuntos de S que contenham um estado de aceitação do AFND original: A’= {{F}, {σ,F}, {C,F}, {σ,C,F}}. 33 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I Uma aresta é desenhada de X para Y e rotulada com x se X=φ=Y ou se ∪ f(S,x)=Y. S∈X 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 a {σ} a b Módulo: Linguagens, Gramáticas e Autômatos Autor: Anna H. R. Costa b b {C} a a Φ a a {σ,F} b a b a {σ,C,F} {σ,C} b {C,F} b b {F} Autômato finito equivalente ao AFND dado. Versão: 2.1 Data: 04/04/06 67 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Os estados {σ,C}, {σ,F}, {F}, {σ,C,F} não são nunca alcançados; portanto, pode-se apagá-los, resultando no autômato finito simplificado equivalente ao anterior: b Módulo: Linguagens, Gramáticas e Autômatos {σ} Autor: Anna H. R. Costa Versão: 2.1 Data: 04/04/06 a {C} a Φ a a b b {C,F} b 68 34 AFNDs em Autômatos Finitos PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Exercício: Transforme o autômato finito não determinista abaixo no seu equivalente autômato finito determinista: a Módulo: Linguagens, Gramáticas e Autômatos σ Autor: Anna H. R. Costa a b a C a D b Versão: 2.1 Data: 04/04/06 69 Bibliografia PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2006 Profs: Anna H. R. Costa Jaime S. Sichman Líria M. Sato Romero Tori © 2006 Johnsonbaugh, R. Discrete Mathematics. Prentice Hall International, London, UK, 4th. Ed. 1997. Cap. 10. Gersting, J.L. Fundamentos Matemáticos para a Ciência da Computação. LTC Editora, Rio de Janeiro. 5a. Edição. 2004. Cap. 8. Módulo: Linguagens, Gramáticas e Autômatos Lewis, H.R. and Papadimitriou, C.H. Elementos de Teoria da Computação. Bookman, Porto Alegre. 2a. Edição, 2004. Autor: Anna H. R. Costa Sipser, M. Introduction to the Theory of Computation. PWS Publishing Company, Boston, MA. 1997. Versão: 2.1 Data: 04/04/06 70 35