Kelas bahasa khusus: bahasa “melingkar”. Apakah itu diketahui?

20

Tentukan kelas bahasa "sirkular" berikut di atas alfabet alfabet hingga. Sebenarnya, nama itu sudah ada untuk menunjukkan hal yang berbeda tampaknya, digunakan di bidang komputasi DNA. AFAICT, itu kelas bahasa yang berbeda.

Bahasa L adalah bundaran iff untuk semua kata w di Σ , kami memiliki:

w milik L jika dan hanya jika untuk semua bilangan bulatk>0 ,wk milik L.

Apakah kelas bahasa ini dikenal? Saya tertarik pada bahasa sirkuler yang juga teratur dan khususnya dalam:

  • nama untuk mereka, jika mereka sudah dikenal

  • decidability masalah, diberikan otomat (khususnya: DFA), apakah bahasa yang diterima mematuhi definisi di atas

vincenzoml
sumber
1
Ini pertanyaan yang sangat menarik. Dua pertanyaan terkait: 1) jika kita memiliki bahasa reguler L dan DFA terkait, dapatkah kita membuatnya melingkar? 2) Dengan bahasa apa pun L, apakah ini soal circ (L) yang teratur atau memiliki sifat yang bagus?
Suresh Venkat
ps mungkin ini jelas, tetapi mengapa Anda berpikir bahwa bahasa sirkuler adalah subkelas dari bahasa biasa?
Suresh Venkat
3
@ Suresh, saya pikir dia mendefinisikan bahasa menjadi iff melingkar jika) a) biasa; b) memenuhi properti penutupan wL,nN:wnL .
Peter Taylor
Crosspost di MO .
Hsien-Chih Chang 張顯 之
1
Mungkin terima kasih jangan diposting, tetapi ini adalah pertanyaan pertama saya dan saya sangat menghargai kualitas komentar, jawaban, dan diskusi. Terima kasih.
vincenzoml

Jawaban:

19

Pada bagian pertama, kami menunjukkan algoritma eksponensial untuk menentukan sirkularitas. Pada bagian kedua, kami menunjukkan bahwa masalahnya adalah coNP-hard. Pada bagian ketiga, kami menunjukkan bahwa setiap bahasa melingkar adalah penyatuan bahasa bentuk (di sini rr+r bisa menjadi regexp kosong); serikat tidak harus terputus-putus. Pada bagian keempat, kami menunjukkan bahasa melingkar yang tidak dapat ditulis sebagai jumlah terpisah .ri+

Sunting: Menyertakan beberapa koreksi mengikuti komentar Mark. Secara khusus, klaim saya sebelumnya bahwa edaran telah lengkap atau NP-keras diperbaiki.

Sunting: Bentuk normal yang dikoreksi dari ke r + i . Memperlihatkan bahasa "inheren ambigu".riri+


Melanjutkan komentar Peter Taylor, berikut ini cara memutuskan (sangat tidak efisien) apakah suatu bahasa melingkar mengingat DFA-nya. Bangun DFA baru yang negaranya adalah -tupel dari state lama. DFA baru ini menjalankan n salinan DFA lama secara paralel.nn

Jika bahasa tidak melingkar maka ada kata sehingga jika kita menjalankannya melalui DFA berulang kali, dimulai dengan keadaan awal s 0 , maka kita mendapatkan status s 1 , ... , s n sehingga s 1 menerima tetapi satu dari yang lain tidak menerima (jika semua dari mereka yang menerima maka maka urutan s 0 , ... , s n keharusan siklus sehingga w * selalu dalam bahasa). Dengan kata lain, kita memiliki jalur dari s 0 , ... , s nws0s1,,sns1s0,,snw ke s 1 ,, s n di mana s 1 menerima tetapi yang lain tidak menerima. Sebaliknya, jika bahasanya melingkar maka itu tidak bisa terjadi.s0,,sn1s1,,sns1

Jadi kami telah mengurangi masalah menjadi tes keterjangkauan yang diarahkan sederhana (cukup periksa semua kemungkinan "buruk" -tupel).n


Masalah sirkularitas adalah coNP-keras. Misalkan kita diberi contoh 3SAT dengan variabel x dan m klausa C 1 , ... , C m . Kita dapat mengasumsikan bahwa n = m (tambahkan variabel dummy) dan n itunxmC1,,Cmn=mn adalah bilangan prima (jika tidak temukan bilangan prima antara dan 2 n menggunakan pengujian primitif AKS, dan tambahkan variabel dummy dan klausa).n2n

Pertimbangkan bahasa berikut: "input bukan dari bentuk mana x i adalah tugas yang memuaskan untuk C i ". Mudah untuk membuat DFA O ( n 2 ) untuk bahasa ini. Jika bahasa tidak melingkar maka ada kata w dalam bahasa, beberapa kekuatan yang tidak ada dalam bahasa. Karena satu-satunya kata yang tidak dalam bahasa memiliki panjang n 2 , w harus dengan panjang 1 atau n . Jika panjangnyax1xnxiCiO(n2)wn2w1n , pertimbangkan w n1wn sebagai gantinya (masih dalam bahasa), sehingga adalah dalam bahasa dan w n tidak dalam bahasa. Fakta bahwa w n tidak dalam bahasa berarti bahwa w adalah tugas yang memuaskan.wwnwnw

Sebaliknya, setiap tugas memuaskan diterjemahkan ke kata membuktikan non-bundar dari bahasa: memuaskan tugas milik bahasa tetapi w n tidak. Jadi bahasanya melingkar jika instance 3SAT tidak memuaskan.wwn


Pada bagian ini, kita membahas bentuk normal untuk bahasa sirkuler. Mempertimbangkan beberapa DFA untuk bahasa melingkar . Urutan C = C 0 , ... adalah nyata jika C 0 = s (keadaan awal), semua negara lainnya menerima, dan C i = C j menyiratkan C i + 1LC=C0,C0=sCi=Cj . Dengan demikian setiap urutan nyata pada akhirnya bersifat periodik, dan hanya ada banyak urutan nyata (karena DFA memiliki banyak negara).Ci+1=Cj+1

Kami mengatakan bahwa kata berperilaku sesuai dengan C jika kata mengambil DFA dari negara untuk negara c i + 1 , untuk semua i . Himpunan semua kata seperti itu E ( C ) teratur (argumennya mirip dengan bagian pertama dari jawaban ini). Perhatikan bahwa E ( C ) adalah bagian dari L .cici+1iE(C)E(C)L

Mengingat nyata urutan , mendefinisikan C k menjadi urutan C k ( t ) = C ( k t ) . Urutan C k juga nyata. Karena hanya ada finitely banyak urutan yang berbeda C k , bahasa D ( C ) yang merupakan gabungan dari semua E ( C k ) juga biasa.CCkCk(t)=C(kt)CkCkD(C)E(Ck)

Kami mengklaim bahwa memiliki sifat bahwa jika x , y D ( C ) maka x y D ( C ) . Memang, anggaplah bahwa x C k dan y C l . Kemudian x y C k + l . Jadi D ( C ) = DD(C)x,yD(C)xyD(C)xCkyClxyCk+l dapat ditulis dalam bentuk rD(C)=D(C)+ untuk beberapa ekspresi reguler r .r+r

Setiap kata dalam bahasa sesuai dengan beberapa urutan C nyata , yaitu ada urutan C nyata yang sesuai dengan w . Jadi L adalah gabungan dari D ( C ) atas semua urut nyata C . Oleh karena itu setiap bahasa sirkuler memiliki representasi bentuk r +wCCwLD(C)C . Sebaliknya, setiap bahasa seperti itu melingkar (sepele).ri+


Pertimbangkan bahasa sirkular dari semua kata di atas a , b yang mengandung angka genap atau a atau bilangan genap b (atau keduanya). Kami menunjukkan bahwa itu tidak dapat ditulis sebagai jumlah yang terpisah r + i ; oleh "disjoint" yang kami maksud adalah r + ir + j = .La,babri+ri+rj+=

Biarkan menjadi ukuran beberapa DFA untuk r + i , dan N > maks N i menjadi bilangan bulat ganjil . Pertimbangkan x = a N b N ! . Karena x L , x r + i untuk beberapa i . Oleh lemma memompa, kita dapat memompa awalan dari x panjang paling N . Jadi r + i menghasilkan z = a N !Niri+N>maxNix=aNbN!xLxri+ixNri+. Demikian pula,L . Dengan demikian representasi tidak dapat dipisahkan.z=aN!bN! dihasilkan oleh beberapa r + j , yang juga menghasilkan z . Perhatikan bahwa saya j sejak x yy=aN!bNrj+zijxyL

Yuval Filmus
sumber
Tampaknya ada sejumlah kesalahan di sini. Anda mengurangi dari UNSAT, bukan SAT, jadi Anda menunjukkan itu sulit -NNP. Apa saksi waktu polinomial Anda untuk (bukan) keanggotaan?
Mark Reitblatt
"Karena satu-satunya kata-kata tidak dalam bahasa memiliki panjang " Haruskah tidak menjadi n m ? n2nm
Mark Reitblatt
Saya tidak berpikir itu "sepele di CoNP". Setidaknya, itu tidak terlalu jelas bagiku. The "jelas" sertifikat akan menjadi string dalam bahasa, dan kekuatan k sehingga l k tidak dalam bahasa. Tetapi tidak segera jelas bagi saya mengapa kata seperti itu harus berukuran polinomially. Mungkin karena fakta sederhana dari teori automata yang saya abaikan. lklk
Mark Reitblatt
Kelemahan nyata yang lebih serius adalah bahwa Anda melompat dari setiap klausa menjadi memuaskan secara individual ke seluruh rumus menjadi memuaskan. Kecuali saya salah membaca, tentu saja.
Mark Reitblatt
Saya setuju bahwa tidak jelas bahwa sirkularitas ada dalam CoNP. Di sisi lain, saya tidak melihat masalah di sisa argumen (sekarang saya telah menempatkan ). Jika setiap klausa dipenuhi oleh penugasan yang sama, maka instance 3SAT dipenuhi oleh penugasan ini. n=m
Yuval Filmus
17

Berikut adalah beberapa makalah yang membahas bahasa-bahasa ini:

Thierry Cachat, Kekuatan bahasa rasional satu huruf, DLT 2001, Springer LNCS # 2295 (2002), 145-154.

S. Hovath, P. Leupold, dan G. Lischke, Akar dan kekuatan bahasa reguler, DLT 2002, Springer LNCS # 2450 (2003), 220-230.

H. Bordihn, Keanggunan konteks dari kekuatan bahasa bebas konteks tidak dapat diputuskan, TCS 314 (2004), 445-449.

Jeffrey Shallit
sumber
6

@Dave Clarke, L = a * | b * akan melingkar, tetapi L * akan menjadi (a | b) *.

Dalam hal decidability, bahasa melingkar jika ada L sehingga L adalah penutupan di bawah + dari L LLLL atau jika itu adalah gabungan terbatas dari bahasa melingkar.

(Saya ingin mendefinisikan "sirkular" menggantikan Anda dengan . Ini sangat menyederhanakan banyak hal. Kita kemudian dapat mengkarakterisasi bahasa sirkuler sebagai bahasa yang terdapat NDFA yang negara awalnya hanya memiliki transisi epsilon ke negara penerima dan memiliki transisi epsilon ke setiap negara penerima).>

Peter Taylor
sumber
Kamu benar. Saya telah menghapus posting yang salah.
Dave Clarke
Mengenai adaptasi dengan : Saya berpikir bahwa DFA minimal harus selalu persis memiliki satu negara penerima, yaitu keadaan awal. Mungkin lebih menerima negara bisa terjadi, tapi kemudian mereka membutuhkan ε -transition ke keadaan awal. ε
Raphael
1
@ Raphael, pertimbangkan lagi L = a * | b *. DFA yang status awalnya adalah satu-satunya negara penerima dan yang menerima a dan b harus menerima (a | b) *.
Peter Taylor
Pada pertanyaan tentang decidability, sekali lagi: misalkan Anda memiliki DFA dengan negara yang n suatu yang menerima. Misalkan ia menerima kata w , dan juga menerima w 2 , w 3 , ..., w n a + 1 . Kemudian ia menerima w x untuk x > 0 . (Bukti adalah aplikasi langsung dari prinsip pigeonhole). Jika mungkin untuk menunjukkan bahwa contoh minimal (minimal | w | ) berlawanan ( w , xnnaww2w3wna+1wxx>0|w|wx) ke sirkular bahasa yang diterima oleh DFA telah lama dibatasi oleh fungsi maka pengujian brute force dimungkinkan. Saya curiga bahwa | w | < = N + 1 , tapi saya belum membuktikannya. n|w|<=n+1
Peter Taylor
Untuk menindaklanjuti gagasan @ Raphael di atas. Gagasan start state = only accept state salah untuk masalah ini, tetapi ia menangkap beberapa properti yang menarik. Ketika M adalah minDFA, keadaan awal adalah satu-satunya negara yang menerima jika dan hanya jika L (M) adalah bintang Kleene dari bahasa bebas awalan. Ini adalah salah satu informasi rahasia DFA trivia favorit saya dan karenanya saya cepat membagikannya! ;)
mikero
5

Sunting: Bukti kelengkapan PSPACE lengkap (disederhanakan) muncul di bawah ini.

Dua pembaruan. Pertama, bentuk normal yang dijelaskan dalam jawaban saya yang lain sudah muncul di sebuah makalah oleh Calbrix dan Nivat berjudul Awalan dan bahasa periode rasional -langaugesω , sayangnya tidak tersedia online.

Kedua, memutuskan apakah suatu bahasa melingkar mengingat DFA-nya adalah PSPACE-complete.

Edaran di PSPACE. Karena NPSPACE = PSPACE oleh teorema Savitch, cukuplah untuk memberikan algoritma NPSPACE untuk non-sirkularitas. Misalkan menjadi DFA dengan | Q | = n status. Fakta bahwa monoid sintaksis L ( A ) memiliki ukuran paling banyak n n menyiratkan bahwa jika L ( A ) tidak melingkar maka ada kata w panjang paling banyak n nA=(Q,Σ,δ,q0,F)|Q|=nL(A)nnL(A)wnnsedemikian rupa sehingga tetapi w kL ( A ) untuk beberapa k n . Algoritma menebak w dan menghitung δ w ( q ) = δ ( q , w ) untuk semua q Q , menggunakan O ( n log n ) spasi (digunakan untuk menghitung hingga n n ). Itu kemudian memverifikasi bahwa δ w (wL(A)wkL(A)knwδw(q)=δ(q,w)qQO(nlogn)nn tetapi δ ( k ) wF untuk beberapa k n .δw(q0)Fδw(k)Fkn

Circularity adalah PSPACE-hard. Kozen menunjukkan dalam makalah klasiknya 1977 kertas Batas bawah untuk sistem bukti alami bahwa itu adalah PSPACE-sulit untuk memutuskan, diberi daftar DFA, apakah persimpangan bahasa yang diterima oleh mereka kosong. Kami mengurangi masalah ini menjadi bundar. Mengingat biner DFAs , kita menemukan seorang perdana p [ n , 2 n ] dan membangun terner DFA A menerima bahasa L ( A ) = ¯ { 2 w 1 2 w 2A1,,Anp[n,2n]A (Dengan sedikit usaha lagi, kita dapat membuatbinerAjuga.) Tidaklah sulit untuk melihat (menggunakan fakta bahwapadalah prima) bahwaL(A)berbentuk lingkaran jika dan hanya jika persimpanganL(A1)L(An)kosong.

L(A)={2w12w22wp:wiL(A1+(imodn))}¯.
ApL(A)L(A1)L(An)
Yuval Filmus
sumber
0

Setiap dengan panjang p > 0 dapat ditulis sebagai x y i z di mana x = z = ϵ , y = w ϵ . Sudah jelas bahwa | x y | p dan | y | = | w | > 0 . Oleh karena itu bahasa digunakan untuk input yang tidak kosong, oleh lemma pemompaan.sLp>0xyizx=z=ϵy=wϵ|xy|p|y|=|w|>0

Untuk , definisi tersebut berlaku, karena NDFA yang menerima string kosong juga akan menerima sejumlah string kosong.w=ϵ

Penyatuan bahasa di atas adalah bahasa L dan karena bahasa biasa ditutup di bawah penyatuan, maka setiap bahasa melingkar teratur.

Dengan teorema Rice, tidak bisa dipastikan. Buktinya mirip dengan keteraturan.CIRCULARITY/TM

chazisop
sumber
1
Lemma pemompaan adalah kondisi yang diperlukan, tetapi tidak cukup, untuk keteraturan. Secara khusus, ada bahasa tidak teratur yang memenuhi kondisi pemompaan. Juga, Beras adalah teorema akan mengatakan bahwa tidak dapat ditentukan. Ini tidak berarti bahwa { D | L ( D )  bundar } tidak dapat ditentukan (di mana D adalah DFA, M a TM)! Sebagai contoh, pengujian kekosongan untuk DFA adalah decidable, sedangkan pengujian kekosongan untuk TM tidak. {M|L(M) is circular}{D|L(D) is circular}DM
alpoge
1
Here's a non-computable circular language. Let D={0x1:xR}, where R is some non-computable language (e.g. codes of halting TMs). Then D is circular but clearly non-computable (an oracle for D can be used to decide R).
Yuval Filmus
2
@Peter, have you read this answer? It was trying to prove that any circular language (without the condition of regularity) is regular.
Yuval Filmus
1
@Yuval, my mistake. @chazisop, the pumping lemma is useful for proving non-regularity of languages, but not regularity. (Besides, the assertion of your first sentence reduces to "Every sL of length p>0 can be written as yi where yϵ", which is clearly false).
Peter Taylor
1
Yes, I use CIRCULARITY/TM to refer to this. CIRCULARITY/DFA is probably decidable.
chazisop