Ketiga, sejak , apakah ada algoritma untuk mengubah algoritma logspace menjadi versi paralel?L⊆NC2
Hal ini dapat ditunjukkan (Arora dan Barak buku teks) diberi -waktu TM M , bahwa menyadari TM M ' (yaitu TM yang gerakan kepala independen dari input x ) dapat membangun sebuah sirkuit C n untuk menghitung M ( x ) di mana | x | = n .t(n)MM′xCnM(x)|x|=n
Sketsa buktinya ada di sepanjang garis memiliki mensimulasikan M dan mendefinisikan "snapshots" dari keadaannya (yaitu posisi kepala, simbol di kepala) pada setiap langkah waktu t i (pikirkan log perhitungan). Setiap langkah t i dapat dihitung dari x dan status t i - 1 . Karena setiap snapshot hanya melibatkan string berukuran konstan, dan hanya ada jumlah string konstan dari ukuran itu, snapshot pada t i dapat dihitung oleh sirkuit berukuran konstan.M′Mtitixti−1ti
Jika Anda menulis sirkuit konstan berukuran untuk setiap kita memiliki sirkuit yang menghitung M ( x ) . Menggunakan fakta ini, bersama dengan pembatasan bahwa bahasa M dalam L kita melihat bahwa kami sirkuit C n adalah dengan definisi logspace-seragam , di mana keseragaman hanya berarti bahwa sirkuit kami di sirkuit keluarga kami { C n } komputasi M ( x ) semua memiliki algoritma yang sama. Bukan algoritma yang dibuat khusus untuk setiap sirkuit yang beroperasi pada ukuran input n .tiM(x)MLCn{Cn}M(x)n
Sekali lagi, dari definisi keseragaman kita melihat bahwa sirkuit yang memutuskan bahasa apa pun dalam harus memiliki ukuran fungsi ( n ) yang dapat dihitung dalam O ( log n ) . Rangkaian keluarga A C 1 memiliki paling banyak kedalaman O ( log n ) .Lsize(n)O(logn).AC1O(logn)
Akhirnya dapat ditunjukkan bahwa memberikan hubungan yang dimaksud.AC1⊆NC2
Keempat, kedengarannya seperti kebanyakan orang menganggap bahwa dengan cara yang sama bahwa P ≠ N P . Apa intuisi di balik ini?NC≠PP≠NP
Sebelum kita melangkah lebih jauh, mari kita definisikan apa yang dimaksud dengan Kelengkapan- .P
Bahasa adalah P -lengkap jika L ∈ P dan setiap bahasa di P adalah logspace direduksi menjadi itu. Selain itu, jika L adalah P -complete maka yang berikut ini benarLPL∈PPLP
L∈NC⟺P=NC
L∈L⟺P=L
Sekarang kita mempertimbangkan menjadi kelas bahasa efisien diputuskan oleh komputer paralel (sirkuit kami). Ada beberapa masalah dalam P yang tampaknya menolak segala upaya paralelisasi (yaitu Pemrograman Linier, dan Masalah Nilai Sirkuit). Dengan kata lain, masalah tertentu membutuhkan perhitungan yang harus dilakukan secara bertahap.NCP
Misalnya, Masalah Nilai Sirkuit didefinisikan sebagai:
Diberikan sirkuit , input x , dan gerbang g ∈ C , berapakah output dari g pada C ( x ) ?Cxg∈CgC(x)
Kita tidak tahu bagaimana untuk menghitung ini lebih baik dari komputasi semua gerbang yang datang sebelum g . Mengingat beberapa dari mereka dapat dihitung secara paralel, misalnya jika mereka semua terjadi di beberapa timestep t i , tapi kita tidak tahu bagaimana menghitung output dari gerbang di timestep t i dan timestep t i + 1 untuk kesulitan yang jelas bahwa gerbang pada t i + 1 membutuhkan keluaran gerbang pada t i !g′gtititi+1ti+1ti
Ini adalah intuisi belakang .NC≠P
Limits to Parallel Computation adalah buku tentang Kelengkapan dalam nada yang sama dari buku N P- Kelengkapan Garey & Johnson .PNP