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

7
PRNGを使用して魔法のように圧縮できますか?
この考えは、プログラミングを学び、最初にPRNGに出会った子供として私に思いつきました。どれほど現実的かはまだわかりませんが、今ではスタック交換があります。 これは驚くべき圧縮アルゴリズムのための14歳のスキームです: PRNG sを取得し、シードでシードして、疑似ランダムバイトの長いシーケンスを取得します。そのシーケンスを別のパーティに送信するには、PRNGの説明、適切なシード、およびメッセージの長さを伝えるだけです。十分に長いシーケンスの場合、その説明はシーケンス自体よりもはるかに短くなります。 ここで、プロセスを逆にできると仮定します。十分な時間と計算リソースがあれば、ブルートフォース検索を実行して、目的のシーケンスを生成するシード(およびPRNG、つまりプログラム)を見つけることができました(猫のいたずらの面白い写真を見てみましょう)。 PRNGは十分な数のビットが生成された後に繰り返されますが、「典型的な」サイクルと比較すると、私のメッセージは非常に短いので、これは問題のようには見えません。 Voila、データを圧縮する効果的な(ルーベゴールドバーグ式の場合)方法。 したがって、仮定: 圧縮したいシーケンスは有限であり、事前にわかっています。 現金も時間も不足していません(両方の有限量が必要である限り) 知りたい: スキームの背後にある推論に根本的な欠陥はありますか? この種の思考実験を分析する標準的な方法は何ですか? 概要 良い答えが答えを明らかにするだけでなく、私が本当に求めていたのは何であるかを明らかにすることはしばしばあります。皆の忍耐と詳細な回答に感謝します。 答えの要約に対する私のn回目の試みは次のとおりです。 PRNG /シード角度は何も寄与せず、目的のシーケンスを出力として生成するプログラムにすぎません。 ピジョンホールの原則:長さ<= kの(メッセージを生成する)プログラムよりも、長さ> kのメッセージが多くあります。そのため、一部のシーケンスは、メッセージよりも短いプログラムの出力にはなり得ません。 プログラム(メッセージ)のインタープリターが必ず事前に修正されていることに言及する価値があります。そして、その設計は、長さkのメッセージが受信されたときに生成できるメッセージの(小さな)サブセットを決定します。 この時点で、元のPRNGのアイデアはすでに消滅していますが、解決すべき最後の質問が少なくとも1つあります。 Q:幸運にも、長い(しかし有限の)メッセージがたまたま<kビットの長さのプログラムの出力であることがわかりますか? 厳密に言えば、可能性のあるすべてのメッセージ(プログラム)の意味を事前に知っておく必要があるため、偶然ではありません。それは <kビットのメッセージの意味であるかそうでないかです。 > = kビットのランダムメッセージをランダムに選択した場合(なぜですか?)、いずれの場合でも、kビット未満で送信できる確率はゼロになり、送信できないことはほぼ確実になります。使用するビット数はkビット未満です。 OTOH、kビット未満のプログラムの出力であるメッセージからkビット以上の特定のメッセージを選択すると(そのようなメッセージがあると仮定して)、実際にはすでに送信されたビットを利用していますレシーバー(インタープリターの設計)。転送されたメッセージの一部としてカウントされます。 最後に: Q:このエントロピー / コルモゴロフ複雑性ビジネスとは何ですか? 最終的に、両方とも、(より単純な)鳩の巣の原理が圧縮できる量について教えているのと同じことを教えてくれます:おそらくまったくない、おそらくいくつかですが、確かに私たちが空想するほどではありません(チートしない限り)。

6
ロスレス圧縮アルゴリズムはエントロピーを削減しますか?
ウィキペディアによると: シャノンのエントロピーは、決定された(または予測可能な)メッセージの部分とは対照的に、メッセージに含まれる情報を測定します。後者の例には、言語構造の冗長性や、文字や単語のペア、トリプレットなどの出現頻度に関する統計的特性が含まれます。 エントロピーは、メッセージに含まれる情報の量の尺度です。エントロピーコーダーは、そのようなメッセージを表現するために必要な最小ビット数(エントロピー)に可逆圧縮するために使用されます。私にとって、これは、メッセージを可能な限り損失なく圧縮するために必要なのは完全なエントロピーエンコーダーだけであるように見えます。 ただし、多くの圧縮アルゴリズムは、エントロピーコーディングの前にステップを使用して、メッセージのエントロピーを減らすと考えられています。 ドイツのウィキペディアによると Entropiekodierer werdenhäufigmit anderen Kodierern kombiniert。Dabei dienen vorgeschaltete Verfahren dazu、die Entropie der Daten zu verringern。 英語で: エントロピーコーダーは他のエンコーダーと頻繁に組み合わされます。前の手順は、データのエントロピーを減らすのに役立ちます。 つまり、bzip2はエントロピーコーディング(この場合はハフマンコーディング)を適用する前に、Burrows-Wheeler-Transformに続いてMove-To-Front-Transformを使用します。 これらの手順は、メッセージのエントロピーを実際に減らしますか?これは、メッセージに含まれる情報の量を減らすことを意味しますか?圧縮中に情報が失われ、無損失の圧縮解除が妨げられることになるため、これは私には矛盾しているようです。または、メッセージを変換してエントロピーコーディングアルゴリズムの効率を向上させるだけですか?または、エントロピーはメッセージ内の情報量に直接対応していませんか?

2
N未満のランダムビットで2 ^ Nの1の確率をシミュレートする
次の離散分布をシミュレートする必要があるとします。 P(X=k)={12N,1−12N,if k=1if k=0P(X=k)={12N,if k=11−12N,if k=0 P(X = k) = \begin{cases} \frac{1}{2^N}, & \text{if $k = 1$} \\ 1 - \frac{1}{2^N}, & \text{if $k = 0$} \end{cases} 最も明白な方法は、NNNランダムビットを描画し、それらすべてが000(または111)に等しいかどうかをチェックすることです。しかし、情報理論は言う S=−∑iPilogPi=−12Nlog12N−(1−12N)log(1−12N)=12Nlog2N+(1−12N)log2N2N−1→0S=−∑iPilog⁡Pi=−12Nlog⁡12N−(1−12N)log⁡(1−12N)=12Nlog⁡2N+(1−12N)log⁡2N2N−1→0 \begin{align} S & = - \sum_{i} P_i \log{P_i} \\ & = - \frac{1}{2^N} \log{\frac{1}{2^N}} - \left(1 - \frac{1}{2^N}\right) \log{\left(1 - \frac{1}{2^N}\right)} …

7
停止の問題と熱力学的エントロピーの間には関係がありますか?
Alan Turingは、計算(数、関数など)を行うマシン(Turing Machine、TM)のモデルを提案し、ホールティング定理を証明しました。 TMは、マシン(または必要に応じてエンジン)の抽象的な概念です。停止定理は不可能な結果です。Carnot Engine(CE)は熱機関の抽象的な概念であり、CarnotはCarnot Theoremを証明しました。これは、熱力学的エントロピーに関連するもう1つの不可能な結果です。 TMが物理的に実現可能であるとすれば(少なくともCEと同じくらいですか、そうでないかもしれませんか?) もちろん、アルゴリズム情報理論(例:Chaitin、Kolmogorovなど)およびエントロピー(そのコンテキスト)の観点から、TMおよびHalting Theoremの定式化があります。質問は、エントロピーのより物理的な概念を求めます(潜在的な答えの過程で、アルゴリズムのエントロピーが生じる場合、それは問題ありませんが、質問が正確に求めるものではありません)。 また、Physics.seで、量子不確実性を熱力学の第2法則に関連付けている別の質問を確認することもできます。参照:エントロピーの代数的特性、エントロピーのアルゴリズムの特性評価、エントロピーの様々な製剤間のレビューとの接続を

11
罪の引用におけるフォン・ノイマンのランダム性はもはや適用できませんか?
ある人は次のように言った: 決定論的な手段で乱数を生成しようとする人は、もちろん罪の状態に住んでいます。 これは常に、コンピューターだけでは真の乱数を生成できないことを意味します。そして彼は、コンピューターが単一のIntel 8080マイクロプロセッサーと同等のサイズ(約6000バルブ)だったと言いました。コンピューターはより複雑になり、フォン・フォン・ノイマンの声明はもはや真実ではないと思う。実装されたソフトウェアのみのアルゴリズムは不可能であることを考慮してください。これらは物理ハードウェア上で実行されます。真の乱数ジェネレーターとそのエントロピーソースもハードウェアで構成されています。 このJavaフラグメントはループに入れられます。 file.writeByte((byte) (System.nanoTime() & 0xff)); 画像として表したデータファイルを作成できます。 構造を見ることができますが、同様に多くのランダム性があります。興味深いのは、このPNGファイルのサイズは232KBですが、250,000のグレースケールピクセルが含まれていることです。PNG圧縮レベルは最大でした。つまり、圧縮率は7%だけです。かなり非圧縮性。また興味深いのは、ファイルが一意であることです。このファイルのすべての世代はわずかに異なるパターンであり、圧縮率は約7%です。 私の主張にとって重要であるため、これを強調します。これはバイトあたり約7ビットのエントロピーです。もちろん、より強力な圧縮アルゴリズムを使用すると削減されます。ただし、0ビット/バイトに近い値に減らさないでください。上記の画像を撮影し、そのカラーマップをランダムな画像に置き換えることで、より良い印象を得ることができます。 構造のほとんど(上半分)は、類似しているがわずかに異なる値のシーケンスであるため、消えます。これは、マルチテイキングオペレーティングシステムでJavaプログラムを実行するだけで作成される真のエントロピーソースですか?一様に分布した乱数ジェネレータではなく、1つのエントロピーソースですか?たまたまPCである物理ハードウェアで実行されるソフトウェアで構築されたエントロピーソース。 補足 すべてに共通の固定パターンなしですべての画像が新鮮なエントロピーを生成することを確認するために、10個の連続した画像が生成されました。次に、これらを連結し、私がコンパイルできる最強のアーカイバ(paq8px)で圧縮しました。このプロセスは、変更/エントロピーのみを残す自動相関を含む、すべての一般的なデータを削除します。 連結されたファイルは〜66%に圧縮されており、エントロピー率は〜5.3ビット/バイトまたは10.5Mbits / imageになります。驚くべき量のエントロピー⌣⌣ \smile 補足2 圧縮テストの方法論によるエントロピーに欠陥があるという否定的なコメントがあり、緩やかな上限推定値を示しているだけです。NISTの公式暗号エントロピー評価テストSP800-90B_EntropyAssessmentを使用して、連結ファイルを実行しました。これは、非IIDエントロピー測定の場合と同じくらい良好です。これはレポートです(この質問は長くなっていますが、問題は複雑です): Running non-IID tests... Entropic statistic estimates: Most Common Value Estimate = 7.88411 Collision Test Estimate = 6.44961 Markov Test Estimate = 5.61735 Compression Test Estimate = 6.65691 t-Tuple Test …

2
オペレーティングシステムは、ランダムシードのエントロピーをどのように作成しますか?
Linuxでは、ファイル/dev/randomと/dev/urandomファイルは、それぞれ、擬似ランダムバイトのブロックおよび非ブロック(それぞれ)ソースです。 それらは通常のファイルとして読むことができます: $ hexdump /dev/random 0000000 28eb d9e7 44bb 1ac9 d06f b943 f904 8ffa 0000010 5652 1f08 ccb8 9ee2 d85c 7c6b ddb2 bcbe 0000020 f841 bd90 9e7c 5be2 eecc e395 5971 ab7f 0000030 864f d402 74dd 1aa8 925d 8a80 de75 a0e3 0000040 cb64 4422 02f7 0c50 6174 f725 0653 2444 …

2
難しいこと:並べ替えられたデッキをシャッフルするか、シャッフルされたデッキを並べ替えるのですか?
異なる要素の配列があります。あなたは(ブラックボックス関数は、2つの要素取るコンパレータへのアクセス権を持つとし、trueを返す)とビット真にランダムソース(ブラックボックス関数は、引数を取ることなく、独立して、均一にランダムビットを返します)。次の2つのタスクを検討してください。nnnaaabbba&lt;ba&lt;ba < b 配列は現在ソートされています。一様に(またはほぼ一様に)ランダムに選択された順列を生成します。 配列は、本質的にランダムに均一に選択されたいくつかの順列で構成されています。ソートされた配列を作成します。 私の質問は どのタスクが漸近的により多くのエネルギーを必要としますか? 情報理論、熱力学、またはこの質問に答えるために必要な他のものとの関係について十分に知らないため、質問をより正確に定義することはできません。しかし、質問は明確に定義できると思います(そして、誰かがこれで私を助けてくれることを願っています!)。 今、アルゴリズム的に、私の直感は、それらが等しいということです。すべての並べ替えは逆のシャッフルであり、逆もまた同様です。ソートにはが必要からランダムな順列を選択するため、シャッフル中の比較選択、が必要ランダムビット。シャッフルとソートの両方に、約スワップが必要です。logn!≈nlognlog⁡n!≈nlog⁡n\log n! \approx n \log nn!n!n!logn!≈nlognlog⁡n!≈nlog⁡n\log n! \approx n \log nnnn しかし、ランダウアーの原理を応用した答えが必要だと感じています。それは、少し「消す」ためにエネルギーが必要だと言っています。直感的に、これは配列のソートがより困難であることを意味すると思います。なぜなら、低エネルギー、高エントロピーの基底状態の乱れから高度に秩序化された状態への情報の「消去」ビットが必要だからです しかし一方で、任意の計算では、並べ替えは1つの順列を別の順列に変換するだけです。私はここでは完全な非専門家なので、物理学とのつながりを知っている人がこれを「分類」するのを手伝ってくれることを望んでいました!nlognnlog⁡nn \log n (質問はmath.seで回答を得られなかったので、ここに再投稿しています。それでいいのです。)

3
0.922のシャノンエントロピー、3つの異なる値
値の文字列を考えるログベースで、シャノンエントロピーを になる。私が理解していることから、基数 切り上げられたシャノンエントロピーは、値の1つを表すためのバイナリの最小ビット数です。AAAAAAAABCAAAAAAAABCAAAAAAAABC2220.9220.9220.922222 このウィキペディアのページの紹介から引用: https://en.wikipedia.org/wiki/Entropy_%28information_theory%29 それでは、どのようにして3つの値を1ビットで表現できますか? は 、 は です。しかし、どのようにを表現できます か?AAA111BBB000CCC 前もって感謝します。

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z =&gt; x var x; Z =&gt; let x = undefined in Z x = y; Z =&gt; let x = y in Z if x then T else F; Z =&gt; if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
算術コーディングへのハフマンコーディングの一般化はありますか?
ハフマン符号化、算術符号化、および範囲符号化の関係を理解し​​ようとするとき、ハフマン符号化の欠点が分数ビットパッキングの問題に関連していると考え始めました。 つまり、シンボルに240の可能な値があり、これをビットにエンコードする必要がある場合、8は256の可能な値を表すことができるため、「フル」8は必要ないとしても、シンボルごとに8ビットでスタックすることになります。シンボルごと。この問題の解決策は、「フラクショナルビットパッキング」と呼ばれるもので、乗算を使用して2のべき乗ではない「ビットシフト」が可能です。2のべき乗の乗算がシフトするのx * 2 == x &lt;&lt; 1と同じようにx * 4 == x &lt;&lt; 2、2のべき乗すべてに対して同様に続きます。そのため、代わりに乗算することにより、2のべき乗でない値で「シフト」し、小数ビットサイズのシンボルにパックできます。 。 この問題はハフマンコーディングと同様です。結局、長さが小数ビットサイズでなければならないコードが作成されるため、このパッキング効率は低くなります。ただし、フラシトンビットパッキングのソリューションは、固定サイズのシンボルを想定しているため、単に使用することはできません。 問題は、算術コーディングに似たものを達成するために、フラクショナルビットパッキングと同様のアイデアでハフマンコーディングを改善するための論文や解決策はありますか?(または反対の結果)。

1
行列エントロピーの制約付き最適化問題
(シャノン)マトリックスエントロピーに制約付き最適化問題があります。行列Aは、形式[ v iのランク1行列の合計として記述できます。(s um(e n t r (e i g (A ))))(sum(entr(eig(A))))\mathtt{(sum(entr(eig(A))))}あAAここで、 v iは所定の正規化ベクトルです。ランク1行列の係数は、最適化の対象となる未知数であり、それらはゼロより大きく、合計が1でなければなりません。[ v私vT私][viviT][v_i\,v_i^T]v私viv_i CVXのような構文では、問題は次のようになります。与えられた変数c (n )c(n)\mathtt{c(n)} 最小化S Um(e n t r (e i g (A )))minimizesum(entr(eig(A)))\text{minimize} \qquad \mathtt{sum(entr(eig(A)))} 。従うあ∑ c私c私= ∑ c私v私vT私= 1≥ 0subject toA=∑civiviT∑ci=1ci≥0\begin{align} \text{subject to} \qquad A &= \sum c_i v_i v_i^T\\ \sum c_i &= 1\\ …

1
ファイルのエントロピーを実際に測定するにはどうすればよいですか?
私のファイルに含まれる多くの非冗長(実際の)情報を測定しようとしています。これをエントロピーの量と呼ぶ人もいます。 もちろん標準のp(x)log {p(x)}はありますが、シャノンはチャネルを介して送信するという観点からのみ考慮していたと思います。したがって、式にはブロックサイズが必要です(たとえば、ビット単位で8)。大きなファイルの場合、この計算はほとんど役に立ちません。シンボル間の短距離から長距離への相関は無視されます。 二分木とZiv-Lempelメソッドがありますが、これらは本質的に高度に学術的であるように見えます。 圧縮率もエントロピーの尺度と見なされますが、圧縮の程度に下限はないようです。私のファイルhiss.wavの場合、 元のhiss.wav = 5.2 MB シャノン公式によるエントロピー= 4.6 MB hiss.zip = 4.6 MB hiss.7z = 4.2 MB hiss.wav.fp8 = 3.3 MB hiss.wav内に存在するエントロピーの量を測定する合理的に実行可能ないくつかの方法はありますか?
9 entropy 

1
無限大または最小エントロピーでのレニーエントロピー
nがRényiエントロピーの無限大に行くときの制限について言及している論文を読んでいます。これは、として定義され。次に、としての制限はと述べています。ではなく、最大値を使用する別の記事を見ました。すべてのが等しい(均一な分布)場合、これはかなり簡単にうまくいくと思います。これを均一分布以外で証明する方法はわかりません。誰でもそれがどのように行われるかを私に示すことができますか?Hn(X)=11−nlog2(∑i=1Npni)Hn(X)=11−nlog2⁡(∑i=1Npin){{H}_{n}}\left( X \right)=\dfrac{1}{1-n} \log_2 \left( \sum\limits_{i=1}^{N}{p_{i}^{n}} \right)n→∞n→∞n\to \infty −log2(p1)−log2⁡(p1)-\log_2 \left( p_1 \right)pi′spi′s{{p}_{i}}'sp1p1{{p}_{1}}pi′spi′s{{p}_{i}}'s


3
画像のシャノンのエントロピー
画像のシャノンのエントロピー[plog(1 / p)]は、2つのピクセルまたはピクセルのグループを比較するための確率論的方法です。3x3のマトリックスを持つ画像にピクセル強度値があるとします。 1 1 2 2 3 3 4 4 5 3x3マトリックスの別の画像には、強度値を持つピクセルのグループがあります。 5 5 6 6 7 7 8 8 9 その場合、画像のシャノンのエントロピーは同じになります。この場合、エントロピー値は、実際には画像が異なるものの同じであることを示します。したがって、この手法を使用した画像マッチングは役に立ちません。監視された分類に基づくと、私はシャノンのエントロピーの訓練されたデータベースに基づいて画像を分類します、私たちはエントロピーの概念を使用して2つの画像間の類似性を見つけます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.