Suponga que un gráfico con vértices se presenta como un flujo de bordes, pero se permiten múltiples pases sobre el flujo.n m
Monika Rauch Henzinger, Prabhakar Raghavan y Sridar Rajagopalan observaron que el espacio es necesario para determinar si hay un camino entre dos vértices dados en , si se permiten pases sobre los datos. (Consulte también la versión del informe técnico ). Sin embargo, no proporcionan un algoritmo para lograr este límite. Supongo que un algoritmo óptimo realmente ocuparía espacio en un modelo informático realista, ya que uno tiene que distinguir los vértices diferentes si no puede indexar la memoria utilizando punteros de tamaño constante.G k O ( ( nn
¿Cómo se puede decidir la conectividad gráfica con pasa usando el espacio ?O ( ( n
Si solo se permite una pasada, los datos de entrada se pueden almacenar como una partición del conjunto de vértices, fusionando conjuntos si se ve un borde entre vértices en dos conjuntos diferentes. Esto claramente requiere como máximo espacio. Mi pregunta es sobre : ¿cómo se pueden usar más pases para reducir el espacio requerido?k > 1
(Para evitar la trivialidad, es un parámetro que no puede estar limitado a priori por una constante, y los límites de espacio son expresiones que involucran funciones de y ).n k
Actualización: incluso para sería realmente útil tener una forma de almacenar solo vértices. ¿O hay realmente un límite inferior más fuerte para alguna constante , independientemente de ?n / 2 c n c k
Respuestas:
Es un problema abierto de larga data encontrar un algoritmo para la conectividad st que se ejecute simultáneamente en un espacio sub-lineal y en un tiempo polinómico, una tarea más fácil a la que apunta. Dichos algoritmos son conocidos para la versión no dirigida , pero incluso estos requieren un gran tiempo polinomial (en lugar del tiempo O (km) que estaría implicado por un algoritmo k-pass). Vea especialmente la referencia al artículo de Tompa sobre por qué el caso dirigido parece difícil.
fuente
fuente
fuente
Otra no respuesta: hay algunos documentos sobre algoritmos de estilo mapreduce que operan en gráficos grandes. El objetivo es lograr un espacio por máquina o (m) para gráficos densos, pero generalmente necesita un espacio O (n) por máquina.
theory.stanford.edu/~sergei/papers/soda10-mrc.pdf http://theory.stanford.edu/~sergei/papers/spaa11-matchings.pdf
fuente
fuente