A typical task in temporal graphs analysis is answering single-source-all-destination (SSAD) temporal distance queries. An SSAD query starting at a vertex $v$ asks for the temporal distances, e.g., durations or earliest arrival times between $v$ and all other vertices. We introduce an index to speed up SSAD temporal distance queries called Substream index. The indexing is based on the construction of $k$ subgraphs and a mapping from the vertices to the subgraphs. Each subgraph contains the temporal edges sufficient to answer queries starting from any vertex mapped to the subgraph. We answer a query starting at a vertex $v$ with a single pass over the edges of the subgraph. Our index supports dynamic updates, i.e., efficient insertion and deletion of temporal edges. Unfortunately, deciding if a Substream index of a given size exists is NP-complete. However, we provide an efficient greedy approximation that constructs an index at most $k/\delta$ times larger than an optimal index where $\delta$, with $1\leq\delta\leq k$, depends on the temporal and spatial structure of the graph. Moreover, we improve the running time of the approximation in three ways. First, we use an auxiliary index called Time Skip index to speed up the construction and queries by skipping edges that do not need to be considered. Next, we apply min-hashing to avoid costly union operations. Finally, we use parallelization to take the parallel processing capabilities of modern processors into account. An extensive evaluation using real-world temporal networks shows the efficiency and effectiveness of our indices, and query times are significantly improved for all data sets.
翻译:时间图分析中的一项典型任务是解答单一源- 全部目的地( SSAD) 时间距离查询。 SSAD 查询从顶点 $v$ 开始, 询问时间距离, 例如, 美元和所有其他顶点之间的持续时间或最早到达时间。 我们引入一个指数, 以加速 SSAD 时间距离查询, 称为 子流索引。 索引基于 $k$ 子图的构造和从顶点到子图的映射。 每一份子图包含一个时间边缘, 足以回答从所绘制的任何顶点到子图的顶点查询。 我们回答一个从顶点 $ $v$ $ 美元 开始的查询, 在子节点边缘和所有其他顶点之间有一个单一的到达时间。 我们的索引支持动态更新, 也就是说, 高效插入和删除时间边缘。 不幸的是, 确定某个特定大小的子流指数是完成的。 然而, 我们提供一种高效的贪婪接近率, 以最多 $/\\ delta$ 来构建一个比最理想的指数大一倍的指数更大的指数,,, 。 将一个最高级的 的 使用 下层- 运行速度的计算, 我们的计算一个Silver 速度的计算一个速度的 。