Có phải việc kiểm tra tính chuyển động của một bản vẽ không dễ dàng hơn (về độ phức tạp tiệm cận) lấy sự đóng cửa quá độ của bản đồ? Chúng ta có biết bất kỳ ràng buộc thấp hơn Ω ( n 2 )
Có phải việc kiểm tra tính chuyển động của một bản vẽ không dễ dàng hơn (về độ phức tạp tiệm cận) lấy sự đóng cửa quá độ của bản đồ? Chúng ta có biết bất kỳ ràng buộc thấp hơn Ω ( n 2 )
Câu trả lời:
Dưới đây tôi sẽ hiển thị như sau: nếu bạn có một O ( n 3 - ε ) thuật toán thời gian để kiểm tra nếu một đồ thị là bắc cầu cho bất kỳ ε > 0 , sau đó bạn có một O ( n 3 - ε ) thuật toán thời gian cho việc phát hiện một tam giác trong đồ thị nút n và do đó (bằng một bài báo từ FOCS'10 ), bạn sẽ có thuật toán thời gian O ( n 3 - ε / 3 ) để nhân hai ma trận boolean n × n và do đó là kết quả của Fischer và Meyer từ những năm 70 , điều này cũng bao hàm chữ O ( n 3 -
Giả sử rằng bạn muốn phát hiện một hình tam giác trong một n nút G . Bây giờ chúng ta có thể tạo ra các đồ thị sau H . H là ba bên với các phân vùng I , J , K trên n nút mỗi. Ở đây mỗi nút x của G đã bản x I , x J , x K trong phần I , J , K . Đối với mỗi cạnh ( u , v ) của G, thêm các cạnh được định hướng (
Đầu tiên, nếu G chứa một tam giác u , v , w , thì H không phải là bắc cầu. Điều này là do các cạnh ( u I , v J ) , ( v J , w K ) nằm trong H nhưng ( u I , w K ) thì không. Thứ hai, nếu H không có tính bắc cầu, thì phải tồn tại một số đường dẫn từ một số nút s đến một số nút t trong H sao cho (
Có vẻ như rằng Ω ( n 2 ) là tốt nhất được biết đến dưới ràng buộc, vì bất kỳ ràng buộc thấp hơn hàm ý một giới hạn thấp hơn cho phép nhân ma trận boolean. Chúng ta biết rằng có thể đạt được kiểm tra độ xuyên bằng cách sử dụng một phép nhân ma trận boolean, nghĩa là G có tính bắc cầu khi và chỉ khi G = G 2 .
Hình dung nếu một DAG có tính bắc cầu cũng khó như quyết định xem một bản tóm tắt chung có mang tính bắc cầu hay không (điều này đưa chúng ta trở lại câu hỏi trước đó của bạn :)).
Giả sử bạn có một thuật toán chạy trong thời gian O ( f ( n ) ) để quyết định xem DAG có mang tính bắc cầu hay không.
Cho một đồ thị có hướng G , bạn có thể sử dụng các thuật toán ngẫu nhiên sau đây để quyết định nếu G là bắc cầu trong thời gian O ( f ( n ) ⋅ log ( 1
1. for $O(\log{\frac{1}{\delta}})$ iterations:
1.1. Compute a random permutation on $V$. Denote the result by $<v_1,v_2,...,v_n>$.
1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i<j\})$ (i.e. compute a random acyclic orientation).
1.3. If $G'$ (which is acyclic) is not transitive return false.
2. return true.
Bây giờ rõ ràng là nếu G là bắc cầu, thuật toán này trả về đúng.
Bây giờ giả sử G không phải là bắc cầu. Đặt e 1 = ( v i , v j ) , e 2 = ( v j , v k ) ∈ E sao cho ( v i , v k ) ∉ E (phải có các cạnh như G không có tính bắc cầu). Xác suất mà e 1 , e 2 ∈ G ' là
Tôi nghĩ rằng điều này nên khả thi trong thời gian tuyến tính, tức là O ( n + m ) trong đó n là số đỉnh và m là số cạnh. Có thể bằng cách điều chỉnh một số sơ đồ truyền tải đồ thị với cài đặt được định hướng? Điểm bắt đầu có thể là LexBFS / LexDFS được mô tả ở đây ; đối với các biểu đồ có hướng, có vẻ như chúng ta nên sử dụng sắp xếp tôpô thay vì DFS, vì vậy có thể với một số thuật toán LexTSA để khám phá?
Về câu trả lời trước, đây là một cách đơn giản để xác định thuật toán như vậy. Gán cho mỗi đỉnh x một chỉ số i ( x ) , được khởi tạo thành 0 . Với mỗi x , hãy để M ( x ) biểu thị nhiều chỉ số của các hàng xóm của nó. Chúng tôi mô phỏng một cách sắp xếp tô pô bằng cách duy trì một tập hợp R các đỉnh chưa được khám phá, khởi tạo cho toàn bộ tập hợp. Ở mỗi bước, chúng tôi làm như sau:
Chọn một đỉnh x ∈ R có multiset M ( x ) là tối thiểu (theo thứ tự multiset);
Cập nhật i ( x ) vào vòng truy cập và loại bỏ hiện tại x từ R .
Thuật toán này có thể được sử dụng cho vấn đề của bạn, hoặc cho một số ứng dụng khác không?