Suppose we wish to estimate $\#H$, the number of copies of some small graph $H$ in a large streaming graph $G$. There are many algorithms for this task when $H$ is a triangle, but just a few that apply to arbitrary $H$. Here we focus on one such algorithm, which was introduced by Kane, Mehlhorn, Sauerwald, and Sun. The storage and update time per edge for their algorithm are both $O(m^k/(\#H)^2)$, where $m$ is the number of edges in $G$, and $k$ is the number of edges in $H$. Here, we propose three modifications to their algorithm that can dramatically reduce both the storage and update time. Suppose that $H$ has no leaves and that $G$ has maximum degree $\leq m^{1/2 - \alpha}$, where $\alpha > 0$. Define $C = \min(m^{2\alpha},m^{1/3})$. Then in our version of the algorithm, the update time per edge is $O(1)$, and the storage is approximately reduced by a factor of $C^{2k-t-2}$, where $t$ is the number of vertices in $H$; in particular, the storage is $O(C^2 + m^k/(C^{2k-t-2} (\#H)^2))$.
翻译:假想我们想要估算$H$, 某小图一美元, 以大流图一美元计算。 当$H是一个三角时, 这项任务有许多算法, 但只有少数算法适用于任意的$H美元。 这里我们侧重于一个这样的算法, 由Kane、 Mehlhorn、 Sauerwald 和 Sun 介绍。 其算法的每个边缘的存储和更新时间为$Ok/ ( ⁇ H)2美元。 定义$C = min( m_2H) 美元, 美元是 $的边缘数 。 在此, 我们建议对其算法进行三处修改, 以大幅减少存储和更新时间。 假设$H$没有落叶, $G$最高为$leq m ⁇ 2 - parpha} 。 $alpha > 0。 定义$C = $( m _ _2H) 美元, m _1/3} 美元 。 在我们版本的算法中, 更新的时间是 美元的储量在 $C 里, 大约减少 美元 。