Apa perbedaan antara TM kuantum dan TM nondetermistic?

30

Saya telah melalui diskusi tentang pertanyaan Bagaimana cara mendefinisikan mesin Turing kuantum? dan saya merasa bahwa TM kuantum dan TM nondetermistic adalah satu dan sama. Jawaban untuk pertanyaan lain tidak menyentuh itu. Apakah kedua model ini satu dan sama?

Jika tidak,

  1. Apa perbedaan antara kuantum TM dan NDTM?
  2. Apakah ada perhitungan yang dilakukan NDTM lebih cepat dari Quantum TM?
  3. Jika ini masalahnya maka kuantum TM adalah DTM, lalu mengapa ada begitu banyak ketidakjelasan tentang teknologi ini, kami sudah memiliki begitu banyak DTM. Mengapa merancang DTM baru pada akhirnya?
bongubj
sumber
1
"Jika ini masalahnya maka kuantum TM adalah DTM" - Dari mana asalnya?
Raphael

Jawaban:

20

Sebagai mukadimah umum, QTMs, TMs dan NTMs semuanya berbeda (mengambil kebebasan besar dengan banyak asumsi tak terucapkan).

Saya akan menganggap Anda tahu apa itu Mesin Turing.

  1. NTM adalah TM di mana, di negara mana pun, dengan simbol apa pun, fungsi transisi diizinkan untuk memiliki sejumlah pilihan tindakan yang tidak tepat , yaitu 0 atau lebih dari 1 (TM deterministik harus memiliki tepat satu tindakan untuk setiap simbol di setiap negara bagian, meskipun 0 case mudah ditangani). Ketika dihadapkan pada situasi di mana ada beberapa pilihan transisi, NTM akan membuat pilihan yang pada akhirnya akan membawanya ke negara penerima, jika ada pilihan seperti itu. Sebaliknya QTM adalah model perhitungan kuantum , sebagaimana dirinci dalam utas yang Anda tautkan. Hal ini tidak1 010

    tidak deterministik, tidak semua. Mungkin perbedaan kunci tingkat tinggi antara QTM dan TM adalah bahwa QTM memiliki status liniernya sebagai kombinasi linear dari keadaan dasar (sekali lagi, semuanya ada di utas lainnya) dan bahwa itu probabilistik, yaitu, akurasi ouputnya. dibatasi oleh beberapa probabilitas kurang dari (secara umum). Hanya untuk benar-benar jelas pada titik yang menangkap banyak orang, nondeterminisme bukanlah keacakan, itu bukan paralelisme, itu adalah konstruksi teoretis yang tidak ada hubungannya dengan salah satu dari mereka. 1

  2. Jawaban lengkap untuk ini tergantung pada beberapa asumsi teori kompleksitas. Mengambil sudut pandang tertentu (yang dan ), jawabannya adalah ya. Masalah lengkap dapat diselesaikan oleh NTM dalam waktu polinomial, dan tampaknya juga , sehingga mereka tidak dapat diselesaikan dengan QTM pada waktu polinomial. Sekali lagi, ini semua tergantung pada cara kartu jatuh dengan berbagai kelas kompleksitas. Jika ternyata maka jawabannya tidak, misalnya. QM.SEBUAHBQPN P N P -lengkap B Q P = Q M A = B Q PNPPNPNP-lengkapBQP=

    QM.SEBUAH=BQP
  3. Hal pertama yang saya katakan di sini adalah berhati-hati dalam membingungkan TM (dalam bentuk apa pun) dan komputer. TM bukan komputer, QTM bukan komputer kuantum. Perhitungan model TM (dalam bentuk apa pun). Apa yang dapat dilakukan oleh komputer tertentu diatur oleh ini, tetapi ini sangat berbeda dengan mengatakan bahwa hal yang saya ketik ini adalah TM.

    Karena itu, jika kita berbicara secara longgar dan malas mengidentifikasi QTM dengan komputer kuantum dan TM dengan komputer standar, maka (sekali lagi dengan asumsi kompleksitas tertentu), tampaknya komputer kuantum dapat dengan cepat melakukan tugas-tugas tertentu yang tampaknya sulit untuk komputer standar (anjak piutang, log diskrit) , jenis pencarian yang sangat khusus, dan beberapa lainnya). Namun masalah ini tidak diketahui sulit diN PNP-perasaan lengkap juga, tampaknya komputer kuantum menawarkan kemampuan yang memperluas komputer standar, tetapi dalam arah yang berbeda dengan apa yang akan dibutuhkan untuk menyelesaikan masalah lengkap dengan cepat. NP

Sekali lagi agar benar-benar jelas, saya telah membahas banyak kompleksitas komputasi di sini, jika Anda benar-benar ingin memahami bagaimana semuanya cocok, Anda harus mulai menggali literatur.

Luke Mathieson
sumber
Terima kasih banyak @LukeMathieson. Saya akan mencoba mencerna semuanya dan memposting kembali pertanyaan yang mungkin saya dapatkan.
bongubj
Senang bisa membantu. Jelas ada banyak detail teknis yang hilang, dalam upaya mencapai makna dan intuisi. Artikel wikipedia tentang Mesin Turing cukup baik, untuk membahas hal-hal teknis di sana. QTM yang satu itu menyedihkan, tetapi utas lainnya tetap bagus. Namun hal-hal QTM bisa sedikit tidak jelas jika Anda belum melakukan kursus tentang Hilbert Spaces atau sejenisnya.
Luke Mathies
3
"nondeterminisme bukanlah keacakan, itu bukan paralelisme, ini adalah konstruksi teoretis yang tidak ada hubungannya dengan keduanya." - itu mungkin kalimat kunci di sini.
Raphael
13

Tentang makna nondeterminisme

Ada dua arti berbeda 'nondeterminisme' yang dipermasalahkan di sini. Mekanika kuantum biasanya digambarkan sebagai "tidak deterministik", tetapi kata "nondeterministik" digunakan secara khusus dalam ilmu komputer teoretis.

  1. Satu makna, yang berlaku untuk mekanika kuantum, adalah 'tidak deterministik '. Ini biasanya merupakan cara yang masuk akal untuk menafsirkan kata, dan pada kenyataannya, baik mesin kuantum Turing atau bahkan mesin Turing probabilistik tidak deterministik dalam cara mereka memecahkan masalah keputusan.

  2. Namun, ketika menggambarkan model perhitungan, nondeterministic digunakan secara khusus untuk berarti bahwa mesin dapat (dalam arti tertentu) membuat pilihan yang tidak ditentukan oleh keadaan atau inputnya, untuk mendapatkan tujuan tertentu. Makna ini digunakan di tempat lain dalam menggambarkan model perhitungan, seperti Nondeterministic Finite Automata .

Jadi, mesin Turing kuantum adalah model perhitungan yang tidak deterministik, tetapi berbeda dari " mesin Turing nondeterministic ".

Mesin Turing Nondeterministic

Mesin Turing nondeterministic adalah mesin yang dapat mengeksplorasi beberapa kemungkinan transisi. Transisi yang dibuatnya pada langkah tertentu tergantung, tetapi tidak ditentukan, oleh keadaan di mana ia berada dan simbol yang sedang dibaca. Ada dua cara yang biasa disajikan:

  • Khusus untuk tujuan mendefinisikan NP kelas kompleksitas , orang dapat menggambarkan mesin sebagai membuat pilihan (atau tebakan) pada setiap langkah untuk mencoba mencapai keadaan menerima. Jika Anda memikirkan apa yang dilakukan mesin nondeterministic sebagai menjelajahi pohon keputusan, ia mencari jalur penerimaan di pohon. Meskipun tidak ada mekanisme yang dijelaskan untuk menyarankan bagaimana jalan seperti itu harus ditemukan, kami membayangkan bahwa itu akan menemukan jalan penerimaan jika bahkan hanya ada satu.

  • Juga cukup umum untuk mengatakan bahwa mesin nondeterministic mengeksplorasi semua jalur yang mungkin dalam pohon keputusan secara paralel, dan memberikan jawaban "ya" jika salah satu dari mereka berubah menjadi jalur penerimaan.

Perawatan nondeterminisme yang lebih modern juga mempertimbangkan tidak hanya keberadaan, tetapi jumlah jalur penerimaan; dan ini sangat cocok untuk deskripsi menjelajahi semua jalur secara paralel. Kita dapat memberikan batasan tambahan, misalnya bahwa semua jalur komputasi memiliki panjang yang sama (bahwa mesin selalu membutuhkan jumlah waktu yang sama untuk melakukan perhitungan) dan bahwa setiap jalur melakukan tebakan pada setiap langkah, atau setiap langkah kedua, bahkan jika tebakan itu tidak digunakan. Jika kita melakukan ini, kita dapat merumuskan model perhitungan probabilistik, seperti mesin Turing acak (memotivasi kelas kompleksitas seperti BPP ), dalam hal jumlahmenerima jalur mesin Turing nondeterministic. Kita juga dapat membalik ini, dan menggambarkan mesin Turing nondeterministik dalam hal komputer acak yang entah bagaimana dapat membedakan antara hasil yang memiliki probabilitas nol dari yang memiliki probabilitas tidak nol .

Mesin Quantum Turing

Perbedaan utama antara mesin Turing kuantum dan yang tidak deterministik adalah ini: alih-alih 'memilih' transisi tunggal dari dua atau lebih pada setiap langkah, mesin Turing kuantum membuat transisi ke superposisi satu atau lebih kemungkinan transisi. Keadaan lengkap mesin didefinisikan sebagai vektor satuan dalam ruang vektor yang kompleks, ditentukan oleh kombinasi linear dari keadaan dasar yang dijelaskan oleh keadaan klasik pita, posisi kepala mesin, dan "keadaan internal" dari kepala mesin . (Lihat misalnya halaman 9, Definisi 3.2.2, Teori Kompleksitas Quantumuntuk deskripsi lengkap tentang bagaimana mesin kuantum Turing melakukan transisi.) Kondisi di mana mesin kuantum Turing menerima input juga lebih ketat, dan secara inheren melibatkan probabilitas, membutuhkan probabilitas substansial untuk mengamati hasil yang benar agar berhasil.

Akibatnya, mesin kuantum Turing berbeda dari mesin nondeterministic dalam cara mereka melakukan transisi tidak sepenuhnya tidak ditentukan. Sekalipun transisi itu "tampak misterius", itu juga merupakan evolusi yang sama dengan waktu yang ditunjukkan oleh teori materi terbaik kita di dunia nyata. Meskipun umum untuk menggambarkan komputer kuantum sebagai "menjelajahi jalur komputasi yang berbeda secara paralel", itu tidak terlalu berguna untuk dilakukan: amplitudo pada jalur yang berbeda berarti bahwa mereka tidak semua memiliki kepentingan yang sama, dan tidak seperti mesin Turing yang tidak deterministik, itu tidak cukup untuk memiliki amplitudo non-nol pada beberapa hasil; harus dimungkinkan untuk memperoleh probabilitas yang sangat besar untuk mendapatkan hasil yang benar, seperti 2/3. (Kelas masalah BQPdimana mesin Turing kuantum dapat secara efisien menyelesaikan membutuhkan celah probabilitas dari jenis yang sama seperti BPP untuk perhitungan acak.) Selain itu, sangat berbeda dengan mesin Turing nondeterministic, mesin Turing kuantum dapat mengganggu mereka satu sama lain setelah mereka membagi , yang sama sekali tidak mungkin dalam formulasi khas mesin Turing nondeterministik (dan itu membuat deskripsi dalam hal pohon keputusan kurang berguna di tempat pertama).

Membandingkan kedua model

Kami tidak tahu apakah salah satu dari mesin ini lebih kuat dari yang lain; cara-cara berbeda di mana mereka tidak deterministik tampak berbeda satu sama lain, dan sulit untuk dibandingkan.

Adapun masalah yang bisa dilakukan masing-masing mesin dengan cepat, yang lain tidak bisa (sejauh yang kita tahu):

  • Kami tidak tahu bagaimana mesin Turing kuantum dapat dengan cepat menyelesaikan masalah KEPUASAN . Mesin Turing nondeterministis dapat dengan mudah.
  • Karya Aaronson dan Archipov ( Kompleksitas Komputasi Linear Optik ) menunjukkan bahwa mesin Turing nondeterministik tidak mungkin dapat secara efisien mensimulasikan percobaan tertentu dari optik linear yang dapat disimulasikan oleh mesin Turing kuantum.

Tetapi bahkan jika seseorang menunjukkan bagaimana menghubungkan dua jenis mesin satu sama lain - dan bahkan dalam skenario yang sangat tidak mungkin bahwa seseorang menunjukkan bahwa BQP  =  NP (masalah bahwa mesin Turing kuantum, dan mesin Turing nondeterministik, masing-masing dapat menyelesaikan dengan cepat ) - dua mesin yang menentukan model komputasi ini sangat berbeda satu sama lain.

Niel de Beaudrap
sumber
Tidak perlu takut untuk tidak setuju! Saya tentu saja memilih pendekatan yang disederhanakan untuk memperjelas bahwa ada perbedaan antara mesin yang berbeda. Satu-satunya hal yang saya tambahkan ke apa yang Anda katakan adalah bahwa saya masih berpendapat bahwa keacakan tidak sama dengan nondeterminisme - Anda dapat mendefinisikan (misalnya) BPP menggunakan nondeterminism, tetapi juga dengan kondisi yang sangat spesifik dan Anda dapat dengan mudah mendefinisikannya dalam semangat yang sama dengan mesin deterministik (sesuatu yang tidak dapat Anda lakukan untuk NP, NEXP dll., Anda harus beralih ke verifikasi daripada perhitungan untuk itu).
Luke Mathies
1
Bagian kedua adalah bahwa saya menganggap konsepsi nondeterminisme sebagai paralelisme menyesatkan (walaupun saya juga berpikir demikian). Ini adalah konsepsi yang oke, selama Anda ingat bahwa itu tidak benar-benar berhubungan dengan hal-hal seperti paralelisme "nyata". Mesin polos nondeterministik dapat secara efektif mensimulasikan sejumlah mesin deterministik eksponensial (selama Anda hanya peduli untuk mendapatkan jawaban yang tepat, tidak melihat semua jalur perhitungan, dan perbedaan antara NP dan #P cukup besar). Jadi gagasan bahwa itu memeriksa semua jalur secara paralel mencakup semuanya.
Luke Mathies
Semoga Anda senang mengisi rincian yang masuk akal di sana, komentar ini terlalu pendek! ;)
Luke Mathies
@LukeMathieson: Saya benar-benar tidak yakin dengan apa yang Anda maksud dengan komentar Anda, karena saya membuat titik untuk membedakan 'komputasi nondeterminisme' dari keacakan, dengan jelas menggambarkan semacam penjelajahan kasar secara paralel pada mesin NP dapat disuruh melakukan, dan sebagainya. Bisakah Anda menjelaskan apa yang menurut Anda harus ditambahkan?
Niel de Beaudrap
Oh, saya tidak berpikir ada yang perlu diubah dalam apa yang Anda katakan, saya hanya berusaha (gagal?;)) Untuk menambahkan komentar yang dapat membantu menunjukkan beberapa aspek menarik dari non-determinisme dan hubungannya dengan ide-ide komputasi lainnya.
Luke Mathies