タグ付けされた質問 「prefix-free-code」

2
与えられた通常の言語には、接頭辞のない無限のサブセットが含まれていますか?
一方が他方の接頭辞である2つの明確な単語がない場合、有限アルファベット上の単語のセットは接頭辞なしです。 質問は: NFAとして指定された通常の言語にプレフィックスなしの無限サブセットが含まれているかどうかを確認する複雑さは何ですか? 回答(以下のミハイル・ルードイによる):これは多項式時間で行うことができ、NLでさえ考えます。 ミハイルの答えを言い換えると、(Σ,q0,F,δ)(Σ,q0,F,δ)(\Sigma,q_0,F,\delta)通常の形式の入力NFA(イプシロン遷移なし、トリム)とし、L[p,r]L[p,r]L[p,r](それぞれL[p,R]L[p,R]L[p,R])状態を有することにより得られる言語ppp初期状態として{r}{r}\{r\}最終状態(それぞれ状態としてppp initalとして設定されたRRR最終など)。言葉のためにuuu聞かせてuωuωu^\omegauuuを反復することにより得られる無限の単語であること。 以下は同等です。 言語L[q0,F]L[q0,F]L[q_0,F]は、プレフィックスのない無限のサブセットが含まれています。 ∃q∈Q∃q∈Q\exists q \in Q、∃u∈L[q,q]∖{ε}∃u∈L[q,q]∖{ε}\exists u \in L[q,q]\smallsetminus\{\varepsilon\} ∃v∈L[q,F]∃v∈L[q,F]\exists v \in L[q,F]その結果vvvの接頭辞ではないuωuωu^\omega。 ∃q∈Q∃q∈Q\exists q \in Q L[q,q]≠{ε}L[q,q]≠{ε}L[q,q] \neq \{\varepsilon\} ∀u∈L[q,q]∀u∈L[q,q]\forall u \in L[q,q] ∃v∈L[q,F]∃v∈L[q,F]\exists v \in L[q,F]となるようvvvの接頭辞ではないuωuωu^\omega。 証明: 3 ⇒⇒\Rightarrow 2ささい。 2の場合⇒⇒\Rightarrow 1、それはいずれかのことを確認すればよいw∈L[q0,q]w∈L[q0,q]w \in L[q_0,q]私たちがいることを持っているw(u|v|)∗vw(u|v|)∗vw (u^{|v|})^* v無限の接頭辞のない部分集合であるL[q0,F]L[q0,F]L[q_0,F]。 最後に、1 ⇒⇒\Rightarrow 3はミハイルの答えの「正しさ」の証明です。

2
最適な接辞コードを作成するにはどうすればよいですか?
接辞コードを同時に接頭辞と接尾コードであるコードです。つまり、コードワードは、他のコードワードのプレフィックスでもサフィックスでもありません。接辞コードは、両方向(順方向と逆方向)で瞬時にデコードできます。 出力シンボルのセットが与えられた場合、与えられた入力シンボル分布を最適に圧縮するものを作成したいと思います。 接頭辞コードを作成するハフマンアルゴリズムが最も近くなりますが、その貪欲な戦略のため、この目的の変更には適していないと思われます。 どのようにして最適な接辞コードを見つけることができますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.