Upload
cristina-tomia
View
57
Download
0
Embed Size (px)
DESCRIPTION
Automate finite Limbaje formale si automaTE MITRANA
Citation preview
Automatele Pushdown (PDA)
Andrei Paun
CuprinsMotivareDefinitieExempleModuri de acceptareDeterminism si nedeterminismRelatia cu gramaticile independente de contextDeterminism si CFGSumar
MotivareDFA/NFA nu sunt suficient de puternice
{aibi| i>0}gramatica: S-> aSb|ab{wwr|w din {a+b}*} palindrom de lungime paragramatica: S-> aSa|bSb|limbajul format din paranteze balansategramatica: S->(S)|SS|
MotivareAutomate Pushdown: -NFA cu stiva
pentru marit puterea NFA-urilor restrictionam regulile/ tranzitiileavem acces la o stiva (LIFO)
Automate Pushdown -- PDACuvantul de intrareStivaStarile
Reprezentare graficaSimbol de intraresimbolpopcuvantpush
Simbolul initial pe stivaStivaStivaSibolul special (ultimul din stiva)capul stiveitopApare la momentul 0
topinputstivainlocuim
Pushtopinputstiva
Poptopinputstiva
PoptopinputstivaStiva vidavida Automatul SE OPRESTEnu mai avem tranzitii posibile dupa
PoptopinputstivaO tranzitie posibila
NedeterminismPDA-urile sunt nedeterministeTranzitiile nedeterministe sunt posibile
Exemplu de PDAPDA
Ideea de baza:Push a-urii pe stiva2. pentru fiecare b de la intrare consumam un a de pe stiva 3. Am gasit un cuvant
Exemplu de executie:Inputstarea curentamomentul 0Stiva
Inputstarea curentaStiva
Inputstarea curentaStivaTimpul 1
Inputstarea curentaStivaTimpul 2
Inputstarea curentaStivaTimpul 3
Inputstarea curentaStivaTimpul 4
Inputstarea curentaStivaTimpul 5
Inputstarea curentaStivaTimpul 6
Inputstarea curentaStivaTimpul 7acceptam
Inputstarea curentaStivaTimpul 0Exemplu de Rejectare:
Inputstarea curentaStivaTimpul 0
Inputstarea curentaStivaTimpul 1
Inputstarea curentaStivaTimpul 2
Inputstarea curentaStivaTimpul 3rejectam
Exemplu{wwr|w din {a+b}*}pornim intr-o stare s1 care va face o alegere nedeterminista daca am ajuns sau nu la mijlocul cuvantului. Daca nu am ajuns, se salveaza pe stiva literele citite de la intraredin s1 mergem in s2 (in momentul alegerii nedeterministe)in s2 se compara simbolurile de pe stiva cu simbolurile de intraredaca ajungem la sfarsitul cuvantului de intrare si stiva este goala acceptam (mergem intr-o stare finala s3)
DefinitieAutomate Pushdown Starialfabetul de intrarealfabetulstiveifunctiatranzitiilorstarilefinalesimbolul de pe stivastarea initiala
mergem din starea q in q citind de la intrare a (care poate sa file ) si citind de pe stiva simbolul X. In final ajungem in starea q si inlocuim X cu X pe stiva
Descriere instantanee Stareacurentacuvantul de intrare ramas
continutulcurent alstivei
Modul de operare al PDAdaca definim
Limbajele acceptate de PDAAcceptare prin stare finala: Se porneste din starea initiala, se accepta daca am ajuns intr-o stare finala (la fel ca in cazul automatelor finite)
Acceptare prin stiva vida: Se porneste din starea initiala, se accepta daca am ajuns la sfarsitul cuvantului intr-o configuratie cu stiva vida
se poate arata simplu echivalenta dintre cele doua moduri de acceptare
Acceptare prin stare finala si stiva vida: Se porneste din starea initiala, se accepta daca am ajuns la sfarsitul cuvantului intr-o stare finala si cu stiva vida
Determinism si nedeterminismDefinitie: un PDA este deterministic daca contine cel mult un element pentru oricedaca nu este vid pentru atunci este vid
observatii pentru DPDADPDA accepta -tranzitiifiecare tranzitie este determinata de catre starea curenta, simbolul de intrare curent si simbolul din capul stiveipentru o pereche stare-simbol de intrare putem sa avem o multitudine de tranzitii diferentiate de sibolul de pe stiva
Proprietati pentru DPDAdaca avem TDPDA, NDPDA, LDPDA fiind familiile de limbaje acceptate de DPDA prin stare finala, stiva vida si stare finala si stiva vida, respectivavem NDPDA =LDPDA inclus in TDPDA
exemplu: L={ambn|mn, n>0}
L=T(A), dar L nu apartine lui NDPDA
CFL deterministeDefinitie: limbajele independente de context deterministe sunt toate limbajele acceptate de DPDA prin modul de acceptare stare finala
DCFLs sunt incluse strict in CFLsexemple: L={anbn|0n}U{anb2n|0n}{wwr|w din {a+b}*}
Relatia cu limbajele independente de contextPDA (nedeterministe) sunt echivalente cu CFGse demonstreaza ca pentru orice gramatica G se poate construi un PDA A care accepta limbajul generat de Gsi apoi se demonstreaza ca pentru orice PDA A se poate construi o gramatica G care genereaza toate cuvintele acceptate de automatul A
L(CFG) inclus in L(PDA)fie G o gramatica independenta de contextconstruim automatul A cu 3 stari si tranzitiile
DCFL proprietati de inchidereDCFL sunt inchise la complementare intersectie cu limbaje regulate
DCFL nu sunt inchise lareuniuneintersectie
SumarPDA: un -NFA cu stivaAcceptare: stare finala, stiva vida, 1&2modurile de acceptare sunt echivalente pentru PDAPDA sunt echivalente cu CFGDPDA sunt strict incluse in PDAmodurile de acceptare nu sunt echivalente pentru DPDAREG inclus in DPDA inclus in CFG