在一個有限狀態機中,狀態S1能否產生一個事件,所以這個事件將觸發從這個狀態S1到另一個狀態S2?的轉換。在有限狀態機中,狀態是否可以生成一個事件?
回答
我喜歡在軟件
Start
|
=Initial= <---------------------------------
-------------- |
| Transition 1 | ---------> =State 2= |
-------------- --------------- |
| Transition 2 | ------- | Transition | --|
-------------- | --------------- |
| |
| |
| |
---> =State 3= |
--------------- |
| Transition | ---
---------------
可視化FSM在這個場景中Initial
國家將在一些路徑則可以過渡到Transition 1
或Transition 2
執行的這種方式。 Transition 1
開始State 2
而Transition 2
開始State 3
。 Initial
狀態可以發出一個事件,說明它將進行轉換Transition 1
,然後您的框架可以執行該轉換。
你還會注意到我沒有在這個FSM中結束。你需要一個結束或閉環。
好的謝謝你的答案 – codablank
狀態機有許多不同的定義和模型。
在硬件設計中,他們談論米利機·摩爾機,它的不同之處,其中的各種有線引回輸入...
在軟件,FSM的都不太嚴格的定義。整個計算機在某種意義上是一個大型的狀態機。很多代碼將狀態機實現爲簡單的switch語句,並且可能也可能不會將事件發佈給自己。
軟件狀態機的一個流行的定義是UML狀態機(這是很好的,因爲它帶有一個喜愛的圖像格式,也。)http://en.wikipedia.org/wiki/UML_state_machine
UML狀態機可以有一個入口()動作和退出()每個州的行動。根據實施情況,您可以讓這些操作發佈其他事件。
那麼,「FSM能否觸發一個轉換」?取決於定義或實現。一般來說,當然!
那麼,在一個UML狀態機中,狀態的內部轉換可以觸發一個事件? – codablank
任何「操作」都可以發佈事件... 或使用內部轉換。 –
從計算理論的角度來看,「純」有限狀態機的唯一功能是將輸入字符串轉換爲N中的一個(在大多數插圖中,它是一對一的(accept vs拒絕)選擇,但N個工作的較大有限值在概念上是相同的)。兩個純粹的有限狀態機是等價的,如果對於任何輸入字符序列,它們將返回相同的N中的結果。從純粹的有限狀態機升級是一個有限狀態轉換器,其中每個邊緣可以導致任意數量的字符被髮送到輸出流,這對任何未來的狀態轉換都沒有影響。如果對於任何輸入字符序列它們將生成相同的輸出字符序列並且將返回相同的N中的結果,那麼兩個這樣的機器是等價的。給定兩個純有限狀態機或兩個純有限狀態轉換器,可以在合理的有界時間內確定它們是否相等(如果兩個換能器(其中較小的換能器具有N個狀態)將產生相同的序列任何輸入序列的輸出最多爲2N個字符,它們將爲任何長度的輸入序列的任何輸入序列生成相同的輸出序列)。如果狀態機被允許產生可以影響其輸入的「事件」,則可以使用相同的方法,但是如果兩臺機器產生完全相同的事件序列並且假定輸入的所有組合被假定爲無論發生什麼事件都是可能的。另一方面,如果某種類型的事件可能以某種方式影響狀態機的輸入,但對機器的用戶不感興趣,或者某些事件序列意味着某些輸入序列不可能發生,可能非常困難(或者甚至基本上不可能)確定用戶不關心的兩種機器是否以用戶不關心的方式相同。
其觸發影響其輸入事件狀態機往往在現實世界中是有用的,但這樣的機器不能使用適用於簡單的機器的方法進行分析。實際上,輸出和輸入之間的聯繫需要被視爲狀態機的一部分;許多這樣的連鎖機制具有許多狀態,這些狀態完全使它們所連接的DFA中的潛在狀態的數量變小(如果它有限制的話)。
- 1. 在UML狀態機中是否可以有多於一個活動狀態
- 2. 有限狀態機:一個狀態到多個狀態
- 3. 是否可以在原生狀態下繪製狀態欄?
- 4. 有限狀態機
- 5. 有限狀態機過度狀態
- 6. 是否有一個簡單的.NET代碼生成器用於事件驅動的有限狀態機?
- 7. 有限狀態機在vhdl
- 8. WF狀態機可以有多個終端狀態嗎?
- 9. C++狀態機生成器
- 10. 馬爾可夫鏈是一個有限狀態機嗎?
- 11. 可執行狀態機代碼生成
- 12. Verilog有限狀態機
- 13. drscheme - 有限狀態機
- 14. 有限狀態機verilog
- 15. 有限狀態機程序
- 16. 有限狀態機實現
- 17. 邏輯,有限狀態機
- 18. 是否可以在terraform遠程狀態文件中訪問模塊狀態?
- 19. 可以在狀態機中進行狀態轉換嗎?
- 20. 在有限狀態機中作參考
- 21. 是否可以在OpenGL中一次保存所有狀態?
- 22. JavaScript事件狀態機
- 23. 是否HTTP狀態碼事
- 24. 有限狀態機應該具有「嵌套」有限狀態機嗎?
- 25. 每當狀態機進入某個狀態時觸發一個事件
- 26. Ruby中的動態狀態機?狀態機必須是類嗎?
- 27. 裝配中的有限狀態機(MASM615)
- 28. 計劃中的有限狀態機
- 29. 目標-C中的有限狀態機
- 30. Lua和C++中的有限狀態機
是,美國能夠發出這觸發轉換事件。 –