Diketahui bahwa bahasa kata yang mengandung angka sama dengan 0 dan 1 tidak teratur, sedangkan bahasa kata yang mengandung angka sama dengan 001 dan 100 adalah teratur ( lihat di sini ).
Diberi dua kata , apakah bisa diputuskan jika bahasa kata yang mengandung jumlah dan sama dengan teratur?w 1 w 2
Jawaban:
Diberi dua kata , w 2 , apakah bisa diputuskan jika bahasa L dari kata-kata yang mengandung jumlah yang sama dari w 1 dan w 2 adalah reguler?w1 w2 L w1 w2
Pertama, beberapa definisi:
Mereka dapat dibuat lebih ringkas, dan notasi dapat ditingkatkan jika mereka akan digunakan dalam bukti. Ini hanya konsep pertama.
Diberi dua kata dan w 2 , kita mengatakan bahwa:w1 w2
selalu terjadidengan w 2 , catat w 1 ◃ w 2 , iffw1 w2 w1◃w2
selalu berdampingandengan w 2 , catat w 1 ◃ ▹w1 w2 , jika masing-masing selalu terjadi dengan yang lain,w1◃▹w2
dan w 2 muncul secara independen, catat w 1 ▹ ◃w1 w2 , jika tidak ada yang selalu terjadi dengan yang lain,w1▹◃w2
selalu terjadi m kali atau lebihdari w 2 , mencatat w 1 ◃ m w 2 , IFF untuk string s sehingga s = x w 2 y dengan | x | , | y | | ≥ ∣ w 1 ∣ + ∣ w 2 ∣ ada m dekomposisi lainnya s = x i w 1 y iw1 m w2 w1◃mw2 s s=xw2y ∣x∣, ∣y∣| ≥∣w1∣+∣w2∣ m s=xiw1yi untuk
sehingga saya ≠ j menyiratkan x i ≠ x j .i∈[1,m] i≠j xi≠xj
Definisi-definisi ini dikonstruksi sedemikian sehingga kita dapat mengabaikan apa yang terjadi di ujung string di mana dan w 2 seharusnya terjadi. Efek batas pada akhir string harus dianalisis secara terpisah, tetapi mereka mewakili sejumlah kasus yang terbatas (sebenarnya saya pikir saya lupa satu atau dua sub-kasus batas seperti itu dalam analisis pertama saya di bawah, tetapi tidak terlalu penting). Definisi tersebut kompatibel dengan tumpang tindih kejadian.w1 w2
Ada 4 kasus utama untuk dipertimbangkan (mengabaikan simetri antara dan w 2 ):w1 w2
Kedua kata datang tentu bersama-sama, kecuali mungkin di ujung tali. Ini hanya menyangkut pasangan formulir 1 i 0 dan 01 i , atau 0 i 1 dan 10 i . Ini mudah dikenali olehotomat terbatasyang hanya memeriksa kejadian tunggal di kedua ujung tali untuk dikenali, untuk memastikan ada satu-satunya kejadian di kedua ujung atau di kedua ujung. Ada juga kasus merosot ketika w 1 = w 2 : maka bahasa L jelas teratur.w1◃▹w2
1i0 01i 0i1 10i w1=w2
, tetapi tidak w 2 ◃ w 1 Salah satu dari 2 kata tidak dapat muncul tanpa yang lain, tetapi kebalikannya tidak benar (kecuali mungkin di ujung string). Ini terjadi ketika:w1◃w2 w2◃w1
adalah substring dari w 2 : maka otomat terbatas hanya dapat memeriksa bahwa w 1 tidak terjadi di luar instance dari w 2 .w1 w2 w1 w2
dan w 2 = v 1 j untuk beberapa kata v ∈ { 0 , 1 } ∗ , v ≠ 01 i : lalu cek otomat terbatas seperti dalam kasus sebelumnya bahwa w 1 tidak terjadi terpisah dari w 2 . Namun, otomat memungkinkan menghitung satu contoh ekstra dari w 1 yang akan memungkinkan penerimaan jika w 2w1=1i0 w2=v1j v∈{0,1}∗ v≠01i w1 w2 w1 w2 adalah akhiran dari string. Ada tiga kasus simetris lainnya (simetri 1-0 dan simetri kanan-kiri).
Salah satu dari 2 kata tersebut muncul dua kali di yang lain. Itu dapat dikenali oleh otomatisasi terbatas yang memeriksa bahwa kata yang lebih kecil tidak pernah muncul dalam string. Varian ini juga merupakan varian yang sedikit lebih kompleks yang menggabungkan dua variasi case 2. Dalam hal ini automaton memeriksa bahwa string yang lebih kecil 1 i 0 tidak pernah terjadi, kecuali mungkin sebagai bagian dari v dalam yang lebih besar v 1 j yang datang sebagai suffix string (dan 3 kasus lainnya dengan simetri).w1◃2w2
1i0 v v1j
Kata-kata itu dapat terjadi secara independen satu sama lain. Kami membangun G -mesin umum-sekuensial (gsm)yang menghasilkan a ketika ia mengakui terjadinya w 1 dan b ketika mengenali kejadian w 2 , dan melupakan yang lainnya. Bahasa L hanya reguler jika bahasa G ( L ) teratur. Tapi G ( L ) = { w ∈ { a , b } ∗ ∣ ∣ w ∣ aw1▹◃w2
G a w1 b w2 L G(L) yang jelas bebas konteks dan tidak teratur. Karenanya L tidak teratur.
Sebenarnya kami memiliki L = G - 1 ( G ( L ) ) . Karena bahasa reguler dan bahasa bebas konteks ditutup di bawah pemetaan gsm dan pemetaan gsm terbalik, kami juga tahu bahwa L bebas dari konteks.G(L)={w∈{a,b}∗∣ ∣w∣a=∣w∣b} L
L=G−1(G(L)) L
Salah satu cara untuk mengatur bukti formal adalah sebagai berikut. Pertama-tama buatlah PDA yang mengenali bahasa itu. Sebenarnya itu dapat dilakukan dengan mesin 1-counter, tetapi lebih mudah untuk memiliki dua simbol stack untuk menghindari duplikasi kontrol yang terbatas. Kemudian, untuk kasus di mana seharusnya FA, tunjukkan bahwa penghitung dapat dibatasi oleh konstanta yang hanya bergantung pada dua kata. Untuk kasus lain, tunjukkan bahwa penghitung dapat mencapai nilai arbitrer apa pun. Tentu saja, PDA harus diatur sehingga buktinya cukup mudah untuk dibawa.
Mewakili FA sebagai 2-stack-symbol PDA mungkin adalah representasi paling sederhana untuk itu. Dalam kasus non-reguler, bagian kendali terbatas dari PDA adalah sama dengan GSM dalam sketsa bukti di atas. Alih-alih mengeluarkan dan b seperti GSM, PDA menghitung perbedaan jumlah dengan stack.a b
sumber