Độ phức tạp không gian của thuật toán Coppersmith Thắng Winograd


24

Thuật toán Coppersmith-Winograd là thuật toán tiệm cận nhanh nhất được biết đến với nhân hai ma trận vuông. Thời gian chạy của thuật toán của họ là O ( n 2.376 ) , được biết đến nhiều nhất cho đến nay. Độ phức tạp không gian của thuật toán này là gì? Là nó trong Θ ( n 2 ) ?n×nO(n2.376)Θ(n2)

Câu trả lời:


30

Vâng, tất cả các thuật toán mà xuất phát từ thuật toán gốc Strassen của (kể cả tiếng nhất thuật toán cho phép nhân ma trận, nhưng không phải tất cả - xem các ý kiến) có không gian phức tạp Θ ( n 2 ) . Nếu bạn có thể tìm thấy một n 3 - ε thuật toán thời gian với p o l y ( log n ) sự phức tạp không gian, đây sẽ là một bước tiến lớn. Một ứng dụng sẽ là thời gian 2 ( 1 - ε ) n , p o l y (n3-εΘ(n2)n3-εpotôiy(đăng nhậpn)2(1-ε)n thuật toán không gian cho bài toán Tổng hợp con.potôiy(n)

Tuy nhiên, có một số trở ngại cho kết quả như vậy. Đối với một số mô hình tính toán, có giới hạn dưới khá mạnh cho sản phẩm không gian thời gian của phép nhân ma trận. Các tài liệu tham khảo như YeshaAbrahamson sẽ cung cấp cho bạn thêm thông tin.


Xin chào Ryan, Tuyệt vời. Còn các thuật toán lý thuyết nhóm của Cohn-Umans [FOCS2003] và Cohn-Kleinberg-Szegedy-Umans [FOCS2005] thì sao?
Shiva Kintali

1
Vâng, những người đó quá. Theo tôi hiểu rằng họ đang làm một loại đặc biệt của chập (một FFT trên một nhóm đặc biệt), nhưng chập là đối với đối tượng quy mô . Không có thuật toán không gian nhỏ nào (với độ phức tạp thời gian tốt hơn thuật toán rõ ràng) được biết đến với các kết quả của vectơ trên các số nguyên và tôi tưởng tượng rằng việc lấy các kết cấu không gian nhỏ trên các nhóm này chỉ khó hơn. Θ(n2)
Ryan Williams

Làm thế nào người ta có thể có không gian khi cần 2 n 2 không gian để lưu các mục của ma trận? poly(logn)2n2
T ....

Bởi vì theo cách thông thường trong đó độ phức tạp không gian được đo, đầu vào không được tính vào không gian bị ràng buộc. Đầu vào được coi là "chỉ đọc" và chúng tôi đo lượng bộ nhớ "đọc-ghi" cần thiết để tính toán hàm. Trong trường hợp này, chỉ có không gian thừa là đủ khi các mục nhập đầu vào bị giới hạn (ví dụ: 0 hoặc 1) và bạn sử dụng các thao tác O ( n 3 ) . O(logn)O(n3)
Ryan Williams

1
Tôi không biết bạn đang nghĩ gì, nhưng chắc chắn có rất nhiều "tổ hợp" (tra cứu bảng) cho ma trận Boolean mult đánh bại n ^ 3 lần bởi các yếu tố đăng nhập và sử dụng ít hơn n ^ 2 khoảng trống ...
Ryan Williams
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.