Giảm sử dụng không gian của kết nối st với nhiều lượt?


20

Giả sử một đồ thị có đỉnh được trình bày dưới dạng luồng của các cạnh , nhưng nhiều đường chuyền được phép qua luồng.Gnm

Monika Rauch Henzinger, Mitchhakar Raghavan và Sridar Rajagopalan đã quan sát thấy rằng không gian là cần thiết để xác định liệu có một đường đi giữa hai đỉnh đã cho trong , nếu cho phép vượt qua dữ liệu. (Xem thêm phiên bản báo cáo kỹ thuật .) Tuy nhiên, họ không cung cấp thuật toán để thực sự đạt được ràng buộc này. Tôi giả sử rằng một thuật toán tối ưu sẽ thực sự chiếm không gian trong một mô hình điện toán thực tế, vì người ta phải phân biệt đỉnh khác nhau nếu người ta không thể lập chỉ mục bộ nhớ bằng cách sử dụng con trỏ kích thước không đổi.Ω(n/k)GkO((nlogn)/k)n

Làm thế nào người ta có thể quyết định kết nối đồ thị với vượt qua bằng cách sử dụng không gian ?kO((nlogn)/k)

Nếu chỉ cho phép một đường chuyền, dữ liệu đầu vào có thể được lưu trữ dưới dạng phân vùng của tập hợp các đỉnh, các tập hợp nếu một cạnh được nhìn thấy giữa các đỉnh trong hai bộ khác nhau. Điều này rõ ràng yêu cầu tối đa không gian . Câu hỏi của tôi là về : làm thế nào một người có thể sử dụng nhiều đường chuyền hơn để giảm dung lượng cần thiết?O(nlogn)k>1

(Để tránh tầm thường, là một tham số không thể giới hạn bởi một hằng số và giới hạn không gian là các biểu thức liên quan đến các chức năng của cả và .)knk


Cập nhật: ngay cả đối với , sẽ rất hữu ích khi có cách lưu trữ chỉ đỉnh. Hoặc thực sự có một ràng buộc thấp hơn mạnh hơn cho một số không đổi , bất kể ?n / 2 c n c kk=2n/2cnck


Làm thế nào bất kể ? Nếu nó có thể rất lớn, thì kết nối st có thể được giải quyết trong không gian O ( log 2 n ) , do đó có cơ hội cho một thuật toán, nhưng như được hiển thị bởi azotlichid, có thể không phải trong O ( n log n / k ) . kO(log2n)O(nlogn/k)
domotorp

Lưu ý rằng việc loại bỏ đường chuyền của Guha và McGregor cho các thuật toán ngẫu nhiên hoạt động theo hướng ngược lại, sử dụng nhiều không gian hơn để cho phép ít đường chuyền hơn (mặc dù không gian bổ sung là lớn nếu sai số mong muốn nhỏ). Câu hỏi này hỏi liệu bằng cách sử dụng nhiều lượt đi, người ta có thể giảm mức sử dụng không gian.
András Salamon

Câu trả lời:


8

Đó là một vấn đề mở lâu dài để tìm một thuật toán cho kết nối st chạy trong không gian tuyến tính phụ và thời gian đa thức, một nhiệm vụ dễ dàng hơn mà bạn đang hướng tới. Các thuật toán như vậy được biết đến với phiên bản không định hướng , nhưng ngay cả những thuật toán này đòi hỏi thời gian đa thức lớn (chứ không phải thời gian O (km) sẽ được ngụ ý bởi thuật toán k-pass). Đặc biệt là xem tài liệu tham khảo cho bài viết của Tompa về lý do tại sao trường hợp được chỉ đạo có vẻ khó.


1
M. Tompa, Hai thuật toán đóng cửa bắc cầu quen thuộc không thừa nhận thời gian đa thức, triển khai không gian tuyến tính , SIAM J. Comput. 11 (1), 130 trận137. dx.doi.org/10.1137/0211010
András Salamon

Bài viết này đưa ra "một thuật toán cho kết nối st chạy đồng thờiphụ tuyến tính không gian và thời gian đa thức".

4

Đây không phải là một câu trả lời, nhưng tôi chỉ muốn chỉ ra rằng nếu bạn có thể giải quyết vấn đề này cho , sau đó bạn giải quyết st-kết nối trong O ( log n ) không gian và O ( n m ) thời gian (mà trong trường hợp ngoại tuyến, bạn có thể thực hiện với xác suất> 1/2 bằng cách thực hiện một bước đi ngẫu nhiên, nhưng có vẻ khó hơn một chút khi các cạnh đến từ một luồng). Câu hỏi rất thú vị, IMO.k=Θ(n)O(logn)O(nm)


3

Yossi Shiloach, Uzi Vishkin. Một thuật toán kết nối song song O (log n). J. Thuật toán, 1982: 57 ~ 67 - Một trong những bài báo yêu thích của tôi. Sẽ rất thú vị nếu bạn có thể làm điều đó trong không gian O ((nlogn / k) / p) với bộ xử lý p trong vòng trong đó mỗi vòng mỗi bộ xử lý chỉ được phép đọc trong O (n / p) của các cạnh.k


Cảm ơn con trỏ, đây là một bài báo thú vị. Các bộ xử lý có quyền truy cập chung vào cấu trúc dữ liệu ít nhất bằng biểu đồ, vì vậy điều này không giúp giảm mức sử dụng không gian. Sẽ thực sự thú vị nếu có một cách để giảm việc sử dụng không gian bằng cách khai thác số lượng vòng cũng như số lượng bộ xử lý.
András Salamon

2

Một câu trả lời khác: có một số bài viết về thuật toán kiểu mapreduce hoạt động trên các biểu đồ lớn. Mục tiêu là để đạt được không gian trên mỗi máy o (m) cho các đồ thị dày đặc, nhưng thường cần không gian O (n) trên mỗi máy.

theory.stanford.edu/~sergei/ con / soda10-mrc.pdf http://theory.stanford.edu/~sergei/ con / spaa11-matchings.pdf


1

O(nlogn/k)kn/kstn/kn/kst

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.