Questions tagged «simulation»


3
电梯使用哪种算法来找到最短的下单路径?
我一直在尝试模拟一个电梯,就像往常一样,我一次只做一个简单的命令就非常简单,然后以队列的形式向电梯添加内存,以便按压下的顺序移动地板,这显然不是最佳方法。 因此,目前我使用的是一种非常简单且“近视”的逻辑,即对于当前楼层,找到离我最近的楼层并将其设置为我的下一个目的地,然后循环直到列表中没有更多的楼层。 但这并不总是有效,例如,电梯位于5层建筑的3层,并获得订单4,5,2,最短路径为2-> 4-> 5,花费4层,但是使用此逻辑根据代码的不同,花费5的4-> 5-> 2有相同的机会被选中。 如何找到最短的路径并使电梯更高效?

5
查找“ Granola Bar”状结构总质量的算法?
我是行星科学研究员,我正在研究的一个项目是土星环的N体模拟。这项特定研究的目的是观察粒子在其自身重力作用下会聚在一起,并测量其总质量与细胞中所有粒子的平均速度之间的关系。我们试图找出这是否可以解释卡西尼号航天器在土星夏至期间所做的一些观察,当时观察到大型结构在接近边缘的环上投下了阴影。以下是任何给定时间步长的屏幕截图。(每个粒子的直径为2 m,模拟单元本身的宽度约为700 m。) 我正在使用的代码已经在每个时间步上吐出了平均速度。我需要做的是找出一种方法来确定团块中的粒子质量,而不是它们之间的杂散粒子。我知道每个粒子的位置,质量,大小等,但是我不容易知道,例如,粒子30,000-40,000与102,000-105,000构成了一条对人眼来说很明显的链。 因此,我需要编写的算法必须是具有尽可能少的用户输入参数(用于可复制性和客观性)的代码,该参数将遍历所有粒子的位置,找出哪些粒子属于团块,然后计算质量 如果它可以针对“每个”丛集/链条(而不是单元格中的所有内容)做到这一点,那将是很好的,但是我认为我实际上并不需要将它们分开。 我唯一想到的是进行某种N 2距离计算,在该计算中,我将计算每个粒子之间的距离,例如,如果最接近的100个粒子在一定距离内,则该粒子将被视为粒子的一部分。簇。但这似乎很草率,我希望您的CS人员和程序员可能知道更优雅的解决方案? 使用“我的解决方案”进行编辑: 我要做的是采取一种最邻近/集群方法,并首先执行quick-n-dirty N 2实现。因此,取每个粒子,计算到所有其他粒子的距离,是否在一个簇中的阈值是在d距离内是否有N个粒子(不幸的是,必须先验设置两个参数,但是正如某些人所说的那样)回应/评论,我不会因为没有其中一些而逃脱。 然后,我通过不对距离进行排序而加快了速度,仅执行了N次搜索,并为d中的粒子增加了一个计数器,然后加快了6倍的速度。然后添加了“愚蠢的程序员树”(因为我知道几乎与树代码无关)。我瓜分模拟细胞成网格的一组数(最好的结果,当网格大小≈7 d)其中,主栅线与该单元格,一个网格由一半在偏移X和ÿ,和另外两个是通过胶版1/4 in± x和± y。然后,代码将粒子划分为网格,然后每个粒子N只需要计算到该单元格中其他粒子的距离即可。 从理论上讲,如果这是一棵真正的树,我应该得到N * log(N)的阶数,而不是N 2的速度。我介于两者之间,对于50,000粒子的子集,速度提高了17倍;对于150,000粒子的单元,速度提高了38倍。第一次12秒钟,第二次53秒钟,500,000个粒子的电池460秒钟。这些速度与代码向前运行1个模拟代码所花费的时间相当,因此在这一点上是合理的。哦,而且它是全线程的,因此它将占用尽可能多的处理器。

3
电梯算法及其实现
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 我想知道(真实的)电梯如何工作。但是到目前为止,我找不到关于它们使用的算法的太多材料,也找不到用于仿真的软件(如果有)。有人可以给我参考吗?

2
如何结合“命令”和“复合”来模拟时间延迟?
作为一项学习练习(我不在学校,只是一个试图学习新东西的老家伙),我正在尝试编写一个包含传播延迟的逻辑门模拟。用户还应该能够将门组合在一起以创建更高级别的对象。 我想将设计模式应用于我的问题,但是我很难过。 我正在阅读Head First设计模式,并且我看到Command模式是一种通过延迟来模拟通过电路的电脉冲的好方法。我还看到Composite模式是模拟嵌套单元的好方法。我只是不知道如何混合两者。 换句话说,当我循环通过门时,我看到门“ x”应该开火。它具有15纳秒的延迟,因此我创建了一个距当前游戏时间15 ns的时间戳的命令。调度员在哪里?在晚餐的示例中,命令为“ Order”,女服务员和厨师分别发送命令并可以选择引入延迟。如果我有一个“综合”门,它也有自己的调度程序吗?我是否需要使用Singleton来管理队列? 我阅读了可以找到的内容,但仍然需要朝着正确的方向努力: /programming/2015549/using-command-design-pattern /programming/12016314/client-server-command-design-pattern-with-variable-delays /programming/10560892/composite-of-commands-design-pattern /programming/8874705/how-can-i-calculate-propagation-delay-through-series-of-combinational-circuits-u
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.