Setelah membaca pertanyaan terakhir "Apakah komplemen bebas konteks?" ; Saya ingat masalah yang sama yang tidak bisa saya tolak:
Apakah konteks gratis?
Di sini kita mensyaratkan bahwa dua string berbeda setidaknya dalam dua posisi (jarak Hamming harus lebih besar dari ).
Ini bebas konteks jika kita mengharuskan (yaitu dua string harus berbeda).
Saya menduga bahwa bahasa tersebut tidak bebas konteks: jika kita memotongnya dengan biasa * ^ 10 ^ * 10 ^ * 10 ^ * kita mendapatkan kasus di mana PDA harus "mengingat" dua posisi dalam urutan terbalik setelah mencapai setengah dari string.
Pembaruan: jika kita memotong dengan kita mendapatkan bahasa bebas konteks seperti yang ditunjukkan oleh domotorp dalam jawabannya; sedikit lebih kompleks dengan (satu lagi untuk "melacak") masih menyarankan bahwa seharusnya tidak bebas konteks.
sumber
Jawaban:
Persimpangan dengan kata panjang genap bebas konteks, karena PDA dapat mengingat dua posisi, dengan cara tertentu. Bagaimanapun, mari kita lihat apa bahasa ini. Komplemennya adalah . Oleh karena itu, . Kita dapat menulis ulang ini sebagai .R={0∗10∗10∗10∗∣ } L R ∖ L = { 0 a 10 b 10 c 10 d ∣ b = n / 2 ∨ c = n / 2 ∨ a + d = n / 2 } L = { 0 a 10 b 10 c 10 d ∣L R∖L={0a10b10c10d∣b=n/2∨c=n/2∨a+d=n/2} L={0a10b10c10d∣b≠n/2∧c≠n/2∧a+d≠n/2} L={0a10b10c10d∣b>n/2∨c>n/2∨a+d>n/2∨b,c,a+d<n/2}
kasus pertama dapat dengan mudah diverifikasi, dan begitu juga yang keempat.3
sumber