Читайте также:
|
|
Mu = {U: T (U) = П } – множество автоматов.
Найти минимальный U Î M(U) такой, что |Q| > |Q'| = n min, n Î N
U=<A, Q, B, δ, λ>
Теорема. Для любого автомата существует минимальный (приведенный) автомат – единственный с точностью до изоморфизма.
Замечание.
1. Если множество состояний автомата разбивается на р классов эквивалентности, то приведенный автомат имеет р состояний.
p ≤ |Q|
2. Эта теорема не указывает алгоритма нахождения эквивалентных (неотличимых) состояний автомата.
3. Тривиальный путь определения (но не вычисления) неотличимых состояний предполагает перебор по бесконечному множеству входных символов.
4. Наиболее известным для определения классов эквивалентных состояний автомата является алгоритм Мили:
· шаг i. Два состояния автомата qi, qj Î Q относим в первый класс Cij, если для любой буквы входного алфавита функция выходов
λ (qi, a) = λ (qj, a)
· шаг i+1. Два состояния из одного класса относим в один класс Cij → Ci+1,j, если для любого входного символа функция переходов принадлежит этому классу
δ (qi, a) и δ (qj, a) Î Cij
· шаг i+2. Если i+1 шаг не изменяет разбиения, т.е. состояние из одного класса CijÎCi+1,j, то алгоритм заканчивается. Получаем разбиение на классы эквивалентных состояний. Оно является искомым.
Пример. Для автомата U=<A, Q, B, δ, λ>, где A={a1, a2, a3}, |Q|=9, B={b1, b2}, задана автоматная таблица. Найти минимальный автомат по числу внутренних состояний.
Q \ A | a1 | a2 | a3 |
q1 | q2,b1 | q4,b2 | q4,b2 |
q2 | q1,b2 | q1,b1 | q5,b1 |
q3 | q1,b2 | q6,b1 | q5,b1 |
q4 | q8,b1 | q1,b2 | q1,b2 |
q5 | q6,b2 | q4,b2 | q3,b1 |
q6 | q8,b1 | q9,b2 | q6,b2 |
q7 | q6,b2 | q1,b2 | q3,b1 |
q8 | q4,b2 | q4,b1 | q7,b1 |
q9 | q7,b1 | q9,b2 | q7,b2 |
Класс разбиений эквивалентных состояний:
C11={q1, q4, q6, q9}
C12={q2, q3, q8}
C13={q5,q7}
A \ Q | q1 | q4 | q6 | q9 | q2 | q3 | q8 | q5 | q7 |
a1 | C12 | C12 | C12 | C13 | C11 | C11 | C11 | C11 | C11 |
a2 | C11 | C11 | C11 | C11 | C11 | C11 | C11 | C11 | C11 |
a3 | C11 | C11 | C11 | C13 | C13 | C13 | C13 | C12 | C12 |
C21={q1,q4,q6}
C22={q9}
C23={q2,q3,q8}
C24={q5,q7}
A \ Q | q1 | q4 | q6 | q9 | q2 | q3 | q8 | q5 | q7 |
a1 | C23 | C23 | C23 | C24 | C21 | C21 | C21 | C21 | C21 |
a2 | C21 | C21 | C22 | C22 | C21 | C21 | C21 | C21 | C21 |
a3 | C21 | C21 | C21 | C24 | C24 | C24 | C24 | C23 | C23 |
C31={q1,q4}
C32={q6}
C33={q9}
C34={q2,q3,q8}
C35={q5,q7}
A \ Q | q1 | q4 | q6 | q9 | q3 | q2 | q8 | q5 | q7 |
a1 | C34 | C34 | C34 | C34 | C31 | C31 | C31 | C32 | C32 |
a2 | C31 | C31 | C34 | C32 | C32 | C31 | C31 | C31 | C31 |
a3 | C31 | C31 | C34 | C34 | C35 | C35 | C35 | C34 | C34 |
C41={q1,q4}
C42={q6}
C43={q9}
C44={q2,q8}
C45={q3}
C46={q5,q7}
A \ Q | q1 | q4 | q6 | q9 | q3 | q2 | q8 | q5 | q7 |
a1 | C44 | C44 | C44 | C44 | C41 | C41 | C41 | C42 | C42 |
a2 | C41 | C41 | C44 | C42 | C42 | C41 | C41 | C41 | C41 |
a3 | C41 | C41 | C44 | C44 | C45 | C45 | C45 | C44 | C44 |
Автоматная таблица приведенного автомата имеет вид
A \ Q | q1 | q2 | q3 | q5 | q6 | q9 |
a1 | q2,b1 | q1,b2 | q1,b2 | q6,b2 | q2,b1 | q1,b1 |
a2 | q1,b2 | q1,b1 | q6,b1 | q1,b2 | q9,b2 | q9,b2 |
a3 | q1,b2 | q5,b1 | q5,b1 | q3,b1 | q6,b2 | q5,b2 |
q1 эквивалентно q4
q2 эквивалентно q8
q5 эквивалентно q7
Приведенный автомат содержит 6 классов разбиения, что означает, что минимальный (приведенный) автомат имеет 6 внутренних состояний (вместо 9 исходных). При этом то состояние, которое указано в автоматной таблице, заменено эквивалентным.
Дата добавления: 2015-07-10; просмотров: 100 | Нарушение авторских прав