logo

Esimerkkejä DFA:sta

Esimerkki 1:

Suunnittele FA, jossa ∑ = {0, 1} hyväksyy ne merkkijonot, jotka alkavat 1:llä ja päättyvät 0:aan.

Ratkaisu:

FA:lla on aloitustila q0, josta vain syöte 1 oleva reuna siirtyy seuraavaan tilaan.

Esimerkkejä deterministisista äärellisistä automaattisista

Tilassa q1, jos luemme 1, olemme tilassa q1, mutta jos luemme 0 tilassa q1, pääsemme tilaan q2, joka on lopullinen tila. Jos tilassa q2 luemme joko 0 tai 1, menemme vastaavasti q2- tai q1-tilaan. Huomaa, että jos syöte päättyy nollaan, se on lopullisessa tilassa.

kyselyvalitsin

Esimerkki 2:

Suunnittele FA, jossa ∑ = {0, 1} hyväksyy ainoan syötteen 101.

Ratkaisu:

Esimerkkejä deterministisista äärellisistä automaattisista

Annetussa ratkaisussa voimme nähdä, että vain syöte 101 hyväksytään. Tästä syystä tulolle 101 ei ole esitetty muuta polkua toiselle tulolle.

Esimerkki 3:

Suunnittelu FA, jossa ∑ = {0, 1} hyväksyy parillisen määrän nollia ja parillisen määrän ykkösiä.

Ratkaisu:

mitkä kuukaudet ovat Q1

Tämä FA käsittelee neljää eri vaihetta tulolle 0 ja sisääntulolle 1. Vaiheet voivat olla:

Esimerkkejä deterministisista äärellisistä automaattisista

Tässä q0 on aloitustila ja myös lopputila. Huomaa huolellisesti, että 0:n ja 1:n symmetria säilyy. Voimme liittää merkityksiä jokaiseen tilaan seuraavasti:

q0: parillisten nollien ja parillisten 1:iden tila.
q1: pariton määrä nollia ja parillinen määrä 1:tä.
q2: pariton määrä nollia ja pariton määrä 1:tä.
q3: parillisten nollien ja parittomien 1:iden tila.

Esimerkki 4:

Suunnittelu FA, jossa ∑ = {0, 1} hyväksyy kaikkien merkkijonojen joukon kolmella peräkkäisellä nollalla.

Ratkaisu:

Tälle tietylle kielelle luotavat merkkijonot ovat 000, 0001, 1000, 10001, .... joissa 0 esiintyy aina 3:n ryhmässä. Siirtymäkaavio on seuraava:

Esimerkkejä deterministisista äärellisistä automaattisista

Huomaa, että kolminkertaisten nollien sarja säilytetään lopullisen tilan saavuttamiseksi.

Esimerkki 5:

Suunnittele DFA L(M) = {w | w ε {0, 1}*} ja W on merkkijono, joka ei sisällä peräkkäisiä ykkösiä.

Ratkaisu:

Kun kolme peräkkäistä ykköstä esiintyy, DFA on:

Esimerkkejä deterministisista äärellisistä automaattisista

Tässä kaksi peräkkäistä ykköstä tai yksittäinen 1 on siis hyväksyttävä

Esimerkkejä deterministisista äärellisistä automaattisista

Vaiheet q0, q1, q2 ovat lopputiloja. DFA luo merkkijonot, jotka eivät sisällä peräkkäisiä ykkösiä, kuten 10, 110, 101 jne.

Esimerkki 6:

Suunnittele FA, jossa ∑ = {0, 1} hyväksyy merkkijonot, joissa on parillinen määrä nollia ja yksittäinen 1.

merkkijonojen joukko c ohjelmointi

Ratkaisu:

DFA voidaan näyttää siirtymäkaaviolla seuraavasti:

Esimerkkejä deterministisista äärellisistä automaattisista