順序付きリストを認識するためには、どのような言語が必要ですか?[どうやらマルチヘッドオートマトン]


8

「1 2 3 4 5 6」や「14 15 16 17」などの文字列(「1 3」ではない)を含む言語(アルファベット0〜9およびスペース)を認識する問題を考えています。

これは、要素が順序付きリストに含まれている必要がある一般的な解析タスクの作業中に発生しました。その言語の残りの部分を解析することは規則的であるが、この部分は明らかに不規則であることに私を驚かせました-たとえば、Aが任意の文字列0-9である言語A1A2を認識できます。実際、内容に依存しているように見えます(そして、ポンピングレンマによってコンテキストフリーではありません)。

私の最初の質問:その表現力をよりよく表す、文脈依存型と文脈自由型の間に(かなりよく知られている、つまりこの問題のためだけに定義されていない)言語のクラスはありますか?私はAhoのインデックス付き言語について読みましたが、これらがそのクラスでさえも強力であることは(私には!)明白ではありません。

2つ目の質問は非公式です。この言語は解析が簡単であるように見えますが、それでも階層が非常に高いです。同様の例に出くわすことは一般的ですか?それらに対処する標準的な方法はありますか?「通常の」言語の包含と互換性のない言語のクラスの代替グループはありますか?

これを考える私の理由は簡単です。最初の数値の終わりに到達するまで読み取り、次の数値が続くかどうかを確認するなどして、言語を確定的に解析できます。特に、O(n)スペースでO(n)時間で解析できます。あまり問題なくスペースを減らすことができると思います。しかし、通常の言語でこの種のパフォーマンスを実現するには、コンテキストフリーはもちろんのこと、十分に困難です。O


ポンピングレンマは、文脈依存言語からではなく、通常の言語から文脈自由言語を区別するために使用されます。だから... ...それは確かにあなたの言語が規則的ではないということですが、私はそれが文脈自由かもしれないと思う
ブノワ・Fraikin

2
@BenoîtFraikin:私は「もう一方の」ポンプレンマを使用しています。
Charles

バー・ヒレル補題が...これは私の誤解です^ _ ^
ブノワ・Fraikin

回答:


7

あなたが探しているのはマルチヘッドオートマトンのようです(あなたの場合、一方向2ヘッドの決定論的有限オートマトンで十分です)。私は実際にはこれらの専門家ではありませんが、グーグルはこの言語階層に関するいくつかの興味深い調査を表示します。

マレック・クローバック:一方向の階層マルチヘッドオートマトン、http://www.sciencedirect.com/science/article/pii/0304397586900939

これは、2番目の質問に対する1つの回答も提供します。nヘッドオートマトンの階層は、チョムスキー階層の「横」にあります。


それは本当に素晴らしいです。私はそのようなクラスの存在を見て驚いて-喜んで-います。
Charles

3
@マレクはこのサイトにいます:多分彼は重量を量るでしょう:)
Suresh Venkat

3
その論文は私の前の人生で書かれました;-)はい、問題を理解すれば、この言語は一方向2頭のオートマトンで受け入れることができます。したがって、LOGSPACEにもあります。
Marek Chrobak、2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.