Algoritma acak (waktu polinomial, hasil boolean) berada dalam kelas kompleksitas komputasi RP, yang merupakan subset NP di mana algoritma non-deterministik (waktu polinom, hasil boolean) berada dan superset P di mana deterministik (waktu polinomial, hasil boolean) algoritma berada.
Mengompleks kompleksitas adalah tentang mengurangi masalah dalam satu set ke set lainnya. Jadi RP ⊆ NP tidak mengecualikan kemungkinan algoritma acak yang juga non-deterministik karena secara definitif superset berisi subset. Subset berarti setiap algoritma RP (atau algoritma RP-complete) dapat direduksi menjadi beberapa algoritma NP (atau algoritma NP-complete). P adalah subset dari RP karena setiap masalah dalam P dapat direduksi menjadi masalah dalam RP di mana jumlah entropi yang tidak terkontrol adalah 0.
Secara garis besar, ini analog dengan bagaimana setiap masalah dalam NC (komputasi paralel) dapat direduksi menjadi masalah dalam P dengan mensimulasikan komputasi paralel dalam pengurangan ke masalah seri dalam P tetapi belum terbukti bahwa kebalikannya benar, yaitu bahwa setiap masalah dalam P dapat direduksi menjadi masalah di NC, atau terbukti tidak benar, yaitu bukti tidak masuk akal bahwa masalah P-complete tidak dapat direduksi menjadi masalah di NC. Mungkin saja ada masalah yang inheren serial dan tidak dapat dihitung secara paralel, tetapi untuk membuktikan bahwa membuktikan P ≠ NC tampaknya tidak masuk akal (karena alasan yang terlalu tangensial untuk dibahas dalam jawaban ini).
Lebih umum (yaitu tidak terbatas pada tipe hasil boolean), algoritma acak dibedakan dari algoritma deterministik di mana beberapa entropi bersumber eksternal . Algoritma acak dibedakan dari algoritma non-deterministik karena entropi dibatasi , dan dengan demikian algoritma acak (dan bukan non-deterministik) dapat dibuktikan selalu berakhir.
Ketidakpastian algoritma nondeterministic disebabkan oleh ketidakmampuan untuk menghitung semua kemungkinan permutasi dari input entropi (yang menghasilkan ketidakpastian pemutusan). Ketidakpastian algoritma acak disebabkan oleh ketidakmampuan untuk mengontrolsemua entropi input (yang menghasilkan ketidakpastian hasil yang tak tentu, meskipun tingkat ketidakpastian dapat diprediksi). Tak satu pun dari ini adalah pernyataan tentang ketidakpastian jawaban yang benar untuk masalah tersebut, tetapi ketidakstabilan bermanifestasi masing-masing dalam saluran sampingan pemutusan hubungan kerja dan hasil tak tentu. Tampaknya banyak pembaca menggabungkan ketidakpastian dalam satu area dengan ketidakpastian hasil yang benar, yang merupakan perpaduan yang tidak pernah saya tulis (tinjau riwayat sunting).
Adalah kunci untuk memahami bahwa non-determinisme selalu (dalam ilmu apa pun atau penggunaan istilah) ketidakmampuan untuk menyebutkan entropi universal (yaitu tidak terikat). Sedangkan, pengacakan mengacu pada mengakses sumber entropi lain (dalam program entropi selain dan karenanya tidak di bawah kendali variabel input) yang mungkin atau mungkin tidak terikat.
Saya menambahkan komentar berikut di bawah ini jawaban paling populer saat ini untuk utas lainnya yang menanyakan pertanyaan serupa.
Semua ilmu menggunakan definisi nondeterminisme yang sama yang disatukan pada konsep entropi tanpa batas. Hasil yang tidak dapat diprediksi dalam semua ilmu pengetahuan disebabkan oleh ketidakmampuan untuk menghitung secara apriori semua kemungkinan keluaran dari suatu algoritma (atau sistem) karena ia menerima keadaan yang tidak terikat, yaitu kelas kompleksitas NP. Menentukan input tertentu untuk mengamati apakah itu berhenti dan mencatat bahwa hasilnya idempoten setara dalam ilmu lain untuk menahan sisa entropi konstanta alam semesta sambil mengulangi perubahan keadaan yang sama. Komputasi memungkinkan isolasi entropi ini, sementara ilmu alam tidak.
Menambahkan beberapa komentar terbaik untuk menambahkan klarifikasi poin saya tentang satu-satunya perbedaan yang menonjol antara acak dan tidak deterministik.
Ini benar-benar sangat elegan dan mudah untuk melihat perbedaannya, setelah Anda semua berhenti mengacaukannya dengan mencoba menggambarkannya dari sudut pandang operasional alih-alih dari sudut pandang entropi yang menonjol.
@reinierpost semua orang menggabungkan perbedaan antara acak dan tidak deterministik. Ini menyebabkan komentar Anda kacau. Algoritme merespons interaksi entropi input (variabel) dan kode sumbernya (invarian) entropi internal. Nondeterminisme adalah entropi tanpa batas. Entropi invarian bahkan dapat dibatasi secara internal seperti memperluas digit π . Acak adalah beberapa entropi tidak digabungkan ke input sebagaimana didefinisikan (yaitu mungkin berasal dari panggilan sistem ke /dev/random
, atau simulasi keacakan misalnya NFA atau PRNG).
.
@Raphael definisi formal non-deterministic finite automa (NFA) adalah entropi input terbatas (data: 5-tuple). Dengan demikian setiap NFA dapat berjalan pada mesin Turing deterministik, yaitu tidak memerlukan mesin Turing-lengkap nondeterministic. Dengan demikian NFA tidak berada dalam kelas masalah nondeterministik. Gagasan "nondeterminisme" dalam NFA adalah bahwa determinismenya (walaupun jelas ada karena setiap NFA dapat dikonversi menjadi DFA) tidak diperluas secara eksplisit - tidak sama dengan nondeterminisme perhitungan
.
@ Raphael yang diklaim "non-determinisme" dalam NFA adalah benar-benar keacakan adalah pengertian definisi saya tentang perbedaan antara keacakan & nondeterminisme. Definisi saya adalah bahwa keacakan adalah ketika beberapa entropi yang tidak berada di bawah kendali, pengetahuan (, atau ekspansi non-eksplisit yang diinginkan dalam kasus NFA) dari input ke program atau fungsi. Padahal, nondeterminisme sejati adalah ketidakmampuan untuk mengetahui entropi dalam kasus apa pun, karena tidak terikat. Inilah yang dibedakan secara acak dari nondeterminisme. Jadi NFA harus menjadi contoh dari yang pertama, bukan yang terakhir seperti yang Anda klaim.
.
@ Raphael seperti yang sudah saya jelaskan, gagasan non-determinisme dalam NFA berpasangan dengan non-deterministik dengan entropi terbatas. Jadi non-determinisme adalah konsep lokal untuk tidak memperluas determinisme sebagai bentuk kompresi atau kenyamanan, jadi kami tidak mengatakan NFA bersifat non-deterministik, melainkan memiliki tampilan acak ke oracle yang tidak mau menghitung ekspansi deterministik. Tapi itu semua adalah fatamorgana karena disebut diperluas secara deterministik karena entropi tidak terikat, yaitu terbatas.
Kamus adalah alat. Belajarlah menggunakannya.
kata sifat acak
Statistik. atau mengkarakterisasi proses seleksi di mana setiap item dari set memiliki probabilitas yang sama untuk dipilih.
menjadi atau berkaitan dengan suatu himpunan atau elemen himpunan masing-masing yang unsur-unsurnya memiliki probabilitas kejadian yang sama
Jadi pengacakan hanya mensyaratkan bahwa beberapa entropi input harus dapat disetel, yang dengan demikian sesuai dengan definisi saya bahwa beberapa entropi input tidak dikontrol oleh penelepon fungsi. Perhatikan bahwa pengacakan tidak mengharuskan entropi input tidak dapat ditentukan untuk diakhiri.
Dalam ilmu komputer, algoritma deterministik adalah algoritma yang, diberi input tertentu, akan selalu menghasilkan output yang sama, dengan mesin yang mendasarinya selalu melewati urutan negara yang sama.
Secara formal, algoritma deterministik menghitung fungsi matematika; suatu fungsi memiliki nilai unik untuk setiap input dalam domainnya, dan algoritma adalah proses yang menghasilkan nilai khusus ini sebagai output.
Algoritme deterministik dapat didefinisikan dalam istilah mesin negara: keadaan menjelaskan apa yang dilakukan mesin pada saat tertentu dalam waktu tertentu. Mesin negara lolos secara terpisah dari satu kondisi ke kondisi lainnya. Tepat setelah kita memasukkan input, mesin berada dalam keadaan awal atau keadaan mulai. Jika mesin bersifat deterministik, ini berarti bahwa dari titik ini dan seterusnya, kondisi saat ini menentukan apa yang akan terjadi selanjutnya; jalurnya melalui serangkaian negara telah ditentukan sebelumnya. Perhatikan bahwa mesin dapat bersifat deterministik dan masih tidak pernah berhenti atau selesai, dan karena itu gagal memberikan hasil.
Jadi ini memberitahu kita bahwa algoritma deterministik harus sepenuhnya ditentukan oleh keadaan input dari fungsi, yaitu kita harus dapat membuktikan bahwa fungsi tersebut akan berakhir (atau tidak berakhir) dan itu tidak dapat diputuskan. Terlepas dari upaya Wikipedia yang membingungkan untuk menggambarkan nondeterministik, satu-satunya antitesis untuk deterministik seperti yang didefinisikan di atas oleh Wikipedia, adalah algoritma yang kondisi masukan (entropi) tidak jelas. Dan satu-satunya cara negara input dapat didefinisikan dengan tidak jelas adalah ketika tidak terikat (sehingga tidak dapat ditentukan secara deterministik). Inilah yang membedakan mesin Turing nondeterministik (dan banyak program dunia nyata yang ditulis dalam bahasa lengkap Turing umum seperti C, Java, Javascript, ML, dll.) Dari TM deterministik dan bahasa pemrograman seperti HTML, rumus spreadsheet, Coq, Epigram,
Dalam teori kompleksitas komputasi, algoritma nondeterministic adalah algoritma yang, pada setiap langkah yang memungkinkan, dapat memungkinkan untuk beberapa kelanjutan (bayangkan seorang pria berjalan menyusuri jalan di hutan dan, setiap kali ia melangkah lebih jauh, ia harus memilih garpu mana di jalan yang diinginkannya. untuk mengambil). Algoritma ini tidak sampai pada solusi untuk setiap jalur komputasi yang mungkin; namun, mereka dijamin akan tiba pada solusi yang tepat untuk beberapa jalur (yaitu, pria yang berjalan melalui hutan hanya dapat menemukan kabinnya jika dia mengambil beberapa kombinasi jalur yang "benar"). Pilihan dapat diartikan sebagai tebakan dalam proses pencarian.
Wikipedia dan yang lain mencoba untuk mengacaukan pengacakan dengan nondeterminisme, tetapi apa gunanya memiliki dua konsep jika Anda tidak akan membedakannya dengan fasih?
Jelas determinisme adalah tentang kemampuan untuk menentukan. Jelas pengacakan adalah tentang membuat beberapa peralatan entropi.
Termasuk entropi acak dalam keadaan algoritma tidak perlu membuatnya tidak dapat ditentukan. Sebagai contoh, PRNG dapat memiliki distribusi statistik yang dapat dipersyaratkan yang lengkap, namun juga sepenuhnya deterministik.
Konsep ortogonal yang berkembang adalah apa yang orang IQ rendah. Saya berharap lebih baik dari itu dari komunitas ini!