• Nu S-Au Găsit Rezultate

1 Automate finite cu ǫ-tranzit¸ii

N/A
N/A
Protected

Academic year: 2022

Share "1 Automate finite cu ǫ-tranzit¸ii"

Copied!
37
0
0
Arată mai multe ( pagini)

Text complet

(1)

Limbaje Formale, Automate s¸i Compilatoare

Curs 3

2020-21

(2)

Structura cursului

1 Automate finite cu ǫ-tranzit¸ii

2 Automatul determinist minimal

(3)

Automate finite cuǫ-tranzit¸ii

Curs 3

1 Automate finite cu ǫ-tranzit¸ii

2 Automatul determinist minimal

(4)

Automate finite cuǫ-tranzit¸ii

Automate finite cu ǫ-tranzit¸ii

Definit¸ie 1

Un automat finit cu ǫ-tranzit¸ii este un 5-uplu A = (Q, Σ, δ, q 0 , F ), unde:

Q, Σ, q 0 s¸i F sunt definite ca ˆın cazul automatelor finite deterministe

δ este o funct¸ie , δ : Q × (Σ ∪ {ǫ}) → 2 Q , numit ˘a funct¸ia de tranzit¸ie Observat¸ie:

A este automat nedeterminist, dac ˘a δ(q, ǫ) = ∅, ∀q ∈ Q A este automat determinist, dac ˘a, ˆın plus:

|δ(q, a)| = 1, ∀q ∈ Q, ∀a ∈ Σ

(5)

Automate finite cuǫ-tranzit¸ii

Extensia lui δ la cuvinte

Cl (q)-mult¸imea st ˘arilor la care se poate ajunge prin ǫ-tranzit¸ii:

qCl (q)

q

Cl (q) ⇒ δ(q

, ǫ) ⊆ Cl (q )

Dac ˘a SQ, atunci not ˘am:

Cl (S) = [

q∈S

Cl (q)

Extensia lui δ la cuvinte: δ ˆ : Q × Σ → 2 Q

1

δ(q, ǫ) = ˆ Cl (q), ∀q ∈ Q;

2

δ(q, ˆ ua) = Cl(δ(ˆ δ(q, u), a))), ∀q ∈ Q, ∀u ∈ Σ

, ∀a ∈ Σ.

(6)

Automate finite cuǫ-tranzit¸ii

Extensia lui δ la cuvinte

δ(q, ˆ a) = Cl (δ(Cl (q), a)), ∀q ∈ Q, ∀a ∈ Σ

ˆIn cazul automatelor cu ǫ - tranzit¸ii vom p ˘astra notat¸ia δ ˆ pentru extensie pentru c ˘a, ˆın general, δ(q, ǫ) ˆ 6= δ(q, ǫ) s¸i

δ(q, ˆ a) 6= δ(q, a), a ∈ Σ.

δ(q, ˆ uv) = ˆ δ(ˆ δ(q, u), v ), ∀q ∈ Q, ∀u, v ∈ Σ

(7)

Automate finite cuǫ-tranzit¸ii

Limbajul acceptat

Definit¸ie 2

Limbajul acceptat (recunoscut) de automatul cu ǫ-tranzit¸ii A = (Q, Σ, δ, q 0 , F ) este mult¸imea :

L(A) = {w |w ∈ Σ , δ(q ˆ 0 , w)F 6= ∅}.

Un cuv ˆant w este recunoscut de un automat A dac ˘a, dup ˘a citirea

ˆın ˆıntregime a cuv ˆantului w , automatul (pornind din starea init¸ial ˘a

q 0 ) poate s ˘a ajung ˘a ˆıntr-o stare final ˘a.

(8)

Automate finite cuǫ-tranzit¸ii

Automatul determinist echivalent

Teorema 1

Pentru orice automat A cu ǫ - tranzit¸ii exist ˘a un automat A determinist echivalent cu A

Dac ˘a A = (Q, Σ, δ, q 0 , F ) atunci A = (Q , Σ, δ , q 0 , F ) unde:

Q = 2 Q q 0 = Cl (q 0 ) δ (S, a) = Cl ( S

s∈S δ(s, a)) SQ , a ∈ Σ

SF SF 6= ∅

(9)

Automate finite cuǫ-tranzit¸ii

Automatul determinist echivalent

Teorema 1

Pentru orice automat A cu ǫ - tranzit¸ii exist ˘a un automat A determinist echivalent cu A

Dac ˘a A = (Q, Σ, δ, q 0 , F ) atunci A = (Q , Σ, δ , q 0 , F ) unde:

Q = 2 Q q 0 = Cl (q 0 ) δ (S, a) = Cl ( S

s∈S δ(s, a)) SQ , a ∈ Σ SF SF 6= ∅

Au loc:

δ (q 0 , w ) = ˆ δ(q 0 , w), ∀w ∈ Σ

L(A ) = L(A)

(10)

Automate finite cuǫ-tranzit¸ii

Automatul determinist echivalent - algoritm

Intrare: Automatul A (cu ǫ - tranzit¸ii) ; Cl (S)

Ies¸ire: Automatul determinist A

= (Q

, Σ, δ

, q

0

, F

), echivalent cu A.

q

0

= Cl({q

0

}); Q

= {q

0

} ; marcat(q

0

) = false; F

= ∅ ; if (q

0

F 6= ∅) then F

= F

∪ {q

0

} ; while (∃S ∈ Q

&&!marcat(S)) {

for (a ∈ Σ){

S

= Cl ( S

s∈S

δ(s, a));

δ

(S, a) = S

; if (S

6∈ Q

){

Q

= Q

∪ {S

};

marcat(S

) = false;

if (S

F 6= ∅) then F

= F

∪ {S

} ; }

}

marcat(S) = true;

}

(11)

Automate finite cuǫ-tranzit¸ii

Exemplu

(12)

Automate finite cuǫ-tranzit¸ii

Exemplu

(13)

Automatul determinist minimal

Curs 3

1 Automate finite cu ǫ-tranzit¸ii

2 Automatul determinist minimal

(14)

Automatul determinist minimal

St ˘ari accesibile

Fie A = (Q, Σ, δ, q 0 , F ) automat finit determinist

Starea q este accesibil ˘a ˆın A dac ˘a exist ˘a un cuv ˆant w ∈ Σ astfel ˆınc ˆat

q = δ(q 0 , w ).

(15)

Automatul determinist minimal

St ˘ari inseparabile

Fie A = (Q, Σ, δ, q 0 , F ) un automat finit determinist.

Definit¸ie 3

St ˘arile q 1 s¸i q 2 sunt inseparabile ˆın raport cu F , (notat q 1 ρq 2 ) ddac ˘a

∀w ∈ Σ : δ(q 1 , w ) ∈ F ⇔ δ(q 2 , w ) ∈ F

(16)

Automatul determinist minimal

St ˘ari inseparabile

Fie A = (Q, Σ, δ, q 0 , F ) un automat finit determinist.

Definit¸ie 3

St ˘arile q 1 s¸i q 2 sunt inseparabile ˆın raport cu F , (notat q 1 ρq 2 ) ddac ˘a

∀w ∈ Σ : δ(q 1 , w ) ∈ F ⇔ δ(q 2 , w ) ∈ F

Dac ˘a exist ˘a w ∈ Σ cu δ(q 1 , w ) ∈ F s¸i δ(q 2 , w ) 6∈ F (sau invers),

st ˘arile q 1 s¸i q 2 sunt separabile (de c ˘atre w ), s¸i not ˘am q 1 sep q 2

q 1 sep q2 ⇔ ¬q 1 ρq 2 .

(17)

Automatul determinist minimal

St ˘ari inseparabile

Fie A = (Q, Σ, δ, q 0 , F ) un automat finit determinist.

Definit¸ie 3

St ˘arile q 1 s¸i q 2 sunt inseparabile ˆın raport cu F , (notat q 1 ρq 2 ) ddac ˘a

∀w ∈ Σ : δ(q 1 , w ) ∈ F ⇔ δ(q 2 , w ) ∈ F

Dac ˘a exist ˘a w ∈ Σ cu δ(q 1 , w ) ∈ F s¸i δ(q 2 , w ) 6∈ F (sau invers), st ˘arile q 1 s¸i q 2 sunt separabile (de c ˘atre w ), s¸i not ˘am q 1 sep q 2 q 1 sep q2 ⇔ ¬q 1 ρq 2 .

Observat¸ie: dac ˘a q 1F s¸i q 2 6∈ F , atunci q 1 sep q 2

(18)

Automatul determinist minimal

Exemplu

(19)

Automatul determinist minimal

Automat minimal

Observat¸ii:

Relatia ρ este relat¸ie de echivalent¸˘a.

∃a ∈ Σ : δ(p, a) sep δ(q, a) =p sep q.

(20)

Automatul determinist minimal

Automat minimal

Observat¸ii:

Relatia ρ este relat¸ie de echivalent¸˘a.

∃a ∈ Σ : δ(p, a) sep δ(q, a) =p sep q.

Teorema 2

Fie A un automat determinist cu toate st ˘arile accesibile. Daca toate

st ˘arile din A sunt separabile ˆın raport cu F, atunci nu exist ˘a un alt

automat A cu num ˘ar mai mic de st ˘ari s¸i L(A) = L(A ).

(21)

Automatul determinist minimal

Automatul minimal

Fie A = (Q, Σ, δ, q 0 , F ) un automat finit determinist si relat¸ia ρ.

Dac ˘a ∀ q 1 , q 2Q : q 1 sep q 2 , atunci A este minimal.

Altfel, automatul minimal:

A ρ = (Q/ρ, Σ, δ ρ , [q 0 ], F /ρ)

Q/ρ - clasele de echivalent¸˘a ale relat¸iei ρ:

Q/ρ = {[q]|q ∈ Q}

δ

ρ

([q], a) = [δ(q, a)]

[q

0

] clasa de echivalent¸˘a ˆın care se afl ˘a starea q

0

F /ρ = {[q]|q ∈ F }

(22)

Automatul determinist minimal

Exemplu

(23)

Automatul determinist minimal

Automatul minimal

Fie automatul minimal: A ρ = (Q/ρ, Σ, δ ρ , [q 0 ], F /ρ) Q/ρ - clasele de echivalent¸˘a ale relat¸iei ρ:

δ ρ ([q], a) = [δ(q, a)]

[q 0 ] clasa de echivalent¸˘a ˆın care se afl ˘a starea q 0 F /ρ = {[q]|q ∈ F }

Teorema 3

Fie automatul determinist A, cu toate st ˘arile accesibile. Automatul A ρ

construit ca mai sus este automatul cu num ˘ar minim de st ˘ari care

accept ˘a limbajul L(A).

(24)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

Fie A = (Q, Σ, δ, q 0 , F ), Q = {q 0 , q 1 , . . . , q n } Tablou separabil [q i , q j ]:

separabil [q

i

, q

j

] = 1 ddac ˘a q

i

sep q

j

(separabil [q

i

, q

j

] = 0 ddac ˘a q

i

ρq

j

)

init¸ial separabil[q

i

, q

j

] = 1 ddac ˘a q

i

F , q

j

6∈ F (sau invers)

Se va completa apoi separabil[q

i

, q

j

], pentru 0 ≤ i < jn, utiliz ˆand

doar valorile calculate anterior in separabil s¸i funct¸ia δ.

(25)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

lista[p, r ] : (p 6= r )

definit ˘a pentru perechi de st ˘ari cu separabil[p, r] = 0

lista[p, r ] = {(q

i

, q

j

)|separabil [q

i

, q

j

] = 0 ∧ exista a ∈ Σ : p = δ(q

i

, a), r = δ(q

j

, a), (q

i

, q

j

) 6= (p, r )}

lista se completeaz ˘a pe m ˘asur ˘a ce se completeaz ˘a separabil

(26)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

Se init¸ializeaz ˘a tabloul separabil (separabil[q i , q j ] = 1, dac ˘a q iF , q j 6∈ F sau invers)

Pentru orice q i , q j (0 ≤ i < jn) cu separabil[q i , q j ] = 0 :

(27)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

Se init¸ializeaz ˘a tabloul separabil (separabil[q i , q j ] = 1, dac ˘a q iF , q j 6∈ F sau invers)

Pentru orice q i , q j (0 ≤ i < jn) cu separabil[q i , q j ] = 0 : Dac ˘a exist ˘a a ∈ Σ cu separabil [δ(q

i

, a), δ(q

j

, a)] = 1, atunci:

separabil[q

i

, q

j

] = 1

trebuie modificat tabloul separabil pentru toate perechile de st ˘ari a

c ˘aror separabilitate depinde de q

i

, q

j

(perechile de st ˘ari din

lista[q

i

, q

j

])

(28)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

Se init¸ializeaz ˘a tabloul separabil (separabil[q i , q j ] = 1, dac ˘a q iF , q j 6∈ F sau invers)

Pentru orice q i , q j (0 ≤ i < jn) cu separabil[q i , q j ] = 0 : Dac ˘a exist ˘a a ∈ Σ cu separabil [δ(q

i

, a), δ(q

j

, a)] = 1, atunci:

separabil[q

i

, q

j

] = 1

trebuie modificat tabloul separabil pentru toate perechile de st ˘ari a c ˘aror separabilitate depinde de q

i

, q

j

(perechile de st ˘ari din lista[q

i

, q

j

])

Altfel (pentru orice a ∈ Σ are loc separabil [δ(q

i

, a), δ(q

j

, a)] = 0):

pentru orice a ∈ Σ cu δ(q

i

, a) 6= δ(q

j

, a) adaug ˘a (q

i

, q

j

) la

lista[δ(q

i

, a), δ(q

j

, a)]

(29)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

//initializarea tablourilor,

se marcheaz˘ a perechile F × (Q − F ) si (Q − F ) × F 1.for (i=0; i<=n-1; i++)

2. for (j=i+1,j<=n; j++) { 3. lista[qi,qj]=∅;

4. if ((qi ∈ F && qj 6∈ F ) || (qi 6∈ F && qjF ))

5. separabil[qi,qj]=1;

6. else

7. separabil[qi,qj]=0;

8. }

(30)

Automatul determinist minimal

9.for (i=0; i<=n-1; i++) 10. for (j=i+1,j<=n; j++) {

//se selecteaza doar starile inseparabile 11. if (separabil[qi,qj]==0) {

//daca exista a astfel incat δ(qi , a) sep δ(qj , a) //inseamna ca qi si qj sunt separabile 12. if ( ∃ a ∈ Σ : separabil [δ(qi, a), δ(qj, a)] == 1) {

// qi si qj devin separabile si la fel toate // perechile de stari dependente de qi,qj

13. update separabil(qi, qj );

14. }

15. else {

16. for (a ∈ Σ : δ(qi , a) 6= δ(qj , a)&& (qi , qj ) 6= (δ(qi , a), δ(qj, a))) 17. adauga (qi, qj) la lista[δ(qi, a), δ(qj, a)]

18. }

19. }

20. }

(31)

Automatul determinist minimal

Algoritm pentru determinarea relat¸iei ρ

// qi si qj devin separabile si la fel toate // perechile de stari dependente de qi,qj update separabil(qi, qj ){

separabil[qi , qj ] = 1;

for ((q

i

, q

j

) ∈ lista[qi , qj ]){

if (separabil [q

i

, q

j

] == 0) update separabil(q

i

, q

j

);

}

}

(32)

Automatul determinist minimal

Exemplu

(33)

Automatul determinist minimal

Exemplu

(34)

Automatul determinist minimal

Exemplu

(35)

Automatul determinist minimal

Exemplu

(36)

Automatul determinist minimal

Exemplu

(37)

Automatul determinist minimal

Exemplu

Referințe

DOCUMENTE SIMILARE

C ile care conduc la acest deziderat sunt cre terea num rului de studen i cu tax i studen i str ii valutari, dezvoltarea i eficientizarea pe plan superior a

Obiectiv: Depistarea în faze curabile a etiologiei bacteriene şi fungice urmărită comparativ cu ajutorul a două sisteme automate de screening microbiologic (VersaTREK versus

Recomandare important˘ a (1) La fiecare curs ¸si seminar, student¸ii vor avea culegerea de Exercit¸ii de ˆınv˘ at¸are automat˘ a (de L. Ciortuz et al) — v˘ a recomand˘ am s˘

Consider˘am cercul (con- structibil) € , cu centrul ˆın punctul O s¸i de raz˘a OI. Vom construi acum mediatoarea segmentului II 0. Not˘am cu K unul dintre punctele de

Pentru analiza calit ii aerului interior în spa iile de locuit din municipiul Craiova s-a realizat i aplicat un chestionar cu privire la aprecierea calit ii mediului în perioada 7 -

Face parte din familia Bacillaceae, alături de genul Clostridium. În genul Bacillus sunt incluşi bacili Gram pozitivi, aerobi, facultativ anaerobi, imobili, sporulaţi,

Condit¸iile init¸iale ne sunt familiare de la ecuat¸ii diferent¸iale iar problemele ce constau ˆın rezolvarea unei ecuat¸ii cu derivate part¸iale cu condit¸ii init¸iale se

vectoriale tangente la S, se nume¸ste tensorul de curbur˘a a lui S.. Consider˘am ˆın U o submult¸ime B care este interiorul unei curbe ˆınchise de clas˘a C 2 notat˘a prin

Taboos and /ssues Sport and money.. Body beautiful fingernails and silky-smooth hair removal, manicures, pedicures, teeth legs is exclusively female, think again. As

Astfel, dac avem spre exemplu un bilet cu 5 evenimente i dorim s avem un câ tig chiar dac pierdem un singur eveniment, vom avea combin ri de 5 luate câte 4 i anume 5 combina ii

– pot fi adăugate şi alte componente, nu doar text – în prezent e înlocuit cu listview (cu linii automat. precedate de un icon) – atenţie la alegerea controalelor

Pentru situat¸ia ˆın care avem doar o dependent¸˘a de timp pentru matricea H demonstr˘am unicitatea s¸i existent¸a unei solut¸ii tari pentru problema studiat˘a (ˆımpreun˘a

Frecventa studentilor din anii I si II în anul 2003 este obligatorie la toate formele de activitate ( curs, seminar, lucrari, proiect) iar la anii mari este obligatorie

•   Un agent capabil să “înțeleagă” situațiile în care se află Masterul său, să le transpună în text și să conducă un dialog rela-v la ele.. Proiectul IA al

Execută click pe butonul Compress Dialog (butonul de comprimare a casetei de dialog) pentru a avea acces la foaia de calcul şi execută click în celula care conţine valoarea pe

Toader - Limbaje formale s¸i automate, Editura Matrix Rom, Bucuresti, 1999....

- determinare teofilinemie (daca este accesibila) daca pacientul era în tratament cu teofilina la internare. - examen microscopic (frotiu gram) din sputa si cultura din sputa

Madeleine [i-ar fi petrecut vara la {coala de Fete Brunswick doar ca s\ dejoace planurile pe care p\rin]ii le aveau pentru ea.. Ar fi tr\it cu ap\ de la ]â[nitoare [i cu gust\rile de

Alfabet: V o mult¸ime finit ˘a (elementele lui V = simboluri ) Cuv ˆant: s¸ir finit de simboluri. cuv ˆantul nul este notat cu ǫ

A fost ceva incredibil să scriu ce aveam î�n minte s�i să primesc comentarii de la cei- lalt�i părint�i care spuneau: „S�i eu la fel!” s�i asta m-a inspirat să

Henceforth, the aim of our study was to compare the treatment durations of subjects with Class I, Class III and Class II division 1 (II/1) malocclusions, pre and post-

Selenium is a popular, freely available testing tool that is used to test online and real-time applications.. Since Selenium was suggested to automate the

To automate this process, the proposed DaRoN technique uses IoT sensors to collect data and stores the collected data in cloud.. Later the collected data are pre-processed using the