|  |  |
| --- | --- |
|  | **Vấn đề mở trong khoa học máy tính**:**NC** = **P** ?(các vấn đề mở khác trong khoa học máy tính) |

Trong lý thuyết độ phức tạp tính toán, lớp **NC** (viết tắt cho "Nick's Class") là tập hợp các bài toán quyết định giải được trong thời gian đa thức của lôgarit trên máy tính song song với số bộ xử lý là đa thức. Nói cách khác, một bài toán nằm trong **NC** khi và chỉ khi tồn tại hằng số *c* và *k* sao cho nó có thể giải trong thời gian {\displaystyle O(\log ^{c}n)} bằng {\displaystyle O(n^{k})} bộ xử lý. Stephen Cook đưa ra tên gọi "Nick's Class" theo tên của Nick Pippenger, người đã có nhiều nghiên cứu về mạch logic với chiều sâu đa thức của lôgarit và kích thước đa thức.

Cũng như **P** được xem là lớp các bài toán có thể giải hiệu quả trên máy thông thường, **NC** được xem là lớp các bài toán giải được hiệu quả trên máy song song. **NC** là tập hợp con của **P** do tính toán song song trong thời gian đa thức của lôgarit có thể được giả lập trên máy thông thường trong thời gian đa thức. Vẫn chưa biết liệu **NC** và **P** có bằng nhau hay không.

Máy tính song song thường được định nghĩa là một máy *song song*, *truy cập ngẫu nhiên* (mô hình PRAM, viết tắt tên tiếng Anh parallel random-access machine). Trong mô hình này, máy có bộ nhớ sử dụng chung cho các bộ xử lý, và mỗi bộ xử lý có thể truy cập bất kì địa chỉ bộ nhớ nào trong thời gian hằng số. Định nghĩa của **NC** không phụ thuộc vào lựa chọn cách PRAM xử lý việc nhiều bộ xử lý truy cập cùng một lúc một địa chỉ bộ nhớ (có thể là CRCW, CREW, hay EREW).

Một cách tương đương, **NC** là tập hợp những bài toán quyết định được bởi các mạch logic đồng dạng với chiều sâu đa thức của lôgarit và số cổng là đa thức.

Cấp bậc NC
----------

**NC***i* là lớp các bài toán quyết định được bởi các mạch logic đồng dạng có chiều sâu {\displaystyle O(\log ^{i}n)} và kích thước đa thức. Ta có

{\displaystyle {\textbf {NC}}^{1}\subseteq {\textbf {NC}}^{2}\subseteq \cdots \subseteq {\textbf {NC}}^{i}\subseteq \cdots {\textbf {NC}}}
Đây gọi là cấp bậc **NC**.

Ta có thể so sánh lớp **NC** với lớp **L** và **NL**. Theo Papadimitriou (1993), định lý 16.1:

{\displaystyle \mathbf {NC} ^{1}\subseteq \mathbf {L} \subseteq \mathbf {NL} \subseteq \mathbf {NC} ^{2}\subseteq \mathbf {P} .}
Tương tự như vậy, **NC** tương đương với các bài toán giải được bằng máy Turing luân phiên với bộ nhớ {\displaystyle O(\log n)} và {\displaystyle (\log n)^{O(1)}} lần luân phiên.

### Vấn đề mở: các lớp trong cấp bậc NC có khác nhau?

Một vấn đề mở trong lý thuyết độ phức tạp tính toán là các lớp trong cấp bậc **NC** có khác nhau. Papadimitriou đã nhận thấy rằng, nếu **NC***i* = **NC***i*+1 với một số *i* nào đó, thì **NC***i* = **NC***j* với mọi *j* ≥ *i*, và do đó, **NC***i* = **NC**. Nhận xét này gọi là sự sụp đổ của cấp bậc **NC** bởi chỉ cần hai lớp bằng nhau trong 

{\displaystyle {\textbf {NC}}^{1}\subseteq {\textbf {NC}}^{2}\subseteq \cdots }
thì toàn bộ cấp bậc **NC** "sụp đổ" xuống một tầng thứ *i* nào đó.

Ghi chú
-------

1. ↑  Stephen A. Cook (1979). "Deterministic CFL's Are Accepted Simultaneously in Polynomial
 Time and Log Squared Space". *STOC*. tr. 338–345. line feed character trong `|title=` tại ký tự số 62 (trợ giúp)
2. ↑  Bellantoni, S.; Oitavem, I. (2004). "Separating NC along the delta axis". *Theoretical Computer Science*. **318**: 57–78.

Tham khảo
---------

* Greenlaw, Raymond, James Hoover, and Walter Ruzzo. *Limits To Parallel computation; P-Completeness Theory*. Lưu trữ 2013-06-04 tại Wayback Machine ISBN 0-19-508591-4
* Heribert Vollmer. *Introduction to Circuit Complexity -- A Uniform Approach*. ISBN 3-540-64310-9
* Papadimitriou, Christos (1993). *Computational Complexity* (ấn bản 1). Addison Wesley. ISBN 0-201-53082-1. Phần 15.3: The class **NC**, pp. 375–381.
* Dexter Kozen (2006). *Theory of Computation*. Springer. ISBN 1-84628-297-7. Bài 12: Relation of *NC* to Time-Space Classes

| * x
* t
* s
Các lớp độ phức tạp quan trọng (thêm) |
| --- |
| Các lớp được coi là giải được | DLOGTIME • AC0 • ACC0 • TC0 • L • SL • RL • NL • NC • SC • P (P-đầy đủ) • ZPP • RP • BPP • BQP  |
| Các lớp có thể không giải được | UP • NP (NP-đầy đủ · NP-khó · co-NP · co-NP-đầy đủ) • AM • PH • PP • #P (#P-đầy đủ) • IP • PSPACE (PSPACE-đầy đủ) |
| Các lớp được coi là không giải được | EXPTIME • NEXPTIME • EXPSPACE • ELEMENTARY • PR • R • RE • ALL |
| Các hệ thống cấp bậc | Cấp bậc đa thức • Cấp bậc hàm mũ • Cấp bậc Grzegorczyk • Cấp bậc số học |
| Các nhóm các lớp độ phức tạp | DTIME • NTIME • DSPACE • NSPACE • Chứng minh có thể kiểm chứng ngẫu nhiên • Hệ thống chứng minh tương tác  |