图论 – 是一个适用于问卷建模的状态图/有限状态机

《图论 – 是一个适用于问卷建模的状态图/有限状态机》

我想对上面的问卷进行建模,我认为这是一个有向无环图.

我一直在关注的两个库是:

> https://github.com/davidkpiano/xstate
> https://github.com/jbeard4/SCION-CORE

我遇到的几个问题是:

>调查问卷依赖于以前的州,例如答案
以前的问题用于过渡到
另一个国家(问题).我是否正确地认为“外部状态”
可以解决这个问题吗?
>如果我在Q6,我想转换到上一个问题,
那么根据之前的答案,这可能是Q1,Q4或Q5.一世
我想我可以使用一个堆栈来推动每个状态随着调查问卷的进展,然后弹出以回到以前的状态.

这一切听起来是否可行或是否有更好的方法来模拟这个问题?

最佳答案 可以通过扩展状态机对该问题的解决方案进行建模.您不一定需要分层结构.您显示的状态和转换可以使用常规状态机进行寻址,但“内存”部分可通过扩展状态机正确寻址.

简而言之,您的图表保持不变,并在每次转换时添加了对扩展状态的更新.例如,您的扩展状态可以是{A1,A2. …,A6,H},其中Ax代表Qx的答案,而H是机器所经历的状态的历史.当您从Q1转换到Q2时,您还将A1更新为答案,并将H更新为[A1].你为所有的Q做到了这一点.到达Q6后,您将获得所需的所有信息,以便根据以前状态的历史记录和答案来决定转换的位置.

因此,总结一个问题的答案:是的,外部状态可以有利地使用,在这种情况下,持有状态历史的堆栈将解决您的问题,就像您直觉一样.当然,您也可以使用状态图库,因为状态图可以概括扩展状态机.

作为附加组件,我还将我自己的扩展状态机库包含在您已经提到过的优秀版本中:https://github.com/brucou/state-transducer.

您将find there a demo与您刚才描述的问题非常相似.它也是一个多步骤问卷,其复杂性包括错误路径.

点赞