Độ cứng
Theo nhận xét của bạn về câu hỏi, chúng tôi sẽ gọi một mạch trong đó mỗi bit đầu ra phụ thuộc vào tối đa k bit đầu vào là một mạch NC 0 k ., Sử dụng thuật ngữ này, vấn đề của bạn là hoàn thành coNP trong trường hợp mạch NC 0 5 . Đó là, vấn đề sau đây là coNP-đầy đủ.
Sơ thẩm : Một mạch Boolean C có n bit đầu vào và n bit đầu ra trong đó mỗi bit đầu ra phụ thuộc vào tối đa năm bit đầu vào.
Câu hỏi : Việc ánh xạ từ {0,1} n sang chính nó được tính bằng phép tính C ?
Như Kaveh đã nhận xét, rõ ràng là trong coNP, thậm chí không bị ràng buộc về số lượng bit đầu vào mà mỗi bit đầu ra phụ thuộc vào. Để chứng minh độ cứng coNP, chúng tôi sẽ giảm 3SAT để bổ sung cho vấn đề hiện tại. Ý tưởng chính của việc giảm giống như ý tưởng được sử dụng trong bài báo [Dur94] của Durand, mà tôi đã đề cập trong một nhận xét về câu hỏi, nhưng toàn bộ việc giảm đơn giản hơn nhiều trong trường hợp của chúng tôi.
Cho một 3CNF công thức φ với n biến và m khoản, chúng ta xây dựng một mạch Boolean C với ( n + m bit đầu vào) và ( n + m ) bit đầu ra như sau. Chúng tôi dán nhãn cho các bit đầu vào là x 1 , Vượt, x n , y 1 , Lọ , y m và các bit đầu ra là x ′ 1 , Lỗi, x ′ n , z 1 , Lỗi , z m . Chúng tôi xem xét rằng các bit đầu vào x1 , ..., x n xác định một nhiệm vụ thật với n biến trong φ .
- x ′ i = x i với 1≤ i ≤ n . Nghĩa là, n bit đầu tiên của đầu vào luôn được sao chép vào n bit đầu tiên của đầu ra.
- Đối với 1≤ i ≤ m , nếu i th khoản của φ là hài lòng, sau đó z i = y i ⊕ y i 1 , nơi subscript được hiểu modulo m . Mặt khác, z i = y i .
Lưu ý rằng mỗi bit đầu ra phụ thuộc vào tối đa năm bit đầu vào. Tôi bỏ qua các bằng chứng về sự đúng đắn của việc giảm, nhưng ý tưởng chủ chốt (mà tôi mượn từ [Dur94]) là nếu φ là satisfiable và bit đầu vào x 1 , ..., x n được thiết lập để một nhiệm vụ đáp ứng của φ , sau đó các bit đầu ra m z 1 , bit , z m bị ràng buộc để có tính chẵn lẻ, và do đó mạch không thể là một hoán vị. Mặt khác, nếu bit đầu vào x 1 , ..., x n được thiết lập để một nhiệm vụ không đáp ứng của φ , bit sau đó đầu ra z1 , Nhiều, z m có thể được đặt thành bất cứ điều gì; vì điều này, nếu φ là không thể thoả mãn, sau đó các mạch là một hoán vị.
Khả năng kéo
Về mặt dễ điều khiển, vấn đề của bạn là ở P trong trường hợp mạch NC 0 2 . Điều này được hiển thị như sau. Nói chung, mỗi bit đầu ra trong mạch Boolean cho một hoán vị được cân bằng ; tức là, chính xác một nửa chuỗi đầu vào đặt bit đầu ra thành 1. Tuy nhiên, mọi hàm Boolean cân bằng từ {0,1} 2 đến {0,1} là affine ; tức là một bản sao của một bit đầu vào, XOR của hai bit đầu vào hoặc phủ định của chúng. Do đó, trước tiên chúng ta có thể kiểm tra xem mỗi bit đầu ra có được cân bằng không, và sau đó kiểm tra tính sinh học bằng cách loại bỏ Gaussian.
Tôi không biết độ phức tạp trong trường hợp mạch NC 0 3 hoặc trong trường hợp mạch NC 0 4 .
Tài liệu tham khảo
[Dur94] Bruno Durand. Đảo ngược của automata di động 2D: một số kết quả phức tạp. Khoa học máy tính lý thuyết , 134 (2): 387 Từ401, tháng 11 năm 1994. DOI: 10.1016 / 0304-3975 (94) 90244-5 .