Zbiór - pojęcie pierwotne
iloczyn kartezjański zbiorów
to pojęcie można rozszerzyć
Relacja
każdy podzbiór iloczynu kartezjańskiego
spełniający relację
.
Relacja dwuargumentowa
określona w zbiorze A jest
zwrotna
symetryczna
przechodnia
Relacja porządkująca
(dwuargumentowa w zbiorze A)
jeżeli jest przechodnia i dla dowolnych dwóch elementów a, b zbioru A spełniony jest jeden i tylko jeden z trzech następujących warunków:
Oznacza to, że dla dowolnych elementów
albo
albo też jedna i tylko jedna z par (a,b) i (b,a) należy do zbioru
.
Zbiorem uporządkowanym nazywamy parę (A,
).
Określenie w zbiorze A kilku relacji porządkujących oznacza uporządkowanie tego zbioru na kilka sposobów.
Dwuargumentową relację
określoną w zbiorze A nazywamy relację równoważności, jeżeli jest to relacja zwrotna, symetryczna i przechodnia.
Klasa równoważności elementu a.
ze zwrotności:
jest
Jeżeli
i z definicji
.
Na odwrót, jeśli
to
jest
.
Z przechodniości relacji
, czyli
, co oznacza, że
.
a więc mamy równoważność
z analogicznych powodów jest
Dla dowolnych elementów a i b zbioru A mamy związek:
Dwie klasy równoważności
,
albo nie mają żadnych elementów wspólnych, albo są identyczne.
Jeżeli para a,b spełnia relację
to można napisać
Relacja równoważności
dzieli zbiór A na rozłączne klasy równoważności. Dwa elementy a i b ze zbioru A należą do jednej klasy równoważności wtedy i tylko wtedy, gdy spełniają relację
, w przeciwnym wypadku należą zawsze do innych klas.
Przykłady relacji różnowartościowych
A - zbiór wszystkich liczb całkowitych
m - dowolna liczba całkowita dodatnia
liczby całkowite a,b równe modulo m, jeżeli ich różnica jest podzielna przez m.
Ta relacja jest r. różnowartościową. Dzieli ona zbiór A liczb całkowitych na m zbiorów rozłącznych.
A0 wszystkie liczby podzielne przez m
A1 wszystkie liczby, dla których reszta z dzielenia przez m wynosi 1
A2 wszystkie liczby, dla których reszta z dzielenia przez m wynosi 2
Dla m=2
liczby całkowite a, b równe modulo 2.
Minimalizacja automatu.
Można rozszerzyć funkcję przejść δ i wyjść tak, by mogły wskazywać następne stany i wyjścia nie tylko dla pojedynczych liter alfabetu wejściowego, ale także dla słów ze zbioru X*.
Odpowiedź automatu na słowo
k = 1, 2, …, m
Pod tym pojęciem rozumiemy ciąg symboli wejściowych. Muszą być spełnione warunki:
Słowo
jest w pełni dopuszczalne, tzn. dla każdego k = 1, 2, …, m wartość funkcji (q,xk) jest określona.
Dla ustalenia uwagi przyjmijmy model Moore'a.
A - automat Moore'a deterministyczny zupełny. A=(Q, X, δ, Y, )
Słowo x rozróżnia dwa stany qi oraz qj jeżeli
tzn. wyjścia w stanach osiągalnych ze stanów qi oraz qj pod wpływem słowa x są różne.
Dwa stany automatu k-równoważne
czyli nie istnieje taki ciąg wejściowy x (o długości k), który by rozróżnił stany qi,qj.
Wniosek 1. Stany qi oraz qj k-równoważne są również l-równoważne
.
Wniosek 2. Stany qi oraz qj k-rozróżnialne są również l-rozróżnialne
.
Automat minimalny
Amin - automat, którego zbiór stanów nie zawiera stanów różnych wzajemnie równoważnych.
Jak badać, czy dwa stany automatu są równoważne?
Jak długie słowa trzeba podawać na wejście automatu, by sprawdzić równoważność stanów?
Twierdzenie.
Zał.: A=(Q, X, δ, Y, ) automat Moore'a deterministyczny zupełny posiadający n stanów.
Teza: stany qi oraz qj są równoważne
,
.
Dowód.
Warunek konieczny:
dla dowolnego
(z wniosku 2).
Warunek dostateczny:
1)
2)
Jeżeli
to relacja
dzieli zbiór stanów wewn. automatu na dwie klasy
oraz
.
Jeżeli
to relacja
zawiera co najmniej jedną klasę równoważności więcej niż relacja
. Zbiory Q1 i Q0 mają nie więcej niż n-1 elementów (w tym miejscu wykluczamy przypadki gdy f. wyjść przyjmuje jedną wartość - wtedy dowód jest trywialny). Z relacji
możemy otrzymać nie więcej niż n-2 kolejnych nowych relacji k-równoważności. Jeżeli dla pewnego k mamy
to na podstawie (2)
Czyli równoważność
oznacza pierwszą z relacji
dla której zachodzi
.
A więc ma miejsce następujące zawieranie klas równoważności:
Wniosek. Dwa stany, jeżeli są rozróżnialne, to za pomocą słowa wejściowego o długości mniejszej niż liczba stanów automatu.
Algorytm minimalizacji deterministycznego automatu zupełnego.
Input: deterministyczny automat zupełny Moore'a. A=(Q, X, δ, Y, )
Output: deterministyczny automat zupełny Moore'a minimalny względem A.
Amin=(Qmin, X, δmin, Y, min)
Krok 1.
Wyznaczyć relacje równoważności
,
, … aż dla pewnego k otrzyma się
.
Przyjąć jako relację równoważności relację
dla której
.
Krok 2.
Wyznaczyć automat minimalny Amin następująco:
(zbiór klas równoważności relacji
),
,
dla
.
Przykład.
Automat
|
δ |
|
|
Q |
x1 |
x2 |
|
q1 |
q2 |
q1 |
0 |
q2 |
q1 |
q3 |
0 |
q3 |
q4 |
q2 |
0 |
q4 |
q4 |
q1 |
1 |
q5 |
q4 |
q6 |
0 |
q6 |
q7 |
q5 |
0 |
q7 |
q6 |
q7 |
0 |
q8 |
q7 |
q4 |
0 |
Relacje równoważności
dzielą zbiór stanów Q na następujące klasy równoważności:
,
,
Trójkątna tabela relacji równoważności
v - stany równoważne
x - stany rozróżnialne
(qk,ql) - równoważność (rozróżnialność) qi, qj zależna od równoważności (rozróżnialności) stanów qi, qj.
Dla n-stanowego automatu n2 par stanów.
Nie sprawdza się wszystkich, a tylko
q2 |
(q1,q2) x (q1,q3) |
|
|
|
|
|
|
q3 |
(q2,q4) x |
(q1,q4) x (q2,q3) |
|
|
|
|
|
q4 |
x
|
x
|
x
|
|
|
|
|
q5 |
(q2,q4) x (q1,q6) |
(q1q4) x (q3q6) |
(q2q6) v
|
x
|
|
|
|
q6 |
(q2,q7) x (q1,q2) |
(q1q7) v (q3q5) |
(q4q7) x (q2q5) |
x
|
(q4q7) x (q5q6) |
|
|
q7 |
(q2,q6) v (q1,q7) |
(q1,q6) x (q3,q7) |
(q4,q6) x (q2,q7) |
x
|
(q4,q6) x (q6,q7) |
(q7,q6) x (q5,q7) |
|
q8 |
(q2,q7) x (q1,q4) |
(q1,q7) x (q3,q4) |
(q4,q7) x (q2,q4) |
x
|
(q4,q7) x (q4,q6) |
(q4,q5) x
|
(q6,q7) x (q4,q7) |
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
Automat minimalny Amin dla automatu A.
Qmin |
δmin |
min |
|
|
x1 |
x2 |
|
a |
b |
a |
0 |
b |
a |
c |
0 |
c |
d |
b |
0 |
d |
d |
a |
1 |
e |
a |
d |
0 |
Minimalizacja deterministycznego automatu niezupełnego.
Relacja zgodności (oznaczana
) - zwrotna, symetryczna, ale nieprzechodnia.
Relacja ta indukuje pokrycie w zbiorze stanów.
Stany qi oraz qj automatu A=(Q, X, δ, Y, ) nazywamy niezgodnymi jeżeli istnieje ciąg dopuszczalny
taki, że funkcje wyjść są różne:
nieprawda, że
Co to jest ciąg dopuszczalny
?
Jest to taki ciąg liter, że funkcja przejść jest określona dla kolejnych liter, a funkcja wyjść jest określona co najmniej dla ostatniej litery w słowie, co w zapisie wygląda tak:
słowo:
jest dopuszczalne dla stanu q1 jeżeli istnieje ciąg stanów q1, q2, …, qk taki, że
oraz
(Moore)
(Mealy)
Jeżeli para stanów nie jest niezgodna, to nazywamy ją zgodną.
Podzbiór zbioru stanów
nazywamy zgodnym, jeśli każda para stanów w tym zbiorze jest zgodna.
Maksymalnym zbiorem stanów zgodnych
to taki podzbiór podzbiór, że każda para stanów jest zgodna, ale dołączenie stanu
do zbioru
powoduje, że zbiór
nie jest zgodny.
Można też zdefiniować maksymalny zbiór stanów niezgodnych
Tworzymy graf o n wierzchołkach (ilość odpowiadająca liczbie stanów).
Prosty przykład.
1 |
1,3 2,4 |
|
|
|
2 |
1,4 |
3,4 |
|
|
3 |
0,1 2,4 |
0,3 |
0,4 |
|
4 |
0,2 |
1,3 0,4 |
1,4 |
x |
|
0 |
1 |
2 |
3 |
Q\X |
0 |
1 |
Y |
0 |
1 |
2 |
- |
1 |
3 |
4 |
- |
2 |
4 |
- |
- |
3 |
0 |
4 |
0 |
4 |
1 |
0 |
1 |
x - niezgodne, v - zgodne, (qi,qj) - zgodne warunkowo
Zbiór par stanów niezgodnych
Zbiór stanów zgodnych
zwrotność
symetryczność
1
2
3
4
0
Krawędzią łączymy te wierzchołki grafu, które odpowiadają stanom niezgodnym.
Teraz należy znaleźć Zmin - minimalny zbiór stanów zgodnych.
Muszą być spełnione 2 warunki:
warunek pełności (w zbiorach Zmin muszą być reprezentowane wszystkie pierwotne stany)
Warunek zamknięcia względem funkcji przejścia δ. Stany należące do jednego ze zbiorów Zmin muszą przejść do innego zbioru Zmin pod działaniem δ.
0
4
3
2
1
0
4
3
2
1