場合は


9

次の演習を解くのに行き詰まっています。

主張その場合文脈自由であり、、次いで、規則的である(つまり、正しい商)は文脈自由です。R L / R = { W | X RLRL/R={wxRs.twxL}

を受け入れるPDAとを受け入れるDFAが存在する必要があることを知っています。現在、これらのオートマトンを、適切な商を受け入れるPDAに組み合わせようとしています。それを構築できれば、がコンテキストフリーであることを証明しました。しかし、私はこのPDAの構築に行き詰まっています。R L / RLRL/R

これは私がそれをどこまで作ったかです:

結合されたPDAでは、状態は別個のオートマトンの状態のデカルト積です。また、エッジはDFAのエッジですが、将来Lの元のPDAの最終状態に到達できるのはエッジのみです。しかし、それを正式に書き留める方法がわかりません。


ようこそ!どこに行き詰まっているのですか?
ラファエル

1
ヒント:非決定性を最大限に活用する方法について考えてください。
Artem Kaznatcheev

結合されたPDAでは、状態は別個のオートマトンの状態のデカルト積です。また、エッジはDFAのエッジですが、将来Lの元のPDAの最終状態に到達できるのはエッジのみです。しかし、それを正式に正す方法がわかりません。
Dommicentl

3
あなたのコメントを質問にコピーしました。それはそれのためのより良い場所です。
デイブクラーク

回答:


8

ここにヒントがあります。

最初にから単語の一部を受け入れ、テープをそのまま消費するマシンが必要です。次に、何も消費せずに、マシンを最終状態にするRからの単語を見つける必要があります。Rから選択された単語は、計算の後半で入力単語の役割を果たします。LRR

明らかに、2つのマシン間の製品と同様に、非決定性が役割を果たします。これを形式化する秘訣は、入力が入力からではなくから来るという事実に対処するように積を調整することです。R


6

デカルト積で何を得ているのかわかりません。これは、両方のオートマトンを並行してシミュレートし、交差を与えます。しかし、Rからの接尾辞を持つすべての単語を識別する必要があります。つまり、直感的なレベルです。LR

私たちの入力があると仮定し。明らかに、すべての可能な継続(Rのメンバーシップの場合)をチェックすることはできず、有限数のみをチェックできます。ここでArtemのコメントが最も役立ちます。サフィックスxがどうなるかを推測し、その上で両方のオートマトンを実行します。wΣRx

ましょうおよびA R用PDA L用とNFAのRはそれぞれ、。以下のようにオートマトンAを作成します。入力上のw Σ *、シミュレートLを。後wが消費され、修飾された交点にスイッチA L RA L及びA Rから状態を維持、A L。次に、すべての遷移に対して、仮想入力の次のシンボルが非決定的に決定します。受け入れるwALARLRAwΣALwAL,RALARALw両方のコンポーネント場合に限り、同時に最終状態に達した場合、即ち、Wが継続を持っているxはように、W のx LX RAL,RwxwxLxR

正式な文法を使用することもできます。2つの文法を並列に派生させる方法を理解していますか?一般に、どのように適応させるかは明確ではないため、サフィックスを処理できます。Chomsky正規形を使用すると役立ちます。GL

GLGRGLGLGRGLGLGRwL/R


スポイラーエリアにあるものでさえ、厳密でも正式でもないことに注意してください。(自分で試した後)詳細が必要な場合は、お知らせください。
ラファエル

6

私はより理解しやすいラファエルの答えを使用することをお勧めしますが、オートマタの代わりにクロージャープロパティを使用する別の方法を次に示します。

LAwLwxLxwwx

より正式には:

L(A×{0,1})L
(A×0)(R×1)R×
(a,0)a(a,1)ε



1
AL

いい視点ね。
sdcvvc 2012年

1
技術的なクラス(この証明作品は)と呼ばれ、コーンまたは完全なトリオ
Hendrik Jan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.