Độ phức tạp mạch số học đơn sắc của đa thức đối xứng sơ cấp?


14

Các -thứ tiểu đối xứng đa thức là tổng của tất cả sản phẩm của biến rõ rệt. Tôi quan tâm đến độ phức tạp của số học đơn điệu (+, \ lần) của đa thức này. Một thuật toán lập trình động đơn giản (cũng như Hình 1 bên dưới) đưa ra một mạch (+, \ lần) với các cổng O (kn) .S n k ( x 1 , Bắn , x n ) ( nkSkn(x1,,xn) k(+,×)(+,×)O(kn)(nk)k(+,×)(+,×)O(kn)

Câu hỏi: Có giới hạn dưới của Ω(kn) không?

Một (+,×) mạch là nghiêng nếu ít nhất một trong hai đầu vào của mỗi cổng sản phẩm là một biến. Một mạch như vậy thực sự giống như mạng chuyển mạch và chỉnh lưu (một đồ thị chu kỳ có hướng với một số cạnh được gắn nhãn bởi các biến; mỗi đường dẫn st tạo ra sản phẩm của các nhãn của nó và đầu ra là tổng của tất cả các đường st). Đã 40 năm trước, Markov đã chứng minh một kết quả chặt chẽ đáng ngạc nhiên: một mạch xiên số học đơn điệu tối thiểu cho Sknchính xác các cổng sản phẩm k(nk+1) . Giới hạn trên theo sau từ Hình 1: nhập mô tả hình ảnh ở đây

Nhưng tôi chưa thấy bất kỳ nỗ lực nào để chứng minh giới hạn thấp hơn như vậy đối với các mạch không bị lệch. Đây chỉ là "sự kiêu ngạo" của chúng ta, hay có một số khó khăn cố hữu được quan sát trên đường đi?

PS Tôi biết rằng các cổng Ω(nlogn) là cần thiết để tính toán đồng thời tất cả S1n,,Snn . Điều này xuất phát từ giới hạn dưới về kích thước của các mạch boolean đơn điệu sắp xếp đầu vào 0-1; xem trang 158 của cuốn sách Ingo Wegener . Mạng phân loại AKS cũng ngụ ý rằng các O(nlogn) là đủ trong trường hợp (boolean) này. Trên thực tế, Baur và Strassen đã chứng minh ràng buộc chặt chẽ Θ(nlogn) về kích thước của mạch số học không đơn điệu cho Sn/2n . Nhưng những gì về mạch số học đơn điệu ?

Câu trả lời:


6

Một thách thức ở đây là nếu bạn loại bỏ các "đơn điệu" hạn chế, chúng tôi làm biết làm thế nào để tính toán những việc như vậy hiệu quả. Bạn có thể tính giá trị của tất cả (đánh giá tất cả các đa thức đối xứng cơ bản ) trong thời gian , sử dụng phép nhân đa thức dựa trên FFT. Vì vậy, việc chứng minh một bị ràng buộc thấp hơn trong mô hình mạch đơn điệu sẽ yêu cầu chứng minh một bị ràng buộc thấp hơn về phép nhân đa thức. n + 1 O ( n log 2 n ) Ω ( n k ) Ω ( n 2 )S0n,,Snnn+1O(nlog2n)Ω(nk)Ω(n2)

Đây là cách. Giới thiệu một chưa biết chính thức và xem xét đa thứcy

P(y)=i=1n(1+xiy).

Lưu ý rằng vì các hằng số là các hằng số đã biết, đây là một đa thức đơn biến với chưa biết và có độ . Bây giờ bạn có thể lưu ý rằng hệ số của trong chính xác là , vì vậy để đánh giá tất cả , nó đủ để tính . y n y k P ( y ) S n k S n 0 , Góc , S n n P ( y )xiynykP(y)SknS0n,,SnnP(y)

Điều này cho phép tính trong thời gian : xây dựng một cây đa thức nhị phân cân bằng với các lá tại các lá và nhân các đa thức. Nhân hai đa thức bậc mất thời gian bằng cách sử dụng các kỹ thuật FFT, do đó chúng ta có được phép lặp , giải quyết cho . Để thuận tiện, tôi bỏ qua các yếu tố .O ( n lg 2 n )P(y)O(nlg2n)d O ( d lg d ) T ( n ) = 2 T ( n / 2 ) + O ( n lg n ) T ( n ) = O ( n lg 2 n ) poly ( lg lg(1+xiy)dO(dlgd)T(n)=2T(n/2)+O(nlgn)T(n)=O(nlg2n)poly(lglgn)

Nếu bạn quan tâm đến trường hợp rất nhỏ, bạn có thể tính trong thời gian bằng cách sử dụng các thủ thuật tương tự, hãy nhớ rằng bạn chỉ quan tâm đến (nghĩa là vứt bỏ tất cả các điều khoản của hoặc quyền hạn cao hơn của ).S n 0 , ... , S n k O ( n lgkS0n,,SknP ( x ) mod y k + 1 y k + 1 yO(nlg2k)P(x)modyk+1yk+1y

Tất nhiên, FFT sử dụng phép trừ, thật ngây thơ, nó không thể biểu thị trong một mạch đơn điệu. Tôi không biết liệu có cách nào khác để nhân đa thức hiệu quả với các mạch số học đơn điệu hay không, nhưng bất kỳ phương pháp đơn điệu hiệu quả nào để nhân đa thức cũng ngay lập tức dẫn đến một thuật toán cho vấn đề của bạn. Vì vậy, giới hạn thấp hơn trong vấn đề của bạn yêu cầu / ngụ ý giới hạn thấp hơn cho phép nhân đa thức.


2
DW, cảm ơn vì đã nhớ lại công trình này! Nó thường được quy cho Ben-Or, và tôi nên đã đề cập đến nó. Cấu trúc cũng cung cấp <i> công thức </ i> có kích thước và độ sâu chỉ (!) Tính toán cho toán tử (bằng cách đánh giá tại một số điểm). Điều này đã được sử dụng để phân tách các công thức độ sâu nhỏ đồng nhất và không đồng nhất. Nhưng, như bạn đã đề cập, việc xây dựng sử dụng phép trừ. Vì vậy, câu hỏi của tôi hỏi: việc sử dụng này thực sự "đáng kể" như thế nào? Điều này cũng có thể thú vị trong kịch bản giới hạn độ sâu. 3 S n 0 , ... , S n n P ( y ) n + 1O(n2)3S0n,,SnnP(y)n+1
Stasys

3
@Stasys: Tôi nghĩ phép trừ là khá quan trọng. Viz. Nisan-Wigderson bị ràng buộc ở độ sâu 3 mạch đồng nhất ; trong 3 mạch độ sâu đồng nhất, điểm quan trọng là không thể tính toán các thuật ngữ có độ khác với mức độ của đầu ra. Vì vậy, điều này giới hạn các loại hủy bỏ có thể xảy ra. Trong khi xây dựng Ben-Or, để tính , người ta cần tính đa thức bậc (mặc dù đầu ra có độ ), và sau đó sử dụng hủy bỏ để loại bỏ các điều khoản độ . Đây không phải là một bằng chứng, chỉ là một số trực giác ... n k < n > kSknnk<n>k
Joshua Grochow

@Joshua: vâng, chúng tôi biết rằng các hệ số của biến trong đa thức chính xác là đa thức . Nhưng chúng ta cần Gauss (và vì vậy - phép trừ) để trích xuất các hệ số này từ giá trị của trên điểm khác biệt. Câu hỏi của tôi hỏi liệu "từ đơn điệu" thực sự không có Gauss , trong trường hợp này. (Với một câu trả lời đoán - KHÔNG.) Tôi không chắc chắn rằng đối với điều này, nó là đủ để loại bỏ các điều khoản độ . Chúng ta phải tìm các hệ số đầu tiên. P ( y , x ) S n k ( x ) n + 1 P ( y ) n + 1 > k kyP(y,x)Skn(x)n+1P(y)n+1>kk
Stasys
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.