【问题标题】:multi-level floor plan graph mapping多层平面图映射
【发布时间】:2010-11-11 22:19:15
【问题描述】:

有一组建筑物,每座建筑物都有多个楼层,通过楼梯和电梯相互连接。目前,我正在尝试设计一个系统,该系统将找到跨任何建筑物的两点之间的最短路径,无论是同一栋建筑物还是另一栋建筑物。

目前每个楼层都在图表中建模,如下所示: 每个房间的门都是一个顶点。将房间连接到主要边缘(走廊)的边缘连接点也是一个顶点。 楼层之间的楼梯是边缘。

剩下的问题是我应该如何表示电梯(电梯)(就在楼梯旁边)? 将它作为一条边让我想知道它应该有什么权重,因为我必须在找到最短路径之后运行一个图遍历算法。

电梯(电梯)作为边还是作为顶点?就是那个问题。 谢谢!

【问题讨论】:

    标签: language-agnostic graph map logic graph-theory


    【解决方案1】:

    边缘

    使用边缘是最直接的答案,就像你在楼梯上那样。然而,虽然楼梯只能从 X 楼到 X+1 楼,但电梯可以从任何楼层到任何楼层,时间略有不同 - 我通常发现两层楼的楼梯更快,但超过 2 层的楼梯更慢。反映这一点你需要从每一层到其他每一层都有一条边,并为每一层加上权重。

    顶点

    你可以有一些额外的顶点和边。如果您在升降轴的每一层都有一个顶点,那么您只需要一条将所有楼层连接在一起的边路径,而不是组合数量的边。

    如果您还在每一层的门外添加了一个额外的顶点,那么您可以添加进入电梯的平均延迟,从而反映电梯可以快速通过多个楼层的事实。然而,电梯最多需要平均时间。在繁忙的时候,他们最终可能会停在几乎每一层,所以对于一个繁忙的校园,你不会真正从这些额外的顶点中获益。


    我的投票是为电梯的每一层设置一个顶点,并使用一条边连接相邻楼层。它应该简化图形并减少任何路径优化算法的工作量,因为路径较少。此外,它更准确地反映了现实,并最大限度地减少了设置边缘权重的工作量。

    【讨论】:

      【解决方案2】:

      如果电梯可能是从一层到下一层的最短路径,那么它们必须是带有重物的边。每个级别的入口都是顶点。如果离楼梯足够近,那么它们可能与楼梯顶点共享。

      【讨论】:

        【解决方案3】:

        我投票给边缘。

        假设您选择使用电梯。你走到它,按下按钮,稍等一下。然后你进去,再等一会儿,出来继续你的步行。现在,虽然你的身体并没有移动太多,但随着时间的推移,你正在移动。在楼层之间乘坐电梯就像步行,比如说 50 米。

        我的意思是,站在电梯周围的时间相当于你走路的距离。因此,将电梯视为您在使用期间行走的边缘。使用该距离来比较,例如,走下楼梯。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-03
          • 2011-12-04
          • 2023-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-09
          • 1970-01-01
          相关资源
          最近更新 更多