Có nhất thiết phải gọi phép nhân ma trận


20

Một móng vuốt là một . Một thuật toán tầm thường sẽ phát hiện một móng vuốt trong thời gian . Nó có thể được thực hiện trong , trong đó là số mũ của phép nhân ma trận nhanh, như sau: lấy biểu đồ con được tạo bởi cho mỗi đỉnh và tìm một tam giác trong bổ sung của nó. O ( n 4 ) O ( n ω + 1 ) ω N [ v ] vK1,3O(n4)O(nω+1)ωN[v]v

Theo tôi biết, những thuật toán cơ bản này chỉ được biết đến. Spinrad được liệt kê trong cuốn sách "biểu diễn đồ thị hiệu quả" của mình, việc phát hiện móng vuốt trong thời gian là một vấn đề mở (8.3, trang 103). Đối với giới hạn dưới, chúng ta biết rằng thuật toán thời gian sẽ ngụ ý thuật toán thời gian để tìm tam giác. Vì vậy, chúng tôi có thể coi \ Omega (n ^ \ omega) là giới hạn dưới.o(nω+1)O(nc)O(nmax(c,2))Ω(nω)

Câu hỏi:

  1. Có bất kỳ tiến triển về điều này. Hoặc bất kỳ tiến bộ nào cho thấy nó là không thể?
  2. Có các vấn đề tự nhiên khác với thuật toán thời gian O(nω+1) là tốt nhất không?

Ghi chú:

  1. Tôi rõ ràng yêu cầu phát hiện móng vuốt, thay vì nhận ra đồ thị không có móng. Mặc dù một thuật toán thường giải quyết cả hai, có một vài ngoại lệ.
  2. Nó đã tuyên bố trong Sổ tay thuật toán và khoa học máy tính lý thuyết rằng nó có thể được tìm thấy trong thời gian tuyến tính, nhưng nó chỉ là một lỗi đánh máy (xem "biểu diễn đồ thị hiệu quả").

Bạn có thể sử dụng Alon et al của. Phương pháp tìm tam giác trong O(|E|1.41) , cho mỗi nút mà kết thúc tại một O(|V||E|1.41) mà là tốt hơn |V|ω+1 nếu đồ thị không quá dày đặc.
RB

@RB, cảm ơn bạn đã chỉ ra điều này. Ý tưởng cơ bản vẫn là chạy bất cứ điều gì-tam giác phát hiện thuật toán n lần, đó là những gì tôi muốn tránh.
Yixin Cao

Làm thế nào chúng ta có thể mong đợi để tìm thấy một số thuật toán không liên quan đến tìm kiếm tam giác? Bởi vì dù thuật toán là gì thì cũng nên kiểm tra hàng xóm của từng đỉnh. Tôi có nghĩa là tài sản là tài sản rất địa phương, ngoại trừ với sự khác biệt yếu tố không đổi mỗi đỉnh nên được nhìn thấy. (Hoặc tôi không thể tưởng tượng bất kỳ thuật toán tự nhiên nào tránh địa phương này). Bạn có bất kỳ ý tưởng thậm chí mơ hồ?
Saeed

2
Có lẽ thật tốt khi đề cập rằng nếu chúng ta có thể tìm thấy một móng vuốt trong thời gian f (n), chúng ta cũng có thể tìm thấy một tam giác trong thời gian f (n + 1) (chỉ cần lấy phần bù của biểu đồ và thêm một đỉnh được kết nối với mọi người ), vì vậy chúng ta không nên hy vọng tìm thấy bất cứ điều gì tốt hơn . nω
domotorp

1
@domotorp, dường như phần đó rõ ràng, cách khác không rõ ràng, ý tôi là tại sao chúng ta cần tìm kiếm tuyến tính. Như Yixin cũng chỉ ra, có thể có một thuật toán khác không sử dụng thuật toán tìm tam giác và giải quyết vấn đề trong , mà tôi nghĩ là khó tìm được thuật toán như vậy và có lẽ dễ dàng hơn để chỉ ra rằng bất kỳ thuật toán nào sử dụng tìm kiếm tam giác như chương trình con (hoặc có thể được chuyển đổi) với tìm kiếm tuyến tính trên nó. o(nω+1)
Saeed

Câu trả lời:


16

Tôi nghĩ rằng chúng ta có thể làm tốt hơn một chút so với cho các biểu đồ dày đặc, bằng cách sử dụng phép nhân ma trận hình chữ nhật. Một ý tưởng tương tự đã được sử dụng bởi Eisenbrand và Grandoni ("Về sự phức tạp của cụm tham số cố định và tập hợp thống trị", Khoa học máy tính lý thuyết Tập 326 (2004) 57 luận67) để phát hiện 4 cụm.O(n1+ω)

Đặt là biểu đồ mà chúng tôi muốn phát hiện sự tồn tại của một móng vuốt. Hãy là tập các cặp (đặt hàng) các đỉnh trong . Xét ma trận Boolean sau đây có kích thước: mỗi hàng được chỉ mục bởi một số , mỗi cột được lập chỉ mục bởi một số và mục nhập tương ứng là một khi và chỉ khi , và . Hãy xem xét các sản phẩm ma trận Boolean của và chuyển vị của nó . Đồ thị có móng khi và chỉ khi tồn tạiG=(V,E)AVM|V|×|A|uV(v,w)A{u,v}E{v,w}E{u,w}EMMTG{u,v}E sao cho mục nhập của trong hàng được lập chỉ mục bởi và cột được lập chỉ mục bởi là một. u vMMTuv

Độ phức tạp của thuật toán này về cơ bản là độ phức tạp của việc tính toán sản phẩm Boolean của ma trận theo ma trận , trong đó biểu thị số lượng đỉnh trong biểu đồ. Người ta biết rằng một sản phẩm ma trận như vậy có thể được tính toán trong thời gian , tốt hơn cho giới hạn trên được biết đến nhiều nhất về . Tất nhiên, nếu (theo phỏng đoán) thì hai cách tiếp cận có cùng độ phức tạp .n 2 × n n O ( n 3.3 ) O ( n 1 + ω ) ω ω = 2 O ( n 3 )n×n2n2×nnO(n3.3)O(n1+ω)ωω=2O(n3)


Tuyệt quá! Đây chính xác là những gì tôi muốn cho câu hỏi đầu tiên của mình: chỉ một cuộc gọi nhân ma trận, mặc dù cuộc gọi lớn hơn. Tôi sẽ chờ thêm bình luận hoặc câu trả lời cho câu hỏi thứ hai của tôi trước khi lấy nó làm câu trả lời.
Yixin Cao

15

Tôi không biết làm thế nào để tránh làm nhân lên ma trận, nhưng bạn có thể phân tích nó theo cách như vậy mà thời điểm đó là hiệu quả của một số nhỏ trong số họ. Thủ thuật này là từn

Kloks, Tôn; Kratsch, Ăn kiêng; Müller, Haiko (2000), "Tìm và đếm các sơ đồ con cảm ứng nhỏ một cách hiệu quả", Thư xử lý thông tin 74 (3 Tiết4): 115 Điện 121, doi: 10.1016 / S0020-0190 (00) 00047-8, MR 1761552.

Quan sát đầu tiên là, khi bạn đi ma trận nhân lên, các ma trận không thực sự là , nhưng trong đó là độ của mỗi đỉnh, bởi vì thứ bạn đang tìm kiếm là một tam giác đồng trong khu phố của mỗi đỉnh.d × d dn×nd×dd

Thứ hai, trong đồ thị không có móng, mọi đỉnh phải có hàng xóm . Vì, nếu không, tập hợp các lân cận sẽ có quá ít cạnh để tránh có hình tam giác trong phần bù. Vì vậy, khi bạn thực hiện phép nhân ma trận, bạn chỉ cần thực hiện trên ma trận có kích thước chứ không phải .O(O(m)nO(m)n

Ngoài ra, mỗi cạnh có thể đóng góp vào kích thước của bài toán nhân ma trận cho chỉ hai đỉnh, điểm cuối của nó. Trường hợp xấu nhất xảy ra khi cho tổng kích thước của các bài toán nhân ma trận này được lan truyền sang các bài toán con có kích thước mỗi bài, cho tổng thời gian bị ràng buộc là , một cải tiến cho đồ thị thưa thớt so với giới hạn được đề cập bởi R B.O ( 2mO(O(m)O(m ( 1 + ω ) / 2 )O(nm ω / 2 )O(m)O(m(1+ω)/2)O(nmω/2)


Ồ, đó là một ý tưởng thông minh, tôi đã suy nghĩ liệu có thể thực hiện tìm kiếm tuyến tính hay không (thực sự không chấp nhận điều này) và thậm chí không nghĩ về các đặc tính nội tại của vấn đề.
Saeed

Cảm ơn bạn David. Tôi để nó mở trong giây lát vì câu hỏi thứ hai của tôi dường như chưa được chú ý.
Yixin Cao
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.