問題タブ [entropy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 遅い SecureRandom ジェネレーターに対処するには?
Java で暗号的に強力な乱数が必要な場合は、 を使用しますSecureRandom
。残念ながら、SecureRandom
非常に遅くなる可能性があります。Linuxで使用/dev/random
する場合、十分なエントロピーが構築されるのを待つことをブロックできます。パフォーマンスの低下をどのように回避しますか?
この問題の解決策としてUncommon Mathsを使用した人はいますか?
このパフォーマンスの問題がJDK 6で解決されたことを確認できる人はいますか?
theory - 代替エントロピーソース
さて、これは完全に主観的なものだと思いますが、乱数ジェネレーターのエントロピーソースについて考えていました。ほとんどのジェネレーターには現在の時刻がシードされていますよね?さて、私は他のどのソースを使用して完全に有効なランダムな(緩い定義の)数値を生成できるかについて興味がありました。
複数のソース(時間+現在のHDDシーク時間[ここでは素晴らしい]など)を一緒に使用すると、単一のソースよりも「ランダムな」数値が作成されますか?ソースの量の論理的な制限は何ですか?本当にいくらで十分ですか?便利だからといって時間が選ばれるのでしょうか?
このようなことが許されないのならすみませんが、情報源の背後にある理論については興味があります。
computer-science - コンピューター科学におけるエントロピーの定義は何ですか?
最近、大学でデータ圧縮のコースを開始しました。しかし、コンピューターサイエンスに適用される「エントロピー」という用語の使用はかなり曖昧です。私が知る限り、それは大まかにシステムまたは構造の「ランダム性」に変換されます。
コンピュータサイエンスの「エントロピー」の正しい定義は何ですか?
compression - シャノンのエントロピー公式。私の混乱を助けて
エントロピー式についての私の理解では、データを表すために必要な最小ビット数を計算するために使用されるということです。通常、定義するときは別の言い方をしますが、以前の理解は私が今まで頼っていたものです。
これが私の問題です。100 個の「1」の後に 100 個の「0」が続くシーケンスがあるとします = 200 ビット。アルファベットは {0,1}、エントロピーの底は 2 です。シンボル "0" の確率は 0.5、"1" は 0.5 です。したがって、エントロピーは 1 または 1 ビットで 1 ビットを表します。
ただし、100 / 1 / 100 / 0 のようなものでランレングス エンコードすることができます。出力するビット数の後にビットが続きます。データよりも小さい表現を持っているようです。特に、100 をはるかに大きな数に増やした場合。
私が使用している: http://en.wikipedia.org/wiki/Information_entropy現時点での参照として。どこで私は間違えましたか?シンボルに割り当てられた確率ですか?私はそれが間違っているとは思わない。それとも、圧縮とエントロピーの関係を間違えたのでしょうか? 他に何か?
ありがとう。
編集
いくつかの回答に続いて、私のフォローアップは次のとおりです。メッセージの特定のインスタンスにエントロピー式を適用して、その情報コンテンツを見つけようとしますか? メッセージ「aaab」を取り上げて、エントロピーが ~0.811 であると言うのは有効でしょうか? はいの場合、エントロピー式を使用して 1 と 0 が n 回繰り返される 1...10....0 のエントロピーは何ですか。答えは1ですか?
はい、入力シンボルのランダム変数を作成し、メッセージに基づいて確率質量関数を推測していることを理解しています。私が確認しようとしているのは、エントロピー式がメッセージ内のシンボルの位置を考慮していないということです。
binary - バイナリ ストリームのエントロピー エンコーディング
バイナリ ストリームを圧縮したい。「1」の後に「0」を見つける確率が高くなり、「0」の後に「1」を見つける確率が高くなることがわかっています。どのようにエンコードすればよいですか?ライスコードについて考えていましたが、ここまでは行きませんでした... 返信ありがとうございます。
random - ユーザー入力からエントロピープールを構築するためのソフトウェアはありますか?
いくつかの目的のために、自然な入力を支持して、アルゴリズムによって生成されたあらゆる種類の乱数をバイパスできると便利です---たとえば、サイコロの目。たとえば、暗号化キーの生成は、必要なランダムデータがほとんどなく、データが本当にランダムであるという要件が十分に高いため、実行可能で望ましいことであると私は思います。
だから、私が行って手を汚す前に知りたいのは、これですか?ランダムな数字の入力から直接エントロピープールを構築するためのソフトウェアはありますか?基数rから基数2に単純に変換するだけでは十分ではないことに注意してください。たとえば、3と2は互いに素であるため、元の入力の最大エントロピーを保持しながら、基数3(または基数6)の数値を2進数に変換するのは完全に簡単ではありません。
iphone - iPhone でデータベース機能を簡単にするために、SQLite3 ラッパー API を試した人はいますか?
SQL 以外のバックグラウンドを持つ私は、ここ数日間、SQLite3 を吸収するのに苦労しています。SQLite3 ラッパー API のいずれかを使用して良い結果を得た人はいますか? それらは確実に機能しますか?どれが最高ですか?Core Data が iPhone に登場するという噂も耳にしています。その情報が信頼できるかどうかは定かではありませんが、知っている人もいるかもしれません: ある時点で iPhone 用の Core Data があるのでしょうか?
entropy - 数値のどの部分がよりエントロピーを持っていますか?
PRNGではなく、ある種のセンサーまたはロギングデータなど、何らかのソースからのシーケンスpf番号N
1 , N
2 , N
3が与えられた場合、このように処理すると仮定しても安全ですか?...
N
n
/ B = Q
nRem M
n
シーケンスQ
よりエントロピーが少ないシーケンスになりますM
か?
注:とのB
両方が同じサイズの範囲であると仮定します。Q
M
これは、ほとんどの現実世界のデータ セットがソースに関係なく、対数分布を持っているという観測に関連しています。1 で始まる数字は、9 で始まる数字よりもはるかに一般的です。しかし、これは下位の部分についてはほとんど語っていません。
これをテストするための楽しい方法 (そしてシステム管理者のコンピューターを停止させて怒らせる方法) として、これを bash で実行します。
ファイルサイズの最初の桁のヒストグラムを取得します。
algorithm - ファイルのエントロピーを計算するには?
ファイルのエントロピーを計算するには? (または、単にバイト数としましょう)
アイデアはありますが、それが数学的に正しいかどうかはわかりません。
私の考えは次のとおりです。
- 256 個の整数 (すべてゼロ) の配列を作成します。
- ファイルをトラバースし、そのバイトごとに
、配列内の対応する位置をインクリメントします。 - 最後に: 配列の「平均」値を計算します。
- カウンタをゼロで初期化し
、配列のエントリごとに、
「平均」に対するエントリの差をカウンタに追加します。
さて、今私は立ち往生しています。すべての結果が 0.0 と 1.0 の間にあるようにカウンターの結果を「投影」する方法は? しかし、私は確信しています、とにかくその考えは矛盾しています...
誰かがより良くて簡単な解決策を持っていることを願っていますか?
注:ファイルの内容を推測するには、すべてが必要です:(
プレーンテキスト、マークアップ、圧縮またはバイナリなど)