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.
&
%

Podobne dokumenty