logo

Voorbeelden van DFA

Voorbeeld 1:

Ontwerp een FA met ∑ = {0, 1} accepteert die strings die beginnen met 1 en eindigen met 0.

Oplossing:

De FA zal een starttoestand q0 hebben, van waaruit alleen de flank met ingang 1 naar de volgende toestand zal gaan.

Voorbeelden van deterministische eindige automaten

Als we in toestand q1 1 lezen, bevinden we ons in toestand q1, maar als we 0 lezen in toestand q1, bereiken we toestand q2, wat de eindtoestand is. Als we in toestand q2 0 of 1 lezen, gaan we respectievelijk naar de toestand q2 of q1. Houd er rekening mee dat als de invoer eindigt op 0, deze zich in de eindstatus bevindt.

Voorbeeld 2:

Ontwerp een FA met ∑ = {0, 1} accepteert de enige invoer 101.

Java breken

Oplossing:

Voorbeelden van deterministische eindige automaten

In de gegeven oplossing kunnen we zien dat alleen invoer 101 wordt geaccepteerd. Voor ingang 101 is er dus geen ander pad getoond voor andere ingangen.

Voorbeeld 3:

Ontwerp FA met ∑ = {0, 1} accepteert een even aantal nullen en een even aantal enen.

Oplossing:

Deze FA beschouwt vier verschillende fasen voor ingang 0 en ingang 1. De fasen kunnen zijn:

Voorbeelden van deterministische eindige automaten

Hier is q0 een starttoestand en ook de eindtoestand. Let er goed op dat een symmetrie van nullen en enen behouden blijft. We kunnen betekenissen aan elke toestand associëren als:

q0: toestand van even aantal nullen en even aantal enen.
Q1: toestand van een oneven aantal nullen en een even aantal enen.
Q2: toestand van een oneven aantal nullen en een oneven aantal enen.
Q3: toestand van een even aantal nullen en een oneven aantal enen.

Voorbeeld 4:

Ontwerp FA met ∑ = {0, 1} accepteert de verzameling van alle strings met drie opeenvolgende nullen.

Oplossing:

De strings die voor deze specifieke talen worden gegenereerd zijn 000, 0001, 1000, 10001, .... waarin 0 altijd in een groep van 3 verschijnt. De overgangsgrafiek is als volgt:

Voorbeelden van deterministische eindige automaten

Merk op dat de reeks drievoudige nullen wordt gehandhaafd om de eindtoestand te bereiken.

Voorbeeld 5:

Ontwerp een DFA L(M) = {w | w ε {0, 1}*} en W is een string die geen opeenvolgende enen bevat.

Oplossing:

Als er drie opeenvolgende 1's voorkomen, is de DFA:

sites zoals coomeet
Voorbeelden van deterministische eindige automaten

Hier zijn twee opeenvolgende enen of een enkele 1 acceptabel

Voorbeelden van deterministische eindige automaten

De fasen q0, q1, q2 zijn de eindtoestanden. De DFA genereert de tekenreeksen die geen opeenvolgende 1-en bevatten, zoals 10, 110, 101,... enz.

Voorbeeld 6:

Ontwerp een FA met ∑ = {0, 1} accepteert de strings met een even aantal nullen gevolgd door een enkele 1.

Oplossing:

De DFA kan worden weergegeven door een overgangsdiagram als:

Voorbeelden van deterministische eindige automaten