TEORETYCZNE PODSTAWY INFORMATYKI automaty sko ´nczone
Transkrypt
TEORETYCZNE PODSTAWY INFORMATYKI automaty sko ´nczone
' $ TEORETYCZNE PODSTAWY INFORMATYKI automaty skończone i wyrażenia regularne dr hab. inż. Andrzej Obuchowicz, prof. UZ & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ $ 1/13 Deterministyczny automat skończony (DAS) M = {Q, Σ, δ, q0 , F } ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ δ : Q × Σ → Q – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy; ˛ ✜ F ⊆ Q – zbiór stanów końcowych. & % ' $ TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ 2/13 DAS – przykład 1 start q0 q1 1 0 0 1 0 0 q2 0 1 q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 q3 1 & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ $ 3/13 Zbiory regularne ✚ Łańcuch x jest akceptowalny przez automat skończony M = {Q, Σ, δ, q0 , F }, jeżeli: ∃p ∈ F δ̂(q0 , x) = δ(δ(. . . δ(q0 , x1 ), . . . , xn−1 ), xn ) = p. ✚ Jezyk ˛ akceptowalny przez M : L(M ) = {x|δ̂(q0 , x) ∈ F }. ✚ Jezyk ˛ nazywamy zbiorem regularnym (jezykiem ˛ regularnym) jeżeli jest akceptowalny przez jakiś automat skończony. & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ Niedeterministyczny automat skończony (NAS) $ 4/13 M = {Q, Σ, δ, q0 , F } ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ δ : Q × Σ → 2Q – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy; ˛ ✜ F ⊆ Q – zbiór stanów końcowych. TW. Niech L bedzie ˛ akceptowalny przez NAS. Wtedy istnieje DAS akceptujacy ˛ L. & % ' $ TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ 5/13 NAS – przykład 1 0 start q0 0 q3 1 q1 1 1 & 0 q2 q0 q1 q2 q3 q4 0 q4 0 1 1 0 {q0 , q3 } {q0 , q1 } {q2 } ∅ {q2 } {q2 } ∅ {q4 } {q4 } {q4 } % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ NAS z ε-przejściami $ 6/13 M = {Q, Σ, δ, q0 , F } ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ δ : Q × (Σ ∪ ε) → 2Q – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy; ˛ ✜ F ⊆ Q – zbiór stanów końcowych. TW. Niech L bedzie ˛ akceptowalny przez NAS z ε–przejściami. Wtedy istnieje NAS bez ε–przejść akceptujacy ˛ L. & % ' $ TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ 7/13 NAS z ε–przejściami – przykład 1 0 q1 q0 q0 q1 q2 & ε ε start 2 q2 0 1 2 ε {q0 } ∅ ∅ ∅ {q1 } ∅ ∅ {q2 } {q1 } {q2 } ∅ ∅ % ' $ TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ 8/13 realizacja NAS bez ε–przejść – przykład 1 0 0, 1 start 2 1, 2 q1 q0 q2 0, 1, 2 0 1 q0 {q0 , q1 , q2 } {q1 , q2 } q1 {q1 , q2 } ∅ q2 ∅ ∅ & 2 {q2 } {q2 } {q2 } % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ Złożenie łańcuchów, domkniecie ˛ Kleene’ego $ 9/13 Niech: Σ – skończony alfabet wejściowy, L, L1 , L2 ∈ Σ∗ – zbiory łańcuchów, Złożenie L1 L2 = {xy|x ∈ L1 , y ∈ L2 }. Niech: L0 = {ε}, Li+1 = LLi , Domkniecie ˛ Kleene’ego L S∞ i ∗ L = i=0 L . Domkniecie ˛ dodatnie L & L+ = S∞ i i=1 L . % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ $ 10/13 Wyrażenie regularne ✔ ∅ – wyrażenie regularne reprezentujace ˛ zbiór pusty; ✔ ε – wyrażenie regularne reprezentujace ˛ {ε}; ✔ a – wyrażenie regularne reprezentujace ˛ a ∈ Σ; ✔ Niech r i s sa˛ wyrażeniami regularnymi reprezentujacymi ˛ R i S, to (r + s), rs i r∗ sa˛ wyrażeniami regularnymi jezyki ˛ reprezentujacymi ˛ odpowiednio R ∪ S, RS i R∗ ; TW. Niech r bedzie ˛ wyrażeniem regularnym, wtedy istnieje NAS z ε-ruchami, który akceptuje L(r). TW. Jeżeli L jest akceptowalny przez DAS, to L jest reprezentowany przez wyrażenie regularne. & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ Dwukierunkowy automat skończony (2DAS) $ 11/13 M = {Q, Σ, δ, q0 , F } ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ δ : Q × Σ → Q × {L, P} – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy; ˛ ✜ F ⊆ Q – zbiór stanów końcowych. TW. Jeżeli L jest akceptowalny przez 2DAS, to L jest zbiorem regularnym. & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ $ 12/13 Automat Moore’a M = {Q, Σ, ∆, δ, λ, q0} ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ ∆ – skończony alfabet wyjściowy; ✜ δ : Q × Σ → Q} – funkcja przejścia; ✜ λ : Q → ∆} – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy. ˛ & % ' TPI automaty skończone i . . . – dr hab. inż. A. Obuchowicz, prof. UZ Automat Meally’ego $ 13/13 M = {Q, Σ, ∆, δ, λ, q0} ✜ Q – skończony zbiór stanów (sterowanie skończone); ✜ Σ – skończony alfabet wejściowy; ✜ ∆ – skończony alfabet wyjściowy; ✜ δ : Q × Σ → Q} – funkcja przejścia; ✜ λ : Q × Σ → ∆} – funkcja przejścia; ✜ q0 ∈ Q – stan poczatkowy. ˛ TW. Dla każdego automatu Moore’a istnieje równoważny automat Meally’ego. Dla każdego automatu Meally’ego istnieje równoważny automat Moore’a. & %