有限状态机是这个用例的正确选择吗?

2024-09-28 04:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

Image

我必须做以下事情。节点T1正在等待上面层的某个项目。一旦收到,它必须将内容传输到下面的层。你知道吗

限制:层T1和B1可以水平移动,但是层I1x和层I2x的节点不能移动。你知道吗

T1可以水平移动以将内容传输到I11、I12或I13。一旦内容在I11、I12或I13中,就只能分别传输到I21、I22或I23。这意味着,如果I11中有内容,则只有在I21中没有内容时才能转到I21。如果I21不是免费的,则内容必须在节点I11中等待。B1,可以水平移动以从I21、I22或I23获取内容。你知道吗

内容需要从T1传输到I11、I12或I13,这取决于哪个是免费的。I12永远是理想的选择。你知道吗

一旦I2x层的内容可用,底层B1就可以移动并从I2x获取内容。最终的目标是将项目从T1转移到B1。一些人会从B1收集处理过的物品。你知道吗

增加了中间层以提高效率。如果没有中间节点,则在任何时间点只能准备两个项目。这样,如果没有货,我们可以准备8件。一旦物品可用,人类可以从B1收集物品,然后依次从I2x层到B1层和I1x层到I2x层收集物品。你知道吗

如果我必须以编程的方式实现这个问题,解决这个问题的最佳方法是什么?我的团队中有人建议使用有限状态机,但是我并不完全相信这个想法。如果FSM是一个正确的选择,有没有关于如何实现它的建议?你知道吗

编辑1: 必须按顺序取出I21、I22和I23中的项目。这是必要的,因为如果某个东西被赋予了优先权——例如I22,那么如果系统以比人类从B1中取出的速度更快的速度产生输出,那么即使I21和I23已经被填满,项目也只能从I22中取出。这样,I21和I23就永远不会是空的。为此,我们可以让B1节点自由决定从哪个节点获取项目。你知道吗


Tags: 项目内容节点水平物品b1t1i12
1条回答
网友
1楼 · 发布于 2024-09-28 04:20:06

你的要求应该更具体一些。你知道吗

对于模拟一个项目的节点转换,有限状态机是很好的。然而,我假设“解决”你的意思是找到一些T1和B1的最优调度?或者T1可以将项目分配给第一个空闲插槽吗?你知道吗

边缘(节点之间的传输)是否有一些需要模拟的成本/时间/延迟?你需要模拟系统中的许多项目吗?你知道吗

所有这些都需要在实施之前明确规定。:) 我建议用更多的细节来扩大你的问题,以便继续讨论。你知道吗

相关问题 更多 >

    热门问题