Masalah dengan penerapan algoritma Brzozowski

8

Saya sudah mencoba menerapkan algoritma Brzozowski tetapi saya baru saja menemukan bahwa itu menciptakan automata suboptimal untuk kelas input tertentu, memiliki satu keadaan lebih dari apa yang benar-benar diperlukan dalam hasilnya. Saya bisa menunjukkannya pada robot yang sepele:

   a b           a   b           a b            a     b            a b
>0 0 1  rev  *0 0,2  -   det  >0 - 1  rev  *0   -     -    det  >0 1 2
 1 1 2  -->   1  1   0   -->   1 2 5  -->   1   -    0,4   -->   1 1 2
*2 0 2       >2  -  1,2        2 2 3        2  1,2    -          2 2 3
                              *3 4 -        3   -     2         *3 1 3
                              *4 4 1        4  3,4    -          
                              *5 5 5        5   5    1,5         
                                           >6 3,4,5 1,2,5        

Di sini rev adalah bagian pembalikan tepi, di mana saya sudah menghapus transisi pada epsilon, dan det adalah penentuan melalui konstruksi powerset, menciptakan negara baru segera setelah menemukan mereka, secara rekursif.

Masalahnya di sini adalah ini: sekali saya menambahkan negara tambahan untuk menebus tiga keadaan awal yang berbeda setelah pembalikan tepi pertama dan konstruksi powerset, tidak ada yang pernah kembali ke keadaan itu dan dengan demikian saya tidak bisa menyingkirkannya nanti karena setara. ke kondisi awal semula.

Apakah ada yang salah dengan cara saya melakukannya? Apakah saya melewatkan sesuatu?

Přemysl J.
sumber

Jawaban:

5

Ini adalah pertanyaan yang sangat bagus!

Langkah pengembalian dalam Algoritma Brzozowski tidak memperkenalkan status awal virtual baru yang mengarah ke status penerimaan lama melalui ε-transisi. Alih-alih itu memungkinkan beberapa status awal, yang bukan masalah besar, jika Anda membuat produk-otomasinya tepat setelah pengembalian.

Secara konseptual, ini adalah cara termudah untuk mempertimbangkan reverting dan determinisasi sebagai satu langkah tunggal. Jika DEA AndaM=(Q,Σ,δ,q0,F), lalu tentukan sebagai DEA yang dikembalikan MR=(QR,Σ,δR,q0R,FR) sebagai berikut:

  • QR=P(Q),
  • q0R=F,
  • FR={PQq0P},
  • δR(P,a):={pQδ(p,a)P}.

(Anda mungkin ingin mengabaikan status yang tidak dapat dijangkau.)

Teorema Brzozowski menyatakan itu (MR)R adalah penerimaan DEA minimal L(M).

Untuk bacaan lebih lanjut saya sarankan Elemen Teori Automata oleh Sakarovitch halaman 116-117.

A.Schulz
sumber