Python

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2316 palavras )
  • Download(s) : 0
  • Publicado : 7 de novembro de 2012
Ler documento completo
Amostra do texto
Aut´matos finitos n˜o determin´
o
a
ısticos
(AFND)
[HMU00](Cap 2.3)
Computa¸˜es n˜o determin´
co
a
ısticas: o estado seguinte n˜o ´ univocamente
ae
determinado pelo estado actual.Num aut´mato finito (n˜o-determ´
o
a
ınistico):
• dado um estado s e um s´
ımbolo a existe um conjunto de estados poss´
ıveis
seguintes, do qual se pode escolher um novo estado
• uma palavra ´ aceite, secome¸ando no estado inicial existe um conjunto
e
c
de escolhas (caminho) tal que quando acabar de a ler est´ num estado
a
final.
• uma palavra ´ rejeitada se n˜o existe nenhum caminho que leve dum
e
a
estado inicial a um estado final.
Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e

1

Escolher ou adivinhar e verificar
L = {x ∈ {0, 1} | o quinto s´
ımbolo a contarda direita ´ 1}
e
0,1

GF

@A
/

ED

pqrs
wvut

s0

1

pqrs
/ wvut

s1

0, 1

pqrs
/ wvut

s2

0, 1

wvut
/ pqrs

s3

0,1

wvut
/ pqrs

s4

0, 1

Se x ∈ L existe uma escolha que leva ` aceita¸˜o; se x ∈ L nenhuma
a
ca
/
escolha leva ` aceita¸˜o.
a
ca
Facto: existe um aut´mato finito determin´
o
ıstico que aceita L, mas tem
pelo menos 25 = 32estados , pois tem de “recordar” os ultimos 5 s´
´
ımbolos
lidos!

Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e

2

wvut
hijk
onml
/ pqrs

s5

AFD e AFND
Um aut´mato finito determin´
o
ıstico ´ um caso particular dum aut´mato
e
o
finito n˜o determin´
a
ıstico.
Mas..
As linguagens aceites por aut´matos finitos n˜o determin´
o
a
ısticos s˜o preciasamente as mesmas das aceites por aut´matos finitos determin´
o
ısticos
Isto ´
e
Para cada aut´mato finito n˜o determin´
o
a
ıstico, existe um aut´mato finito
o
determin´
ıstico que aceita a mesma linguagem.

Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e

3

Constru¸˜o por subconjuntos (informal)
ca
Ideia: associar um estado do AFD a cada conjunto de estados em que oAFND pode estar em cada passo da an´lise duma uma palavra.
a
Estados do AFD: subconjuntos do conjunto de estados do AFND
Estado inicial do AFD: conjunto com o estado inicial do AFND
Estado final do AFD: qualquer subconjunto de estados que contenha um
estado final de AFND

Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e

4

Exemplo
L = {x ∈ {0, 1} | o segundo s´ımbolo a contar da direita ´ 1}
e
0,1

GF

@A
/

ED

pqrs
wvut

s0

1

pqrs
/ wvut

s1

0, 1

pqrs
hijk
onml
/ wvut

s2

Ap´s ler 001 o aut´mato pode estar em {s0, s1}.
o
o
δ

→ { s0 }
{ s1 }
O δ do AFD equivalente ´ definido por: {s2}
e
{ s0 , s 1 }
{ s0 , s 2 }
{ s1 , s 2 }
{ s0 , s 1 , s 2 }
Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e0

{ s0 }
{ s2 }

{ s0 , s 2 }
{ s0 }
{ s2 }
{ s0 , s 2 }

1

{s0 , s 1 }
{ s2 }

{ s0 , s 1 , s 2 }
{s0 , s 1 }
{ s2 }
{ s0 , s 1 , s 2 }
5

Come¸ando em {s0} por transi¸˜es de 0 e 1 os estados {s1, s2}, {s1}, {s2}
c
co
e ∅ nunca s˜o atingidos. Assim podemos elimin´-los e simplificar o AFD
a
a
para:
δ
→ { s0 }
{ s0 , s 1 }
{ s0 , s 2 }
{ s0 , s 1 , s 2 }0
{ s0 }
{ s0 , s 2 }
{ s0 }
{ s0 , s 2 }

1
{s0 , s 1 }
{ s0 , s 1 , s 2 }
{s0 , s 1 }
{ s0 , s 1 , s 2 }

GF

0 @A
/

ED

r9
1 rrrrr
r
rr
rr
r
rr
rr

hijk
onml

(00)

eLL
LL
LL
LL
LL
LL
LL
LL
0

hijk
onml

(01)
O

0

1



hijk
onml

(10)

LL
LL
LL 1
LL
LL
LL
LL
LL
%

GF


hijk
onml

(11)

r
rr
rr
r
rr
rr
rrrr
0
yrr

O ADF resultante corresponde precisamente a um que “recorda” os dois
ultimos s´
´
ımbolos lidos:{s0} (00), {s0, s1} (01), {s1, s2} (10) e {s0, s1, s2}
(11).
Departamento de Ciˆncia de Computadores da FCUP — MC — Aula 5
e

6

ED

BC 1

Aut´mato Finito N˜o Determin´
o
a
ıstico
N = (S, Σ, δ, s0, F )

• S o conjunto finito de estados
• Σ o alfabeto de s´
ımbolos...
tracking img