Bisakah pengkodean menetapkan kelas bahasa non-sepele yang berisi set kosong secara berulang dihitung?

8

Membiarkan CCmenjadi seperangkat bahasa enumerable rekursif non-sepele ( ) dan biarkan L menjadi set pengkodean mesin Turing yang mengenali beberapa bahasa dalam C : L = \ {\ langle M \ rangle \ mid L (M) \ dalam C \}CRECRELLCCL={ML(M)C}

L={ML(M)C}

Misalkan MloopyLMloopyL , di mana MloopyMloopy adalah TM yang tidak pernah berhenti. Saya ingin tahu apakah mungkin LRELRE ?

Dengan teorema Rice saya tahu bahwa LRLR (himpunan bahasa rekursif), jadi LRELRE atau ¯LREL¯¯¯¯RE . Apakah itu harus menjadi opsi pertama sejak MloopyLMloopyL ?

Pembilang
sumber
1
Anda harus menjelaskan notasi Anda. Apa itu ? Apa itu ? Apa itu ? Satu-satunya hal yang Anda jelaskan adalah singkatan dari RE, dan itulah satu hal yang tidak perlu Anda jelaskan. M.ML.(M.)L(M)¯L.L¯¯¯¯
Andrej Bauer
2
@AndrejBauer: Itu notasi yang cukup standar. Mereka berarti, dari kiri ke kanan, pengkodean M, bahasa diterima oleh , dan komplemen dari . M.ML.L
Raphael
Maksud Anda "jadi, atau ", saya kira? L.RELRE¯L.REL¯¯¯¯RE
Raphael
1
ada perpanjangan teorema Rice yang menggambarkan kondisi yang membuat . Saya mungkin punya waktu nanti untuk menulisnya, kecuali yang lain melakukannya. TETAPI , jika (yang tersirat oleh keberadaan ), maka . Ini juga mengikuti dari Rice's thm dengan bukti standar. L.RELRECCM.lHaiHaihalL.MloopLL.RELRE
Ran G.
@ Raphael, Anda benar.
Numerator

Jawaban:

3

Tidak, itu tidak mungkin. Ada versi diperpanjang teorema Rice untuk membuktikan bahwa kumpulan indeks tidak dapat dihitung secara rekursif.

Dalam notasi Anda, teorema menyatakan bahwa jika (non-sepele) CC berisi bahasa L.1L1 yang memiliki superset yang tepat L.2L2 tidak masukCC, kemudian L.RELRE. Intuisi adalah bahwa tidak ada algoritma yang dapat memisahkan pengkodeanL.1L1 dan L.2L2; mereka tidak dapat memutuskan bahwa mesin yang dikodekan tidak menerima sepatah kata pun dariL.2L.1L2L1 setelah waktu yang terbatas, yang harus mereka lakukan.

Sekarang kamu membutuhkan CC tapi C2ΣC2Σ, oleh karena itu teorema berlaku dan L.L tidak dihitung secara rekursif.


  1. The Artikel Wikipedia mengerikan, berhati-hatilah!
Raphael
sumber
Dapatkah saya mengklaim itu sejak itu? L.(M.lHaiHaihal)=L(Mloop)= kami mendapatkan bahwa mesin turing Kosong, yang tidak menerima kata apa pun EtmL.EtmL dan karena Teorema Padi kita tahu itu L.RLR (semua kondisi Beras OK) jadi karena EtmCHai-REEtmCoRE kita dapat itu L.RELRE?
Numerator
@Numerator: Apa itu Etm? Bagaimanapun,L.L belum tentu dalam cHai-REco-REjadi tidak. Jika ya, alasan itu akan berhasil, ya.
Raphael
4

untuk melengkapi jawaban Raphael, ada perpanjangan teorema Rice yang mengatakan sebagai berikut:

Teorema Padi Umum

Membiarkan SRESRE menjadi properti, dan biarkan L.SLS semua TM yang memenuhi properti SS, itu adalah, L.S={M.L.(M.)S}.

LS={ML(M)S}.
Kemudian, L.SRELSREjika dan hanya jika semua kondisi berikut berlaku:
  1. untuk apa saja L.1,L.2REL1,L2RE, jika L.1SL1S dan L.1L.2L1L2 kemudian L.2SL2S.
  2. jika L.1SL1S maka ada yang terbatas L.2L.1L2L1 seperti yang L.2SL2S.
  3. Bahasa 'semua bahasa hingga di SS'ada di RE.
    (dengan kata lain, ada TMM.SMS itu, jika L.L adalah bahasa yang terbatas L.={w1,w2,...wk)L={w1,w2,wk), dan (w1,w2,...,wk)(w1,w2,,wk) diberikan kepada M.SMS sebagai input, M.M hanya menerima jika L.SLS.

Sekarang kembali ke pertanyaan awal. Kita sekarang ituM.lHaiHaihalyL.MloopyL begitu L.(M.lHaiHaihaly)CL(Mloopy)C. TapiL.(M.lHaiHaihaly)=L(Mloopy)=karena TM ini tidak pernah berhenti. Ini artinyaCC.

Sekarang mari kita lihat kondisi pertama teorema di atas. APAPUN bahasaL.L memuaskan L.L. Jadi untuk memenuhi kondisi 1, harus seperti ituC=REC=RE. Namun, pertanyaannya menyatakan ituCRECRE dan karena itu, oleh teorema, L.RELRE.

Ran G.
sumber
Apakah ada sumber di mana saya bisa belajar lebih banyak tentang teorema ini? Saya tidak dapat menemukan yang online yang memuaskan.
Gokul
1
@ Gokul saya diberitahu bahwa teorema ini muncul dalam buku Hopcroft, Motwani, Ullman, tetapi hanya dalam versi pertamanya (tampaknya telah dihapus di versi yang lebih baru).
Ran G.
@Ran G. Saya tidak bisa menemukan buku yang disebutkan untuk memeriksa ini tetapi # 3 tampaknya salah, karena untuk S=RES=RE, bahasa semua bahasa hingga tidak RERE. Anda mungkin lebih suka kondisi serupa lainnya:x(xL.Skamu(Df(kamu)Wx))x(xLSu(Df(u)Wx))dimana DD adalah pengkodean kanonik bahasa yang terbatas, WW enumerasi standar RERE bahasa, dan ffbeberapa fungsi yang sepenuhnya dapat dihitung. Dalam hal ini, kondisi ini hanya setara denganL.SLS makhluk RERE. (Lihat Teori H. Rogers tentang Fungsi Rekursif dan Kompabilitas yang Efektif hal 324 ) Meskipun # 1 dan # 2 sudah cukup di sini.
Beleg
@ Beleg Saya tidak mengerti mengapa itu salah. JikaS=RES=RE maka bahasa apa pun yang terbatas ada di SS, maka TM yang menerima string apa pun (atau lebih tepatnya, string apa pun yang diformat dengan baik) adalah penentu untuk set semua bahasa hingga di S. Jika Anda masih tidak setuju, mari kita lanjutkan dalam Obrolan Ilmu Komputer .
Ran G.
0

Mungkin saja itu L.Ladalah set ulang. Pertimbangkan kopernyaC=REC=RE. KemudianL.Ladalah himpunan semua kode dari semua mesin Turing. Ini adalah set rekursif, pada kenyataannya, tergantung pada detail pengkodean, kita bisaL.=NL=N. Jadi sebenarnya itu salahL.L tidak bisa rekursif.

Saya curiga Anda salah mengartikan pertanyaan itu.

Andrej Bauer
sumber
OP dikecualikan RERE.
Raphael
@ Raphael Saya tidak yakin (itu tergantung apakah dimaksudkan sebagai ketat), tetapi jika itu yang membuat pertanyaan menarik, mari kita asumsikan C bukan keseluruhan RE.
Gilles 'SANGAT berhenti menjadi jahat'
@Andrej Terima kasih atas jawabannya, tetapi Raphael benar, saya mengecualikan RE.
Numerator