問題タブ [probability]
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.
statistics - 同じペイロードを持つ TCP パケットを見つける確率は?
私は今日、同じペイロードを持つ特定のインターフェイスで送信される TCP パケットを特定することについて、開発者と話し合いました。彼は、TCP パケットがシステム レベルで構築される方法のために、等しいペイロードを持つ TCP パケットを見つける可能性は (同じデータが数回送信されたとしても) 非常に低いと私に言いました。システムの MTU 設定 (通常は 1500 バイト) などが原因である可能性があることは認識していましたが、実際にどのような確率統計を見ているのでしょうか? 一致するペイロードの識別を容易にする特定のプロトコルはありますか?
algorithm - 素朴なシャッフルに関する現実の問題
私はポーカー関連のトピックを使ってプログラミングの概念を始めることを教えることを目的とした多くの記事を書いています。現在、シャッフルのテーマに取り組んでいます。
Jeff AtwoodがCodingHorror.comで指摘しているように、1つの単純なシャッフル方法(配列を繰り返し、各カードを配列内の他の場所のランダムなカードと交換する)は、順列の不均一な分布を作成します。実際のアプリケーションでは、より均一なランダム性のためにKnuthFisher-Yatesシャッフルを使用します。しかし、私は、プログラミングの概念の説明を、はるかにコーダーに適さないアルゴリズムで行き詰まらせたくありません。
これは質問につながります:あなたが52枚のカードのデッキの素朴なシャッフルを使用していることを彼らが知っていたら、ブラックハットはどれだけの利点を持っているでしょうか?非常に小さいようです。
java - Alias メソッドのオープンソース実装
私は現在プロジェクトを行っており、コードの再利用のために、アイテムの確率的な受け入れ/拒否を実行できるライブラリを探しに行きました:
つまり、3 人 (a, bc) がいて、それぞれがアイテムを取得する確率 P{i} を持っています。ここで、p{a} は a の確率を示します。これらの確率は実行時に計算され、ハードコードすることはできません。
私がやりたかったのは、(アイテムに対して) 乱数を 1 つ生成し、そのアイテムを手に入れる確率に基づいて誰がそのアイテムを手に入れるかを計算することです。ここで概説されているエイリアス メソッド ( http://books.google.com/books?pg=PA133&dq=alias+method+walker&ei=D4ORR8ncFYuWtgOslpVE&sig=TjEThBUa4odbGJmjyF4daF1AKF4&id=ERSSDBDcYOIC&output=html ) で方法を説明しましたが、既製の方法があるかどうかを確認したかったのです。実装なので、それを書く必要はありません。
math - 確率の問題 - 大きなバスケットから選択すると重複する
異なると思われる 2 つの試験の間に重複が表示される理由をクライアントに説明する必要があります。Prob and Stats から 20 年が経ちました。
生成された多肢選択式試験があります。データベースには 192 の質問があり、100 はランダムに選択されます (重複はありません)。
明らかに、そのように生成された 2 つの検査の間に少なくとも 8 つの重複がある可能性は 100% あります。(ピジョンホールの原理)
25 回の重複が発生する確率を計算するにはどうすればよいですか? 50匹のだめ?75人?
-- 事後に編集 -- これを Excel で実行し、n-100 から確率の合計を取得しました。この特定の問題では、確率は
c# - 独自の Tinyurl スタイルの uid を作成する
私は、Guid/UID に代わる人間が読める形式についての小さな記事を書いています。たとえば、TinyURL で URL ハッシュに使用されるものです (雑誌に掲載されることが多いため、短くする必要があります)。
私が生成している単純な uid は、小文字 (az) または 0-9 の 6 文字です。
「私の計算によるとキャプテン」、これは相互に排他的な 6 つのイベントですが、衝突の確率の計算は P(A または B) = P(A) + P(B) よりも少し難しくなります。以下のコードでは、50/50 を使用して数字または文字を使用するかどうかがうまくいくことがわかります。
私は衝突率に興味があります。以下のコードが予想される衝突率の現実的なシミュレーションである場合、ハッシュの生成から得られるでしょう。平均して、100 万回あたり 40 ~ 50 回のクラッシュが発生しますが、uid が一度に 100 万回生成されることはなく、おそらく 1 分間に 10 ~ 1000 回程度しか生成されないことを念頭に置いてください。
毎回のクラッシュの確率はどのくらいですか? また、より良い方法を提案できる人はいますか?
更新: この質問から得られた記事は次のとおりです
ここで本当に 2 つの質問をしたので、ごまかしていました。私が求めていた答えはrcarのものでしたが、Sklivvzのものも2番目の部分に対する答えです(代替)。データベースでカスタムの一意の ID ジェネレーターを作成することは可能ですか、それともクライアント側でしょうか (最初に 2 回の読み取りが可能です)。
私が求めていた一般的なアイデアは、巨大な 16 バイトの GUID ではなく、電話や印刷物で使用できるデータベースやその他のストアで ID を使用することでした。
更新 2: 2 つの独立したイベントの代わりに、相互に排他的な 2 つのイベントの式を上に置きました (最初に「a」を取得しても、2 回目に「a」を取得できないという意味ではないため)。P(A and B) = P(A) x P(B) であるべきだった
statistics - プログラムでポーカーオッズを計算するにはどうすればよいですか?
私はポーカーオッズを計算するための簡単なゲーム/ユーティリティを書こうとしています。そのための公式について説明しているリソースがたくさんあることは知っていますが、それをコードに変換するのに問題があると思います。特に、テキサスホールデムに興味があります...
私はいくつかの異なるアプローチがあることを理解しています。1つはあなたが見ることができるカードに基づいてあなたがいくらかの手を引くオッズを計算することができるということです。もう1つのアプローチは、特定のハンドを獲得するオッズを計算することです。2番目のアプローチは、より多くのデータ(プレーヤーの数など)を入力する必要があるため、はるかに複雑に見えます。
私はあなたが私のためにそれを書くことを求めていませんが、正しい方向へのいくつかの微調整は助けになるでしょう:-)
statistics - セットから要素を選択する確率
n個の要素のセットから要素をランダムに選択する予想確率はP=1.0/nです。偏りのない方法でPを何度もチェックするとします。Pの配布タイプは何ですか?負になることはできないため、Pが正規分布していないことは明らかです。したがって、Pがガンマ分布であると正しく仮定できますか?はいの場合、この分布のパラメーターは何ですか?100要素セットから1000回要素を選択する確率のヒストグラムをここに示します。
これを標準分布に変換する方法はありますか
ここで、与えられた要素を選択する観測された確率がP *(P *!= P)であると仮定します。バイアスが統計的に有意であるかどうかをどのように推定できますか?
編集:これは宿題ではありません。私は趣味のプロジェクトをやっていて、そのためにこの統計が必要です。私は10年前に最後の宿題をしました:-)
python - 正規分布の標準偏差を計算するための標準CまたはPythonライブラリ
正規分布n(x):mean=0および\int_ {-a} ^ {a} n(x)=Pがあるとします。
そのような分布の標準偏差を計算する最も簡単な方法は何ですか?そのタスクに適したPythonまたはCの標準ライブラリがあるかもしれませんか?
c++ - C++で何かが起こる可能性が1/4であるかどうかを計算する最良の方法は?
スマートに調べる方法がないか考えてみた
1/4の確率で何かが起こる。
rand() % 4 を使用してこれを実行し、それが 0 に等しいかどうかを確認できることはわかっていますが、rand() を使用しない方法はありますか? C ++で、ありがとう。
algorithm - 連続確率分布の表現
連続確率分布関数のコレクションに関連する問題があります。そのほとんどは経験的に決定されます(出発時間、通過時間など)。私が必要としているのは、これらのPDFのうちの2つを取得し、それらを計算する方法です。たとえば、PDFXから取得した2つの値xとPDFYから取得したyがある場合、(x + y)またはその他の操作f(x、y)のPDFを取得する必要があります。
分析的な解決策は不可能なので、私が探しているのは、そのようなことを可能にするPDFの表現です。明らかな(しかし計算コストの高い)解決策はモンテカルロです。xとyの値をたくさん生成し、f(x、y)を測定するだけです。しかし、それにはCPU時間がかかりすぎます。
私は、PDFを範囲のリストとして表すことを考えました。各範囲はほぼ等しい確率であり、PDFを一様分布のリストの結合として効果的に表すことができます。しかし、それらを組み合わせる方法がわかりません。
誰かがこの問題に対する良い解決策を持っていますか?
編集:目標は、PDFを操作するためのミニ言語(別名ドメイン固有言語)を作成することです。しかし、最初に、基礎となる表現とアルゴリズムを整理する必要があります。
編集2: dmckeeはヒストグラムの実装を提案します。それが、一様分布のリストで得ていたものです。しかし、それらを組み合わせて新しいディストリビューションを作成する方法がわかりません。最終的には、これが非常に小さい場合に備えて、P(x <y)のようなものを見つける必要があります。
編集3:ヒストグラムがたくさんあります。発生データから生成しているため、均等に分散されていないため、基本的に100個のサンプルがあり、ヒストグラムに10個のポイントが必要な場合は、各バーに10個のサンプルを割り当て、バーを可変幅で一定の面積にします。
PDFを追加するには、それらを畳み込むことがわかったので、そのための計算に骨を折った。2つの一様分布を畳み込むと、3つのセクションを持つ新しい分布が得られます。広い一様分布はまだ存在しますが、狭い方の幅の両側に三角形が貼り付けられています。したがって、XとYの各要素を畳み込むと、これらがすべて重なり合うようになります。今、私はそれらすべてを合計する方法を理解し、それからそれに最適な近似であるヒストグラムを取得しようとしています。
結局、モンテカルロはそんなに悪い考えではなかったのだろうかと思い始めています。
編集4: このペーパーでは、一様分布の畳み込みについて詳細に説明します。一般に、「台形」の分布が得られます。ヒストグラムの各「列」は一様分布であるため、これらの列を畳み込み、結果を合計することで問題が解決されることを期待していました。
ただし、結果は入力よりもかなり複雑で、三角形も含まれます。 編集5: [間違ったものを削除しました]。しかし、これらの台形が同じ面積の長方形に近似されている場合は、正しい答えが得られ、結果の長方形の数を減らすことも非常に簡単に見えます。これは私が見つけようとしてきた解決策かもしれません。
編集6:解決しました!この問題の最終的なHaskellコードは次のとおりです。
他の演算子は、読者の練習問題として残されています。