Języki, automaty i obliczenia/Ćwiczenia 3: Automat skończenie stanowy

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

ĆWICZENIA 3

Ćwiczenie 1

Dla jakich k słowo ak należy do języka akceptowanego przez automat z rysunku 1.

Rysunek 1
Rozwiązanie

Ćwiczenie 2

Opisz słownie język L akceptowany przez poniższy automat.
Rysunek 2
Rozwiązanie

Ćwiczenie 3

Wyznacz prawą kongruencję automatową dla trzystanowego automatu z rysunku 2 (patrz ćwiczenie 2).

Rozwiązanie

Ćwiczenie 4

Uzupełnij poniższy rysunek w ten sposób, by uzyskany 4-stanowy automat nie akceptował żadnego słowa nad alfabetem {a,b}, w którym dwie litery b występują obok siebie.

Rysunek 3


Rozwiązanie

Ćwiczenie 5

Sprawdź, czy następujące automaty są równoważne.
Rysunek 5


Rozwiązanie

Ćwiczenie 6

Wyznacz automat 𝒜=(S={s1,s2},f) (nad alfabetem {a,b}), którego reprezentacja τ𝒜 spełnia następujące warunki:

  • i{1,2} τ𝒜(b)(si)=s3i (i=1,2),
  • sS τ𝒜(ab)(s)=s1

Czy automat ten jest wyznaczony jednoznacznie?

Rozwiązanie

Ćwiczenie 7

Określ monoid przejść automatu 𝒜 zadanego grafem

Rysunek 6

Jakie języki akceptują automaty 𝒜i dla i=0,1,2, zadane grafem z rysunku 6, jeśli stanem początkowym jest s0, a zbiór stanów końcowych Ti={si}?


Rozwiązanie

Ćwiczenie 8

Rozważmy automat synchronizujący 𝒜=(S,A,f), gdzie S jest n-elementowym zbiorem stanów, a A dowolnym, skończonym alfabetem (definicja automatu synchronizującego podana jest w wykładzie nr 3). Dla automatu synchronizującego 𝒜 jego najkrótsze słowo synchronizujące nazywamy minimalnym słowem synchronizującym, a jego długość oznaczamy przez m(𝒜). Niech SYN(n) oznacza zbiór wszystkich n-stanowych automatów synchronizujących i tylko takich.

Udowodnij, że

𝒜SYN(n) m(𝒜)n3.
Wskazówka
Rozwiązanie
ZADANIA DOMOWE

Ćwiczenie 9

Sprawdź, które z poniższych słów należą do języka akceptowanego przez automat z ćwiczenia 1 (patrz ćwiczenie 1.)

(1) abbbab,
(2) aabbaa,
(3) a6,
(4) ababaa,
(5) ba.

Ćwiczenie 10

Sprawdź, czy następujące automaty są równoważne.
Rysunek 7


Ćwiczenie 11

Wyznacz monoid przejść następującego automatu:
Rysunek 8


Ćwiczenie 12

Określ automat 𝒜 akceptujący język

L(𝒜)={w{a,b}:#aw=#bwmod2}.