Sunteți pe pagina 1din 13

CAPITOLUL II

Limbaje Formale i Automate


BREVIAR
Definiii
Un alfabet este o mulime finit de simboluri.
Un cuvnt este o secven finit de simboluri ale aceluiai alfabet.
Un limbaj este o mulime de cuvinte cu simboluri ale aceluiai alfabet.
Notaii:
Lungimea unui cuvnt w re!re"int numrul de simboluri care com!un
cuvntul.
Cuvntul vid# $cores!unde evenimentului nul sau mai !recis unui eveniment
neobservabil%.
Limba& vid# $re!re"int limba&ul fr nici un cuvnt%.
'voluia oricrui (') !oate fi re!re"entat com!let !rintr*o !erec+e de limba&e $L L
m
%
cu urmtoarele !ro!rieti#
L i L
m
sunt definite !e alfabetul de intrare,
L - re!re"int toate evoluiile !osibile ale (') i se numete limbaj generat;
L
m
- re!re"int toate evoluiile dorite ale (') i se numete limbaj marcat;
L
m
L.
Oeraii e limbaje
.ie L L
/
L
0
limba&e definite !este alfabetul . Cele mai utili"ate o!eraii !e
limba&e sunt#
Reuniunea
L 1 L
/
L
0
12 v3 v L
/
sau $i% v L
0
4
Concatenarea
L 1 L
/
L
0
1 2v 3 v 1 s t unde s L
/
i t L
0
4
nchiderea iterativ $sau operatorul Kleene%
L 1 L5
L
5
1

6 i
L
i
L
78/
1 L
7
L L
6
1 294
Ob!er"aie: O!eraia de :nc+idere iterativ se !oate e;tinde i la un alfabet
$considerat ca un limba& cu cuvinte de lungime /% #
5
re!re"int mulimea tuturor
cuvintelor care !ot fi formate cu simbolurile lui .
nchiderea prefixat
!r $L% 1
L
1 2s
5
3 t L a.:. sw 1 t4
Intersecia
L 1 L
/
L
0
1 2v 3 v L
/
i v L
0
4
roiecia lui L !este o submulime de evenimente <
L<1 2s< 3 s L4 cu

'


altfel
daca

<
< % $

'




altfel < s
< daca % < s $
< s s % $
5
#rorietate imortant$: Limba&ul generat de ctre un (') este :ntotdeauna egal cu
:nc+iderea sa !refi;ata $L 1 !r$L%%.
Definiie
.ie un alfabet, atunci o e%re!ie regulat$ $'=% se definete astfel#
este o '= care modelea" limba&ul ce conine doar evenimentul nul,
este o '= care modelea" limba&ul vid,
$% a a este o '= care modelea" limba&ul re!re"entat de 2a4
dac a b sunt '= atunci $ab% $a 8 b% a5 b5 sunt '=
#rorietate: )ac este '= atunci # 5 1 8 888
>>
85.
Definiie: Un automat finit determinist A.) se definete ca un ?uintu!lu #
! 1 $" #
6
"
m
%
unde#
" 1 mulimea $finit% a strilor,
1 alfabetul de evenimente
#
6
1 starea iniial
1 funcia de tran"iie , # " "$
$% # " a i w 5 sunt satisfcute urmtoarele relaii#
a% $# % 1 #
b% $# wa% 1 $ $# w% a% 1 #@ "
"
m
1 mulimea strilor marcate.
Notaii:
stare;
starea iniial $unica A%,
stare marcat,
a
tran"iia sub evenimentul a.
Ob!er"aii :
/% )ac "
m
atunci automatul se numete acceptor.
0% )ou automate B
/
si B
0
sunt ec&i"alente dac limba&ele lor generate i res!ectiv
cele marcate sunt egale#
B
/
ec+ivalent cu B
0
L$B
/
% 1 L$B
0
% i L
m
$B
/
% 1 L
m
$B
0
%
Definiie : Un automat finit nedeterminist A.C se definete ca un ?uintu!lu
! 1 $" #
6
"
m
%
unde singura diferen fa de A.) este dat de modul de definire al funciei de tran"iie
res!ectiv #
# " 0
D
cu 0
D
* mulimea tuturor submulimilor lui "%
i
$# % 1 #
$# a% 1 2p3 p0
D
4 ceea ce :nseamn c din starea # !rin evenimentul a se !oate
a&unge :ntr*o mulime de stri $evoluia nu este unic%.
Un cuvnt de intrare w
5
este acce!tat de un A.C dac mcar una dintre evoluiile
$#
&
w% "
m
.
Pentru orice A.C B se !oate construi un A.) ec+ivalent B@ numit observatorul lui B.
B@ 1 $D@$ $ '$ ?
&
$ D
(
')
Definiie : Un *(+ cu tran,iii $A.C* % se definete ca un ?uintu!lu !-
! 1 $" 2 4 #
6
"
m
%.
)iferena fa de clasele de automate !re"entate anterior este dat de modul de definire al
lui %
Pentru a defini funcia de tran"iie a A.C* se introduce noiunea de :nchidere a unei
stri ? a automatului B $5
B
$#%% astfel#
5
B
$#% 1 $# 5% 12#@ 3#@ D4 * mulimea tuturor strilor :n care se a&unge
!ornind din # sub o secven de .
Atunci funcia de tran"iie a unui A.C* se definete astfel#
# " $ 2 4% 0
D
,
$# % 1
5
!
$#%
Pentru un cuvnt de intrare s $ 2 4%5 si
( )
( ) ( )

s # # # #
! !
# s # s #
E E E E
5 5
F %G % $ $ H % $



1
]
1


Ca i :n ca"ul A.C !entru orice A.C* se !oate construi un observator determinist.
Algoritmul 'e con!trucie a unui ob!er"ator 'etermini!t G
ob!
entru un automat
ne'etermini!t general G
n'
Considernd c automatul determinist este definit ca#
B
obs
1 $D
obs

obs
?
6obs
D
mobs
%
iar automatul nedeterminist ca#
B
nd
1 $D
nd

nd

nd
?
6nd
D
mnd
%
:n care

'


9 * A.C un avem daca 4 9 2
A.C un avem daca
nd
Ii folosind $!entru a !utea re"olva cu algoritmul construcia observatorului att !entru
A.C ct i !entru A.C*% urmtoarea funcie#
U=# 0
Dnd

nd
0
Dnd
Cu definiia#

'

9 * A.C este B daca ;% $ 9


A.C este B daca ;
U=$;%
nd
5
B
nd
algoritmul de construcie a observatorului !entru un automat nedeterminist este
urmtorul#
Pas / ?
6obs
1 U=$?
6nd
% i se introduce ?
6obs
:n lista strilor nee;!lorate $L(C%.
Pas 0 Atta tim! ct e;ist stri :n L(C#
Pas 0./ ';tragere a unei stri # din L(C.
Pas 0.0 Includere a strii # :n mulimea D
obs
. )ac #
nd
#
obs
a.: #
nd
D
mnd
atunci se
adaug #
obs
:n D
mobs
.
Pas 0.J Pentru fiecare eveniment e
nd

Pas 0.J./ 'valuare a strii #'
obs
:n care evoluea" #
obs
la a!ariia evenimentului e#

obs
$#
obs
e% 1 #'
obs
1U=$
nd
$#
obs
e%%1
. U=$
obs nd
# #


nd
$?
nd
e%%
Pas 0.J.0 )ac ?@
obs
D
obs

Introducere a lui ?@
obs
:n L(C.
Pas 0.K Lntoarcere la Pas 0.
Orice e;!resie regulat $'=% !oate fi re!re"entat !rintr*un A.C* !e ba"a definiiei '=
i utili"nd urmtoarele o!eraii#
.ie r
/
i r
0
'= care !ot fi e;!rimate !rin A.C* res!ectiv
M
/
1 $"
/

/
#
/

/
2f
/
4%
M
0
1 $"
0

0
#
0

0
2f
0
4%
Atunci#
/. A.C* cores!un"tor reuniunii r 1 r
/
8 r
0
este
#
6
M/

#
6
M0
#
0
f
0

f
/
f
6
#
/
#
0
f
6
f
/
f
0
Automatul M cores!un"tor lui r este
M 1 $"
/
"
0
2#
6
f
6
4
/

0
#
6
2f
6
4 %
$#
6
% 1 2#
/
#
0
4
$# a% 1
/
$# a% dac # "
/
N2 f
/
4i a
/
2 4
$# a% 1
0
$# a% dac # "
0
N2f
0
4 i a
0
2 4
$f
/
% 1 $f
0
% 1 2f
6
4
0. A.C* cores!un"tor concaten$rii r 1 r
/
r
0
este
M/

M0
#
0
f
0

f
/
f
6
#
/ #
0
f
/
f
0
M1 $"
/
"
0

/

0
#
/
2f
0
4%
$# a% 1
/
$# a% dac # "
/
N 2f
/
4 si a
/
2 4
$# a% 1
0
$# a% dac #"
0
i a
0
2 4
$2f
/
4 % 1 2#
0
4
J. A.C* cores!un"tor oeratorului (leene r 1 r
/
5
este
M1$"
/
2#
6
f
6
4
/
24 #
6
2f
6
4%
$#
6
% 1 2#
/
f
6
4
$# a% 1
/
$# a% !entru # "
/
N 2f
/
4 i a
/

$f
/
% 1 2#
/
f
6
4
#
6
M/

#
6

f
/
f
6
#
/ f
6
f
/
)eorem$# )ac L este un limba& acce!tat de un automat finit determinist atunci L !oate
fi scris ca e;!resie regulat.
';!resia =egulat a limba&ului acce!tat de ctre automat este o reuniune

m 7
D ?
toate
n
7 /
=

a
tuturor traiectoriilor care conduc de la starea iniial ctre o stare marcat.
Ob!er"aie:
n
ij
R
re!re"int toate traiectoriile de la #
i
la #
&
fr s treac !rintr*o stare cu
un numr mai mare dect n.
Definiii:

/ 7
i&
/ 7
7&
5 / 7
77
/ 7
i7
7
i&
= = % = $ = =

'

& i 4daca 29 ? a% O$? 3 9 2a


& i daca 4 ? a% O$? 3 2a
=
& i
& i
6
i&
Definiie: .ie dou Automate .inite $)eterministe%
!
/
1$ "
/

/
P
/

/
#
6/
"
m/
%
!
0
1$ "
0

0
P
0

0
#
60
"
m0
%
(e numete compunere sincron a automatelor !
/
i !
0
notat !
/
33 !
0
un automat !
care are strile ! 1$" #
6
"
m
% astfel#
" 1 "
/
"
0

1
/

0
#
6
1 $#
6/
#
60
%
"
m
1 "
m/
"
m0
)efinirea funciei de transfer #
$% # 1 $#
/
#
0
% " i
$ /$#/ % 0$#0 % % dac / 0 i / $#/ % i 0$#0 %
$ /$#/ % #0 % dac / N 0 i / $#/ %
$ #/ 0$#0 % % dac 0 N / i 0 $#0 %
Cu se definete !entru orice ca" care nu cores!unde celor definite mai sus
$#% 1
Ln acest ca" limba&ul generat de automatul re"ultat i limba&ul marcat al automatului
re"ultat au urmtoarele definiii#
/% L
m
$!
/
33 !
0
% 1 2 s5 Q s
/
L
m
$!
/
% i s
0
L
m
$!
0
% 4
0% L $B
/
33 B
0
% 1 2 s5 Q s
/
L $!
/
% i s
0
L $!
0
% 4
Ob!er"aie: )ac
/
1
0
atunci L
m
$!
/
33 !
0
% 1 L
m
$!
/
% L
m
$!
0
% i L$!
/
33 !
0
% 1
L$!
/
%L $B
0
%.
Automatele studiate !n acum !ot fi considerate ca maini de stare cu ieiri binare# fa
de un cuvnt de intrare dat w se !oate s!ecifica numai dac acesta este sau nu acce!tat
$res!ectiv daca $#
6
w%D
m
%. Ln anumite situaii este de dorit s se diferenie"e strile
marcate res!ectiv nemarcate :ntre ele. Pentru aceasta se folosesc aa*numitele maini de
stare cu ieiri # Moore i MealR.
Definiie: O main Moore se !oate defini ca un se;tu!lu
/ 1 $" #
6
%
unde#
" 1 mulimea $finit% a strilor
1 alfabetul de evenimente $finit i el%
#
6
1 starea iniial
1 funcia de tran"iie # " "
1 alfabetul ieirilor
1 funcia de alocare a ieirilor # "
Conform definiiei orice main Moore d un rs!uns $#
6
% asociat unei intrri nule $%.
E%emlu:
( se !roiecte"e maina Moore care calculea" restul modulo J !entru un ir binar de
intrare $care are semnificaia unui numr :ntreg :n format binar%
'vident e;ista doar trei ieiri !osibile# 1 26 / 04 ceea ce :nseamn c numrul
ma;im de stri este tot trei.
Pentru intrarea nul $ec+ivalent cu numrul 6% ieirea generat trebuie s fie 6. =e"ult
!rin definiie c $#
6
% 1 6.
Ln continuare se folosete urmtorul raionament# dac un ir de intrare binar w
cores!unde numrului natural n atunci w& :i cores!unde lui 0n i w1 lui $0n21%.
=e"ult urmtoarea structura !entru maina Moore dorit#
?
/ ?
0
*
?
6
+
/ 6
/
6 /
6
,
Definiie: O main MealR !oate fi definit ca un se;tu!lu
Me 1 $" #
6
%
unde #
" 1 mulimea $finit% a strilor,
1 alfabetul de evenimente $finit i el%,
1 alfabetul ieirilor,
#
6
1 starea iniial,
1 funcia de tran"iie cu definiia #" ",
1 funcia de alocare a ieirilor #" .
Conform definiiei !entru o intrare nul $% o main MealR generea" o ieire nul $%.
)in !unctul de vedere al !uterii de modelare mainile Moore i MealR sunt ec+ivalente,
din !unctul de vedere al lungimii cuvntului de ieire maina MealR va da un rs!uns de
lungime cu / mai mic dect maina Moore !entru aceeai lungime a cuvntului de
intrare.
-inimi.area automatelor :
.ie x 3 L. Atunci =
L
este o relaie de echivalen asociata limba&ului L $sau x =
L
3%
dac i numai dac !entru $% " 5
/. fie x, L i 3, L
0. fie x, L i 3, L.
=elaia =
L
:m!arte limba&ul L :n clase de ec+ivalen. Cumrul de clase de ec+ivalen se
numete index.
(e !oate demonstra c inde;ul unui limba& regulat este finit.
.ie M1 $" #
6
"
m
% un A.). (e definete relaia de ec+ivalen =
M
asociata
automatului M astfel#
!entru x 3 5 x =
M
3 dac i numai dac $#
6
x% 1 $#
6
3%.
Ln !lus dac x =
M
3 !entru $% " 5 avem x, =
M
3,. $Ceea ce revine la $#
6
x,% 1
$$#
6
x% ,% 1 $$#
6
3% ,% 1 $#
6
3,%%
O relaie de ec+ivalen de acest ti! se numete invariant la dreapta $fa de o!eraia de
concatenare%.
)eorem$ $criteriul MR+ill*Cerode%# Urmtoarele afirmaii sunt ec+ivalente#
/. Limba&ul L 5 este acce!tat de un automat finit,
0. L este reuniunea unor clase de ec+ivalen determinate de o relaie de
ec+ivalen invariant la drea!ta cu inde; finit,
J. .ie relaia de ec+ivalen definit !e limba&ul L astfel#
$% x 3 L x =
L
3 dac i numai dac $% , 5 x, L numai :n ca"ul :n care i
3, L .
Ca o consecin a teoremei de mai sus o stare p este echivalent cu o stare # a
automatului M dac i numai dac !entru orice ir de intrare x $p x% este stare marcat
numai atunci cnd $# x% este o stare marcat.
*l4oritmul de minimi,are a unui automat
5tart
#a! +# !entru fiecare p "
m
i # " N "
m
bifea" :n tabel locaia cores!un"toare
$strile marcate nu sunt ec+ivalente din !unct de vedere al obiectivului cu cele
nemarcate%,
#a! ,# !entru fiecare !erec+e de stri distincte $p #% "
m
"
m
sau
$p #) $"Q"
m
%$"6"
m
%
#a! ,/+ dac $% a $$p a% $# a%% este bifat :n tabel#
atunci
/% bifea" $p$ #%,
0% bifea" succesiv toate !erec+ile din lista de ec+ivalene a !erec+ii $p$#%.
altfel
!entru toi a
introducere a !erec+ii $p$ #% :n lista de ec+ivalene a !erec+ii
$$pa% $#a%% :n afara ca"ului :n care $p$a% 1 $#$ a%.
5top
Algoritmul de minimi"are a automatelor a fost elaborat !e ba"a criteriului MR+ill -
Cerode. Acest algoritm urmrete gsirea !erec+ilor de stri care sunt ec+ivalente $au
aceeai evoluie%. Acest lucru se reali"ea" !rin eliminarea strilor care nu sunt
ec+ivalente. Algoritmul verific toate !erec+ile distincte de stri.
.ie automatul ! 1 $" #
6
"
m
%. (e construiete un tabel care s conin toate
!erec+ile de stri distincte. )in matricea care are !e linii i !e coloane toate strile se
!strea" doar elementele de sub diagonala !rinci!al a matricei.
Ln acest fel toate !erec+ile $p #% rmase nemarcate re!re"int dou cte dou stri
ec+ivalente.
#robleme re.ol"ate
+/ ( se !roiecte"e un A.) !este alfabetul 1 2a$ b4care acce!t cuvintele care nu
conin Ja consecutiv.
Re,olvare.
Automatul obinut este cel din figura 0./.
b
#
6
b
a
#
/
a
a
b
a$b #
0
#
J
.igura 0./
,/ ( se !roiecte"e A.) !este alfabetul 1 2a$ b4care acce!t irurile SaT SbbT i
SabaT.
Re,olvare.
A.) cerut este ilustrat :n figura 0.0.
a
b
a
b
#
6
0
a
b
a
b
a$b
a$b
#
/6
#
U
#
06
#
J6
#
K6
.igura 0.0
#robleme rou!e
0/ ( se !roiecte"e un A.) !este alfabetul 1 2a$ b4care acce!t cuvintele ce conin
minim Ja i nu se termina cu b.
1/ ( se !roiecte"e automatul determinist !este alfabetul 1 2a$ b4 care acce!t
cuvintele :n care !erec+ea SaaT este urmat de subirul SbabT.
2/ Care este A.) care !este alfabetul 1 2a$ b4 acce!t irurile cu numr !ar de SaT
i nu conin subirul SbbTV
3/ ( se !roiecte"e A.) care acce!t !este alfabetul 1 2a b c4 cuvinte cu numr
!ar de SaT !ar de SbT i im!ar de ScT.
4/ ( se !roiecte"e A.) care acce!t !este alfabetul 1 2a$ b$ c4 cuvinte care conin
minim 0 ScT $nu nea!rat consecutivi% i nu conin secvena SacaT.
5/ ( se construiasc !este 1 2a b4 un A.) care acce!t irurile ce conin cel !uin
0 TaT i nu conin subirul SbbT.
6/ ( se !roiecte"e un A.) care acce!t toate irurile !este alfabetul 12a$ b4 care
conin cel !uin J TaT i cel mult 0 TbT.
+*/ ( se !roiecte"e A.) care !este alfabetul 1 2a$ b4acce!t cuvintele ce conin
subirul SabaT i nu conin subirul SbbT.
++/ ( se construiasc A.) !este alfabetul 1 2/ 0 J4 care acce!t cuvintele :n care
suma ultimelor dou simboluri este K.
+,/ ( se construiasc un A.) !este alfabetul 1 2a$ b4 care acce!t cuvinte ce conin
numr !ar de SaT i nu conin subirul SabbT .
+0/ ( se !roiecte"e A.) !este alfabetul 1 2/ 0 J4 care acce!t toate cuvintele care
se termin cu subirul S/0JT.
+1/ Care este automatul care !este alfabetul 1 2a$ b$ c4 recunoate cuvintele ce conin
numr !ar de SaT i numr im!ar de ScTV
+2/ Care este automatul care !este alfabetul 1 2a$ b4 recunoate cuvintele ce conin
numr im!ar de SbT i care nu conin subirul SbbaTV
+3/ .ie un lact electronic !rev"ut cu dou butoane etic+etate cu SaT i res!ectiv SbT.
Lactul se desc+ide dac se a!as !e butoane :n combinaia SabaT. )in !o"iia
Sdesc+isT el !oate fi :nc+is numai !rin a!sarea butonului SbT. ( se modele"e
funcionarea lactului !rintr*un automat finit determinist.
+4/ ( se construiasc A.) care acce!t setul tuturor irurilor din alfabetul 1 26 /4
cu numr egal de 6 i / astfel :nct fiecare !refi; are cel mult :nc un 6 :n !lus fata
de numrul de / i :nc cel mult un / :n !lus fa de numrul de "erouri.
+5/ ( se construiasc A.) aferent unui sistem de !arolare !este alfabetul 1 2a$ b$ c$
d4 care funcionea" du! urmtoarele reguli#
!arola are trei caractere dintre care dou trebuie sa fie identice dar
neconsecutive,
caracterul d nu trebuie s fac !arte din !arol - dac da atunci se a&unge :ntr*o
stare de bloca&,
!arola corecta conduce :ntr*o stare marcata :n automat.
+6/ Ce iruri acce!ta automatele#
a%
a$b b
a a
b
b%
b
a
b a
b
b
a
a
V