logo

DFA piemēri

1. piemērs:

Izveidojot FA ar ∑ = {0, 1}, tiek pieņemta virkne, kas sākas ar 1 un beidzas ar 0.

Risinājums:

FA būs sākuma stāvoklis q0, no kura tikai mala ar ievadi 1 pāries uz nākamo stāvokli.

Deterministisko galīgo automātu piemēri

Stāvoklī q1, ja mēs nolasām 1, mēs būsim stāvoklī q1, bet, ja nolasīsim 0 stāvoklī q1, mēs nonāksim līdz stāvoklim q2, kas ir gala stāvoklis. Stāvoklī q2, ja mēs lasām 0 vai 1, mēs pāriesim attiecīgi uz q2 vai q1 stāvokli. Ņemiet vērā, ka, ja ievade beidzas ar 0, tā būs gala stāvoklī.

csv failu lasīšana java

2. piemērs:

Izveidojiet FA ar ∑ = {0, 1}, kas pieņem vienīgo ievadi 101.

Risinājums:

Deterministisko galīgo automātu piemēri

Dotajā risinājumā redzams, ka tiks pieņemta tikai ievade 101. Tādējādi ieejai 101 citai ievadei nav parādīts cits ceļš.

3. piemērs:

Dizains FA ar ∑ = {0, 1} pieņem pāra skaitu 0 un pāra skaitu 1.

Risinājums:

pretrunīga meklēšana

Šajā FA tiks ņemti vērā četri dažādi posmi ievadei 0 un ievadei 1. Posmi varētu būt šādi:

Deterministisko galīgo automātu piemēri

Šeit q0 ir sākuma stāvoklis un arī beigu stāvoklis. Uzmanīgi ņemiet vērā, ka tiek saglabāta 0 un 1 simetrija. Mēs varam saistīt nozīmes katram stāvoklim kā:

q0: pāra skaita 0 un pāra skaitļu 1 stāvoklis.
q1: nepāra skaita 0 un pāra skaitļu 1 stāvoklis.
q2: nepāra 0 un nepāra 1 skaita stāvoklis.
q3: pāra skaita 0 un nepāra skaita 1 stāvoklis.

4. piemērs:

Dizains FA ar ∑ = {0, 1} pieņem visu virkņu kopu ar trim secīgām 0.

Risinājums:

Virknes, kas tiks ģenerētas šai konkrētajai valodai, ir 000, 0001, 1000, 10001, .... kurās 0 vienmēr parādās 3 kopā. Pārejas grafiks ir šāds:

Deterministisko galīgo automātu piemēri

Ņemiet vērā, ka trīskāršo nulles secība tiek saglabāta, lai sasniegtu galīgo stāvokli.

5. piemērs:

Izveidojiet DFA L(M) = {w | w ε {0, 1}*} un W ir virkne, kas nesatur secīgus 1.

Risinājums:

Ja parādās trīs secīgi 1, DFA būs:

Deterministisko galīgo automātu piemēri

Šeit ir pieņemami divi secīgi 1 vai viens 1

Deterministisko galīgo automātu piemēri

Posmi q0, q1, q2 ir beigu stāvokļi. DFA ģenerēs virknes, kas nesatur secīgus 1, piemēram, 10, 110, 101 utt.

6. piemērs:

Izveidojot FA ar ∑ = {0, 1}, tiek pieņemtas virknes ar pāra skaitu 0, kam seko viens 1.

ieslēdziet java

Risinājums:

DFA var parādīt ar pārejas diagrammu kā:

Deterministisko galīgo automātu piemēri