問題タブ [finite-automata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C でレクサーを作成する
C でレクサーを構築したいのですが、dragon bookに従っています。状態遷移は理解できますが、どのように実装すればよいですか?
もっと良い本はありますか?
文字列が受け入れられるかどうかを判断できるように、多くの状態で文字列を解析する必要があるという事実!
objective-c - Objective-C の有限ステート マシン
Objective-Cコードで書かれた基本的でコンパクトな有限状態マシン/オートマトンのソリューションを持っている人はいますか?
FSM に状態が追加され、再利用可能な状態クラスを使用するアクションが定義されるように、再利用可能なコンポーネントに関心があります。
string - 反転後に無限の繰り返しが異なる最短のビット文字列
マービンミンスキーは私の口頭試験中に次の質問をしました:
アリが歩くと、一歩踏み出すたびに2進数(101など)が出力されます。文字列の最初または最後を見なくても、アリがどちらの方向に進んでいるかを判断できるようにするための2進数の最小の長さは、数字で何ですか?アリは2進数を教えてくれます。
例:アリの2進数は101であるため、アリは次のような軌跡を残します:101101101101101101101。アリがどちらの方向に移動しているかを知る方法がないことに注意してください。したがって、この特定の番号は機能しません(ただし、機能する3桁の2進数が存在する場合があります)。
例:アリの2進数は011であるため、アリは次のような軌跡を残します:011011011011011011。繰り返しますが、文字列の端を見ずにアリがどちらの方向に進んでいるかを知る方法はありません。
この質問に対する答えは何ですか?答えは、機能する2進数の単なる例ではないことに注意してください。答えには、n-1未満の長さの2進数が機能しないという証明を含める必要があります。ここで、nは機能する2進数の例の長さです。徹底的な列挙による証明は問題ありませんが、不快です。:)
c# - 有限ステート マシンには「ネストされた」有限ステート マシンが必要ですか?
ちょっとした裏話として、マシン アプリケーションに最適なアーキテクチャについて質問しているこの質問を読むことができますが、この質問で私を助けるために完全に必要というわけではありません。
有限ステート マシンの (特に実装に関する) 私の理解は少し若く、少し欠けているかもしれませんが、私はこのアプリケーションを 1 つとして実装しており、ネストされた FSM が必要な場所があります。基本的に、マシンにはいくつかの高レベルの状態があります (コールド [別名]、ホーミング イン、セットアップ、実行準備完了、実行中、レポート、リセット中)。 (レンズのロード、エッジの位置の特定、くさびの測定、真円度の測定、および完了 [そこにさらにいくつかある場合があります])。
私の質問はこれです:状態がサブ状態のリストを持つことができ、システムがそれらのサブ状態に入り、それらのサブ状態が親状態に戻ることができる「ネストされた状態」を持つ機能を組み込む必要がありますか? それとも、FSM 実装を Running 状態の中に置き、それらを 2 つの別個の FSM として保持する必要がありますか? それとも、私が愚かなことをしている、または考えているので、考え直すべきだと思いますか?
考え、提案、批判、アドバイスはすべて大歓迎です。
finite-automata - NFA から DFA へのアルゴリズム
シンボル、状態、および遷移のテキスト ファイルを読み取り、すべてを表にまとめました。
シンボル a、b
状態 q1、q2、q3、q4開始
状態 q4
最終状態 q2、q3
遷移状態:
q4、イプシロン、q1
q1、a、q2
q3、a、q3
q3、b、q1
NFA を DFA に変換する方法についてのアルゴリズムを読みましたが、アルゴリズムがよくわかりません。トランジション メソッドを作成するにはどうすればよいですか?また、状態クラスには何が必要ですか?
c# - C# には有限状態マシンが含まれていますか?
私は最近、boost::statechart
ライブラリ (有限状態マシン) について読みましたが、その概念が気に入りました。
C# にも同様のメカニズムがありますか? それとも、特定のデザイン パターンを使用して実装できますか?
theory - 有限オートマトンの使用は何ですか?
有限オートマトンの使用は何ですか?そして、私たちが計算理論で研究するすべての概念。私はまだそれらの使用を見たことがありません。
computer-science - 有限状態オートマトンによるパックマン表現
FSA グラフで表現したい pac-mac に似たゲームを考えてみましょう。迷路 (テーブル) があり、ランダムな位置にベリーがあります。目標は、迷路内のすべてのベリーを食べることです。コントロールのために考慮しなければならないコマンドは、
GOAHEAD、LEFT、RIGHT、CHECKBERRY (パックマンの FRONT にベリーがあるかどうかをチェックする)、EAT、OFF-MAZE です。
最大 10 ステージが必要です...そして、連続して複数のギャップを設けることはできないことに注意してください。ありがとうございました
編集: 代替テキスト http://img338.imageshack.us/img338/2479/graphp.jpg
わかりました。グラフを作成しましたが、ギャップを越える方法が見つかりません。例: あるベリーの列の後の迷路で突然前にギャップがあり、次のベリーはそのギャップのすぐ下にあります. したがって、左または右に曲がっても、checkberryコマンドがTRUE値を返さないため、グラフがどのように見えるかわかりません。では、パックマンが食事をせずにギャップスクエアに移動する方法が必要ですが、前のものに移動するか、他の人に移動するかをどのように決定しますか?