最小ヒープ(または他のエキゾチックな)ステートマシンの機能の決定


44

min-heapオートマトンの定義に関する説明については、この投稿の最後を参照してください。

ステートマシンで使用する情報を格納するためにさまざまなデータ構造を使用することを想像できます。たとえば、プッシュダウンオートマトンは情報をスタックに格納し、チューリングマシンはテープを使用します。キューを使用するステートマシン、および2つの複数のスタックまたはテープを使用するステートマシンは、チューリングマシンと同等のパワーを発揮することが示されています。

最小ヒープマシンを想像してください。次の例外を除き、プッシュダウンオートマトンとまったく同じように機能します。

  1. ヒープに最後に追加したものを調べる代わりに、現在ヒープ上にある最小の要素(マシンごとに定義された順序付け)だけを見ることができます。
  2. ヒープに最後に追加したものを削除する代わりに、現在ヒープにある最小の要素(マシンごとに定義された順序)の1つのみを削除します。
  3. 要素をヒープの最上部に追加する代わりに、要素をヒープに追加することしかできません。その位置は、ヒープ内の他の要素に従って決定されます(順序はマシンごとに定義されます)。

このマシンは、単にヒープを使用しないことで、すべての通常の言語を受け入れることができます。また、言語受け入れることができる{anbn{a,b}n0}追加することによって、「ヒープ秒、および削除が読み取るとき」ヒープからステップBのを。他のさまざまなコンテキストフリー言語を受け入れることができます。しかし、それは、例えば、受け入れることができない{ wは{ B } * | W = W R }aab{w{a,b}w=wR}(証拠なしで記載)。編集:またはそれができますか?私はそれができるとは思いませんが、私は以前に驚いていました。そして、私が...をよくし続けるという私の仮定が驚いたままであると確信しています。

状況依存言語またはチューリング完全言語を受け入れることができますか?

より一般的には、この方向でどのような研究が行われていますか?もしあれば、どんな結果がありますか?また、他の種類のエキゾチックなステートマシンにも興味があります。おそらく、ストレージに他のデータ構造を使用したり、アクセスに関するさまざまな種類の制限(たとえば、LBAがTMを制限する方法)になります。参考文献を歓迎します。この質問が無知を示している場合は、事前に謝罪します。


正式な定義:

この資料を参照する質問でさらに議論を明確にするために、ここで最小ヒープオートマトンのより詳細な定義をいくつか提供します。

タイプ1の非決定的最小ヒープオートマトンを7タプルとして定義します。ここで...

(Q,q0,A,Σ,Γ,Z0,δ)
  1. は有限の空でない状態のセットです。Q
  2. 初期状態です。q0Q
  3. 受理状態の集合です。AQ
  4. は、有限の空でない入力アルファベットです。Σ
  5. シンボルの重量有限、非空の入力アルファベットであり、 γ Γ W γ Nは、そのようなことである W γ 1= W γ 2ΓγΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  6. 特別なボトム・オブ・ヒープシンボルです。Z0Γ
  7. 遷移関数です。δ:Q×(Σ{ϵ})×(Γ{Z0})P(Q×Γ)

遷移関数は、のみで構成される最初は空のヒープを想定して機能します。遷移関数は、ヒープに任意のコレクションに追加(有限の、しかしおそらく空または反復を有する)要素のよいγ 1γ 2γ KΓ。あるいは、遷移関数は、最小の重みw γ )を持つ要素γのインスタンスを削除する場合がありますZ0γ1,γ2,...,γkΓγw(γ)ヒープに残っているすべての要素(つまり、ヒープの一番上の要素)。遷移関数は、特定の遷移を決定する際に最上位(つまり、最小の重み)シンボルインスタンスのみを使用できます。

さらに、定義1型決定論的最小ヒープオートマトンをどの満たす1型非決定的分ヒープオートマトンであるために、次のプロパティ:すべての文字列のためよう| x | = Nσ Σ| δ N + 1qは0X σ、Y Z 0| 1xσyΣ|x|=nσΣ|δn+1(q0,xσy,Z0)|1

次の変更を除いて、タイプ1非決定性最小ヒープオートマトンとまったく同じタイプ2非決定性最小ヒープオートマトンも定義します。

  1. シンボルの重量有限、非空の入力アルファベットであり、 γ Γ W γ Nは、ようなものである wはγ 1= W γ 2必ずしも意味するものではない γ 1 = γを2 ; つまり、異なるヒープシンボルに同じウェイトを設定できます。ΓγΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  2. 同じ重みを持つ個別のヒープシンボルのインスタンスがヒープに追加されると、それらの相対的な順序は、後入れ先出し(LIFO)スタックのような順序に従って保持されます。

このより自然な定義を指摘してくれたRaphaelに感謝します。この定義は、文脈自由言語をキャプチャ(および拡張)します。


これまでに実証された結果:

  1. タイプ1の最小ヒープオートマトンは、コンテキストフリー言語のサブセットでもスーパーセットでもない言語のセットを認識します。[ 12 ]
  2. タイプ2の最小ヒープオートマトンは、その定義により、コンテキストフリー言語の適切なスーパーセットである言語のセット、およびタイプ1の最小ヒープオートマトンで受け入れられる言語の適切なスーパーセットを認識します。
  3. タイプ1の最小ヒープオートマトンで受け入れられる言語は、ユニオン、連結、およびKleeneスターの下では閉じられているように見えますが、補完[ 1 ]、交差、または差の下では閉じられていないようです。
  4. タイプ1の非決定的最小ヒープオートマトンで受け入れられる言語は、タイプ1の決定的最小ヒープオートマトンで受け入れられる言語の適切なスーパーセットであるように見えます。

私が見逃した他のいくつかの結果があるかもしれません。より多くの結果が(おそらく)進行中です。


フォローアップの質問

  1. 反転中の閉鎖? - 開いた
  2. 補完の下での閉鎖? - 番号!
  3. 非決定論は力を増しますか? - はい?
  4. HALCSL
  5. ヒープを追加すると、タイプ1の電力が増加しますか?-ための(?)HAL1HAL2=HALkk>2
  6. スタックを追加すると、タイプ1の電力が増加しますか? - 開いた

1
ところで大きな質問。私は、これらのオートマトンのポンピング補題を掘りたがります。
ラファエル

@Raphael:そのような補題に私の(更新された)証明を使用できると思います:後続の部分文字列を正しく一致させるために、部分文字列の線形情報よりも多くの情報を「記憶」する必要がある言語は解析できません最小ヒープオートマトン。真のポンピングスタイルの補題が可能かどうかはわかりません-それは最終的に私の補題の特殊なケースになるかもしれません。
アレックス10ブリンク

@AlextenBrinkヒープシンボル番号の組み合わせを使用してコードをエンコードできるため、線形境界で十分かどうかはわかりません。
ラファエル

回答:


25

このタイプのステートマシンを使用すると、正規の非コンテキストフリー(ただしコンテキスト依存)言語を認識できます。最も重要な点は、あなたが、すべてのヒープにトークンを追加することで、文字、および解析中の文字を使用すると、すべての解析されたとき、彼らは唯一のヒープの一番下に終わるので、あなたは、ヒープに「大きな」トークンを追加し文字。{anbncn | n1}abb

ヒープシンボルはと、ここでです。我々は、すべての消費入力にシンボルをし、追加ヒープにシンボルを。我々が発生した場合は、我々は戦略を切り替える:すべてのために私たちは、その後、我々は削除遭遇ヒープからと追加ヒープに。に遭遇した場合、削除するために sを使い果たす必要があります。その後、残りの入力のごとに、ヒープからを削除します。ヒープが最後に空の場合、文字列は言語になります。明らかに、何かがうまくいかない場合は拒否します。aba<baabbabcacb

更新:

言語は、min-heapオートマトンでは認識できません。を認識できる最小ヒープオートマトンがあると仮定します。を読み取った後のオートマトンの「状態」を確認します(入力の最初の部分なので、が次にあります)。唯一の状態は、ヒープの内容とオートマトンの特定の状態です。これは、を認識した後、この「状態」がに一致する十分な情報を保持する必要があることを意味します。EPAL={wwR|w{a,b}}EPALwwRwwR

特に、これを行うには、異なる「状態」()が存在する必要がありますおよび文字で構成される単語がです。有限数の状態と有限数のヒープ文字しかないため、これは、ヒープに指数関数的な数のヒープ文字が含まれる単語が存在することを意味します(。2nn=|w|2nabwx

最初に決定論的最小ヒープオートマトンの定理を証明し、次にこの証明を非決定論的最小ヒープオートマトンに拡張します。特に、特定の言語を認識する決定性オートマトンは、有用なプロパティである無限ループにはなりません。

ヒープに含めることができるのは、入力から読み取られた文字数に線形のヒープトークンのみを含むことです。これにより、がヒープ上で指数関数的に出現する回数がすぐに除外されるため、が最小ヒープオートマトンによって認識されないという証明が完成します。xEPAL

オートマトンには有限数の状態しかないため、また決定論的オートマトンは無限ループに陥らないため、入力信号を読み込むと、最大で一定数のヒープ文字がヒープに追加されます。同様に、一部のヒープシンボルを消費すると、より厳密に大きい最大で一定数のヒープ文字しか追加できず、スタック上のシンボルの数を減らすことしかできません(そうでなければ無限ループになります)。yyy

したがって、ヒープシンボルを消費すると、より大きなヒープシンボルの(膨大な)蓄積が発生する可能性がありますが、ヒープシンボルの種類が一定数しかないため、これは依存しない定数です。これは、ヒープシンボルの数が、これまでに読み取られた入力シンボルの数の最大(一定の)定数倍であることを意味します。これで、決定論的ケースの証明が完了しました。n

非決定論的なケースでは、証明は似ていますが、少し複雑です。最大で一定数のヒープトークンをヒープに追加する代わりに、任意の数のヒープトークンをヒープに追加します。ただし、重要な点は、この数が依存しないことです。特に、我々は非決定論的に認識した後、ヒープ上の正確右のヒープシンボルを得ることができる場合(右認識する)、我々はまた、非決定論的に他のいくつかの単語と一致するヒープのシンボルを選択することができ、そしてそれによって、認識、従ってMIN-ヒープオートマトンが正確に認識することが矛盾。nwwRwwwREPAL

更新3:最後の議論(非決定性について)を厳密にします。上記の引数により、単語の無限集合が存在し、を認識した後、を認識した後、ヒープに要素が含まれる必要があります(単語のセットが無限にあるため、について話すことができることに注意してください。ヒープ上の多くの要素を決定論的な手段で取得できないため、最初にヒープに要素を追加することを非決定論的に選択し(入力を消費せずに)、後でこれを終了することを選択したループの形式が必要でしたループし、このループを回走査しなければなりません。W{a,b}wWwω(|w|)O(f(|w|))ω(1)

使用するこのようなすべてのループのセットを取得し。状態しかないため、このセットのサイズはであり、そのすべてのサブセットのセットもです。ここで、実行パスの「決定的」部分はトークンのにのみ寄与できることに注意してください。これは、指数関数的な数の異なるワードの多くが、「決定的」部分が同じに寄与する実行パスを持たなければならないことを意味しますヒープへのトークン。特に、より多くのトークンを取得する唯一の方法は、上記で特定したループを取ることです。WO(1)O(1)O(1)O(|w|)

これらの観察を組み合わせると、これは、実行パスの「決定論的」部分が同じトークンをヒープに提供し、上記のループのサブセットを取ることによって区別される、、、および 2つの異なる単語が存在する必要があることを意味します回数は異なりますが、同じループのサブセットを使用します(これらのループののみがあることに注意してください)。Ww1w2O(1)

私たちは、今では見ることができますまた、最小ヒープオートマトンによって認識することができます。我々はのための実行パスをたどる、上記のように、私たちは同じ回数のための実行パスループトラバースそれらトラバースを。これにより、最小ヒープがトークンで満たされ、がサフィックスとして受け入れられ、証明が完了します。w1w2w1w2w2

アップデート2:

上記のことは、対数空間のみを使用して決定論的な最小ヒープオートマトンをシミュレートできることを意味していることを私は思いつきました。最小ヒープ内のすべてのタイプの文字のカウンターを保持します。上記のように、このカウンターは最大でであるため、スペースのみを使用して格納できますこれらのカウンターは一定数しかないため)。これにより、次のことができます。O(n)O(logn)

DHALL

HALNL

ここで、は、確定的な最小ヒープオートマトンによって認識される言語のセットです。DHAL


1
優れた洞察力のために+1、あなたは私の意味を完全に理解しているようです。そのようなマシンはパリンドロームを認識できないと私は判断しますか?追加されたシンボルの順序は保持されないため、不可能と思われます。
Patrick87

@ Patrick87:私は今その問題について考えています:)
アレックス10ブリンク

@Raphael対数リソースの制約があるチューリングマシンに関する非常にクールな観察、あなた方は二人ともこれらのオートマトンを調査する素晴らしい仕事をしました。ご存知のように、私は興味のあることの一種の例として、最小ヒープオートマトンを投げただけですが、好評を博しているようです。そのようなオートマトンに関して他にどのような質問に答えられますか?DHAL = HALですか?HALのクロージャープロパティとは何ですか?さらに調査する価値はありますか。もしそうなら、それらはここに残るべきですか、それとも新しい質問に入れるべきですか?優れた洞察に再び感謝します。
Patrick87

1
@ラファエル:私はその部分を完全に厳密にしました。は十分に大きくなければならないというのは正しいことです-いくつかの詳細を左右に説明しました。n
アレックス10ブリンク

1
@Raphael:確かにそうです。であるため、空間階層定理といくつかの包含により。CSL=NLINSPACEDHALCSL
アレックス10ブリンク

19

ここに私たちが知っている(信じている)ものがあります:

  • HALCFL(type-1、type-2)
  • CFLHAL(タイプ1)
  • CFLHAL(定義によりタイプ2)
  • CSLHAL(type-1、type-2)

詳細および以下の注意事項をご覧ください。


HALCFL

回答のこの部分は、タイプ1とタイプ2の両方に関連しています。

完全に順序付けられた有限のヒープアルファベットを持つ最小ヒープオートマトン(HA)は、受け入れます。。L={anbncnnN}CSLCFL

前提:PDAと同様に、遷移関数は最上位のヒープシンボルを消費し、任意の数のヒープシンボルを書き戻します。ヒープには最初、他のすべてのヒープシンボルよりも大きい識別シンボルが含まれています。$

レッツとの分、ヒープオートマトンA=(Q,ΣI,ΣH,,q0,QF)

  • Q={q0,q1,q2,qf}状態のセット
  • ΣI={a,b,c}入力アルファベット。
  • ΣH=a,b,$注文とヒープアルファベット。a<b<$
  • QF={qf}
  •  (Q×ΣI×ΣH)×(Q×ΣH)
    • (q0,a,σ)(q0,aσ)すべてのσΣH
    • (q0,b,a)(q1,b)
    • (q1,b,a)(q1,b)
    • (q1,c,b)(q2,ε)
    • (q2,c,b)(q2,ε)
    • (q2,c,$)(qf,ε)

オートマトンは、入力内のごとに1をヒープに書き込みます。とき発生し、それは多くのように消費しがあったと書いて、すべてのいのためにヒープに。ヒープは都合よく最上位にため、これはカウントを妨げません。ヒープからすべてのが取得された後にのみ受け入れられます。後にのみ多くとしてとして(およびそれのような)が発見されている、ん空のヒープと最終状態で受け入れます。aabbabbaaccbaA

したがって、です。L(A)=L


CFLHAL

回答のこの部分は、タイプ1のみに関連しています。

検討も回文のセットおよびHAが存在すると仮定しで。EPAL={wwRw{a,b}}AL(A)=L

推測:を、およびように同じ状態であり、読み取り後の同じヒープコンテンツ有しとそれぞれ、。両方受け入れと、したがってまた受け付け(及び矛盾することである)、。w1,w2{a,b}w1w2|w1|=|w2|Aw1w2Aw1w1Rw2w2Rw1w2REPALw2w1RL(A)=EPAL


CSLHAL

回答のこの部分は、タイプ1とタイプ2の両方に関連しています。

(タイプ1)で使用したのと同じ推論を使用して、コンテキスト依存言語が。 { W W | W { B } * } H A LEPAL{www{a,b}}HAL


HAL?CSL

これは、タイプ1とタイプ2の両方に対してまだ開いています。


さらなるファクトイド

HAは、埋め込みプッシュダウンオートマトンで受け入れられる、状況依存性の低い言語のサブセットに直交しているようです。HAは、スタックされたスタックの制限された数をシミュレートできますが、(EPAのように)多数を任意にシミュレートすることはできません。ただし、HAは、現在最上位にないスタックの最上位シンボルにアクセスできます(EPAはアクセスできません)。


+1、優れた応答。基本的にBrinkのメソッドと同等ですよね?それでも、厳密さと精度は抜群です。そのようなマシンがすべてのCFLを受け入れることができるかどうかについて考えたことはありますか?注文情報がヒープによって失われるため、不可能のようです
...-Patrick87

そう、アレックスが持っていたのと同じ考えです。それから何かを得ることができてうれしい。私は他の方向のアイデアを追加しましたが、(巨大な?)ギャップがあります。明日、明日、それについて考え、同僚を狙う必要があるかもしれません。
ラファエル

厳格さのために余分なクレジットを獲得するために、正確性の証拠を含めるべきであると感じます。;)介した帰納法によってそれほど難しくないはずです。n
ラファエル

あなたが推測としてラベル付けする証明のアウトラインは私が念頭に置いていたものであり、かなり説得力があります...また、これは小さな技術的なポイントですパリンドローム...証明は確かにどちらの方法でも機能します(単純なパリンドロームでも機能するため、HALはDPDAほど強力ではないことに注意してください)。
Patrick87

@ Patrick87問題は、特にシンボルをヒープに置く遷移を許可する場合、シンボルを読み取った後、特定のHA が単語よりも多くの構成になる可能性があることです。εnε
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.