Apakah ada set yang dapat dihitung yang tidak dapat dihitung secara komputasi?

15

Suatu himpunan dapat dihitung jika ia memiliki bilangan bijih dengan bilangan asli, dan dapat dihitung (ce) jika ada algoritma yang menyebutkan anggotanya.

Setiap himpunan enumerable komputabel yang tidak terbatas harus dihitung karena kita dapat membangun suatu penghitungan dari enumerasi.

Adakah contoh himpunan yang dapat dihitung yang tidak dapat dihitung secara komputasi? Yaitu, sebuah penelian antara set ini dan bilangan asli ada, tetapi tidak ada algoritma yang dapat menghitung penambangan ini.

Peter Olson
sumber
1
Terminologi yang sudah mapan ini terhitung dapat dihitung . Banyak orang akan mengatakan bahwa "dihitung" dan "dihitung" adalah sinonim. Saya mengedit pertanyaan sesuai.
Andrej Bauer
@AndrejBauer, computably dan rekursif adalah sinonim, kan?
rus9384
1
@ rus9384 Ya. Mengenai kosa kata, kejelasan harus berkuasa, seperti yang ditulis Robert Irving Soare dalam Turing-Post Relativized Computability and Interactive Computing (2011) : Pada 1995 kebingungan menjadi tidak tertahankan. Saya menulis artikel tentang Computability and Recursion for the Bull. dari Sym. Logic (1996) tentang sejarah dan alasan ilmiah mengapa kita harus menggunakan "computable" dan tidak "recursive" berarti "dapat dihitung." "Recursive" harus berarti "induktif" seperti yang dilakukan untuk Dedekind dan Hilbert. Pada awalnya, hanya sedikit yang mau melakukan perubahan seperti itu ...
David Tonhofer

Jawaban:

23

Apakah ada contoh himpunan yang dapat dihitung yang tidak dapat dihitung?

Iya. Semua himpunan bagian dari bilangan alami dapat dihitung tetapi tidak semuanya dapat dihitung. (Bukti: ada banyak himpunan bagian yang tidak terhitung banyaknya dari  tetapi hanya banyak mesin Turing yang dapat bertindak sebagai enumerator.) Jadi setiap subset dari  yang Anda tahu tidak secara rekursif dapat dihitung adalah contoh - seperti sebagai himpunan semua angka yang mengkode mesin Turing yang berhenti untuk setiap input.NNN

David Richerby
sumber
3
@JorgePerez Tidak dan tidak .
David Richerby
3
Ini membuktikan keberadaan, tetapi tidak memberikan contoh ..
BlueRaja - Danny Pflughoeft
2
@ BlueRaja-DannyPflughoeft, memberi contoh sama dengan menghitung. "Bisakah kamu memberi contoh sesuatu yang tidak bisa kamu contoh? Tidak? Karena itu tidak ada yang bisa kamu contoh." Singkatnya, itu adalah konstruktivisme matematika.
Wildcard
2
Akankah gambar fungsi berang-berang yang sibuk menjadi set seperti itu? Karena Σ benar-benar meningkatkannya secara sepele membentuk sebuah penambangan dengan N , tetapi tidak ada mesin Turing yang dapat menyebutkan Σ . ΣΣNΣ
orlp
7
@ Kartu Memori Tidak, memberikan contoh sama dengan mendefinisikan , bukan? Ada set yang dapat didefinisikan tetapi tidak dapat disebutkan oleh suatu algoritma, seperti set semua mesin Turing yang tidak berhenti.
Tanner Swett
17

Ya, setiap bahasa yang tidak dapat ditentukan (tidak semi-decidable) memiliki properti ini.

Sebagai contoh, pertimbangkan set .L={(x,M)M does not halt on input x}

Misalkan kita memiliki algoritma yang dapat menyebutkan anggota dari set ini. Jika ada algoritma seperti itu, kita bisa menggunakan ini untuk menyelesaikan masalah penghentian dengan input , dengan algoritma berikut:x,M

  • Bergantian antara menjalankan mesin untuk n menginjak x , dan menghitung anggota L n .MnxnL

bisa berhenti, atau tidak berhenti di x . Jika berhenti, akhirnya kita akan menemukan n di mana kita mencapai keadaan tersendat-sendat. Jika tidak berhenti, maka akhirnya kita akan mencapai ( M , x ) dalam pencacahan kita.Mxn(M,x)

Jadi kami memiliki pengurangan, dan kami dapat menyimpulkan bahwa tidak ada penghitungan seperti itu.

Perhatikan bahwa penghitungan tersebut dapat ada untuk masalah semi-decidable. Misalnya, Anda dapat menghitung set semua pasangan input mesin penghenti dengan menghitung semua jejak yang mungkin dari semua eksekusi Mesin Turing setelah langkah, dan menyaring yang tidak berakhir dalam keadaan berhenti. n

Ya ampun
sumber
Apakah tidak ada bahasa dengan kompleksitas yang tak terhitung?
rus9384
@ rus9384 Saya tidak yakin apa yang Anda maksud. "Tak terhitung" adalah ukuran ukuran; "kompleksitas" adalah ukuran seberapa sulit untuk memutuskan. Tetapi tidak ada bahasa tak terhitung dari string terbatas: jika Anda ingin bahasa menjadi tak terhitung, Anda harus mengizinkan string tak terbatas (atau "alfabet" tak terhitung, atau keduanya).
David Richerby
@ DavidVicherby, well, jmite mengklaim bahwa setiap masalah yang tidak dapat dipastikan beroperasi dengan string yang terbatas? Saya pikir itu hanya berlaku untuk setiap masalah yang tidak dapat dipastikan Turing-dikenali .
rus9384
@ rus9384 Bahasa apa pun di atas alfabet terbatas dapat dihitung, dan kemampuan komputasi biasanya mengabaikan huruf tak terbatas. Lihat juga pertanyaan ini .
jmite
1
@ rus9384 ya, bahasa adalah serangkaian string hingga alfabet terbatas. Hal seperti itu dapat dihitung. Jika Anda ingin mendapatkan bahasa yang tak terhitung, Anda harus menghapus satu atau kedua contoh "terbatas" dari definisi itu. Tetapi jika seseorang hanya mengatakan "bahasa", itu berarti serangkaian string terbatas hingga beberapa alfabet terbatas.
David Richerby
7

Dalam teori komputabilitas kita berurusan dengan himpunan bagian dari , di mana Σ = { 0 , 1 } . Bahasa ini sangat tak terhingga, dan setiap subset L Σ dapat dihitung. Selain itu, ada banyak bahasa yang tidak dapat ditentukan tetapi berulang secara berulang yang pelengkapnya tidak berulang secara berulang. Bahasa-bahasa ini adalah himpunan bagian dari Σ dan karenanya dapat dihitung.ΣΣ={0,1}LΣΣ

fade2black
sumber
Kami tidak harus berurusan dengan string biner. Ada banyak kasus di mana kita mungkin tertarik untuk merangkai huruf-huruf lain, dan orang-orang yang menyebut komputasi "teori rekursi" cenderung berurusan langsung dengan set bilangan alami. (Artinya, bilangan itu sendiri dipandang sebagai primitif, dan tidak dikodekan sebagai, misalnya, string biner.)
David Richerby
@ DavidvidRicherby beberapa minggu yang lalu Anda mengklaim saya sebaliknya dalam komentar untuk jawaban Yuvals. Dan ini bukan kasus serupa yang pertama.
fade2black
Yuval memposting banyak jawaban, dan saya mengirim banyak komentar, jadi Anda harus lebih spesifik. Saya tentu saja berdiri dengan komentar saya di atas, jadi jika saya mengatakan hal yang sebaliknya, maka saya salah atau bingung atau Anda salah paham atau berbicara tentang skenario tertentu atau semacamnya. Maaf jika saya membingungkan Anda, terutama jika saya melakukannya dengan mengatakan sesuatu yang tidak jelas atau salah!
David Richerby
2
@ DavidRicherby, sebenarnya setiap alfabet hingga dapat direduksi menjadi biner, jadi, saya tidak mengerti bagaimana masalahnya. Atau apakah kita memiliki alfabet yang tak terhingga jumlahnya dalam hal ini (di mana setiap angka memiliki simbol unik)?
rus9384
{0,1}