Bahasa reguler tidak diterima oleh DFA memiliki paling banyak tiga negara

10

Jelaskan bahasa reguler yang tidak dapat diterima oleh DFA yang hanya memiliki tiga negara.

Saya tidak begitu yakin harus mulai dari mana dan bertanya-tanya apakah ada yang bisa memberi saya beberapa tips atau saran. Saya mengerti bahwa lemma pemompaan dapat digunakan untuk membuktikan bahwa suatu bahasa tidak teratur, tetapi dalam hal ini, itu harus merupakan bahasa biasa. Jika ada yang punya pikiran itu akan dihargai.

zic10
sumber

Jawaban:

17

Lemma pemompaan dapat dinyatakan untuk memperhitungkan jumlah status dalam DFA. Setiap bahasa diterima oleh DFA dengan status memenuhi lemma pemompaan berikut:pL.hal

Setiap kata dengan panjang setidaknya dapat dipecah sebagai , di mana dan , sehingga untuk semua .p w = x y z | x y | p | y | 1 x y i z L i 0whalw=xyz|xy|hal|y|1xysayazL.saya0

Anda dapat menggunakan karakterisasi ini untuk membuktikan bahwa bahasa membutuhkan status .p + 1{0hal}hal+1

Metode lain adalah dengan menggunakan teorema Myhill - Nerode. Dua kata adalah inequivalent (sehubungan dengan beberapa bahasa ) jika untuk beberapa kata , baik dan atau sebaliknya. Teorema Myhill - Nerode menyatakan bahwa jika ada kata berpasangan yang tidak berpasangan, maka setiap DFA untuk memiliki setidaknya status. Sebagai contoh , Anda dapat menemukan kata-kata yang tidak setara berpasangan, yaitu .x,yL.zxzL.yzL.halL.halL.={0hal}hal+1ϵ,0,...,0hal

Yuval Filmus
sumber
ya zbisa ^kosong, tapi saya pikir Anda salah ketik dalam kutipan Anda. xy^i ∈ L seharusnyaxy^i z ∈ L
Grijesh Chauhan
12

Jawaban Yuval sangat bagus. Formulasi yang lebih sederhana dari apa yang dia gambarkan adalah bahwa automata terbatas tidak dapat menghitung tinggi secara sewenang-wenang, dan jumlah yang dapat mereka hitung dibatasi oleh status angka dalam automata. Lebih tepatnya, untuk automata untuk menghitung ke , perlu negara (satu negara akan ).halhal+10

Ini, pada dasarnya, adalah seluruh ide di balik lemma pemompaan: jika sebuah string sangat panjang, automata yang terbatas harus "lupa" seberapa tinggi dihitung dan mulai dari awal lagi, memungkinkan Anda untuk mengulangi bagian berulang tanpa peduli. .

Oleh karena itu, bahasa reguler apa pun yang memerlukan penghitungan hingga 3 untuk memvalidasi kata di dalamnya, tidak dapat dijelaskan oleh automata hingga ukuran 3.

Bisakah Anda memikirkan bahasa seperti itu? (Profesor Anda mungkin juga mengharapkan Anda untuk membuktikan argumen penghitungan ini, meskipun dalam kurikulum saya pemahaman ini tentang lemma pemompaan diterima begitu saja)

Alexis Beingessner
sumber
Jawaban yang bagus: itu menjelaskan banyak tanpa memberikan solusi untuk apa yang tampak seperti latihan pekerjaan rumah. Selamat Datang di Ilmu Komputer !
David Richerby
1

Ada algoritma untuk meminimalkan DFA. Pilih saja bahasa yang memiliki DFA minimal 4 (atau lebih) negara. Apa pun yang memiliki panjang minimal 3 simbol akan dilakukan, yaitu bahasa ekspresi reguler , atau (bahkan lebih sederhana) . Untuk mengetahui alasannya, intip bukti lemma pemompaan untuk bahasa reguler.Sebuah3SebuahSebuah3

vonbrand
sumber
-2

ide lain, diagonalisasi ! sebutkan semua DFA 3-atau-lebih sedikit, ambil gabungan dari semuanya, dan kemudian ambil komplemen. ini adalah DFA dengan penutupan operasi bahasa biasa. ini dapat dibangun melalui algoritma, tetapi pertanyaannya hanya meminta deskripsi .

vzn
sumber
n
nn+1
@Yuval benar. berpikir ide ini dapat bekerja tetapi mungkin tidak memiliki rincian yang tepat, rincian rumit, akan menebak itu mungkin di suatu tempat di literatur tetapi belum melihatnya
vzn