We introduce here the model of growing graphs, a model of dynamic networks in which nodes can generate new nodes, thus expanding the network. This motivates the algorithmic problem of constructing a target graph G, starting from a single node. To properly model this, we assume that every node u can generate at most one node v in every round (or time slot). Every newly generated node v can activate edges with other nodes, only at the time of its birth, provided that these nodes are up to a small distance d away from v. We show that the most interesting case is when d=2. As we prove, in order to achieve the construction of a target graph G in a small number of time slots, we might need to pay for auxiliary edges (the "excess edges"), which will be eventually removed. This creates a trade-off between the number of time slots and the number of excess edges required to construct a target graph. In this paper, we deal with the following algorithmic question: Given a target graph G of n nodes, can G be constructed in at most k time slots and with at most \ell excess edges? On the positive side, we provide polynomial-time algorithms that efficiently construct fundamental graph families, such as lines, stars, trees, and planar graphs. In particular, we show that trees can be constructed in a poly-logarithmic number of slots with linearly many excess edges, while planar graphs can be constructed in a logarithmic number of slots with O(n\log n) excess edges. We also give a polynomial-time algorithm for deciding whether a graph can be constructed in \log n slots with \ell = 0 excess edges. On the negative side, we prove that the problem of determining the minimum number of slots required for a graph to be constructed with zero excess edges (i) is NP-complete and (ii) for any \varepsilon>0, cannot be approximated within n^{1-\varepsilon}, unless P=NP.
翻译:我们在这里引入增长图形模型, 即动态网络模型, 节点可以在其中生成新的节点, 从而扩大网络。 这促使了从一个节点开始构建目标图形 G 的算法问题。 为了正确模拟这一点, 我们假设每个节点可以在每个回合( 或时空) 中产生最多一个节点。 每个新生成的节点 V 可以在创建目标图表时用其他节点来激活边缘。 只有当这些节点距离距离小于一个位数 。 我们显示最有趣的例子是 d=2 。 正如我们所证明的那样, 为了在少量时间槽中完成目标图形 G 的构建。 我们可能需要支付辅助边缘( “ 超度边缘” ), 并且最终将删除 。 这在时间位数的数量和构建目标图表所需的超度边缘之间造成一个交换。 在本文中, 我们处理以下的算法问题: 目标点 G 点数, 可以在最短的时间盘中构建一个线性 G ; 在最短的时间槽中, 在最短的树底端里, 显示我们是否要显示一个正数。