Вы находитесь на странице: 1из 93

FAFIMAN Depto Informatica

Curso: Cincia da Computao


Itamar Solopak
2012
isolopak@commandperfect.com.br

EMENTA:
Estudo de modelos tericos da computao, de linguagens formais e
autmatos.

OBJETIVOS:
- Compreender como uma linguagem desenvolvida

1. Gramticas e Linguagens
1. Motivao
2. Definio Formal
3. Alfabeto, Palavra, Linguagem
4. Palavra Vazia
2. Autmatos Finitos
1.
AFD - Autmato Finito Determinstico
2. AFND - Autmato Finito No-Determinstico
3.
Transformao de AFND para AFD
4. Aplicaes de AF
3. Expresses Regulares (ER)
1. Definies
2. Relao ER X AF
3. Aplicaes de ER

4. . Gramticas Regulares
4.
Gramticas
1. Definio Formal
5. Hierarquia das Gramticas (Chomsky)
6. Gramticas Regulares (GR)
7. Relao GR X AF
5. Gramticas Livres de Contexto (GLC) e Autmatos com Pilha (AP)
5. Aspectos Bsicos de GLC
5. Ambigidade em GLC's
6. Autmatos com Pilha
7. Relao GLC X AP

Bsica:
BLAUTH, Paulo Menezes. Linguagens Formais e Autmatos - Sagra-Luzzatto, 1998.
HOPCROFT, J. E. & ULLMAN, J. D. Introduction to Automata Theory, Languages and
Computation - Addison-Wesley, 1979.
LEWIS, Harry R. & PAPADIMITRIOU, Christos H. Elementos de Teoria da Computao Bookman, 2000.

Complementar:
DIVERIO, Tiaraju Asmuz & BLAUTH, Paulo Menezes. Teoria da Computao - Mquinas
Universais e Computabilidade - Sagra-Luzzatto, 1998.
HOPCROFT, J. E. & ULLMAN, J. D. Formal Languages and Their Relation to Automata - AddisonWesley, 1969.
SALOMA, Arto. Formal Languages. Academic Press, 1973.

Duas Aulas Semanais


Dificuldade Extrema
Exige Leitura e Pesquisa

Ter Conhecimento de como o


desenvolvimento de uma linguagem de
programao tornando o profissional
apto a enfrentar desafios no mundo
real;
Aumenta o conhecimento sobre a
profisso , criando um diferencial
competitivo

Aulas Expositivas com Exerccios


Exerccios individuais e em grupo
valendo nota
Trabalho de prticos com
implementao e apresentao
Leituras e Pesquisas

Origem: Wikipdia, a enciclopdia livre.


Paradigma (do grego pardeigma) literalmente
modelo, a representao de um padro a ser
seguido. um pressuposto filosfico, matriz, ou
seja, uma teoria, um conhecimento que origina o
estudo de um campo cientfico; uma realizao
cientfica com mtodos e valores que so
concebidos como modelo;
Uma referncia inicial como base de modelo para
estudos e pesquisas.

Como voc enxerga linguagens de


programao na sua relao
profissional e qual a importncia do
domnio sobre esta?
Escrever um texto de no mnimo 15
linhas.
Entrega: 23/02/2012

Aula 1
Teoria das linguagens formais foi
desenvolvida em 1950 com o objetivo de
estudar linguagens Naturais. Entretanto, logo
foi verificado a importncia desta para o
estudo de linguagens artificiais como as LP.
Enfoque em analise lxica, sinttica de
linguagens de programao, modelos de
sistemas biolgicos, desenho de hardware e
relacionamento com linguagens naturais
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

11

Introduo
Algumas caractersticas de LN introduziram
dificuldades no Tratamento computacional das
mesmas:
LN extensa, complexa, no tem sintaxe rgida e
semntica bem determinada (rica em ambigidade);

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

12

Introduo
Linguagens Computacionais so muito mais simples, so
linguagens criadas artificialmente de forma que possam
ser tratadas computacionalmente de forma satisfatria;
As maneiras sistemticas de descrever uma linguagem de
programao so:
Um mtodo que permite construir programas estaticamente
corretos - gerao (Gramtica);
Um mtodo que permite verificar se um programa escrito
est sintaticamente correto - reconhecimento
(Autmatos);

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

13

Sintaxe e Semntica
Linguagens formais Preocupa se com os problemas
sintticos e semnticos de LP
Os problemas sintticos foram reconhecidos antes no
estudo das LP, ento receberam tratamento antes tambm
Os problemas sintticos tem tratamento mais simples, pois
trata da ordem em que os comandos so dispostos
Uma LP pode ser vista de duas formas (como qualquer
modelo matematico)
Entidade Livre, ou seja, sem qualquer significado associado
Entidade juntamente com interpretao do seu
significado(semntica)
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

14

Sintaxe e Semntica
Sintaxe trata a verificao Gramatical de um programa
Basicamente manipula smbolos sem se preocupar com
seu significado

Para resolver qualquer problema real, nota-se a


necessidade de dar uma interpretao SEMNTICA
aos smbolos como por exemplo, estes smbolos
representam os nmeros reais
Nem sempre os limites entre Sintaxe e Semntica so
Claros

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

15

Resumindo
Sintaxe:
Define a forma e estrutura de uma linguagemSmbolos,

palavras, frases e sentenas (estruturas)


Ex: if X = 10 then y = X;
Principal formalismo:
Gramticas Livres de Contexto e Expresses Regulares
Notao mais utilizada: BNF (Backus-Naur Form)

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

16

Resumindo
Semntica:
Descrever o significados das estruturas do programa
expressos na sua sintaxe
Tipos de semntica
Semntica esttica: Descreve as caractersticas de uma
programa vlido
Semntica dinmica: Descreve os resultados da execuo do
programa
Define um mapeamento da sintaxe do programa para o seu
significado

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

17

Resumindo
A Semntica complementar a sintaxe. Ela
corresponde descrio do significado das instrues
vlidas de uma linguagem. Por exemplo, a sintaxe da
instruo if da linguagem C++ : if () {} e sua
semntica : se o valor da expresso for verdadeiro, as
instrues incorporadas sero executadas pelo
programa.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

18

Reviso de Conceitos Matemticos

Nosso foco no estudar a


teoria dos conjuntos com
nfase e sim utiliz-la em
nossa disciplina, mas...

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

19

Reviso de Conceitos Matemticos

Conjuntos
Relaes
Funes

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

20

Reviso de Conceitos Matemticos

Exemplo: conjunto M dos


nmeros binrios que tm 2
dgitos:
M={00,01,10,11}
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

21

Reviso de Conceitos Matemticos


Porm, se fosse o conjunto N de todas
as combinaes de dgitos binrios,
poderamos tentar o seguinte:
N={0,1,00,01,10,11,000,...}
Percebe-se que este conjunto
infinito;
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

22

Reviso de Conceitos Matemticos


Unio dos conjuntos A e B, denotada por A B, o conjunto de

todos os objetos que so membros de A, ou B, ou ambos. A unio


de {1, 2, 3} e {2, 3, 4} o conjunto {1, 2, 3, 4}.

Interseo dos conjuntos A e B, denotada por A B, o

conjunto de todos os objetos que so membros de ambos A e B. A


interseo de {1, 2, 3} e {2, 3, 4} o conjunto {2, 3}.

Diferena de Conjuntos de U e A, denotada por U \ A o

conjunto de todos os membros de U que no so membros de A.


A diferena de conjuntos {1,2,3} \ {2,3,4} {1}, enquanto a
diferena de conjuntos {2,3,4} \ {1,2,3} {4}. Quando A um
subconjunto de U, a diferena de conjuntos U \ A tambm
chamada de DIFERENA
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

23

Reviso de Conceitos Matemticos


Conjunto das partes de um conjunto A
o conjunto cujos membros so todos
os possveis subconjuntos de A.
Exemplo, o conjunto das partes de {1, 2}
{ {}, {1}, {2}, {1,2} }.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

24

Reviso de Conceitos Matemticos


Produto Cartesiano: de A e B,
denotada por A B, o conjunto cujos
membros so todos os possveis pares
ordenados
Exemplo: A = {0,1,2} e B={2,3}
A X B ={(0,2), (0,3), (1,2), (1,3), (2,2), (2,3)}
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

25

Reviso de Conceitos Matemticos

Relaes e Funes iremos


ver sob Demanda, ou seja,
quando formos aplicar na
pratica dentro da disciplina

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

26

Conceitos Bsicos - Alfabeto


Conjunto finito de smbolos;
Normalmente descrito por ;
Exemplos:
={a, b}
={1, 2, 3}
={00, 11}

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

27

Conceitos Bsicos Smbolos ou Letras


todo elemento pertencente um alfabeto;
a um smbolo de se a ;
Exemplo: dado o alfabeto ={0, 1, 23}
0 um smbolo de ;
1 um smbolo de ;
23 um smbolo de ;
33 no um smbolo de ;

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

28

Conceitos Bsicos Smbolos ou Letras


Essas duas primeiras definies so bastante livres.
Embora os smbolos tambm possam ser
chamados de letras, eles no precisam ter
necessariamente um nico caractere.
Alm disso, os smbolos de um alfabeto no precisam
todos ter o mesmo nmero de caracteres.
A nica restrio que o tamanho do smbolo seja
finito.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

29

Conceitos Bsicos Cadeias ou Palavras


Seqncia finita de smbolos de um alfabeto
Exemplos
={0, 1, 23} ento uma cadeia valida seria 0123 ou 123,
pois todos os elementos pertencem ao Alfabeto.
={a,b,c,..,z} entao, uma cadeia valida seria FAFIMAN
ou MANDAGUARI.
FAFIMAN123 uma cadeia valida?
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

30

Conceitos Bsicos Cadeias ou Palavras


Comprimento de Cadeia ou Tamanho de Palavra:
o nmero de smbolos que compem uma dada cadeia (ou
palavra).
O comprimento de uma cadeia x denotado por |x|, tambem
chamado de Modulo.
|FAFIMAN| = 7, outro exemplo |NAOENTENDI|=10
Cadeia nula ou palavra vazia: um caso especial,
ela denotada por (ou ) e tem tamanho igual a
zero.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

31

Conceitos Bsicos Exerccios


1)dado o alfabeto ={a, b, c, de}, verifique se as cadeias a
seguir so formadas sobre este alfabeto, e se for,
verifique qual o comprimento das mesmas:
x = ababac
y = abdec
z = abedc
w = abdceaba
s=d
t=a
2) Criem um Alfabeto valido para a Cadeia G = 23+1=24
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

32

Conceitos Bsicos Exerccios


1)dado o alfabeto ={a, b, c, de}, verifique se as cadeias a
seguir so formadas sobre este alfabeto, e se for,
verifique qual o comprimento das mesmas:
x = ababac |6|
y = abdec |4|
z = abedc
w = abdceaba
s=d
t=a
|1|
2) Criem um Alfabeto valido para a Cadeia G = 23+1=24
={1,2,3,4,+,=} ou ={23,1,24,+,=} ...
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

33

Concatenao
={a,b,c,..,z},
U=abra
Z=cadabra
A Concatenao UZ ser igual a ABRACADABRA
A ordem na concatenao tem relevncia!
Atenao!
A concatenao ZU ser igual a CADABRAABRA

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

34

Exponenciao
Exponenciao de Alfabetos: k o conjunto de todas
as cadeias com tamanho k, formadas sobre o alfabeto
, onde U uma cadeia.
Exemplo: considere U = {abra}
0 = {}
1 = {abra}
2 = {abra,abra}
Exerccio: considerando UZ como ficaria UZ 2.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

35

Exerccios
1. O que alfabeto?
2. Defina o conceito de cadeia.

Dados L 1 ={a, ab} e L 2 ={ , a, ba}, linguagens sobre {a, b}, determine:


a.
b.
c.
d.
e.
f.
g.
h.
i.

L1 L2
L1 L2
L1 L2
L2 L1
L 1 .L 2
L 2 .L 1
L 1 2 = L 1 .L 1
L 2 2 = L 2 .L 2
L1

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

36

Exerccios
O que alfabeto?
Alfabeto um conjunto finito e no vazio de
smbolos. Geralmente, o alfabeto
denotado por . Um exemplo de alfabeto seria
= {0, 1}, ou seja, um
alfabeto que possui dois smbolos, 0 e 1.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

37

Exerccios
Defina o conceito de cadeia.
Uma cadeia uma seqncia formada por
smbolos pertencentes um
mesmo alfabeto. Por exemplo, a partir do alfabeto =
{0, 1} seria possvel
formar as cadeias 0, 001 e 110101. Note que diferentes
cadeias no precisam
necessariamente ter a mesma quantidade de smbolos.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

38

Exerccios
Dados L 1 ={a, ab} e L 2 ={, a, ba}, linguagens sobre {a, b},
determine:
a.
b.
c.
d.
e.
f.
g.
h.
i.

L 1 L 2 = {a, ab, , ba}


L 1 L 2 = {a}
L 1 L 2 = {ab}
L 2 L 1 = {, ba}
L 1 .L 2 = {a, aa, aba, ab, abba}
L 2 .L 1 = {a, ab, aa, aab, baa, baab}
L 12 = L 1 .L 1 = {aa, aab, aba, abab}
L 22 = L 2 .L 2 = {, a, ba, aa, aba, baa, baba}
L 1 = * - {a, ab} = {a, b} * - {a, ab}

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

39

Trabalho 12/04
Defina o conceito de linguagem e mostre um exemplo.
Como se pode descrever uma linguagem formal?
Fale sobre aplicaes de LFA. De exemplos
O que fechamento de um alfabeto?
Defina o conceito de subpalavra .
O que prefixo e sufixo ? Defina com exemplos
O que Complemento de uma cadeia? Defina com exemplos
Trabalho individual
Enviar em pdf para isolopak@commandperfect.com.br
Com assunto TRABALHO INTRODUCAO TEORIA DA
COMPUTACAO
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

40

Entendendo

abra

A,b,r ..

={a,b,c,..,z},
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

W={abra} Z={cadabra}
X={if, then, else, for ...}
41

Linguagens formais
Comparando as definies:
Linguagem Natural:
Uma palavra em portugus equivale um smbolo;
Uma sentena da lngua portuguesa uma cadeia
Composta por vrios smbolos;

Linguagem Computacional:
Cada programa escrito numa linguagem computacional
corresponde a uma cadeia de smbolos que podem ser:
identificadores;
palavras reservadas;
smbolos especiais e operadores;
constantes numricas.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

42

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

43

Tipos de formalismo
Reconhecedores
Recebe uma palavra e retorna um valor dizendo se a
palavra ou no da linguagem

Geradores
Defini um conjunto de regras que pode ser combinadas
para gerar palavras

Denotacional (Gerador?)
Uma expresso que denota de modo geral as palavras da
linguagem

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

44

Linguagens formais
Veremos diversos formalismos de cada um dos tres
tipos
Alguns formalismos so mais poderosos que os outros
Especificam mais linguagens

Linguagens so classificadas segundo o formalismo


que as reconhecem
De acordo com que se pede, da para saber se
reconhecedora, geradora ou denotacional
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

45

Classificao das Linguagens


Hierarquia de Chomsky
Possui 4 categorias hierrquicas
As categorias superiores incluem as inferiores
Cada categoria reconhecida por certos formalismos

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

46

Linguagens formais

Geradoras ..

Reconhecedoras

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

47

Linguagens tipo 3 - Regulares


So as mais Simples e Restritas
Recebe uma palavra de entrada
Indica se ela e aceita ou rejeitada
Ex: ={0,1} ento cadeias validas seriam
A={00,1,000}, B={0,01,111}, C={110,10,0,00}
Podemos ter linguagens que so aceitem apenas cadeias que
terminem com o smbolo 1 isto uma restrio

Baseado no conceito de Mquinas de estados Finitos

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

48

Maquinas de estado Finito


Conjunto Finito de Estados
Um estado representa a situao atual
Mudana de Estado
Depende do estado Atual
Depende de uma certa Entrada
No guarda Histrico de estados

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

49

Maquina de estado finito


Reconhecedor de Palavras ou Cadeias
Bons modelos para computadores com
capacidade reduzida
Fazem parte de diversos dispositivos
eletro - mecnicos do dia a dia

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

50

Maquinas de estado Finito - Porta

Frente

Retaguarda

Viso rea de uma porta automtica


20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

51

Maquinas de estado Finito - Porta


Controlador da porta pode esta em 2 estados distintos
Aberto (significando porta aberta)
Fechado (significando porta fechada)

O Controlador passa de um estado para outro


dependendo do estimulo
Entradas possiveis:
Frente: uma pessoa esta em pe sobre o tapete da entrada
Retaguarda: uma pessoa esta em pe sobre o tapete da saida
Ambos: existem pessoas nos 2 tapetes
Nenhum: no tem ningum sobre nenhum tapete
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

52

Maquinas de estado Finito - Porta


Frente
Retaguarda
Ambos

Nenhum

Fechado

Frente
Retaguarda
Ambos

Aberto

Nenhum

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

53

Maquinas de estado Finito - Porta


Tabela de Transio
Nenhum

Frente

Retaguarda

Ambos

Fechado

Fechado

Aberto

Aberto

Aberto

Aberto

Fechado

Aberto

Aberto

Aberto

Estados a esquerda na tabela


Entradas ficam sempre na parte direita superior

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

54

Maquinas de estado Finito


Interruptor
Pressionar

Estado
Inicial

Desligad
o

Ligado

Pressionar

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

55

Maquinas de estado
Palavra FAFIMAN
Qualquer outra deve ser Descartada
F
q1

q2

I
q3

Estado
Inicial

q0

={A, B, C,...Z},

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

M
q4

A
q5

N
q6

q7

Estado de
Aceitao
, Estado
Final
56

Maquinas de estado
Palavra FABRICA
Qualquer outra deve ser Descartada, utilizando a
maquina de estado para FAFIMAN
F
q1

q2

I
q3

Estado
Inicial

q0

={A, B, C,...Z},

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

M
q4

A
q5

N
q6

q7

Estado de
Aceitao
, Estado
Final
57

Exemplos
Lavadora de Roupas/loucas
Termmetro eletrnico
Relgios digitais
Calculadoras
Maquinas de Vendas automticas (coca cola)

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

58

Autmatos Finitos
O Automato finito uma maquina reconhecedora de
palavras ou cadeias de caracteres que sempre para
retornando uma resposta SIM (se reconhece) ou NAO
(se no reconhece)
Podem ser Classificadas em:
Autmatos Finitos Determinsticos - AFD
Autmatos Finitos No determinsticos AFND

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

59

Autmatos Finitos Determinsticos


Definio formal de um AFD
uma 5-upla (quintopla) onde :
M = {Q,,, q0,F}, onde
Q = conjunto finito de estados do autmato
= Alfabetos de smbolos de entrada
= Funo programa ou funo de transio (parcial)
:QX
Q, Signica Dizer que permanecer em um estado e lendo um
smbolo do alfabeto faz o autmato passar para outro estado ou permanecer no mesmo.

q0 = Estado inicial (q0 Q)


F = conjunto de estados final ou de aceitacao (F C Q)
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

60

Autmatos Finitos Determinsticos


i

Estado inicial

Estado final

Restante dos Estados

20/09/2012

Representao Grfica

Transicao (s,a)=s

Itamar Solopak isolopak@commandperfect.com.br

61

AFD - Exerccios
1) Descreva a definio de AFD
2) Dados o Autmato abaixo, Defina-o formalmente

3) Utilizando se do autmato acima, verifique


a) 01 reconhecido?
b) correto afirmar que qualquer cadeia formada por smbolos 1 em qualquer
quantidade reconhecida? Explique o porque.
c) correto Afirmar que as nicas cadeias reconhecidas pelo autmato so as
terminadas em 1? Prove sua resposta.
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

62

AFD - Exerccios
4) Desenvolva a representao grfica para vendingmachine que aceita
moedas de 5, 10 e 25 centavos. O preo do produto que ela entrega 30
centavos. Partindo do estado inicial (0 centavos) deveremos reconhecer
sequencias que nos levem a estados finais (valor inserido >= 30 centavos)
V=<, S, S0, , F> onde:
= {5, 10, 25} - cada um destes smbolos (ou letras) representa uma ao
S = {<0c>, <5c>, <10c>, <15c>, <20c>,
<25c>, <30c>, <35c>, <40c>, <45c>, <50c>} - cada estado indica quanto foi
depositado
S0= <0c> - estado inicial
F = {<30c>, <35c>, <40c>, <45c>, <50c>} - estado onde a entrada vlida e o
produto pode ser liberado

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

63

AFD - Exerccios
Delta

10

25

0C

5C

10C

25C

5C

10C

15C

30C

10C

15C

20C

35C

15C

20C

25C

40C

20C

25C

30C

45C

25C

30C

35C

50C

30C

35C

40C

45C

50C

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

64

AFD - Exerccios
1) Descreva a definio de AFD
Um AFD uma quntupla <, S, S0, , F>, onde:
o alfabeto de entrada;
S um conjunto finito no vazio de estados;
S0 o estado inicial, S0 S ;
a funo de transio de estados, definida : S x S ;
F o conjunto de estados finais, F S .

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

65

AFD - Exerccios
2) Dados o Autmato abaixo, Defina-o formalmente

M = <, S, S0, , F>, onde:


= {0,1}
S = {q0,q1,q2}
S0= q0
F = q1
Delta definido como
(q0, 0) = q0
(q0, 1) = q1
(q1, 0) = q2
(q1, 1) = q1
(q2, 0) = q1
(q2, 1) = q1
20/09/2012

Tabela de Transio
Delta

Q0

Q0

Q1

Q1

Q2

Q1

Q2

Q1

Q1

Itamar Solopak isolopak@commandperfect.com.br

66

AFD - Exerccios
3) Utilizando se do autmato acima, verifique
a) 01 reconhecido?
a) Sim, 01 reconhecido pelo autmato pois ao final da leitura estar em
q1, que um estado de aceitao.
b) correto afirmar que qualquer cadeia formada por smbolos 1 em qualquer
quantidade reconhecida? Explique o porque.
a) Sim, pois qualquer quantidade de smbolos 1 inseridos na cadeia leva ao
estado de aceitao q1
c) correto Afirmar que as nicas cadeias reconhecidas pelo autmato so as
terminadas em 1? Prove sua resposta.
a) No, pois a cadeia 100 tambm uma cadeia valida pois seu estado final
ser q1
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

67

Soluo do exrcito 4

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

68

AFD - Exerccios
Seja = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, construa AFDs para as seguintes
linguagens:
utilize apenas 2 estados para o exerccio abaixo
1) {x + | a sequencia descrita por x corresponda a um valor inteiro par}
1) Ou seja para atingir o estado final deve terminar em nmero par
2) {x + | a sequencia descrita por x corresponda a um valor inteiro
divisvel por 5}

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

69

Segundo Bimestre
Bem Vindos !!!

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

70

AFD vs. AFND


Determinsticos
Transies bem definidas
Funo de Transio de estado leva a um nico estado
Sequencia de estados e nica para cada palavra

No Determinstico
Transies ambguas
Funo de Transio leva a vrios estados alternativos
Varias sequencias possiveis

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

71

AFD vs. AFND


At agora quando um AF esta em um estado e le o
prximo smbolo de entrada, nos sabemos exatamente
qual ser seu prximo estado ( bem determinado), ou
seja so AFD Autmatos Finitos Determinsticos.
Maquinas no determinsticas so aquelas que
diversas escolhas podem existir para o prximo estado
em qualquer ponto de execuo.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

72

AFD vs. AFND


O prximo estado no determinado exclusivamente
pelo esta atual e o smbolo de entrada.

Podemos ter Zero , uma ou mais transies de estado


com um nico smbolo de entrada.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

73

AFND

Um estado pode ter zero,um ou mais arcos saindo para cada smbolo do
alfabeto

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

74

AFND
Testando a cadeia 110
q0
1
q0
1
q0
A cadeia aceita se um estado final
encontrado!

q0
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

q1
1

Parou

q1

q2
75

AFND
Transio
Delta

Q0

Q0

{Q0,Q1}

Q1

Q2

Q2

{Q0,Q1}, se torna um CONJUNTO

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

76

Definio formal para AFND


uma 5-upla (quintopla) onde :
M = {Q,,, q0,F}, onde
Q = conjunto finito de estados do autmato
= Alfabetos de smbolos de entrada

= Q x

P(Q) uma funo de Transio

q0 = Estado inicial (q0 Q)


F = conjunto de estados finais ou de aceitao (F C Q)

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

77

Definio formal para AFND

Q0, tem duas transies com 0, e duas com 1


Q1 no tem transio com 0
Q3 no tem transio com 1

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

78

Definio formal para AFND


Uma sequencia de entrada a1,a2..an aceita por um
autmato finito no determinstico se existe uma
sequencia de transies, correspondendo a sequencia
de entrada, que leva do estado inicial a algum dos
estados finais.

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

79

Exerccio

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

80

Q0
a

abbab
Q0
b
Q2

Q1
Q0
b
Parou!

Q4

Q0
a

Q4

Q4

20/09/2012

Cadeia Aceita!
Itamar Solopak isolopak@commandperfect.com.br

Q0
Q0

81

Exerccio

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

82

Soluo
M1

M2

Aa

Aab

ab

abab

Aba

abaa

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

83

Autmatos
Equivalncia entre AFD e AFND

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

84

Transformar AFND em AFD

20/09/2012

Q0

{Q0,Q1}

{Q0}

Q1

{Q2}

*Q2

Itamar Solopak isolopak@commandperfect.com.br

85

Iniciar as transies para 0,1,


partindo de Q0

20/09/2012

Q0

{Q0,Q1}

{Q0}

Q1

{Q2}

*Q2

{Q0,Q1}

{Q0,Q1 + }

{Q0,q2}

Itamar Solopak isolopak@commandperfect.com.br

Novo!

86

Iniciar as transies para 0,1,


partindo de Q0

Q0

{Q0,Q1}

{Q0}

Q1

{Q2}

*Q2

{Q0,Q1}

{Q0,Q1 + }

{Q0,q2}

{Q0,Q2}

{Q0,Q1+}

{Q0+}

Existe alguma
nova
Transio?

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

No! Ento
vamos
simplificar

87

Remover os

Q0

{Q0,Q1}

{Q0}

Q1

{Q2}

*Q2

{Q0,Q1}

{Q0,Q1 }

{Q0,q2}

{Q0,Q2}
{Q0,Q1}
{Q0}
Para transformar o AFND em AFD vamos simplificar mais ainda veja!

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

88

Simplificando

= A

Q0 = B

{Q0,Q1}

{Q0}

Q1 = C

{Q2}

*Q2= D

{Q0,Q1} = E

{Q0,Q1 }

{Q0,q2}

{Q0,Q2} = F

{Q0,Q1}

{Q0}

Assim teremos ento....

20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

89

Simplificando

*D

Removemos ento os estados inacessveis!


Alguma transio leva a C? No, desta forma pode ser removido!
A nica transio que levava a D era C que foi removida ento podemos remover!
A nica transio que levava a A era D que foi removida ento podemos remover!
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

90

Como ficou ento

*F

Desta forma temos.

20/09/2012

{Q0}

{Q0,Q1}

{Q0}

{Q0,Q1}

{Q0,Q1}

{Q0,Q2}

*{Q0,Q2}

{Q0,Q1}

{Q0}

Itamar Solopak isolopak@commandperfect.com.br

91

Como ficou ento

20/09/2012

{Q0}

{Q0,Q1}

{Q0}

{Q0,Q1}

{Q0,Q1}

{Q0,Q2}

*{Q0,Q2}

{Q0,Q1}

{Q0}

Itamar Solopak isolopak@commandperfect.com.br

92

Finalizando
Tome o diagrama de transio do AFND e crie para cada conjunto um
novo estado onde o nome do estado o prprio conjunto
Complete as transies dos novos estados acompanhando o
comportamento de cada estado individualmente tomando a UNIAO dos
estados acessados
Adicione ao estado final todos os estados que possuem no rotulo o estado
final original
Elimine os estados nunca acessados a partir do estado inicial
Complete o AFD da seguinte forma:
Q do AFD so os estados resultantes ate este ponto
O alfabeto no alterado
A construo do Delta j foi mencionada
O estado inicial no se altera
Os Estados finais so a unio de todos os estados finais do delta
resultantes
20/09/2012

Itamar Solopak isolopak@commandperfect.com.br

93

Вам также может понравиться