問題タブ [automaton]
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 で作成しましたが、クラスとオブジェクトを使用して c++ に変換したいと考えています。私は c++ が初めてなので、あなたの助けが必要です。10 進数を入力すると、プログラムがクラッシュします。機能間でデータが正しく転送されていないと思いますが、数時間送信しても取得できません。私のエラーがどこにあるのかを見つけるためのアドバイスをいただければ幸いです。私は3つのファイルを持っています。1 つは私のメイン、1 つは関数を含むファイル、最後の 1 つはヘッダーです。
主要:
関数を含むファイル:
ヘッダ:
CodeBlocks でコードを作成しています。そして.. cstdio を含めるのは、printf を C コードからまだ変更していないためです。
助けてくれてありがとう。よろしく、 ネル
math - Kleene Star 論文が理解できない
プログラミング言語のエンジニアリングとコンパイラに関する論文を読んでいます (6.035 Fall 2005 MIT course)。次のページは、クリーネ スター オペレーターの動作原理を説明しているはずですが、それが何を意味するのか理解できません。
完全な .pdf はここにあります。
prolog - 変数のリストの目標を凍結するにはどうすればよいですか?
私の最終的な目標は、automaton/3 の具体化されたバージョンを作成することです。これは、渡されたシーケンスに変数がある場合にフリーズします。つまり、オートマトンに変数をインスタンス化させたくありません。
(他の人が定義した fd_length/3、if_/3 など)。
まず、単一変数の具体化されたテストがあります。
これにより、次を実装できます。
だから私は次のようなことができます:
これは次と同じように動作します:
すべての変数がインスタンス化されたときに、Goal が 1 回だけ呼び出されるように、これを変数のリストで機能するように拡張するにはどうすればよいですか?
このメソッドでは、複数の変数がある場合、望ましくないこの動作を取得できます。
私が試してみました:
次のように機能します。
これは問題ないようですが、automaton/3 に適用するのに問題があります。繰り返しますが、この目的は automaton/3 の具体化されたバージョンを作成することです。これは、渡されたシーケンスに変数がある場合にフリーズします。つまり、オートマトンに変数をインスタンス化させたくありません。
これは私が持っているものです:
これは機能しません。X がインスタンス化されるまで、次の目標を凍結する必要があります。
更新これは私が最初に意図したとおりに機能すると思われるものですが、これが実際に私が望むものであるかどうかについて@Matが考えていることを消化しています。明日はさらに更新します。
c++ - セル オートマトン、C++、ルールの適用に関する問題
C ++を使用してセルオートマトンをコーディングしようとしていますが、何らかの理由でプログラムを実行すると、ルールが正しく適用されていないように見えるか、まったく適用されていないようです。アドバイスをいただければ幸いです。
主なシミュレーション機能:
beginSimulation を使用する関数:
javascript - プログラムで邪悪な正規表現を特定するにはどうすればよいですか?
特定の JavaScript 正規表現がReDoSに対して脆弱かどうかを判断するアルゴリズムはありますか? アルゴリズムは完全である必要はありません。いくつかの誤検知と誤検知は許容されます。(特にECMA-262正規表現に興味があります。)
programming-languages - 文字列は有限だが言語は無限かもしれない
文字列が有限であることはわかっていますが、一方で、言語はアルファベット上の一連の文字列 (場合によっては無限) であることもわかっています。この関係は矛盾していませんか?
algorithm - KMP アルゴリズムにおける DFA 構築のプロセスを理解する方法
Book Algorithms 4thで KMP アルゴリズムを学んでいます。アルゴリズムのほとんどは理解できましたが、dfa 構築のプロセスで数日間立ち往生しています。
ABABAC
たとえば、パターンを見てみましょう。(dfa の状態が 5) で不一致がある場合C
、テキスト内の文字を右にシフトする必要があります。したがって、私たちが知っているパターン文字はBABA
. しかし、建設中にdfaの次の状態をどのように把握するのでしょうか? 以下のテキストが理解できませんでした。
たとえば、j=5 で不一致がある場合に DFA が何をすべきかを決定するには
ABABAC
、DFA を使用して、フル バックアップを行うと状態 3 になることを学習します。BABA
したがって、にコピーできdfa[][3]
ますdfa[][5]
。
「フル バックアップを実行すると状態 3 になる」とはどういう意味BABA
ですか? また、指定された入力がない場合にこの結論を得るにはどうすればよいですか? そして文章に残されているグラフが理解できません。誰がそれが何を意味するのか説明できますか? 数日間自分で理解しようとしましたが、まだ理解できませんでした。ありがとうございました!