【问题标题】:What's the best reserved seat sorting algorithm?最好的预留座位排序算法是什么?
【发布时间】:2011-03-15 19:46:48
【问题描述】:

我正在尝试为以下排序问题找到最佳算法。

一个过道的礼堂有 N = K × M 个座位,K 排,每个过道有 M 个座位。假设 KM 大,但我认为这不是很重要。有 N 个人在 与席位(指定席位)的双射。假设人们不 喜欢等待,最快的方法是什么让他们排队得到他们 尽快坐在他们的座位上?

我进行了一些简单的实验(使用随机排列)并且它 似乎让他们随机排队比让他们更快 前排第三位(过道下方)的人先排队,然后 中间三分之一,然后是后三分之一。这对我来说似乎是错误的。

如果这很重要,我会在 MatLab 中写这个。有什么想法或答案吗?

【问题讨论】:

  • 我认为在不了解模型的情况下很难回答这个问题。有多少个入口,它们在哪里?是什么导致人们不得不等待以及等待多长时间?如果您必须经过同排已经坐着的人,是否需要更长的时间坐在您的座位上?人们总是直接去他们正确的座位,还是有时来回徘徊寻找正确的座位?等等……
  • 只有一个入口,向下移动一排或一个座位需要一个单位时间。
  • 也许我看错了,但是如果你有一群高效的人,他们在去座位的路上从不停止移动(包括毫不拖延地转身走下小岛),他们去哪个顺序都没有关系。或者,你不能让每排的一个人排队(第一排 = 前排,最后一排 = 最后一个位置),他们都沿着小岛走下去,然后全部转身并一次沿着各自的行走(冲洗和重复)。
  • 好吧,如果你让靠近入口的座位的人先进入,那肯定会更糟。

标签: algorithm sorting matlab permutation


【解决方案1】:

Bachmat、Berend、Sapir、Skiena 和 Stolyarov 撰写了一篇非常好的文章,标题为 Analysis of airplane boarding via space-time geometry and random matrix theory,它模拟了飞机登机的确切问题。从他们的摘要中:

我们证明飞机登机可以 渐近地建模为 二维洛伦兹几何。 登机时间由最长的 模型中曲线之间的适当时间。 模型和模型之间的差异 仿真结果密切相关 随机矩阵理论。然后我们展示 如何使用这些模型来解释 为什么一些常用的航空公司 登机政策无效且 甚至有害。

论文的结论是:

  • 最佳:Window-Middle-Aisle
  • 接近最优:随机登机
  • 真的很糟糕:从后到前

对于您的设置,我认为这意味着您应该忽略人们离过道有多远,而应该关注离过道有多远。该模型还考虑了存放行李的时间,因此您可能需要根据自己的情况进行一些调整。无论如何,我认为这证实了您通过模型发现的内容。

【讨论】:

  • 谢谢!我想这正是我所追求的!
  • 对。谢谢。我的第一个问题,所以我不知道规则。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 2011-02-01
  • 2010-09-22
相关资源
最近更新 更多