lgoritmuselmélet 29 2 gykorlt Véges utomták Legyen Σ = {, } djon meg egy determinisztikus véges utomtát, mely zokt szvkt fogdj el, melyeken páros sok null és pártln sok egyes vn! z ötlet z, hogy számoljuk nullák és egyesek pritását Mivel mindegyikre kettő, zz összesen négy lehetőség vn, 4 állpot lesz V-nk kezdőállpot (), mikor mindkettőől páros vn ( páros szám!) gy htásár nullák pritás, egy htásár z egyesek pritás változik, ennek felelnek meg z átmenetek z elfogdó állpot (), hov páros sok nullávl és pártln sok egyessel jutunk 2 Legyen Σ = {, } djon meg egy determinisztikus véges utomtát, mely zokt szvkt fogdj el, melyeken nullák szám páros, z egyesek szám oszthtó 3-ml! z előzőhöz hsonló, de itt z egyeseket modulo 3 kell számolni z elfogdó állpot kezdőállpot lesz F 3 Legyen Σ = {, } djon meg egy determinisztikus véges utomtát, mely zokt szvkt fogdj el, melyeken szerepel leglá 3 dr -es, 4 Legyen Σ = {, } djon meg egy determinisztikus véges utomtát, mely zokt szvkt fogdj el, melyeken nem szerepel részszó lő felrjzolunk egy V-t mi komplementerét fogdj el, mjd legyen F = Q F 5 Mely szvkt fogdj el ez z utomt? (Σ = {, }),, Jellemezzük z egyes állpotokt megfelelő nyelvekkel! Kisit nézegetve z árát következőre juthtunk L : z -t nem trtlmzó szvk L : vn enne, és z utolsó után páros sok vn, L : vn enne, és z utolsó után pártln sok vn 29 feruár 3 FK
izonyítás: ε L, és vlón kezdeten z állpotn vn z hosszú szó vgy z állpot vgy állpot vezet, jellemzésnek megfelelően továikn zt muttjuk meg, hogy egy szóvl kkor és sk kkor jutunk z X állpot, h szó z L X nyelve trtozik szó hossz szerinti teljes indukióvl járunk el legfelje hosszú szvkr már tudjuk, hogy ez igz Tegyük fel most, hogy legfelje k hosszú szvkr jellemzés helyes és tekintsünk egy w = 2 k k+ szót Három eset vn, ttól függően, hogy k-dik krkter után melyik állpotn vgyunk z állpotn: kkor eddig sup jött H k+ =, kkor megmrd ez tuljdonság és így w L, különen pedig w L Vegyük észre, hogy z utomt mozgás ennek megfelelő, z első eseten mrd z állpotn, másodikn átlép -e állpotn: z indukiós feltevés szerint mivel állpotn vgyunk k-dik krkter után, ezért k L, mi zt jelenti, hogy páros sok vn z utolsó után H következő krkter, kkor ez tuljdonság mrd (null dr lesz z utolsó után), különen meg végső -k pritás változik, w L Megint látjuk, hogy z utomt mozgás ennek megfelelő állpotn: hsonló z előzőhöz: z indukió szerint k L, tehát volt már, és z utolsó után pártln sok volt Most h egy jön, kkor végén levő -k pritás változik H pedig következő krkter, kkor is átkerülünk L -e, hiszen végén levő -k szám null lesz zt láttuk, hogy minden eseten z utomt mozgásánk megfelelően kerülünk át egyik nyelvől másik Mivel három nyelv z összes szó egy prtíióját lkotj, ezzel eláttuk, hogy ez jellemzés helyes z utomt áltl elfogdott nyelv z elfogdó állpotnk megfelelő L nyelv, zz z olyn szvk lkotják, melyeken vn, és z utolsó után páros sok (kár dr) következik 6 Mindkét nemdeterminisztikus véges utomtár, () dj meg szóhoz trtozó,,, számítási fát! () tnult eljárássl készítsen, előlük determinisztikus véges utomtát! () Milyen nyelvet fogdnk el ezek véges utomták?,, Nézzük z elsőt! rre számítási f és determinizált utomt:???? számítási fáról leolvshtó, hogy elfogdj szót, hiszen vn olyn számítási út, mi végig ér és z elfogdó állpotn végződik nemdeterminisztikus változtól jól látszik, hogy zokt szvkt fogdj el, melyeken z és részszvk közül leglá z egyik előfordul H egy ilyen előfordulás első krkterénél hgyjuk el z állpotot, kkor elfogdó állpotn végződik számítás, különen meg nem, mert nem tud eljutni vgy állpotig determinisztikus változton zt lehet megfigyelni, hogy z és állpotok kkor érünk, mikor először jelenik meg két egyform krkter egymás után Innen már sk elfogdó állpotok között mozgunk (miket, épp ezért, h krjuk, össze is vonhtnánk egyetlen elfogdó állpot) 29 feruár 3 2 FK
második utomtánál számítási f és determinizálássl kpott utomt:,,,,,, számítási fán egyik úton sem kdunk el, és mivel vn olyn ág, mi nem -vl végződik, szót z utomt elfogdj Itt V-n látszik, hogy szó első krkterével elfogdó állpot jutunk, és továi krkterek htásár is mindig elfogdó állpot következik Tehát nyelv z összes nem üres szóól áll z nemdeterminisztikus változtól is leolvshtó z utomt z üres szót nem fogdj el, de z első krkterrel át tudunk menni z elfogdó és állpotokól leglá z egyike, továikn mindig vn olyn lehetőség, mi nem z állpot (z egyetlen nem elfogdó állpot) vezet 7 djon nemdeterminisztikus véges utomtát mely zokt szvkt fogdj el, mien szerepel z részszó! z ötlet z, hogy kezdőállpotn várunk míg megfelelő részhez érünk (tehát kilépés nemdeterminisztikus lesz) Után egy állpotlánon végigmenve ellenőrizzük mint meglétét (h közen hiás krkter jön, kkor számítás elkd) megtlált mint után ármi jön, el kell fogdni szót, zz een z elfogdó állpotn mrdunk, ármi is érkezik gy lehetséges megoldás: eterminisztikus utomtát sem nehéz megdni pl így z nem pontosn ugynz, mint mit z előző NV determinizálásávl kpunk, ár nnk egyszerűsítésével is megkphtó,,, q q 2 q 3 q 4 q 5 q 6 8 Igzolj, hogy reguláris z nyelv, melyik z összes olyn / soroztot trtlmzz, melyen vn két olyn, hogy közöttük álló -k szám oszthtó 4-gyel ( két válsztott között továi -ek is előfordulhtnk) hhoz, hogy igzoljuk regulritást elegendő egy NVt muttni z ötlet z, hogy nemdeterminisztikusn kivárjuk míg megfelelő nem jön, innen -kt számoljuk modulo 4 (z esetleg közen jövő -ek nem változttnk z ktuális állpoton) mikor 4-gyel oszthtó dr után egy jön, kkor elfogdó állpot megyünk, és ott is mrdunk, hiszen szó már iztos jó gy lehetséges megoldás:,, 9 Készítsen olyn véges utomtát, mely tizedes tört lkn felírt rionális számokt fogdj el (Σ tizedespontól és,, 2, 3, 4, 5, 6, 7, 8, 9 számjegyekől áll) z elfogdndó szám vgy tizedespont nélküli egész szám (pl 23), vgy trtlmz tizedespontot z utói eseten zt is el kell fogdni, h z egészrész hiányzik (pl helyes z 23456 vgy 456 is, de nem fogdhtó el 23 és h emenet 29 feruár 3 3 FK
sk egyetlen pontól áll) Megköveteljük továá zt is, hogy z egészrész ne kezdődjön felesleges -kl (de pl 456 helyes) Itt z áttekinthetőség kedvéért egy lehetséges hiányos utomtát dunk meg, mi szükség esetén szokott módon teljessé tehető Gondoljuk át, milyen állpotokr vn szükség: kezdőállpotól () átléphetünk egy -t elfogdó (N) H itt egy számjegy jön, kkor emenet helytelen, ezeket z átmeneteket elhgyjuk, és így számítás elkd nullától különöző egész számohoz egy másik állpot () trtozik Itt mrdunk ármilyen továi számjegy esetén, és ez is elfogdó állpot kell legyen zzel z egész számokt kezeltük Tizedespont jöhet N vgy után, és megfelelő állpot (P ) elutsító kell legyen Vgy tizedespont lehet legelső krkter, ekkor viszont egy új állpot kell, mert ez nem elfogdó (P ) ármelyik változtn tizedespont után jöhetnek még számjegyek, és ezekkel ismét elfogdó állpot (T ) H egy új pont következik, kkor emenet hiás, ezt itt ismét elkdássl jelezzük Tehát hiányos V: 9 9 N P 9 P T 9 9 Legyen Σ = {,} jelsoroztokt tekintsük mint ináris számokt djon véges utomtát mely pont háromml oszthtó számokt fogdj el! Vegye figyeleme, hogy szám -vl nem kezdődik, kivéve mg és hogy számokt legmgs helyiértékű számjegytől kezdjük olvsni! lehetséges 3 mrdéknk egy-egy állpot feleljen meg z ezek közötti átmenetekhez vegyük észre, hogy h ináris lkn felírt x szám után egy -t írunk, kkor szám értéke kétszerese lesz, h pedig -et, kkor kétszerese+ ől könnyen kiszámolhtó, melyik mrdékosztályól melyike jutunk egy vgy egy htásár Még rr kell figyelni, hogy h z első krkter, kkor ezt elfogdjuk, de h jön még után vlmi, z már nem jó, N T, M M2 M z L k nyelv álljon z olyn Σ = {,} szvkól, melyeken hátulról számítv k-dik krkter () Mutss meg, hogy minden k esetén vn z L k nyelvet elfogdó, k+ állpotú nemdeterminisztikus véges utomt! () Mutss meg, hogy minden, z L k nyelvet elfogdó determinisztikus véges utomtánk leglá 2 k állpot vn! z () részhez mintillesztő NV mintájár könnyű utomtát dni, pl L 4 -hez ez jó lesz:, q,,, q q 2 q 3 q 4 ()-hez muttunk 2 k dr szót, melyek közül semelyik kettő nem végződhet ugynn z állpotn z grntálj, hogy kell leglá 2 k állpot Vegyük z összes k hosszú szót zekől pont 2 k dr vn Közülük tetszőleges w és w 2 szór teljesül, hogy vn olyn i k, hogy hátulról z i-edik etűjük eltér, legyen mondjuk ez w -en és w 2 -en gészítsük ki mindkét szót k i dr etűvel z így kpott s = w k i L k, hiszen hátulról k-dik etűje, míg s 2 = w 2 k i L k, mert itt meg ez etű Rádás: zzel vn egy lsó eslésünk V méretére Mekkorát sikerül konstruálni? 29 feruár 3 4 FK
2 izonyíts e, hogy minden NV átlkíthtó úgy, hogy ugynzt nyelvet ismerje fel, de pontosn egy elfogdó állpot legyen Vegyünk fel egy új f állpotot H vlmilyen nyíl F -eli állpot mutt, kkor vegyünk fel e mellé egy olyt is, mi ugynonnn indul, de f-e mutt zz h δ(r,) F vlmilyen r Q és Σ esetén, kkor legyen δ (r,) = δ(r,) f, különen δ (r,) = δ(r,) Vlmint legyen δ (f,) = minden Σ esetén és F = {f} H z eredeti utomtán vn egy szór elfogdó számítás, kkor z utolsó lépést z újr serélve egy elfogdó számítást kpunk M -en z fordítv is igz (H F =, kkor t nem lesz elérhető) 3 gy L nyelvől z L R nyelvet úgy kpjuk, hogy minden L-eli szót megfordítunk, zz fordított sorrenden írjuk le krktereket izonyíts e, hogy h L reguláris, kkor L R is z H L reguláris, kkor vn hozzá NV (mi lehet persze V is egyen) ől z előző feldt megoldás szerint készítünk egy olyn NV-t mien elfogdó állpot vn Végül een megfordítunk minden nyilt, legyen q = f és F = {q } Világos, hogy egy szó elfogdó számítási útvonlán visszefelé hldv egy olyn számítási utt kpunk, mi fordított szót fogdj el 29 feruár 3 5 FK