代表双向街道作为图形网络

时间:2014-01-31 07:02:16

标签: algorithm graph graph-theory graph-algorithm

我正在对交通流量进行一些研究,在网络上代表双向道路时遇到一些麻烦......首先是使​​用有向图,这意味着我将在两个节点之间有两个有向边,我想知道这是否是一个很好的表示,如果图形分析(中心性,介于...等)将适用于这样的图形

3 个答案:

答案 0 :(得分:3)

几乎所有研究人员都专注于有向和无向图,而不是更一般的模型 - mixed graph。这是因为有向图理论上可以通过将任何双向(或非定向,取决于您的语义)关系添加为两个有向边来表示混合图。

然而,对于某些应用而言,这种态度远非最佳,混合模型更实用,例如street networks(例如支持单向和双向街道),M*3 networks (例如,多关系社交网络)和许多其他用例。

没有什么能阻止开发直接支持混合图的算法,指标(例如中心度量),库等。然而,混合图表从未获得普及。以最流行的C ++图形库为例 - Boost Graph LibraryLEMON Graph LibrarySTINGERMTGLigraph - 这些图形库本身都不支持混合图形。即使大多数图形数据库也不支持混合图形,但也有例外 - Sparsity DEX

在大多数情况下,如果您正在寻找一些指标或算法 - 由于缺乏理论和实际实施,您必须从头开始实施。我希望在不久的将来我们会看到一些变化。

答案 1 :(得分:2)

表示

考虑以下列方式用有向图表示道路网络。

  • 路段是图表中的节点。
    • 如果路段是双向的,则每个方向有2个节点。
    • 如果路段是单向的,则只有1个节点。
  • 当且仅当以下情况时,路段A到路段B有一条边:
    • A的结尾是B的开头。
    • 从A到B的进行是有道理的。

这是让你模拟诸如不允许左转的交叉点或者T交界处无法转弯的事情。

实施例

考虑以下示例。这里显示了5个路段和1个路口。从下面来的是一条单行道,最后只允许右转弯。司机在道路的右侧行驶。

蓝点是有向图中的5个节点 - 每个路段一个。橙色箭头是允许的从路段到路段的3种可能的过渡。

Example

答案 2 :(得分:1)

道路网络可以表示为图形。人们可以看到地图作为图形,其中节点是可以访问的地方(城镇,建筑物等),边缘是道路。

话虽如此,您的方法的有效性取决于您在图表中包含的信息类型,例如,节点N1N2之间的边缘意味着存在路径但是,在N1N2之间,这些信息本身并不能提供有关特定街道看到多少繁忙交通的信息。

要解决此问题,您可以使用加权有向图,您可以使用边的权重来确定道路上的流量,从而能够产生更完整的分析。