Thuật toán tối ưu để tìm đường kính của đồ thị thưa?


14

Tôi tự hỏi làm thế nào để tìm đường kính của một đồ thị vô hướng thưa thớt. Ý tôi là thưa thớt . Theo tối ưu tôi có nghĩa là độ phức tạp thời gian thấp nhất.|E|= =Ôi(|V|)

Tôi đã nghĩ về một số sửa đổi trên thuật toán của Tarjan cho các đồ thị không có hướng, nhưng tôi không tìm thấy kết quả tốt. Trên thực tế tôi đã nghĩ rằng nếu tôi có thể tìm thấy một thành phần 2 kết nối trong , thì tôi có thể tìm thấy chu vi, bằng một số loại cảm ứng có thể đạt được từ phần đầu tiên. Tôi có thể đang đi sai đường, mặc dù. Bất kỳ thuật toán tiệm cận tốt hơn so với Θ ( | V | 2 ) (tức là o ( | V | 2 ) ) được chào đón.Ôi(|V|)Θ(|V|2)o(|V|2)


1
Virginia Vassilevska Williams và Ryan Williams có một bài báo cho thấy phát hiện nữ tính trong đồ thị nói chung tương đương với APSP dưới các biến đổi cận lâm sàng. Tôi không biết nếu mối quan hệ giữ cho các biểu đồ thưa thớt, nhưng điều đó có nghĩa là việc truy vấn phụ có thể khó khăn. Tôi sẽ để một trong hai người đăng thông tin chi tiết :)
Suresh Venkat


Chúng tôi không trực tiếp để lại nhận xét về các mục Câu hỏi thường gặp, nếu bạn có đề xuất, bạn có thể bắt đầu một cuộc thảo luận meta hoặc đăng ở đây .
Kaveh

Câu trả lời:


24

Đây là những gì tôi biết về vấn đề chu vi trong các đồ thị không có trọng số. Trước hết, nếu chu vi là chẵn, bạn có thể xác định nó trong thời gian - đây là kết quả cũ của Itai và Rodeh (A. Itai và M. Rodeh. Tìm một mạch tối thiểu trong đồ thị. SIAM J Máy tính, 7 (4): 413 Từ423, 1978.). Ý tưởng là: đối với mỗi đỉnh trong biểu đồ, bắt đầu BFS cho đến khi chu trình đầu tiên được đóng lại (sau đó dừng lại và chuyển sang đỉnh tiếp theo); trả lại chu kỳ ngắn nhất được tìm thấy. Nếu chu vi thậm chí là chu kỳ ngắn nhất được tìm thấy sẽ là chu kỳ ngắn nhất. Đặc biệt, nếu đồ thị của bạn là lưỡng cực, điều này sẽ luôn tính toán chu vi. Tuy nhiên, nếu gr là số lẻ, tuy nhiên, bạn sẽ tìm thấy một chu kỳ có độ dài g hoặc g +Ôi(n2)gg , vì vậy bạn có thể tắt 1 .g+11

Bây giờ, vấn đề thực sự với chu vi lẻ là chắc chắn thuật toán của bạn sẽ phải có khả năng phát hiện nếu đồ thị có hình tam giác. Các thuật toán tốt nhất cho phép sử dụng phép nhân ma trận: thời gian min { n 2.38 , m 1.41 ) cho đồ thị trên n nút và m cạnh. Itai và Rodeh cũng chỉ ra rằng bất kỳ thuật toán nào có thể tìm thấy một tam giác trong các đồ thị dày đặc cũng có thể tính được chu vi, vì vậy chúng ta có thuật toán chu vi thời gian O ( n 2.38 ) . Tuy nhiên, thời gian chạy cho chu vi trong đồ thị thưa thớt không tốt bằng tìm kiếm hình tam giác. Điều tốt nhất chúng ta biết nói chung là O ( mÔi(n2,38,m1,41)nmÔi(n2,38) . Cụ thể, điều có vẻ khó nhất là tìmthuật toán thời gian o ( n 2 ) cho các đồ thị có m = O ( n ) .Ôi(mn)o(n2)m= =Ôi(n)

Nếu bạn tình cờ quan tâm đến các thuật toán xấp xỉ, Liam Roditty và tôi có một bài báo gần đây trong SODA'12 về điều đó: Liam Roditty, V. Vassilevska Williams: Các thuật toán xấp xỉ thời gian phụ cho thời gian. SODA 2012: 833-845. Ở đó chúng tôi chỉ ra rằng một phép tính xấp xỉ có thể được tìm thấy trong thời gian phụ, và một số kết quả khác liên quan đến xấp xỉ phụ gia và phần mở rộng. Nói chung, vì một định lý về Bondy và Simonovits, khi bạn có các biểu đồ dày đặc, giả sử trên các cạnh n 1 + 1 / k , chúng đã chứa các chu kỳ chẵn, nói khoảng 2 k2n1+1/k2k. Vì vậy, đồ thị càng dày đặc, càng dễ dàng tìm thấy một xấp xỉ tốt cho chu vi. Khi đồ thị rất thưa thớt, đường kính về cơ bản có thể lớn tùy ý.


5
tuyệt vời ! Tôi đã hy vọng chuyên gia sẽ xuất hiện :)
Suresh Venkat

Virginia, một tài liệu tham khảo tốt cho kết quả là gì? Có phải đó là của Yuster và Zwick? Ôi(m1,41)
Rạch

2
Các thời gian thuật toán phát hiện tam giác là trong bài viết này: N. Alon, R. Yuster, U. Zwick. "Tìm và đếm chu kỳ cho trước", Proc. ESA, 1994, tr 354 354-364. Ôi(m1,41)
virgi

Có một thuật toán O (nm) dựa trên BFS đơn giản và tổng quát mà tôi không ngạc nhiên khi không ai đề cập đến: webc thuyết.cs.technion.ac.il/234247 / Winter2003-2004 / ho / WSFiles / W
Labo

5

Tìm đường kính của đồ thị phẳng có một lịch sử thú vị. Xem bài viết này của Chang và Lu để biết thuật toán thời gian tuyến tính và lịch sử cải tiến.

Không có kỹ thuật chung để tìm đường kính của bất kỳ đồ thị thưa thớt nào . Thông thường chúng ta phải xem xét các phân tách hoặc nhúng đặc biệt liên quan để đạt được giới hạn tốt hơn. Nếu một biểu đồ "rõ ràng" thưa thớt, thường có một cấu trúc đẹp liên quan đến nó. Ví dụ, đồ thị treewidth giới hạn rất thưa thớt và chúng có sự phân rã cây liên quan.

Thiết kế thuật toán cho các đồ thị thưa thớt nói chung là một vấn đề mở.o(n2)


Giấy phẳng có vẻ thú vị, cảm ơn.
Saeed
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.