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