Tetapkan "masalah" menjadi algoritma menerima bilangan alami dan mengembalikan 0 atau 1 yang mengembalikan pada setidaknya satu . Setiap tersebut disebut sebagai "solusi" untukn ∈ N n A
Tetapkan "pemecah masalah universal" menjadi algoritme menerima masalah dan mengembalikan salah satu solusinya. Misalnya, dapat bekerja dengan perulangan atas semua bilangan dan berjalan masukan pada mereka sampai hasil (hanya memiliki berhenti pada input yang valid)U 1
Saya tertarik menjelajahi batasan kinerja pada pemecah masalah universal
Diberikan pemecah masalah universal dan masalah, menyatakan waktu yang dibutuhkan untuk menghasilkan output setelah menerima inputA t ( U , A ) U A
Pemecah masalah universal disebut "efisien" ketika untuk setiap pemecah masalah universal , kami memilikinyaV
Di sini tergantung pada tetapi tidak tergantung pada V A
Apakah ada pemecah masalah universal yang efisien?
EDIT: Saya menyadari adalah mungkin untuk mengubah definisi "masalah" dan "pemecah masalah universal" menjadi sesuatu yang sedikit lebih elegan dan pada dasarnya setara. "Masalah" adalah algoritma tanpa input yang mengembalikan 0 atau 1 (yang berhenti). "Pemecah masalah universal" adalah algoritma yang menerima masalah dan mengembalikan hasilnya. Ini lebih atau kurang mesin Turing universal
Definisi lama dapat dikurangi dengan definisi baru, karena diberikan masalah dalam arti tua, kita dapat membangun masalah dalam arti baru yang hanya berlaku sepele lama-rasa masalah universal pemecah ke (solver dijelaskan dalam teks di atas )B A
Definisi baru dapat direduksi menjadi definisi lama, karena mengingat masalah dalam pengertian baru, kita dapat membangun masalah dalam pengertian lama yang hanya menghitung dan membandingkan input ke hasilnyaA B
Contoh sepele dari pemecah masalah universal rasa baru adalah algoritma yang hanya menjalankan inputnya
Algoritma universal Levin adalah algoritma sedemikian rupa sehingga . Dengan memodifikasi algoritme (lihat misalnya Algoritma Hutter yang Tercepat dan Terpendek untuk Semua Masalah yang Didefinisikan dengan Baik ), Anda dapat menjadikan konstanta universal, meskipun jelas bukan seperti yang Anda butuhkan. Untuk pekerjaan terkait, konsultasikan pekerjaan dengan Hirsch, Itsykson dan siswa mereka, misalnya laporan teknis ini .s V 1t(U,A)<sVt(V,A)+tV sV 1
Sunting: Seperti komentar Squark, runtime dari algoritma Levin juga tergantung pada runtime dari , karena harus memverifikasi jawabannya. Untuk mendapatkan konstan , yang perlu Anda lakukan adalah mengatur kecepatan berbagai algoritma dalam progres geometrik (bukan progresi aritmatika, seperti dalam algoritma asli Levin).s VA sV
sumber