Độ phức tạp thời gian thực tế của việc loại bỏ Gaussian là gì?


72

Trong một câu trả lời cho một câu hỏi trước đó , tôi đã đề cập đến niềm tin phổ biến nhưng sai lầm rằng loại bỏ Gaussian mật chạy trong thời gian . Mặc dù rõ ràng là thuật toán sử dụng các phép toán số học O ( n 3 ) , việc thực hiện bất cẩn có thể tạo ra các số có nhiều bit theo cấp số nhân. Ví dụ đơn giản, giả sử chúng ta muốn chéo hóa ma trận sau:O(n3)O(n3)

[2000120011201112]

Nếu chúng ta sử dụng một phiên bản của thuật toán loại bỏ mà không phân chia, chỉ thêm bội số nguyên của một hàng này vào một hàng khác và chúng ta luôn xoay vòng trên một đường chéo của ma trận, ma trận đầu ra có vectơ dọc theo đường chéo.(2,4,16,256,,22n1)

Nhưng những gì sự phức tạp thời gian thực tế của phép khử Gauss? Hầu hết các tác giả tối ưu hóa tổ hợp dường như đều hài lòng với sự đa thức mạnh mẽ của Hồi giáo, nhưng tôi tò mò không biết đa thức thực sự là gì.

n×nmO(n(m+logn))m=O(logn)O(n5)O~(n4)O(logn)

Đây vẫn là phân tích tốt nhất được biết đến? Có một tài liệu tham khảo tiêu chuẩn nào đưa ra thời gian rõ ràng ràng buộc hơn, hoặc ít nhất là ràng buộc tốt hơn về độ chính xác cần thiết?

Tổng quát hơn: Thời gian chạy (trên RAM số nguyên) của thuật toán nhanh nhất được biết để giải các hệ phương trình tuyến tính tùy ý là gì?


2
(chèn handwave bạo lực) bạn có thể giải quyết vấn đề số nguyên lớn trong trường hợp cụ thể này bằng cách sử dụng các thủ thuật nhỏ băm modulo băm không? thuật toán sẽ được chọn ngẫu nhiên, nhưng vẫn còn .. Phải thừa nhận rằng điều này không trả lời câu hỏi bạn đã hỏi ...
Suresh Venkat

1
O(n3MB[n(logn+L)])

1
Thuật toán loại bỏ Gaussian tiêu chuẩn chia hàng trục cho phần tử trục trước khi giảm các hàng sau. Câu hỏi mở đề cập đến phiên bản tiêu chuẩn này. Ví dụ tôi đưa ra ở đầu câu hỏi của tôi sử dụng một biến thể khác nhau, KHÔNG chia cho phần tử trục.
Jeffε

3
Tò mò. Thời gian của Yap bị ràng buộc đối với thuật toán của Bereiss giống hệt với thời gian bị ràng buộc bởi phân tích loại bỏ Gaussian của Edmonds.
Jeffε

1
rjlipton đã khảo sát khu vực gần đây & trích dẫn luận án Kannan Phd về chủ đề này. một phần quan trọng của phân tích là wrt Smith dạng bình thường
vzn

Câu trả lời:


35

O~(n3log(A+b))


Cảm ơn đã tham khảo! Điều này trả lời câu hỏi thứ hai của tôi, nhưng không phải là câu hỏi đầu tiên của tôi.
Jeffε

3
Nếu bạn sử dụng xoay vòng thì bitize của các kết quả trung gian trong loại bỏ Gaussian (GE) là đa thức, không có vụ nổ theo cấp số nhân. Tôi nghĩ rằng đây là kết quả Bareiss. Đối với sự phức tạp của GE, có một thuật toán trong cuốn sách của Gathen và Gerhard, "Đại số máy tính hiện đại" để tính toán định thức của ma trận , dựa trên GE, số học mô đun và định lý còn lại của Trung Quốc (Phần 5.5, Trang 101-105). Độ phức tạp là . Tôi nghĩ rằng một yếu tố của có thể được lưu bằng cách sử dụng số học nhanh. Nếu tôi không sai, đây là ràng buộc mà user834 đã đề cập. AO(n4log2A)n
Elias

@Elias, định nghĩa của định mức trong biểu thức đó là gì? Đây có phải là hệ số lớn nhất trong kích thước tuyệt đối? Có phải là kích thước bit? Ngoài ra, kết quả này cho ma trận hợp lý tùy ý?
Juan Bermejo Vega

13

Tôi nghĩ rằng câu trả lời cho câu hỏi đầu tiên của bạn cũng là do các đối số sau: Bài viết của Edmonds không mô tả một biến thể loại bỏ Gaussian nhưng nó chứng minh rằng bất kỳ số nào được tính toán trong một bước của thuật toán đều là yếu tố quyết định của một số hàm con của cuốn sách của A. By Schrijver về Lý thuyết lập trình tuyến tính và tích phân, chúng ta biết rằng nếu mã hóa của A cần b bit (b nên nằm trongO~(n3log(A+b))O~(log(A)) sau đó bất kỳ phân lớp con nào của nó cần tối đa 2 bit (Định lý 3.2). Để biến Gaussian thành một thuật toán thời gian đa thức, chúng ta phải quan tâm đến các chỉ số được tính toán: Chúng ta phải loại bỏ các yếu tố phổ biến từ mọi phân số chúng ta tính toán trong bất kỳ bước trung gian nào và sau đó tất cả các số có độ dài mã hóa tuyến tính theo độ dài mã hóa của A.

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.