Page 12 - 4625
P. 12

Означення.  Скінченний  автомат  М  називається  детер-
            мінованим, якщо δ (q , a ) містить не більше одного стану для
                                     k
                                  i
            будь-якого  q ∈ Q та a  ∈ Σ.
                                    k
                          i
                  Твердження: для довільного недетермінованого скінчен-
            ного  автомата  М  можна  побудувати  еквівалентний  йому
            детермінований  скінченний  автомат  M ,  такий  що  L(M)  =
                                                      1
            L(M ).
                 1
                  Доведення:  Нехай  М  –  не  детермінований  скінченний
            автомат, такий що M = < Q, Σ, δ,  q , F >.
                                                0
                  Детермінований автомат M = < Q , Σ, δ , q , F  > побу-
                                                                   1
                                                      1
                                                               01
                                                           1
                                              1
            дуємо таким чином:
                  1.  Q   =  P(Q),  тобто  імена  станів  автомата  M   -  це
                      1
                                                                     1
            підмножини Q.
                  2.  q 01  = {q }, {q } ∈ P(Q).
                                     0
                               0
                  3.  F  складається з усіх таких підмножин S ∈ P(Q),  S 
                       1
                      A ≠ Ø.
                  4.  δ (S, a) = {q | q  ∈ δ(q , a), q ∈ S}.
                                                    i
                       1
                                             i
                  Доведемо індукцією по і, що (S, w) ⊨  (S , ε), тоді і тільки
                                                        i
                                                           1
                                           i
            тоді, коли S = {q | (q , w)) ⊨  (q, ε), для q  ∈ S}.
                                   i
                                                         i
                        1
                                        ∗
                  Зокрема,  ({q }, w) ⊨ S , ε), для  деякого  S ∈ F ,  тоді  і
                               0
                                           1
                                                               1
                                                                    1
                                       ∗
            тільки тоді, коли (q , w) ⊨  (q, ε), q ∈ F. Таким чином, L(M) =
                                0
            L(M ).
                 1
                  Побудований  нами  автомат  М  має  дві  властивості:  він
            детермінований та повністю визначений. До того ж кількість
                                     n
            станів цього автомата  2  – 1.

                  2.2 Мінімізація детермінованих скінченних автоматів
                  У  подальшому  програмуванні  скінченних  автоматів
            важливо  мати  справу  з  так  званими  «мінімальними  автома-
            тами». Мінімальним для даного скінченого автомата візьмемо
            еквівалентний йому автомат з мінімальною кількістю станів.
            Те,  що  скінчені  автомати  можна  мінімізувати,  покажемо  на
            такому прикладі:

                                           11
   7   8   9   10   11   12   13   14   15   16   17