Załóżmy, że wykres z n wierzchołkami jest przedstawiony jako strumień m krawędzi, ale nad strumieniem dozwolonych jest wiele przejść.
Monika Rauch Henzinger, Prabhakar Raghavan i Sridar Rajagopalan zauważyli, że przestrzeń jest niezbędna do ustalenia, czy istnieje ścieżka między dwoma podanymi wierzchołkami w G , jeśli dopuszcza się k przejść przez dane. (Zobacz także wersję raportu technicznego .) Nie zapewniają one jednak algorytmu umożliwiającego osiągnięcie tego ograniczenia. Zakładam, że optymalny algorytm faktycznie wziąłby O ( ( n przestrzeń w realistycznym modelu obliczeniowym, ponieważ trzeba rozróżnić n różnych wierzchołków, jeśli nie można indeksować pamięci za pomocą wskaźników o stałym rozmiarze.
Jak można zdecydować o połączeniu grafu za pomocą przejść za pomocą O ( ( n spacja?
Jeśli dozwolone jest tylko jedno przejście, dane wejściowe mogą być przechowywane jako partycja zestawu wierzchołków, łącząc zestawy, jeśli krawędź jest widoczna między wierzchołkami w dwóch różnych zestawach. Wymaga to najwyżej co najwyżej przestrzeń. Moje pytanie dotyczy k > 1 : jak można użyć większej liczby przejść, aby zmniejszyć wymaganą przestrzeń?
(Aby uniknąć trywialności, jest parametrem, którego a priori nie można ograniczyć stałą, a granice przestrzeni są wyrażeniami obejmującymi funkcje zarówno n, jak i k .)
Aktualizacja: nawet dla naprawdę przydatny byłby sposób przechowywania tylko n / 2 wierzchołków. Czy jest tam rzeczywiście silniejszy dolny c n dla pewnej stałej c , niezależnie od k ?
źródło
Odpowiedzi:
Od dawna otwartym problemem jest znalezienie algorytmu łączności st, który działa jednocześnie w przestrzeni subliniowej i czasie wielomianowym, co jest łatwiejszym zadaniem niż to, do czego dążysz. Takie algorytmy są znane dla wersji bezkierunkowej , ale nawet one wymagają dużego czasu wielomianowego (zamiast czasu O (km), co wynikałoby z algorytmu k-pass). Zobacz w szczególności odniesienie do pracy Tompy na temat tego, dlaczego skierowana sprawa wydaje się trudna.
źródło
źródło
źródło
Jeszcze jedna odpowiedź: jest kilka artykułów na temat algorytmów w stylu mapreduce działających na dużych wykresach. Celem jest uzyskanie przestrzeni o (m) na maszynę dla gęstych wykresów, ale zwykle potrzeba przestrzeni O (n) na maszynę.
teorii.stanford.edu/~sergei/papers/soda10-mrc.pdf http://theory.stanford.edu/~sergei/papers/spaa11-matchings.pdf
źródło
źródło