Apakah dapat memutuskan apakah bahasa yang dijelaskan dengan jumlah kejadian teratur?

14

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 2w1,w2w1w2

sdcvvc
sumber
Bisakah Anda memberikan contoh lain dari bahasa reguler yang didefinisikan, selain dan , atau dan ? Bagaimana dengan contoh pada alfabet 3 simbol? 01 i 0 i 1 10 i1i001i0i110i
babou
Jika adalah ketat dari , ada kemungkinan besar bahasanya kosong, karenanya teratur. Saya tidak tahu contoh lain. w 2w1w2
sdcvvc
Saya curiga bahwa contoh-contoh di atas adalah satu-satunya, yang akan membuat masalah menjadi decidable. Jika Anda hanya menentukan dua substring, saya kira itu adalah CF ... tergantung pada apa yang dapat Anda tentukan mengenai kejadian. Anda tidak membuat cukup tepat apa yang Anda maksud dengan "dijelaskan oleh jumlah kejadian".
babou
Badan pertanyaan adalah IMO yang cukup tepat.
sdcvvc
1
solusi sejauh ini untuk kasus-kasus khusus tampaknya bergantung pada gagasan bahwa kemunculan substring dari w1 hanya menjamin kemunculan tunggal dari intervening w2 . jadi entah bagaimana dengan mengasumsikan jawaban saat ini benar [belum jelas bagi saya] sepertinya ada beberapa hubungan antara w1 , w2 yang menjamin di tengah pemindaian string bahwa seseorang dapat berada dalam status "sama" atau "tidak sama" ", tetapi hanya dimatikan dengan nomor hingga maksimal untuk kasus" tidak sama ".
vzn

Jawaban:

3

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?w1w2Lw1w2

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: w1w2

  • selalu terjadidengan w 2 , catat w 1w 2 , iff w1 w2w1w2

    1. untuk setiap string sehingga s = x w 2 y dengan | x | ,ss=xw2y dan | x | 0 , | x | 1 | , | y | 0 , | y | 1 | 1 ada dekomposisi lain s = x w 1 y . Catatan: Kondisi yang x dan yx,y ≥∣w1+w2|x|0,|x|1|,|y|0,|y|1|1s=xw1y
      xymasing-masing mengandung setidaknya 0 dan 1 diperlukan oleh kasus patologis (ditemukan oleh @ sdcvvc): , w 2 = v 1 i + j dan y 1 , dan varian simetrisnya.w1=1i0w2=v1i+jy1
    2. ada string dengan x ,s=xw2y sedemikian rupa sehingga ada paling banyak satu dekomposisi s = x w 1 y x,y ≥∣w1+w2s=xw1y
  • selalu berdampingandengan w 2 , catat w 1w1 w2 , jika masing-masing selalu terjadi dengan yang lain,w1w2

  • dan w 2 muncul secara independen, catat w 1w1w2 , jika tidak ada yang selalu terjadi dengan yang lain,w1w2

  • 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 mw2w1mw2ss=xw2yx, y| ≥∣w1+w2ms=xiw1yiuntuk sehingga saya j menyiratkan x ix j .i[1,m]ijxixj

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.w1w2

Ada 4 kasus utama untuk dipertimbangkan (mengabaikan simetri antara dan w 2 ):w1w2

  1. 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.w1w2
    1i001i0i110iw1=w2

  2. , tetapi tidak w 2w 1 Salah satu dari 2 kata tidak dapat muncul tanpa yang lain, tetapi kebalikannya tidak benar (kecuali mungkin di ujung string). Ini terjadi ketika:w1w2w2w1

    • adalah substring dari w 2 : maka otomat terbatas hanya dapat memeriksa bahwa w 1 tidak terjadi di luar instance dari w 2 .w1w2w1w2

    • 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=1i0w2=v1jv{0,1}v01iw1w2w1w2adalah akhiran dari string. Ada tiga kasus simetris lainnya (simetri 1-0 dan simetri kanan-kiri).

  3. 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).w12w2
    1i0vv1j

  4. 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 aw1w2
    Gaw1bw2LG(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} wa=∣wb}L
    L=G1(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.ab

babou
sumber
Saya punya pertanyaan tentang kehebatan konteks dalam kasus tiga kata. Saya menghapusnya ketika saya menyadari itu bisa dianalisis dengan cara yang sama. Saya pertama kali berpikir bahwa membuktikan non-CFness akan membuat latihan orisinal, tetapi GSM merusaknya.
babou
2
Tidak jelas apa yang Anda maksud dengan "terjadi secara independen satu sama lain", "datang bersama-sama" dll. Silakan tulis definisi formal sebagai gantinya, dan buktikan bahwa mereka mencakup semua kasus.
sdcvvc
1
Saya tidak yakin apa yang Anda minta, dan tingkat formalisasi apa yang Anda butuhkan, untuk tujuan apa. Saya menyadari bahwa menganalisis dengan tangan kemungkinan hubungan kedua kata tersebut tidak dijamin benar, dan bagaimanapun juga tidak masalah. Yang penting adalah apakah kemunculan satu kata dapat ada tanpa menciptakan pada saat yang sama suatu kemunculan (atau beberapa) kata lain. Detailnya tidak masalah karena akan selalu dilokalkan dan dengan demikian dapat dikelola dengan baik. Kedua ujungnya tidak menjadi masalah karena juga terlokalisir. Bahkan tumpang tindih kejadian tidak masalah karena mereka hanya bisa banyak di 1 tempat
babou
1
Saya bertanya tentang definisi yang tepat dari istilah yang disebutkan dalam komentar. Terima kasih telah menulisnya. Apakah saya seharusnya menebak mereka sebelumnya? Bagaimanapun, Anda tampaknya mengklaim bahwa . Ini tidak memenuhi kondisi 1. definisi " w 1 selalu terjadi dengan w 2 ", karena tidak ada terjadinya 1 0 i di s = 0 M 0 i 1 1 M . 0i110iw1w210is=0M0i11M
sdcvvc
Maaf, saya tidak bermaksud membuat Anda menebak. Hanya butuh waktu bagi saya untuk memahami apa yang sebenarnya Anda inginkan. Hanya gagal saya. Mengenai contoh balasan Anda, Anda benar. Tetapi bagi saya itu hanya berarti bahwa saya harus sedikit lebih berhati-hati tentang telomer, dalam definisi hubungan. Saya mendefinisikannya terlalu cepat, tetapi atau 1 M tidak menyampaikan banyak informasi dalam konteks ini. Ini benar-benar contoh patologis batas dalam kasus patologis, yang sebenarnya tidak dapat terjadi ketika lebih dari 2 simbol digunakan. Saya hanya tidak percaya itu mengubah apa pun. 0M1M
babou