Kami diberi latihan berikut.
Membiarkan
Buktikan bahwa dapat dihitung.
Bagaimana ini mungkin? Sejauh yang saya tahu, kita tidak tahu apakah berisi setiap urutan digit (atau yang) dan algoritma tentu saja tidak dapat memutuskan bahwa beberapa urutan tidak terjadi. Karena itu saya pikir tidak dapat dihitung, karena masalah yang mendasarinya hanya semi-decidable.
computability
undecidability
Raphael
sumber
sumber
Jawaban:
Hanya ada dua kemungkinan untuk dipertimbangkan.
Untuk setiap bilangan bulat positif , string muncul dalam representasi desimal dari . Dalam hal ini, algoritma yang selalu mengembalikan 1 selalu benar.n 0n π
Ada bilangan bulat terbesar sehingga muncul dalam representasi desimal dari . Dalam hal ini algoritma berikut (dengan nilai dikodekan) selalu benar:N 0N π N
Kami tidak tahu mana dari kemungkinan ini yang benar, atau berapa nilai adalah yang benar dalam kasus kedua. Namun demikian, salah satu dari algoritma ini dijamin benar. Dengan demikian, ada algoritma untuk memutuskan apakah string nol muncul di ; masalahnya adalah decidable.N n π
Perhatikan perbedaan halus dengan sketsa bukti berikut yang diajukan oleh gallais :
Alex ten Brink menjelaskan:
sepp2k menambahkan:
sumber
Hanya memposting sedikit elaborasi pada jawaban JeffE.
Kita tahu bahwa ada dua fungsi / kasus yang dapat menghitung fungsi f (n):
Satu dan hanya satu dari fungsi ini yang bisa benar. Kami tidak tahu yang mana, tetapi kami tahu pasti bahwa ada jawaban. Komputasi mensyaratkan bahwa ada fungsi yang dapat menentukan jawaban dalam jumlah langkah yang terbatas.
Jumlah langkah dalam kasus 1 sepele pasti hanya mengembalikan 1.
Dalam kasus 2 jumlah langkah juga terbatas. Untuk setiap bilangan bulat kita dapat membuat mesin Turing yang menerima jika dan sebaliknya menolak dalam waktu yang terbatas. Jadi tidak mengetahui batas atas pada tidak masalah. Untuk setiap ada mesin Turing, yaitu , yang menghitung dengan benar apakah (kita tidak tahu mana yang benar, tetapi tidak masalah, ada satu).T N ( n ) n < N N N T N ( n ) n < NN TN(n) n<N N N TN(n) n<N
Meskipun mungkin tidak mungkin untuk memilih di antara kedua kasus (meskipun satu tampaknya lebih mungkin daripada yang lain), kita tahu bahwa salah satu dari mereka harus benar.
Sebagai catatan tambahan: solusi kami mengandaikan bahwa sementara kami tidak dapat menentukan fungsi mana yang akan menghasilkan nilai yang benar, esensi dari komputabilitas tidak bergantung pada konstrukabilitas bukti. Keberadaan murni sudah cukup.
sumber
Langkah 5 dari upaya pembuktian berikut tidak dapat dibenarkan, dan ternyata salah - contoh tandingan dapat ditemukan di sini . (terima kasih, Yuval; itu memang terasa seperti bagian sketsa yang paling sketsa). Saya telah meninggalkan jawabannya di sini karena saya pikir kesalahan itu bersifat instruktif.
Pertama: Sepasang jawaban JeffE sudah cukup; f dapat dihitung dengan cara apa pun.
Jalan memutar singkat, ke dalam upaya sketsa bukti dengan induksi:π
π
π
π akan mulai mengulangi pada 1 atau 0 . Demikian pula, Anda tidak dapat berhenti menemukan 11 atau 00 , karena jika tidak, ia mulai berulang pada 1010101 ... π
Premis R : tidak mengulangi. 1. Lihat di basis 2. Ini sebagian besar untuk mengurangi jumlah kasus. 2. Tidak peduli seberapa jauh ke bawah garis Anda pergi, Anda akan selalu menemukan lain 1 tempat: alternatifnya adalah semua nol, yang berarti mulai mengulang, yang bertentangan R . 3. Sama berlaku untuk turun baris dan menemukan 0 . 4. Perluas urutan dua digit: Anda tidak dapat berhenti menemukan 01 atau 10 (yaitu, tempat di mana ia beralih), karena jika tidakπ π π π
5. Langkah induktif: setiap urutan hingga harus muncul jumlah kali yang tak terbatas, karena alternatifnya adalah mulai mengulangi pada salah satu urutan yang lebih pendek, yang bertentangan R .
sumber