Vấn đề véc tơ không trực giao


8

Hãy xem xét các vấn đề sau:

Vấn đề véc tơ trực giao

Đầu vào: Một tập hợp S gồm vectơ Boolean mỗi chiều dài .nd

Câu hỏi: Có tồn tại các vectơ riêng biệt và sao cho không?v1v2Sv1v2=0

Vấn đề véc tơ không trực giao

Dữ liệu vào: Một tập hợp S gồm vectơ Boolean mỗi chiều dài và số nguyên dương .ndk

Câu hỏi: Có tồn tại các vectơ riêng biệt và sao cho ?v1v2Sv1v2k

Mối quan hệ giữa hai vấn đề này là gì?

Cụ thể, đây là một vài câu hỏi cụ thể hơn mà tôi đã tự hỏi về:

(1) Có phải một trong hai vấn đề này có vẻ khó hơn các vấn đề khác không?

(2) Tôi không chắc trạng thái hiện tại của thuật toán nghệ thuật là gì đối với OVP, nhưng đối với một trong những vấn đề này, bạn có thể có giới hạn trên tốt hơn thời gian không?O(n2d)

(3) Việc sửa có tạo ra sự khác biệt nào cho sự phức tạp của vấn đề thứ hai không?k

Theo , ý tôi là sản phẩm bên trong của và trên .v 1 v 2 R dv1v2v1v2Rd

Chỉnh sửa: Hầu hết các phản hồi cung cấp những hiểu biết thực sự tuyệt vời khi nhỏ. d

Có thể nói gì khi lớn hơn? Nói hoặc hoặc ít nhất đối với một số .d = n d = dd=n d=nαα>0d=nd=nαα>0


4
Về (2): theo như tôi biết, thuật toán nổi tiếng nhất để giải OVP đã được thiết lập trong bài báo này . Nó có độ phức tạp Cải thiện kết quả này thành cho một số hằng số là một vấn đề mở nổi tiếng và được cho là không thể xảy ra, vì nó sẽ làm sai lệch giả thuyết thời gian theo hàm mũ mạnh mẽ .
O(n21O(log(dlogn))).
O(n2ε)ε
Geoffroy Couteau

Vấn đề thứ hai cũng có thể giải quyết được trong thời gian . Chỉ cần chọn vị trí , sau đó kiểm tra xem hai vectơ có tất cả 1 trong các vị trí đó không. kO(nk(dk))k
Michael Wehar

1
Một lưu ý về thời gian trên bị ràng buộc đối với OVP: thời gian bị ràng buộc cũng yêu cầu d <= 2 ^ (sqrt (log n)), nếu không, việc xây dựng trung gian của đa thức xác suất mất quá nhiều thời gian.
Ryan Williams

2
Giới thiệu về d lớn: Các thuật toán cho phép nhân ma trận hình chữ nhật đánh bại n ^ 2 d trong việc tính toán tất cả các sản phẩm chấm. Khi d <n ^ 0,3 thời gian bị ràng buộc trở thành n ^ (2 + o (1)).
Rasmus Pagh

1
@MichaelWehar: Chính xác. Tôi nghĩ rằng kết quả tốt nhất là do François Le Gall, arxiv.org/abs/1204.1111
Rasmus Pagh

Câu trả lời:


8

Khi được đưa ra như một phần của đầu vào, vấn đề thứ hai tương đương với vấn đề Max-IP đơn sắc (đã cho , tìm ).S { 0 , 1 } d max ( một , b ) S , một b một bkS{0,1}dmax(a,b)S,abab

Gần đây tôi và Ryan Williams có một công việc (chưa công khai) cho thấy rằng khi , OVP và một phiên bản nhị phân của Max-IP (đã cho , tìm ), thực sự tương đương: nghĩa là, nếu một trong số chúng có thuật toán thời gian , thì cái kia cũng vậy. (Việc giảm từ OVP sang Max-IP là nổi tiếng, mức giảm mới ở đây là từ Max-IP sang OVP).Một , B max ( một , b ) A × B một b n 2 - εd=O(logn)A,Bmax(a,b)A×Babn2ε

Do phiên bản đơn sắc của Max-IP có thể được giảm xuống thành phiên bản hai màu, kết quả trên cũng ngụ ý rằng khi , Max-IP đơn sắc có thể được giảm xuống OVP.d=O(logn)

Tôi tin rằng đây là một câu hỏi mở rằng liệu OVP có thể được giảm thành Max-IP đơn sắc hay không. Điều này cũng liên quan chặt chẽ đến việc thiết lập độ cứng OV cho bài toán cặp gần nhất (ví dụ: Về độ phức tạp của cặp gần nhất thông qua cặp cực của bộ điểm )

Đối với Max-IP đơn sắc, có một thuật toán với thời gian chạy thuật toán thời gian của Alman, Chan và Williams ( cũng được chỉ ra bởi Rasmus), mà tôi tin là trạng thái của nghệ thuật. Trong khi thuật toán tốt nhất cho OVP chạy trong thời gian khi , nhanh hơn đáng kể. n 2 - 1 / O ( log c ) d = c log nn21/O~((d/logn)1/3)n21/O(logc)d=clogn

Ngoài ra, phiên bản gần đúng của Max-IP cũng được nghiên cứu trong bài viết này về Độ cứng của sản phẩm tối đa gần đúng và chính xác (Bíchromatic) , mang lại đặc tính cho trường hợp hai màu (nghĩa là có kích thước và tỷ lệ gần đúng , vấn đề có thể được giải quyết trong thời gian ?). Thuật toán trong bài báo đó cũng hoạt động cho trường hợp đơn sắc.dn 2 - εtn2ε


Liệu thuật toán thời gian có yêu cầu một số giới hạn trên không? dn21/O~((d/logn)1/3)d
Michael Wehar

6

Nếu tôi tin rằng các kỹ thuật của Alman, Chan và Williams đưa ra giải pháp nổi tiếng nhất cho Bài toán vectơ không trực giao. (Họ diễn đạt nó một cách khác nhau, như là một vấn đề cặp gần nhất của Hamming, nhưng điều này tương đương với các yếu tố poly ( ).)dk=O(logn)d

Không có ràng buộc với , một phiên bản hai màu của Bài toán vectơ không trực giao ít nhất cũng khó như Bài toán vectơ trực giao (OVP) cho đến một yếu tố . Đầu tiên, lưu ý rằng với một yếu tố trên đầu, chúng ta có thể giảm xuống phiên bản hai màu của OVP trong đó (tách liên kết thành các nhóm "màu" khác nhau) và chúng ta chỉ quan tâm đến các cặp trực giao hai màu . Thứ hai, với hệ số trên đầu, chúng tôi có thể giảm xuống trường hợp đặc biệt của OVP trong đó tất cả các vectơ trong có cùng trọng lượng Hamming . Cuối cùng, bằng cách đảo ngược tất cả các vectơ trong để có đượcd log n log n S = S 1S 2 ( v 1 , v 2 ) S 1 × S 2 d S 1 w S 2 S 2 S 1 S 2 S 1 S 2 wkdlognlognS=S1S2(v1,v2)S1×S2dS1wS2S2 chúng ta thấy và có một cặp trực giao khi và chỉ khi và có một cặp vectơ có sản phẩm chấm ít nhất là . Tuy nhiên, tôi không chắc chắn liệu có sự giảm hiệu quả từ Bài toán vectơ không trực giao cho phiên bản đơn sắc mà bạn mô tả hay không.S1S2S1S2w

Nếu bạn cho phép xấp xỉ, có một số kết quả gần đây cho Bài toán vectơ không trực giao (thường được gọi là vấn đề Tìm kiếm sản phẩm bên trong tối đa). Xem ví dụ như bài báo này và tài liệu tham khảo của nó.


0

Tương đương:

Bài toán vectơ không trực giao (như được định nghĩa ở trên) cho một tập hợp gồm vectơ Boolean mỗi chiều dài và một số nguyên dương tương đương như sau:Sndk

  • Tìm một bởi submatrix trong tổng số 1 trong một trao do ma trận Boolean.2knd

  • Tìm một sơ đồ con hoàn chỉnh trong một đồ thị lưỡng cực cho trước trong đó tập đỉnh đầu tiên có kích thước và tập đỉnh thứ hai có kích thước .K2,knd

Thuật toán ngây thơ:

Cách tiếp cận ngây thơ cho bài toán vectơ không trực giao chạy trong thời gian O(dn2) vì phải mất thời gian để tính toán một cách ngây thơ sản phẩm chấm của mỗi cặp vectơ.O(dn2)

Trả lời các câu hỏi (2) & (3):

Vâng, có một số thuật toán hiệu quả hơn trong các trường hợp khác nhau.

Cách tiếp cận đầu tiên:

Chúng ta có thể giải bài toán vectơ không trực giao trong thời gian O(dn+kn2) .

Lưu ý: Vì sản phẩm chấm có hai chiều dài vectơ Boolean phải được giới hạn bởi , nên vấn đề chỉ có ý nghĩa khi .ddkd

Bằng chứng. Đặt một tập hợp gồm vectơ Boolean mỗi chiều dài và một số nguyên dương được cho. Hãy xem xét một đếm của các phần tử của .Sndk{si}i[n]S

Tạo một hashmap từ các cặp đến . Ban đầu, ánh xạ mỗi đầu vào thành giá trị 0.m(a,b)[n]×[n]Nm

Đối với mỗi , chúng tôi thực hiện như sau. Enumerate qua cặp vectơ , như vậy mà , các th chút là 1, và th chút là 1. Đối với mỗi ví dụ và nếu , sau đó và là không trực giao tức là . Mặt khác, tăng và tiếp tục.i[d]sasba<bisaisbsasbm(a,b)=k1sasbsasbkm(a,b)

Nếu chúng ta kết thúc phép liệt kê, thì không có cặp vectơ nào không trực giao.

Phải mất để quét qua mọi bit của mọi vectơ. Sau đó, phải mất thêm thời gian để liệt kê các cặp vectơ. Bởi vì có nhiều nhất cặp vectơ và mỗi cặp có thể xuất hiện tối đa lần trước khi chúng được chứng minh là không trực giao, nên việc liệt kê các cặp mất tối đa thời gian. Do đó, tổng thời gian chạy là .O(nd)(n2)k1O(kn2)O(dn+kn2)

Lưu ý: Khi , chúng ta có thể cải thiện phương pháp này theo thời gian . Điều này là do khi , chúng ta có thể giảm việc tìm một cặp vectơ không trực giao trong số vectơ Boolean có độ dài để tìm một cặp vectơ không trực giao trong sốk=2O(nd)k=2ndd vectơ Boolean có độ dài n .

Cách tiếp cận thứ hai:

Chúng ta có thể giải bài toán vectơ không trực giao trong O(k(dk)n)thời gian.

Bằng chứng. Đặt một tập hợp S gồm n vectơ Boolean mỗi chiều dài d và một số nguyên dương k được cho.

Liệt kê thông qua các bộ P[d] sao cho P có kích thước k . Đối với mỗi vector vS , kiểm tra xem v có tất cả 1 tại các vị trí trong P . Có hai vectơ có tất cả 1 tại các vị trí trong P , sau đó chúng tôi đã tìm thấy hai vectơ không trực giao.

Tổng cộng, có (dk) lựa chọn có thể choP. Và, đối với mỗi sự lựa chọn, chúng tôi quét quaknbit từ các vectơ. Do đó, trong tổng số, thời gian chạy làO(k(dk)n).

Cách tiếp cận thứ ba:

Khi dn , chúng ta có thể giải quyết vấn đề vectơ không orthongal trong O(dω2n2) thời gian nơi ω là số mũ cho phép nhân ma trận số nguyên. Khi d>n , chúng ta có thể giải bài toán vectơ không trực giao trong thời gian O(dnω1) .

Lưu ý: Như được chỉ ra bởi @Rasmus Pagh, chúng ta có thể cải thiện thuật toán này thành thời gian O(n2+o(1)) khi dn0.3 . Xem tại đây để biết thêm: https://arxiv.org/abs/1204.1111

Bằng chứng. Đặt một tập hợp S gồm n vectơ Boolean mỗi chiều dài d và một số nguyên dương k được cho.

Hãy xem xét các ma trận AB . Ma trận đầu tiên A có kích thước n của d trong đó mỗi hàng A là một vector từ S . Ma trận thứ hai B có kích thước d bởi n trong đó mỗi cột B là một vector từ S .

Chúng ta có thể tính tích của chấm của mọi cặp vectơ trong S bằng cách tính AB bằng thuật toán để nhân ma trận số nguyên nhanh.

Khi dn , một cách tiếp cận là để chuyển đổi các nhân ma trận chữ nhật vào (nd)2phép nhân vuôngdvớima trậnd. Bằng cách sử dụng phép nhân ma trận vuông nhanh, chúng ta có thể tính toán tất cả các phép nhân trongO((nd)2dω)=O(dω2n2)thời gian.

Khi d>n , một cách tiếp cận là chuyển đổi phép nhân ma trận hình chữ nhật thành dn phép nhân củanvuôngbằngnma trận. Bằng cách sử dụng phép nhân ma trận vuông nhanh, chúng ta có thể tính toán tất cả các phép nhân trongO((dn)nω)=O(dnω1)thời gian.


Hãy so sánh ba cách tiếp cận này trong một số trường hợp khác nhau. Trường hợp 1: Khi cố định và d = O ( log 2 ( n ) ) , cách tiếp cận thứ hai là hiệu quả nhất. kd=O(log2(n))
Michael Wehar

Trường hợp 2: Khi d = O ( n α ) cho bất kỳ α ( 0,3 , 1 ) , cách tiếp cận thứ nhất là đôi khi hiệu quả nhất. k=O(log2(n))d=O(nα)α(0.3,1)
Michael Wehar

Trường hợp 3: Khi , trường hợp thứ ba đôi khi hiệu quả nhất. dn0.3
Michael Wehar

Trường hợp 4: Khi k lớn hơn n , cách tiếp cận thứ ba đôi khi hiệu quả nhất. dkn
Michael Wehar

Lưu ý: Cách tiếp cận đầu tiên khá giống với thuật toán tìm bốn chu kỳ trong đồ thị theo thời gian bậc hai. Xem tại đây: scTHERirect.com/science/article/pii/S0304020808730196
Michael Wehar
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.