タグ付けされた質問 「encoding」

3
因数分解で表される整数の追加は、因数分解と同じくらい難しいですか?参照リクエスト
次の結果の参照先を探しています。 因数分解表現で2つの整数を追加することは、通常のバイナリ表現で2つの整数を因数分解するのと同じくらい困難です。 (これはある時点で私が不思議に思っていたものであり、印刷物でようやく見たときに興奮していたので、そこにあると確信しています。) 「因数分解表現に2つの整数を追加する」ことが問題です。2つの数値xバツxと素因数分解が与えられると、x + yのyyy素因数分解を出力します。この問題の単純なアルゴリズムは、サブルーチンとして標準バイナリ表現の因数分解を使用することに注意してください。x+yバツ+yx+y 更新:KavehとSadeqの証拠に感謝します。明らかに、より多くの証明が陽気になりますが、参照を見つけるためのより多くの助けを奨励したいと思います。私はそれを他の興味深い、そしてあまり議論されていないアイデアと共に論文で読んだことを思い出しますが、それらの他のアイデアが何であったか、またはその論文が一般的に何であったかを思い出しません。

5
ハフマンコーディングが、Lempel-Zivができないエントロピーを排除するのはなぜですか?
人気のあるDEFLATEアルゴリズムは、Lempel-Zivの上にハフマンコーディングを使用します。 一般に、データのランダムなソース(= 1ビットエントロピー/ビット)がある場合、ハフマンを含むエンコードは平均して圧縮されません。Lempel-Zivが「完璧」である場合(長さが無限大になるにつれて、ほとんどのソースのクラスに近づきます)、ハフマンによるポストエンコーディングは役に立ちません。もちろん、Lempel-Ziv は少なくとも有限の長さでは完全ではないため、ある程度の冗長性が残っています。 ハフマン符号化が部分的に排除し、それによって圧縮を改善するのは、この残りの冗長性です。 私の質問は次のとおりです。この残りの冗長性は、LZではなくハフマンコーディングによって正常に除去されるのはなぜですか。ハフマン対LZのどの特性がこれを実現しますか?単純にLZを再度実行する(つまり、LZで圧縮されたデータをLZで2回エンコードする)と、似たようなことが行われますか?そうでない場合は、なぜですか?同様に、最初にハフマンで圧縮し、その後LZで圧縮しますか? 更新: LZの後でも、ある程度の冗長性が残ることは明らかです。数人がその点を指摘しています。明らかではないのは、なぜ残りの冗長性がLZよりもHuffmanによりよく対処されているのかということです。LZがハフマンよりもうまく機能する元のソースの冗長性とは対照的に、そのユニークな点は何ですか?

2
バランスの取れたベクトルの迅速なエンコード
これは、いずれかのことを見ることは容易である 1-1のマッピングが存在するFは {0,1}からN {0,1}にN + O (ログN )いずれかのようなxはベクトルF (Xの)です"バランス」、つまり1と0の数が等しい。そのようなFを定義して、与えられたxがF (x )を 効率的に計算できるようにすることは可能ですか?nnnFFFnn^nn+O(logn)n+O(log⁡n)^{n+O(\log n)}xxxF(x)F(x)F(x)FFFxxxF(x)F(x)F(x) ありがとう。

5
アルファベット(の大きされた例
してみましょうアルファベット、すなわちA空でない有限集合とします。文字列は、Σからの要素(文字)の有限のシーケンスです。一例として、{ 0 、1 }バイナリアルファベットであり、0110は、このアルファベットの文字列です。ΣΣ\SigmaΣΣ\Sigma{0,1}{0,1} \{0, 1\}011001100110 通常、限り 1つの以上の元素を含む、内の要素の正確な数Σは問題ではない:最高の状態で我々は異なる、一定のどこかで終わります。言い換えれば、バイナリアルファベット、数字、ラテンアルファベット、Unicodeのどちらを使用しても問題ありません。ΣΣ\SigmaΣΣ\Sigma アルファベットの大きさが重要である状況の例はありますか? 私がこれに興味を持っている理由は、そのような例の1つに偶然出会ったからです。 任意のアルファベットのために我々はランダムオラクル定義O Σをオラクルすべきから戻るランダム要素Σすべての要素のための可能性があるので、すべての要素は、(返されるの等しい機会を有するように、1ΣΣ\SigmaOΣOΣO_{\Sigma}ΣΣ\Sigma)。1|Σ|1|Σ|\frac{1}{|\Sigma|} いくつかのアルファベットの場合はとΣ 2おそらく、異なるサイズの- -へのアクセス権を持つ神託機械のクラスを検討O Σ 1。私たちはそのように同じように動作し、このクラスでは神託機械に興味O Σ 2。言い換えれば、我々は、Oracle変換したいO Σ 1をオラクルにO Σ 2チューリングマシンを使用します。このようなチューリングマシンを変換プログラムと呼びます。Σ1Σ1\Sigma_1Σ2Σ2\Sigma_2OΣ1OΣ1O_{\Sigma_1}OΣ2OΣ2O_{\Sigma_2}OΣ1OΣ1O_{\Sigma_1}OΣ2OΣ2O_{\Sigma_2} LET とΣ = { 0 、1 、2 、3 }。変換O Σ 1オラクルにO Σ 2は容易である:我々は、クエリO Σ 1回、その結果を変換することは、以下の:00 → 0、01 → 1、10 → 2、11 → 3。明らかに、このプログラムはO (Σ1={0,1}Σ1={0,1}\Sigma_1 = \{ 0, …

2
ラムダ計算自体のエンコーディングの妥当性をどのように述べるのですか?
┌M┐⌜M⌝\ulcorner M \urcornerMMMMMMEE\mathsf E E┌M┐=βM.E⌜M⌝=βM.\mathsf E \ulcorner M \urcorner =_\beta M. 自然数を使用するKleeneのようなさまざまなエンコーディングがあり、最も効率的な最新のエンコーディングはMogensenによる高次構文です。別の可能な(自明な)エンコーディングは恒等関数であり、インタプリタも恒等関数です。 些細なエンコーディングを禁止する「適切なエンコーディング」の合理的な概念はありますか? この質問は、チューリングマシンではなくラムダ計算に適用される停止問題を検討するときに発生しました。自明なエンコーディングの観点から言えば、引用されたラムダ項では本質的に何もできないという自明な理由があります。 言い換えると、引用されたラムダ項で計算できると期待できる関数のセットは何ですか? 私はいくつかのようなものをリストすることができます:用語の深さを数え、サブ用語を取り、用語のルートノードがラムダまたはアプリケーションであるかどうかを伝えます...しかし、分類された関数をリストするだけで「適切なエンコーディング」を定義するのをためらいますそれが頭に浮かんだ。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.