Phân loại độ phức tạp mạch cho DLogTime và NLogTime


13

N L o g T i m e L H A C 0 L HDLogTTôime và là hai trong số các lớp phức tạp nhỏ nhất chúng ta có. (Lưu ý rằng hệ thống phân cấp thời gian logarit bằng với và đây là hai cấp độ đầu tiên của ).NLogTTôimeLHMộtC0LH

Sau khi đọc câu hỏi này , tôi trở nên quan tâm để xem liệu có sự tách biệt giữa hai lớp này hay không và trên thực tế có thể dễ dàng tách chúng ra khỏi (cảm ơn Robin Kothari. Xem thêm được biết ). Bây giờ tôi quan tâm để biết đặc tính phức tạp mạch tương ứng của họ. Tôi đã tìm kiếm một chút và đã hỏi một vài người nhưng không thể tìm thấy câu trả lời.ÔiR(x1,...,xn)NLogTTôime-DLogTTôime

Chúng ta có các đặc tính phức tạp mạch tốt cho các lớp phức tạp và không?N L o g T i m eDLogTTôimeNLogTTôime

Lưu ý: hiển thị rất nhiều trong việc xác định tính đồng nhất cho các lớp phức tạp nhỏ. Lưu ý rằng giới hạn thời gian nhỏ không cho phép các máy này đọc toàn bộ đầu vào, chúng chỉ có thể đọc các bit từ đầu vào và các lớp được xác định bằng cách sử dụng các máy có thể ghi địa chỉ của một bit và sau đó đọc trực tiếp bit đó (tức là không cần phải đi qua tất cả các bit trước đó để đến đó). lg nDLogTTôimelgn


3
Thật dễ dàng để tách hai lớp. NLOGTIME có thể tính toán hàm OR, trong khi DLOGTIME không thể, bởi vì nó không thể đọc toàn bộ đầu vào. Thực tế này có thể được sử dụng để xây dựng một ngôn ngữ phân tách hai bằng cách sử dụng các thủ thuật tiêu chuẩn.
Robin Kothari

1
@Robin: như mọi khi cảm ơn rất nhiều :). Tôi nhớ nó.
Kaveh

MộttôitTTôime(Ôi(1),Ôi(đăng nhậpn))= =MộtC0 . Các lớp có lẽ là một cái gì đó xung quanh mệnh đề kích thước đa thức / hạn / CNF / DNF.
Kaveh

Cuối cùng bạn đã tìm thấy một câu trả lời cho câu hỏi này? Một đặc tính mạch cho DLOGTIME sẽ có hai phần, loại mạch được phép và điều kiện đồng nhất áp đặt cho chúng. Bạn có biết câu trả lời cho một trong những điều này?
Robin Kothari

@Robin, không, tôi không biết câu trả lời, nhưng tôi nghi ngờ rằng có lẽ chúng không tương ứng với các lớp phức tạp mạch đẹp.
Kaveh

Câu trả lời:


-11

Tôi nghĩ điều thú vị hơn nhiều là các lớp độ phức tạp mạch được sử dụng bởi lý thuyết phức tạp CS đưa ra các dự đoán khác nhau và sử dụng các số liệu khác nhau so với các lớp trong cộng đồng VLSI. Từ độ phức tạp VLSI của các hàm Boolean :

Người ta biết rằng tất cả các hàm Boolean của biến có thể được tính bằng mạch logic với các (định lý Lupanov) và tồn tại các hàm Boolean của n biến yêu cầu mạch logic có kích thước này ( Định lý của Shannon). Chúng tôi trình bày các kết quả tương ứng cho các hàm Boolean được tính toán bởi các mạch VLSI, sử dụng mô hình của chip VLSI của Thompson. Chúng tôi chứng minh rằng tất cả các hàm Boolean của biến có thể được tính bằng mạch VLSI của khu vực và giai đoạn 1, và chúng tôi chứng minh rằng tồn tại các hàm Boolean của biến mà mọi chip VLSI phải có .O ( 2 n / n ) n O ( 2 n ) n Ω ( 2 n )nÔi(2n/n)nO(2n)nΩ(2n)

Thật thú vị, độ phức tạp của mạch VLSI có xu hướng coi độ sâu là "không liên quan" vì có một và chỉ một "độ sâu" quan trọng: đường dẫn quan trọng. Đối với hầu hết các mục đích thực tế, một mạch phức tạp tùy ý có thể được coi là với độ trễ là .O(1)n

Trên thực tế, tôi thậm chí không chắc chắn rằng khái niệm / trực tiếp chuyển thành độ phức tạp của mạch VLSI. Ngay cả kết quả của Shannons cũng không dễ dịch: Kết quả của Shannons chỉ có giá trị đối với cơ sở boolean bao gồm arity {AND, OR, NOT}. Đây không phải là cơ sở duy nhất và số lượng "cổng" cần thiết giảm đáng kể khi bạn cho phép ngày càng nhiều loại cổng. Sau đây là từ thư viện ô tiêu chuẩn VLSI thương mại được chuẩn hóa theo kích thước của cổng NAND 2 đầu vào:DLogTimeNLogTime2n/na r e a 22area2

        2 3 4 <- Arity
và 1.14 1.28 1.41
không 1,00 1,14 1,28
hoặc 1.14 1.41 1.41
cũng không phải 1,00 1,14 1,41
xor 1,62 2,44
xnor 1,62 2,44

bu 1.14
mời 0,80

aoi22 1.28
aoi 222 1,62
aoi33 1.62
oai22 1,41
oai 222 1,72
oai33 1.62

thêm 2,64

Cụ thể, lưu ý các aoi/ oaicổng có And Or Invert/ Or And Invertbao gồm hàm thứ nhất có kích thước arity cung cấp cho hàm thứ hai, trong đó số cổng chức năng thứ nhất bằng với số lần xuất hiện của arity . Ví dụ: đại diện cho "Hai 2 cổng đầu vào VÀ cho một cổng NOR".aoi22

Quan điểm của tôi là: Được thực hiện riêng biệt, một oai222chức năng có thể được xây dựng bằng cách sử dụng ba cổng OR 2 đầu vào và 3 cổng NAND đầu vào, với tổng diện tích ~ 4,56, không bao gồm bất kỳ khu vực nào được sử dụng để kết nối. Tuy nhiên, nguyên thủy này có thể được nhận ra trong một khu vực chỉ 1,72, có nghĩa là một biểu hiện riêng biệt của cùng một hàm boolean tiêu thụ diện tích gấp 2,65 lần.

Cũng lưu ý rằng khu vực cho một đầu vào {AND, NAND, OR, NOR, XOR, XNOR} cổng, nơi n 2 , ít hơn nhiều so với khu vực đó nó sẽ mất để xây dựng các chức năng tương tự sử dụng rời rạc 2 cổng đầu vào. Cũng lưu ý rằng trong khi các khu vực nhất định cho {XOR, XNOR} cho quá trình này là "lớn" liên quan đến các cổng khác, có những cách khác để xây dựng cùng n cổng đầu vào sử dụng diện tích ít hơn.nn2n

Các đặc tính lan truyền cho các nguyên thủy phức tạp hơn cũng tốt hơn đáng kể so với những gì sẽ đạt được bằng cách sử dụng các cổng rời rạc.

Sao nó lại quan trọng? Bởi vì đối với tôi, ít nhất, tôi đã dành một lượng lớn thời gian để sàng lọc các kết quả từ lý thuyết phức tạp được xây dựng trên một tập hợp các giả định có tác dụng làm cho kết quả trở nên vô dụng hoặc sai khi giả định bị vi phạm. Sau đây là từ Steven Cooks vs N PPNP :

Do đó, để chứng minh nó đủ để chứng minh một siêu đa thức thấp hơn ràng buộc vào kích thước của bất kỳ họ mạch Boolean nào giải quyết một số vấn đề N P -complete cụ thể , chẳng hạn như 3-SAT. Trở lại năm 1949 Shannon đã chứng minh rằng cho hầu hết các hàm Boolean f : { 0 , 1 } n{ 0 , 1 } , bất kỳ mạch Boolean tính f đòi hỏi ít nhất 2 n / n cửa. Thật không may, đối số đếm của anh ta không đưa ra manh mối nào về cách chứng minh giới hạn dưới cho các vấn đề trong N PPNPNPf:{0,1}n{0,1}f2n/nNP.

Tôi thấy Cooks lý luận tò mò. Kết quả của Shannons là hợp lệ cho tất cả các , do đó, nếu một vấn đề N P có thể được mô tả trong các bit { 0 , 1 } n , thì phải có {VÀ, HOẶC, KHÔNG} mạch cơ sở có thể quyết định xem nó có thỏa đáng trong ~ 2 n / n cổng không (giấy thực tế cho phần trên lớn hơn, nhưng hữu hạn, bị ràng buộc cho mọi chức năng có thể). Điều này cho chúng ta biết rằng bất cứ thứ gì sử dụng nhiều hơn n cổng, trong đó nf:{0,1}n{0,1}NP{0,1}n2n/nnnlà giới hạn trên cho kích thước của vấn đề , đang sử dụng nhiều cổng hơn mức cần thiết. Sử dụng một cơ sở boolean lớn hơn, nhưng đầy đủ, chỉ làm giảm số lượng cổng cần thiết. Sử dụng một mô hình phức tạp mạch khác, ví dụ như VLSI, mang lại giới hạn kết quả "tốt hơn". Tò mò. Nhưng chúng tôi biết rằng thực tế là bất kỳ giải pháp nào cho vấn đề N P sử dụng nhiều hơn ~ 2 n / n "cổng" (trong đó cổng được sử dụng một cách lỏng lẻo cho các bước / thao tác) đang thực hiện theo cách tối ưu phụ ... và có vô số cách để tìm ra giải pháp theo cách tối ưu.NPNP2n/n

Về độ phức tạp của việc triển khai VLSI và biểu diễn đồ thị của các hàm Boolean với ứng dụng cho phép nhân số nguyên cho thấy rằng việc dự đoán độ phức tạp của mạch bằng mô hình OBDD đã ước tính quá mức độ phức tạp của mạch thực tế:

Các kết quả giới hạn dưới về độ phức tạp của hàm Boolean theo hai mô hình khác nhau sẽ được thảo luận. Đầu tiên là sự trừu tượng của sự đánh đổi giữa diện tích chip và tốc độ trong các mạch tích hợp quy mô rất lớn (VLSI). Thứ hai là biểu diễn sơ đồ quyết định nhị phân (OBDD) được đặt hàng được sử dụng làm cấu trúc dữ liệu để biểu diễn và thao tác các hàm Boolean một cách tượng trưng. Các giới hạn dưới cho thấy các hạn chế cơ bản của VLSI như một phương tiện triển khai và của OBDD như là một cấu trúc dữ liệu. Người ta chỉ ra rằng kỹ thuật tương tự dùng để chứng minh rằng bất kỳ thực hiện VLSI của một đầu ra Boolean chức năng duy nhất có diện tích thời gian phức tạp MộtT2= =Ω(n2)cũng chứng minh rằng bất kỳ biểu diễn OBDD nào của hàm đều có đỉnh cho một số c < 1 nhưng điều ngược lại là không đúng. Có các hàm mà bất kỳ biểu diễn OBDD nào có kích thước theo cấp số nhân, nhưng có một triển khai VLSI về độ phức tạp A T 2 = O ( n 1 + c ) .Ω(cn)c<1MộtT2= =Ôi(n1+c)

Một số nhân số nguyên cho kích thước từ với đầu ra được đánh số 0 (ít quan trọng nhất) đến 2 n - 1 (đáng kể nhất) được mô tả. Đối với hàm Boolean đại diện cho đầu ra i - 1 hoặc đầu ra 2 n - i - 1 , trong đó 1 i n , các giới hạn dưới đây được chứng minh: bất kỳ triển khai VLSI nào cũng phải có A T 2 = Ω ( i 2 ) và bất kỳ OBDD nào đại diện phải có Ω ( 1,09 in2n-1Tôi-12n-Tôi-11TôinMộtT2= =Ω(Tôi2) đỉnh.Ω(1,09Tôi)


5
-1: Tôi không thấy điều này có liên quan đến câu hỏi của OP.
Robin Kothari

5
Một chút của bạn ở giữa về Shannon và Cook dường như không có ý nghĩa gì. Shannon đã chỉ ra rằng các chức năng "nhất" đòi hỏi một mạch lớn theo cấp số nhân. Làm thế nào chúng ta có thể kết luận rằng bất kỳ vấn đề NP chỉ yêu cầu một gia đình có kích thước tuyến tính? Và bạn có nhận ra rằng chúng ta đang nói về gia đình của các mạch, phải không?
Đánh dấu Reitblatt

6
johne: đây không phải là một diễn đàn thích hợp cho những gì chỉ có thể được mô tả là những lời ca ngợi về cộng đồng VLSI trong cộng đồng CS.
Suresh Venkat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.