質問
どのようなプログラミングの問題が発生するおそれがある機械に最も適したものですか?
いたパーサを使用して実装されている状態機械がうつの問題が悲鳴を上げるとして実施された状態です。
解決
最も簡単な回答はあてに適した実問題です。ることを忘れないでくださいコンピュータそのものが国家機です。
に関わらず、状態が一般的に使用される問題があるストリームの入力の活動が必要で行われた瞬間により最後の要素に見られるストリームとなります。
このストリームの入力:一部のテキストファイルの構文解析、文字列を正規表現などのイベント player entered room
ゲームAI等
活動事例:きを読む数(別番号の後に +
て現れる入力パーサのための計算機)、(後のプレーヤーを使って、そのsneezed)をジャンプキック後のプレーヤーを押し、left、左、右、上、。
他のヒント
良い資源が無料 状態機械電子書籍.自分の速い応答は以下の通りです。
場の論理に関する情報が含まれている必要があ何が起こった最後の時間でもが含まれている必要がある。
い状態機械で任意のコードが記憶(またはその情報ことによってのみ得られたものの理解何が起きたのか。
例えば、細胞のモデムやっと私のなければならない。では、次の手順を実行順:
- リセットモデム
- 開始との通信モデム
- お待ち、信号の強度を示すのに良いとの接続タワー
- ...
現在私がブロックのメインプログラムは、単にすべてのこれらの手順を待ち、それぞれ、もしていきたいと思いユーザからのフィードバックを行う他の業務も同時に行います。その実態として機内の機能と実行機能の100倍ました。
enum states{reset,initsend, initresponse, waitonsignal,dial,ppp,...}
modemfunction()
{
static currentstate
switch(currentstate)
{
case reset:
Do reset
if reset was successful, nextstate=init else nextstate = reset
break
case initsend
send "ATD"
nextstate = initresponse
break
...
}
currentstate=nextstate
}
より複雑な状態機械の実施プロトコル例えば、ECU診断プロトコルを使ってのみ送付8バイトのパケットがありますの送付く。のECUを表明するものではなく、ながらやっていく必要があるのを待ちます。理想の場合を送りたいメッセージを使っていつの機能をいうが、どこか私のプログラムの状況を注視する必要があ線送信に対応しこれらのメッセージを打破しよび組立、受信したメールのメッセージ。
ステートフルプロトコルなどのTCPくとして表される状態です。しかしいとすることができるようにしたいの実施などの状態機械です。通常の使用の腐敗、すなわちいを繰り返し行動に座りながら一つの状態で、ロギングデータが転移、または交換のデータを一つの状態です。
ワークフロー(WFます。純3.0)
も多く、パーサが特徴です。私個人として使用簡素化状態機械の実施複雑なマルチステップタスクのダイアログでもあります。
パーサの一例です。私は最近書いたパーサを取るバイナリストリームから他のプログラム。意味は現在の要素の構文解析表示のサイズ/意味は、次の要素。あり(小)有限要素数です。この状態です。
いものためのモデリング々と変化する状況を、論理をトリガする各転移といいます。
思利用有限状態機械追跡のためパッケージによるメール、またはの違stataのユーザー登録時に。
しているのでステータスの値をもに幾多の変遷を爆.状態機械の助けが多くある場合があります。
オブジェにゲームが多いとして表される状態です。愛の文字がす:
- 守
- 積極的な
- Patroling
- 寝
でもお分かり頂けるようにこれらがモデルの一部が有効です。もちろんではありませんより複雑な連続のシステム。
別の例とするプロセスなどの購入Google精算となります。Google、多数の国が金融秩序、お知らせしますのtransistionsなどのカードの清算または拒否されたときにそのことを通知することであっても出荷します。
正規表現マッチング、解析、フロー制御が複雑システム。
正規表現は簡単な形状を機に、具体的には、有限オートマトン.自然がrepresenationなることもできますが、できるし、それらを実施するために使用を相互に再帰的で機能する。
状態機械の場合の実施は、非常に効率的です。
その状態機械のコンパイラのための、複数言語にしたい場合は、読み出し可能な状態です。
http://research.cs.queensu.ca/~グ/ragel/
でもするの恐ろしい'後藤'.
愛ゲームが非常に多く行われの使用状態です。トを離散ロジックがどうしても必要であるが、構築、テストです。
い出来事を思い浮かべるかもしれ:
- ロボット-機械の操作に...そのロボットアームの工場で
- シミュレーション-ゲーム,(シムシティのレースゲームなど)
一般化:きの文字列を入力する場合との交流をもち、知識を前を入力またはする場合には、その処理の単一の入力の前用の入力端子が付いています。が誰でも簡単に行えます。が必要"と")
ない私にとって、知り合いのな削減を解析問題になってる。
だけど実践できる状態機械との適切なテール通話のように述べたように、 尾再帰 質問です。
そのexemple各部屋のゲームのひとつに数えられている。
また、ハードウェアの設計とVHDL(およびその他の論理合成の言語使用状態機械の随所に記述します。
が必要な場合は、単純な確率過程、利用する場合もあるでしょうマルコフ連鎖で表現した状態で機械用は不可能であるとされてきたが、次のステップチェーンする状態Xある確率).
他のワークフローの申請、特に非同期活動です。い項目のワークフローを一定の状態の状態で機械を知ってどのように反応するのか、などの外部イベントのような項目別の状況、その他の活動の大部分が行われています。
の状態に非常に有用である。への応用"記憶"は、現在のコンテキストのシステムと反応してきたコミュニティが崩れつつある、ホームページから確認できます。他の非自明な応用にはその概念を組み込みのコース変数と条件分岐.
シンプルなアプリケーションが反応しなく受けたコミュニティが崩れつつある、この文脈で、モデルのシステムとの状態。例えば、どのように扱うかのキー電卓のように行う処理です。
逆にいる場合、計算によって異ならないサンプルでは、コンテキストのもののみの入力のような機能を追加二番号ませんが必要な状態機械(またはより良いとはすまつり"が開催されるマシンゼロの状態)
一部の人々にデザインの応用の状態機械から、本質的に捉えについてお客様のプロジェクトおよびその利用手続きやautocodersして実行形式にまとめたものです。かのパラダイムでプログラムこのようにも見つかりであまり効果がありませんでした。