Thứ ba, vì , có thuật toán nào để chuyển đổi bất kỳ thuật toán logspace nào thành phiên bản song song không?L⊆NC2
Nó có thể được hiển thị (Arora và Barak sách giáo khoa) bị phạt -time TM M , rằng một không biết gì TM M ' (tức là TM có phong trào đầu không phụ thuộc vào đầu vào của nó x ) có thể xây dựng một mạch C n để tính M ( x ) trong đó | x | = n .t(n)MM′xCnM(x)|x|=n
Phác thảo bằng chứng nằm dọc theo dòng có mô phỏng M và xác định "ảnh chụp nhanh" về trạng thái của nó (tức là vị trí đầu, ký hiệu ở đầu) tại mỗi bước t i (nghĩ về nhật ký tính toán). Mỗi bước t i có thể được tính từ x và trạng thái t i - 1 . Bởi vì mỗi ảnh chụp chỉ liên quan đến một chuỗi có kích thước không đổi và chỉ tồn tại một số lượng chuỗi không đổi có kích thước đó, nên ảnh chụp nhanh ở t i có thể được tính bằng một mạch có kích thước không đổi.M′Mtitixti−1ti
Nếu bạn soạn các mạch có kích thước không đổi cho mỗi chúng ta có một mạch tính M ( x ) . Sử dụng thực tế này, cùng với sự hạn chế rằng ngôn ngữ của M nằm trong L, chúng ta thấy rằng mạch C n của chúng ta theo định nghĩa là thống nhất logspace , trong đó tính đồng nhất chỉ có nghĩa là các mạch của chúng ta trong họ mạch { C n } tính toán M ( x ) Tất cả đều có cùng một thuật toán. Không phải là một thuật toán tùy chỉnh cho mỗi mạch hoạt động trên kích thước đầu vào ntiM(x)MLCn{Cn}M(x)n .
Một lần nữa, từ định nghĩa về tính đồng nhất, chúng ta thấy rằng các mạch quyết định bất kỳ ngôn ngữ nào trong phải có kích thước hàm ( n ) có thể tính toán được trong O ( log n ) . Họ mạch A C 1 có nhiều nhất O ( log n )Lsize(n)O(logn).AC1O(logn) độ sâu .
Cuối cùng, có thể chỉ ra rằng đưa ra mối quan hệ trong câu hỏi.AC1⊆NC2
Thứ tư, có vẻ như hầu hết mọi người cho rằng trong cùng một cách mà P ≠ N P . Trực giác đằng sau này là gì?NC≠PP≠NP
Trước khi chúng ta đi xa hơn, chúng ta hãy xác định P là gìP phương tiện -completeness.
Một ngôn ngữ là P -complete nếu L ∈ P và mọi ngôn ngữ trong P là logspace có thể giảm theo ngôn ngữ đó. Ngoài ra, nếu L là P -complete thì điều sau đây là đúngLPL∈PPLP
L∈NC⟺P=NC
L∈L⟺P=L
Bây giờ chúng tôi coi là lớp ngôn ngữ được quyết định hiệu quả bởi một máy tính song song (mạch của chúng tôi). Có một số vấn đề trong P dường như chống lại mọi nỗ lực song song hóa (ví dụ: Lập trình tuyến tính và Vấn đề giá trị mạch). Điều đó có nghĩa là, một số vấn đề nhất định đòi hỏi phải tính toán theo cách khôn ngoan.NCP
Ví dụ: Bài toán giá trị mạch được định nghĩa là:
Cho một mạch , đầu vào x và một cổng g ∈ C , đầu ra của g trên C ( x ) là bao nhiêu?Cxg∈CgC(x)
Chúng tôi không biết làm thế nào để tính toán này bất kỳ tốt hơn so với tính toán tất cả các cửa mà đến trước g . Với một số trong số họ có thể được tính toán song song, ví dụ nếu tất cả họ đều xảy ra tại một số bước thời gian t i , nhưng chúng tôi không biết làm thế nào tính toán đầu ra của cổng tại timestep t i và timestep t i + 1 cho những khó khăn rõ ràng các cổng tại t i + 1 yêu cầu đầu ra của các cổng tại t i !g′gtititi+1ti+1ti
Đây là trực giác đằng sau .NC≠P
Giới hạn đối với tính toán song song là một cuốn sách về -Completility trong tĩnh mạch tương tự của cuốn sách N P -Completility của Garey & Johnson .PNP