非決定性を導入してDFAを縮小するアルゴリズム?


8

これは、私が尋ねた別の質問と多少関連していますが、私自身の質問を正当化するのに十分異なると感じています。

特定のクラスの有限言語の補集合の構造を見つけようとしているところです。これらの言語を受け入れる最小限のDFAを取得するのは簡単ですが、これらの言語を受け入れるNFAがどのような構造を持っているか、特に非決定性がオートマトンの状態サイズにどのように役立つか(DFAは指数関数的に大きい)を調べたいと思います。

問題は、メインのNFA削減手法で等価を使用することです。これは、最小限のDFAから始めた場合、削減は生成されません(それは基本的に同じ手法を使用しているためです)。最小ではないDFAから始めると、最小のDFAが吐き出されます。

私が不思議に思っているのは、DFAから開始して、非決定性を導入することでそれをより小さなNFAに圧縮できるアルゴリズムはあるのでしょうか。これを行う「標準的なテクニック」はありますか?

プレオーダーの削減が見つかりました。これは有望に見えますが、実装が困難です。私は多くの提案を受け入れています。


可能ですが、
Pspace

はい。ただし、有効な削減テクニックはありますが、すべてのケースで最小値を見つけるわけではありません。私は、非決定論が実際に最小のケースを見つけるよりも、どのように状態サイズを減らすかに興味があります。
jmite 2013

回答:


4

効率的なヒューリスティックスを得るために、状態エンコードの問題(バイナリ識別子をDFAの状態に割り当てて、状態遷移関数のロジックの量を最小限に抑える)に関するCAD文献を調べることをお勧めします 。DevadasとNewton、ステートマシン」、IEEE TCAD、8(11):1206-1217、1989は、ステートエンコーディングとステートマシン分解との間に密接な関係があることを指摘しています。

DFAのための場合はあなたがユニークに割り当てる状態Mの(各状態にビット状態識別子をLG 2 N < M N)、その後は本質的にネットワークにDFAを分解したM二状態マシン相互作用します。等価的に:あなたは、設定された定義されているSをMの要素、そして独特のサブセット割り当てられたSを元のDFAの各状態に。これもNMlg2N<MNMSMS Rabin-Scottパワーセット構築アルゴリズムが行うことでもあります。したがって、DFAで状態エンコードを行うことにより、パワーセット構築アルゴリズムが開始したセットをリバースエンジニアリングしようとしています。

従来の状態エンコードの問題では、すべてのエンコードが合法であり、最小化しようとしているいくつかの目的関数(状態遷移関数のロジックの量に関連)があります。NFAを生成するには、次のような制約付きバージョンのenconding問題を解決する必要があります。

ビット識別子のDFA状態へのエンコードは、アルファベットの各シンボルのNFA差分を表します。各ビットの遷移関数は、ビットの単純な分離です。(結合または否定は許可されていません。)M

あなたが列挙できるよう、すべてのすべてのためにエンコードビットLG 2 N < M N各1を満たすかどうかの制約、およびチェック。(M = Nの場合、些細な「ワンホット」エンコーディングは常に制約を満たし、DFAを提供することに注意してください。)ただし、列挙は途方もなく大きいです(Di Micheliの教科書では、2 Mのようなものとして示されています!Mlg2N<MNM=N))CADの資料を提案している理由は、この検索を列挙するのではなく暗黙的に行う手法があるためです(たとえば、BDDを使用して、Lin、Touati、およびNewtonを参照してください。「マルチレベルの順次の最小化は気にしない論理ネットワーク」、国際会議Comp-Aided DsgnICCAD-90:414-417、19902M!(2MN)!M!

次のDFAを取り上げます(不正行為によって派生した状態エンコードを使用します(Rabin-Scottを使用してNFAからDFAを生成し、エンコードはRabin-Scottによって選択されたサブセットを表します)。)

Rabin-ScottのDFA

状態割り当てABCDのビットを呼び出すと、入力シンボルが1の場合、遷移関数はA = A、B = A、C = B、D = Cになります。入力シンボルが0の場合、遷移関数はA = A、C = B、D = Cです。これは、論理積も否定もない純粋な分離遷移関数であるため、この状態エンコードによりNFAが得られます。NFAの状態は、エンコードのビットと1対1で対応し、遷移関数は次のとおりです。

Rabin-ScottのNFA

ブール充足可能性問題としての定式化

上記の非公式な説明は、ブール充足可能性問題としてのエンコーディングに直接つながります。NFAの遷移を説明する一連の変数と、選択されたNFAのRabin-Scottから導出されるDFA状態エンコーディングの一連の変数があります。分解しようとしている特定のDFAの遷移は、NFA遷移に制約を配置するために使用されます。

S記号のある言語の状態のDFAが与えられ、lg 2 M状態NFA を導出したいとします。NSM。変数 y s f tを使用して、NFAで可能な遷移を表します。 Y S F tは真IFFなりNFAの遷移があるからNFA状態 FNFA状態 Tシンボル sがlg2N<MNysftysftf t s。上記の例のNFAでは、アルファベットのサイズは2で、4つのNFA状態があるため、は偽です。y変数と y 0 A Ay 1 A A、および y 1 A Bはすべてtrueで、 y 1 D ASM2=32 yy0AA,y1AAy1ABy1DA

変数を使用して、Rabin-ScottアルゴリズムがNFA状態nをDFA状態dをラベル付けする状態のセットに含めるかどうかを示します。上記の例では、N = 8 DFA状態とM =xdnndN=8M=4xkxkAxkCxkDxkB は偽です。

i<j{A,B,,D}

(xiAxjA)+(xiBxjB)++(xiDxjD).

ijskjljlkなし NFAからNFA遷移を状態AをNFA状態CまたはDに変更します。o(SN2)

xjA=ysAAxiA+ysBAxiB++ysDAxiDxjB=ysABxiA+ysBBxiB++ysDBxiDxjD=ysADxiA+ysBDxiB++ysDDxiD.

x0A+x0B++x0DfnxiAfA+xiBfB++xiDfDi¬(xjAfA+xjBfB++xjDfD)j


サブセット構築をリバースエンジニアリングするというこの考え方は、まさに私が求めているものです。複雑そうなので、少し時間をかけて解析してみます。ありがとう!
jmite 2013

1
私はそれをSAT問題として再定式化する方法を理解しようと試みてきましたが、まだ十分な時間を割いていません。
Wandering Logic

3

NFAを最小限に抑えることは難しいため、実際には近似さえ困難です。GramlichおよびSchnitgerによるNFAおよび正規表現の最小化(2005)を参照してください。この記事には、いくつかの有用な参照もあるようです。たとえば、最小化手法を含むChamparnaudおよびCoulon(2002)による「正規不等式によるNFA削減アルゴリズム」


ええ、それは完全な最小化ではなく単なる削減でいいのです。調べてみますが、これらの参照は本当によさそうです。
jmite 2013

2

必ずしも決定論ではないため、最小DFAよりも小さい可能性がある標準 FSAの概念がいくつかあります。1つの例は「残差」FSAです。これにより、正準残差FSAを非常に直接計算できます。F。Denis、A。Lemay 、およびA. Terlutteを参照してください 「残差有限状態オートマトン」、 Fundamenta Informaticae 51(4):339-368、2002。いくつかの選択肢があります。


コンピューティングについて直接説明していただけますか?これは、正準残差FSAの計算がPSPACE完全問題であることを示しています。それでもうまくいくかもしれませんが(私のマシンはかなり小さいです)、私はそれを警戒しています。
jmite 2013

特に、私は紙の17ページで定義されているマシンでの状態は、「カバー可能」であるかどうかを判断したいどのようにと困惑している、右の前に第5節補題4
jmite
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.