最小ヒープ(または他のエキゾチックな)ステートマシンの機能の決定
min-heapオートマトンの定義に関する説明については、この投稿の最後を参照してください。 ステートマシンで使用する情報を格納するためにさまざまなデータ構造を使用することを想像できます。たとえば、プッシュダウンオートマトンは情報をスタックに格納し、チューリングマシンはテープを使用します。キューを使用するステートマシン、および2つの複数のスタックまたはテープを使用するステートマシンは、チューリングマシンと同等のパワーを発揮することが示されています。 最小ヒープマシンを想像してください。次の例外を除き、プッシュダウンオートマトンとまったく同じように機能します。 ヒープに最後に追加したものを調べる代わりに、現在ヒープ上にある最小の要素(マシンごとに定義された順序付け)だけを見ることができます。 ヒープに最後に追加したものを削除する代わりに、現在ヒープにある最小の要素(マシンごとに定義された順序)の1つのみを削除します。 要素をヒープの最上部に追加する代わりに、要素をヒープに追加することしかできません。その位置は、ヒープ内の他の要素に従って決定されます(順序はマシンごとに定義されます)。 このマシンは、単にヒープを使用しないことで、すべての通常の言語を受け入れることができます。また、言語受け入れることができる{anbn∈{a,b}∗∣n≥0}{anbn∈{a,b}∗∣n≥0}\displaystyle \{a^{n}b^{n} \in \{a, b\}^{*} \mid n \ge 0\}追加することによって、「ヒープ秒、および削除が読み取るとき」ヒープからステップBのを。他のさまざまなコンテキストフリー言語を受け入れることができます。しかし、それは、例えば、受け入れることができない{ wは∈ { 、B } * | W = W R }aaaaaabbb{w∈{a,b}∗∣w=wR}{w∈{a,b}∗∣w=wR}\displaystyle \{w \in \{a, b\}^{*} \mid w = w^{R}\}(証拠なしで記載)。編集:またはそれができますか?私はそれができるとは思いませんが、私は以前に驚いていました。そして、私が...をよくし続けるという私の仮定が驚いたままであると確信しています。 状況依存言語またはチューリング完全言語を受け入れることができますか? より一般的には、この方向でどのような研究が行われていますか?もしあれば、どんな結果がありますか?また、他の種類のエキゾチックなステートマシンにも興味があります。おそらく、ストレージに他のデータ構造を使用したり、アクセスに関するさまざまな種類の制限(たとえば、LBAがTMを制限する方法)になります。参考文献を歓迎します。この質問が無知を示している場合は、事前に謝罪します。 正式な定義: この資料を参照する質問でさらに議論を明確にするために、ここで最小ヒープオートマトンのより詳細な定義をいくつか提供します。 タイプ1の非決定的最小ヒープオートマトンを7タプルとして定義します。ここで...(Q,q0,A,Σ,Γ,Z0,δ)(Q,q0,A,Σ,Γ,Z0,δ)(Q, q_0, A, \Sigma, \Gamma, Z_0, \delta) は有限の空でない状態のセットです。QQQ 初期状態です。q0∈Qq0∈Qq_0 \in Q 受理状態の集合です。A⊆QA⊆QA …