Properti yang dapat ditentukan dari real yang dapat dihitung

10

Apakah "teorema Padi untuk real yang dapat dihitung" - yaitu, tidak ada properti nontrivial dari angka yang diwakili oleh real komputer yang diberikan yang dapat ditentukan - benar?

Apakah ini sesuai dengan beberapa cara langsung dengan keterhubungan real?

Shachaf
sumber

Jawaban:

8

Ya, teorema Rice untuk real berlaku di setiap versi wajar real yang dapat dihitung.

Pertama-tama saya akan membuktikan teorema dan konsekuensi wajar tertentu, dan menjelaskan apa hubungannya dengan komputabilitas nanti.

Teorema: Misalkan adalah peta dan a, b \ in \ mathbb {R} dua realals sehingga p (a) = 0 dan p (b) = 1 . Kemudian ada urutan Cauchy (x_i) _i sedemikian rupa sehingga p (\ lim_i x_i) \ neq p (x_j) untuk semua j \ in \ mathbb {N} .a , b R p ( a ) = 0 p ( b ) = 1 ( x i ) i p ( lim i x i ) p ( x j )p:R{0,1}a,bRp(a)=0p(b)=1(xi)ip(limixi)p(xj)jN

Bukti. Kami membangun urutan pasangan real sebagai berikut: Perhatikan itu untuk semua :( y 0 , z 0 )(yi,zi)i i

(y0,z0)=(a,b)(yi+1,zi+1)={(yi,(yi+zi)/2)if p((yi+zi)/2)=1((yi+zi)/2,zi)if p((yi+zi)/2)=0
iN
  • p ( z i ) = 1p(yi)=0 danp(zi)=1
  • |ziyi|=|ba|2i
  • |yi+1yi||ba|2i
  • |zi+1zi||ba|2i

Dengan demikian urutan dan adalah Cauchy dan mereka bertemu ke titik umum . Jika maka kita ambil , dan jika maka kita ambil . ( z i ) i c = lim i y i = lim i z i p ( c ) = 0 ( x i ) i = ( z i(yi)i(zi)ic=limiyi=limizip(c)=0 p ( c ) = 1 ( x i ) i = ( y i ) i(xi)i=(zi)ip(c)=1(xi)i=(yi)i

Konsekuensi: Misalkan dan dua realals sehingga dan . Kemudian setiap mesin Turing dapat berjalan selamanya atau tidak selamanya.a , b R p ( a ) = 0 p ( b ) = 1p:R{0,1}a,bRp(a)=0p(b)=1

Bukti. Menurut teorema, ada urutan Cauchy sedemikian rupa sehingga untuk semua . Tanpa kehilangan umum kita dapat mengasumsikan bahwa dan . p ( x j ) p ( lim i x i(xi)ij B p ( x j ) = 1 p ( lim i x i ) = 0p(xj)p(limixi)jBp(xj)=1hal(limsayaxsaya)=0

Biarkan menjadi mesin Turing. Tentukan urutan oleh Urutannya didefinisikan dengan baik karena kita dapat mensimulasikan langkah hingga dan memutuskan apakah telah berhenti atau tidak dalam banyak langkah itu. Selanjutnya, amati bahwa adalah urutan Cauchy karena adalah urutan Cauchy (kita biarkan ini sebagai latihan). Biarkan . Baik atau :y i y i = { x j jika  T  perhentian pada langkah  j  dan  j i x i jika  T  tidak berhenti dalam  i  langkah T i ( y i ) i ( x iTysaya

yi={xjif T halts in step j and jixiif T does not halt within i steps
Ti(yi)i z = lim i y i p ( z ) = 0 p ( z ) = 1(xi)iz=limiyip(z)=0p(z)=1
  • jika maka berjalan selamanya. Memang, jika berhenti setelah langkah , maka kita akan memiliki , dan akan bertentangan dengan .T jp(z)=0Tj p ( z ) = p ( x j ) = 1 p ( z ) = 0z=xjp(z)=p(xj)=1p(z)=0

  • jika maka tidak berjalan selamanya. Memang, jika ya, maka kita akan memiliki , dan , bertentangan dengan . T z = lim i x i pp(z)=1Tz=limsayaxsayap ( z ) = 0 hal(z)=hal(limsayaxsaya)=0hal(z)=0

Sekarang kita bisa menjelaskan mengapa ini memberi kita teorema Rice untuk bilangan real. Buktinya konstruktif, karena itu menghasilkan prosedur yang dapat dihitung. Ini berlaku untuk model komputasi mana pun dan struktur perhitungan real apa pun yang pantas disebut demikian. Bahkan, Anda dapat kembali dan membaca buktinya sebagai instruksi untuk membangun sebuah program - semua langkahnya dapat dihitung.

Jadi, jika kita memiliki peta computable dan computable sedemikian rupa sehingga dan , maka kita dapat menerapkan prosedur komputasi yang timbul dari bukti konstruktif teorema dan akibat wajar untuk membuat oracle Menghentikan. Tetapi oracle Halting tidak ada, oleh karena itu, setiap peta yang dapat dihitung adalah konstan.a , b Rhal:R{0,1}Sebuah,bRp ( 1 ) = 1 p : R{ 0 , 1 }hal(Sebuah)=0hal(1)=1hal:R{0,1}

Tambahan: Ada juga pertanyaan tentang apakah teorema Rice terkait dengan keterhubungan real. Ya, pada dasarnya pernyataan bahwa real terhubung.

Pertama-tama mari kita amati bahwa peta kontinu (kita mengambil topologi diskrit pada ) sesuai dengan sepasang clopen disjoint (tertutup dan terbuka) mengeset sehingga . Memang, ambil dan . Karena kontinu dan dan terbuka, dan akan terbuka, menguraikan, dan mereka jelas menutupi semua . Sebaliknya, setiap pasangan dari clopens terpisah yang menutupi menentukan peta kontinu{ 0 , 1 } U , V X U V = X U = p - 1 ( { 0 } ) V = p - 1 ( { 1 } ) phal:X{0,1}{0,1}U,VXUV=XU=p1({0})V=p1({1})p{ 1 } U V X ( U , V ) X hal{0}{1}UVX(U,V)XU 0 V 1p:X{0,1} yang memetakan elemen ke dan elemen ke .U0V1

Dari sini kita belajar bahwa ruang terputus jika, dan hanya jika, ada peta kontinu dan sehingga dan (kita perlu dan sehingga kita mendapatkan dekomposisi tidak sepele ). Ada cara lain untuk mengatakan hal yang sama: spasi terhubung jika, dan hanya jika, semua peta berkelanjutan konstan.p : X { 0 , 1 } a , b X p ( a ) = 0 p ( 1 ) = b a b X X X { 0 , 1 }Xp:X{0,1}a,bXp(a)=0p(1)=babXXX{0,1}

Dalam matematika yang dapat dihitung, kami memiliki teorema dasar: setiap peta yang dapat dihitung adalah kontinu . Jadi, selama kita berada dalam bidang objek yang dapat dihitung, teorema Rice sebenarnya menyatakan bahwa ruang tertentu terhubung. Dalam kasus teorema Rice klasik, spasi yang dimaksud adalah ruang fungsi parsial yang dapat dihitung .NN

Andrej Bauer
sumber
Terima kasih! Ini yang saya cari. Adakah gagasan tentang pertanyaan lain - apakah ini terkait langsung dengan keterhubungan real?
Shachaf
Saya menambahkan penjelasan tentang fakta bahwa teorema Rice sebenarnya adalah bentuk teorema keterhubungan.
Andrej Bauer
Misalkan dan tentukan jika tidak berhenti di dalam langkah dan jika tidak. Jika T tidak berhenti maka konvergen ke , sebaliknya konvergen ke . Jika dapat dihitung, maka diberikan , seseorang dapat menghasilkan mesin yang menghitung batas . Mengapa ini tidak cukup untuk menunjukkan bahwa tidak dapat dihitung, atau bahkan dapat dipilih (karena tidak menghentikan iff adalahy i = x T i y i = x y i x x x , x Tp(x)=1,p(x)=0yi=xTiyi=xyixxx,xT p T p 1yipTp1pada batas). Jelas saya kehilangan sesuatu, karena ada properti nontrivial yang dapat ditentukan.
Ariel
1
Definisi ok, tetapi Anda juga memerlukan tingkat konvergensi urutan yang dapat dihitung untuk mengklaim bahwa batasnya dapat dihitung. Karena kita tidak bisa menghitung di mana indeks urutan mungkin melompat dari ke (atau kita bisa menghitung di mana langkah akan menghentikan), seperti tingkat komputasi konvergensi tidak dapat memiliki. y i i y i x x TTyiiyixxT
Andrej Bauer
-1

Tidak. Atau, paling tidak, buktinya tidak sepele, karena Anda dapat memilih di antara (umumnya banyak) cara yang mungkin untuk menghitung yang nyata, dan mungkin dapat memilih satu dengan struktur yang total tergantung pada properti yang dipilih sehingga Anda tidak mengurangi pengujian properti untuk masalah penghentian.

Juga, saya pikir saya perlu pemahaman yang lebih baik tentang apa artinya "nontrivial" yang berarti sifat-sifat angka. Untuk teorema Rice, "nontrivial" pada dasarnya adalah non-sintaksis dan tidak tersirat oleh sintaksis. Namun setiap bilangan real yang dapat dihitung bukan satu program, melainkan kelas ekivalensi yang penuh dengan program.

Boyd Stephen Smith Jr.
sumber
1
Saya tidak yakin apa yang Anda maksud, di sini. Apakah Anda mencoba membedakan antara bilangan real yang dapat dihitung (mis. , , , dll.) Dan program yang menghitungnya? Tentu, ada banyak sekali program yang menghitung masing-masing yang benar-benar dapat dihitung tetapi ada juga banyak mesin Turing yang menentukan bahasa yang dapat dipilih, dan teorema Rice yang biasa tidak memiliki masalah dengan itu. 22 / 7 π222/7π
David Richerby
Apakah representasi yang berbeda dari real yang dihitung sebenarnya memiliki sifat komputabilitas yang berbeda secara signifikan? Katakanlah saya menggunakan salah satu definisi di en.wikipedia.org/wiki/Computable_number , mis. Real yang dapat dihitung diwakili oleh program yang mengambil batasan kesalahan rasional dan menghasilkan perkiraan dalam batasan itu. Maksud saya "sepele" dalam arti yang sama dengan teorema Rice: Sebuah properti yang berlaku untuk semua real yang dapat dihitung atau tidak satupun dari mereka. Memang benar bahwa setiap angka dapat diwakili oleh beberapa program, tetapi itu berlaku juga untuk fungsi parsial.
Shachaf
@Shachaf Itu lebih "sepele" dari yang dibutuhkan oleh Teorema Rice. "Sintaksis" properti juga sepele - misalnya "memiliki setidaknya 4 negara dapat dicapai dari keadaan awal", "memiliki grafik keadaan terhubung", "tidak memiliki transisi yang menulis X ke kaset", dll - dan mereka perlu tidak berlaku untuk setiap mesin.
Boyd Stephen Smith Jr
@ DavidRicherby Ya, saya pikir perbedaan itu perlu. Jika Anda dapat bekerja secara eksklusif dengan representasi total atau produktif, Anda memiliki kekuatan lebih.
Boyd Stephen Smith Jr.
Teorema Rice adalah tentang sifat-sifat fungsi parsial, bukan algoritma yang menghitungnya. Saya juga bertanya tentang properti real yang dapat dihitung, bukan program yang menghitungnya.
Shachaf