Professional Documents
Culture Documents
Wyklad 2
Wyklad 2
Wykład 2
dr Maciej Dziemiańczuk
Instytut Informatyki
Wydział Matematyki, Fizyki i Informatyki
Uniwersytet Gdański
Niech L jest takim językiem nad alfabetem {a, b}, który zawiera te słowa, w których
liczba liter a jest parzysta i niezerowa, natomiast liczba liter b jest dowolna.
1
Wstępnie
Niech L jest takim językiem nad alfabetem {a, b}, który zawiera te słowa, w których
liczba liter a jest parzysta i niezerowa, natomiast liczba liter b jest dowolna.
1
Wstępnie
Niech L jest takim językiem nad alfabetem {a, b}, który zawiera te słowa, w których
liczba liter a jest parzysta i niezerowa, natomiast liczba liter b jest dowolna.
Tak, ponieważ...
1
Wstępnie
Niech L jest takim językiem nad alfabetem {a, b}, który zawiera te słowa, w których
liczba liter a jest parzysta i niezerowa, natomiast liczba liter b jest dowolna.
Tak, ponieważ...
Wybieram dowolne słowo w ∈ {a, b}. Czy jest jakiś “prosty mechanizm”, który
stwierdza, że w ∈ L albo w ̸∈ L?
1
Wstępnie
Niech L jest takim językiem nad alfabetem {a, b}, który zawiera te słowa, w których
liczba liter a jest parzysta i niezerowa, natomiast liczba liter b jest dowolna.
Tak, ponieważ...
Wybieram dowolne słowo w ∈ {a, b}. Czy jest jakiś “prosty mechanizm”, który
stwierdza, że w ∈ L albo w ̸∈ L?
1
Deterministyczne automaty
skończone
Deterministyczny automat skończony
2
Deterministyczny automat skończony
Automat skończony
Składa się z:
2
Deterministyczny automat skończony
Automat skończony
Składa się z:
• stanów,
2
Deterministyczny automat skończony
Automat skończony
Składa się z:
• stanów,
• stanu początkowego i stanów akceptujących,
2
Deterministyczny automat skończony
Automat skończony
Składa się z:
• stanów,
• stanu początkowego i stanów akceptujących,
• przejść pomiędzy stanami.
2
Deterministyczny automat skończony
3
Deterministyczny automat skończony
3
Deterministyczny automat skończony
3
Deterministyczny automat skończony
4
Deterministyczny automat skończony
5
Deterministyczny automat skończony
6
Deterministyczny automat skończony
• aaa
• abaa
• aabaaaa
6
Deterministyczny automat skończony
• aaa
• abaa
• aabaaaa
6
Deterministyczny automat skończony
7
Deterministyczny automat skończony
L(A) =
7
Deterministyczne automaty
skończone – pojęcia i definicje
Deterministyczny automat skończony
Definicja 1
8
Deterministyczny automat skończony
Definicja 1
δ a b
q0 q1 q0
q1 q2 q1
q2 q1 q2
8
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
9
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
9
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
9
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
β0 , β1 , . . . , βk ,
9
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
β0 , β1 , . . . , βk ,
9
Deterministyczny automat skończony
Definicje i pojęcia
• Konfiguracją automatu jest wyrażenie postaci qw , gdzie q ∈ Q, natomiast w jest
zawartością taśmy wejściowej, która nie została jeszcze przeczytana.
β0 , β1 , . . . , βk ,
9
Deterministyczny automat skończony
Pytanie: czy mogą istnieć dwa różne automaty akceptujące ten sam język?
10
Deterministyczny automat skończony
Pytanie: czy mogą istnieć dwa różne automaty akceptujące ten sam język?
10
Deterministyczny automat skończony
Pytanie: czy mogą istnieć dwa różne automaty akceptujące ten sam język?
Definicja 2
10
Przykłady automatów
10
Przykłady
Przykład 1. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, które
zaczynają się na literę a i kończą się na b.
(a) Podaj wyrażenie regularne opisujące język L.
(b) Podaj automat A akceptujący język L.
11
Przykłady
Przykład 1. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, które
zaczynają się na literę a i kończą się na b.
(a) Podaj wyrażenie regularne opisujące język L.
(b) Podaj automat A akceptujący język L.
11
Zadania i pytania
Zadanie 1. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, w których
liczba liter a oraz b jest parzysta.
(a) Podaj automat A akceptujący język L.
(b) Podaj wyrażenie regularne opisujące język L.
12
Zadania i pytania
Zadanie 1. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, w których
liczba liter a oraz b jest parzysta.
(a) Podaj automat A akceptujący język L.
(b) Podaj wyrażenie regularne opisujące język L.
12
Zadania i pytania
Zadanie 1. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, w których
liczba liter a oraz b jest parzysta.
(a) Podaj automat A akceptujący język L.
(b) Podaj wyrażenie regularne opisujące język L.
12
Niedeterministyczny automat
skończony
Niedeterministyczny automat skończony
Automat deterministyczny
Obliczenie automatu na dowolnie wybranym słowie jest zawsze jednoznaczne
(deterministyczne).
13
Niedeterministyczny automat skończony
Automat deterministyczny
Obliczenie automatu na dowolnie wybranym słowie jest zawsze jednoznaczne
(deterministyczne).
Funkcja przejścia
δ a b
q0 q1 –
q1 q2 q1
q2 – –
13
Niedeterministyczny automat skończony
Automat deterministyczny
Obliczenie automatu na dowolnie wybranym słowie jest zawsze jednoznaczne
(deterministyczne).
Funkcja przejścia
δ a b
q0 q1 –
q1 q2 q1
q2 – –
13
Niedeterministyczny automat skończony
Automat niedeterministyczny
Automat niedeterministyczny to taki, dla którego istnieją słowa, które mają więcej niż
jedno obliczenie.
14
Niedeterministyczny automat skończony
Automat niedeterministyczny
Automat niedeterministyczny to taki, dla którego istnieją słowa, które mają więcej niż
jedno obliczenie.
Funkcja przejścia
δ a b
q0 {q1 } –
q1 {q1 , q2 } {q1 }
q2 – –
14
Niedeterministyczny automat skończony
Automat niedeterministyczny
Automat niedeterministyczny to taki, dla którego istnieją słowa, które mają więcej niż
jedno obliczenie.
Funkcja przejścia
δ a b
q0 {q1 } –
q1 {q1 , q2 } {q1 }
q2 – –
14
Niedeterministyczny automat skończony
Automat niedeterministyczny
Automat niedeterministyczny to taki, dla którego istnieją słowa, które mają więcej niż
jedno obliczenie.
15
Niedeterministyczny automat skończony
Automat niedeterministyczny
Automat niedeterministyczny to taki, dla którego istnieją słowa, które mają więcej niż
jedno obliczenie.
15
Przykłady
Przykład 3. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, które
zawierają podsłowo aba.
(a) Podaj wyrażenie regularne opisujące język L.
(b) Podaj niedeterministyczny automat A akceptujący język L.
16
Przykłady
Przykład 3. Niech L jest językiem nad alfabetem {a, b} złożonym ze słów, które
zawierają podsłowo aba.
(a) Podaj wyrażenie regularne opisujące język L.
(b) Podaj niedeterministyczny automat A akceptujący język L.
16
Czy automaty niedeterministyczne
“potrafią” więcej?
16
c. d. n.
16
Ćwiczenia 2
17
Opis zachowania przeciwnika w grze.
17