タグ付けされた質問 「probability-theory」

確率変数と確率過程の確率を計算することを含む課題。

2
DSAのタレントロール
何人かの友人と私はDSA(主にドイツの卓上型RPGであり、D&Dによく似ています)をプレイしました。ロールをパスするチャンスは何なのだろうと思っていたので、それを計算するためにいくつかのコードを書く必要があります。 あなたのキャラクターは、統計(8から14)と(TV)タレント値(0から21)によって定義されます。ここでは、例として登山を使用します。 才能テスト タレント(クライミング)は次のようになります。(勇気-敏捷性-強さ)TV:7.キャラクターのタレントをテストするには、20面のサイコロでこれらの統計を転がし、統計以下になるようにします。あなたはそれをうまくやっています。そうでない場合は、TVポイントを使用して、ロールを1:1の比率で減らすことができます。 例 勇気12、器用さ13、強さ14のハンターが木に登ろうとしています。テレビは7です。 彼は3を振り、値は12未満なので、その目を通過しました。 それから彼は17を出して、17は13より4多いので、4台のテレビが残り3台で使い果たされます。 最後のロールでは、14のスポットがパスしました。 すべてのロールが通過し、ハンターはなんとか木に登ることができ、3台のテレビが残っています。 入力 言語の標準入力から取得した、選択した任意の形式の4つの値。ただし、この順序でなければなりません。 たとえば12 13 14 7、12,13,14,7または配列{12、13、14、7}または混合として[12, 14, 8], 3 出力 ロールが合格する頻度。 例(上記の値の場合)0.803 12,14,8,3 = 0.322 11,11,12,11 = 0.840 おまけについて:ここでもフォーマットは問題ではありませんが、次の順序で好きなように出力してください: failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7 テレビがなくなるまで続けます。 12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273 12,14,8,3 = 0.678/0.056/0.051/0.047/0.168 チャレンジとルールとボーナス 入力を与えられた場合、ロールを+-0.5%の精度でパスするチャンスを見つける必要があります。 プログラムがnTVで合格するチャンスも出力する場合は-20%(出力を参照)。 これはcode-golfなので、バイト単位の最短コードが優先されます!

6
カードペア確率
整数値[ 1、M ] のカードのNコピーで構成されるデッキの合計がN * Mのカードである場合、値が1のカードが値が2のカードに隣接している確率を計算します。 ソリューションは正確または近似であり、同じ入力が与えられたすべての実行で同じである必要はありません。与えられた答えは、真のソリューションの+/- 5%以内である必要があります(RNGが不利になる可能性は非常にまれです)。プログラムは、妥当な時間内(たとえば、使用しているハードウェアでは10分未満)で答えを出す必要があります。MとNは妥当な小ささで、エラーチェックは必要ないと思われるかもしれません。 デッキは循環的ではないため、最初のカードが1で最後のカードが2の場合、これは隣接要件を満たしていません。 テストケースとして、N = 4およびM = 13(標準の52カードデッキ)の場合、予想されるソリューションは〜48.6%です。 これは、ランダムシャッフルを使用したPython + NumPyでの非実装の例です。 from __future__ import division from numpy import * def adjacent(N, M): deck = array([i for i in range(1, M+1)]*N) trials = 100000 count = 0 for i in range(trials): random.shuffle(deck) ores = (deck …

6
確率分布のAPIを実装する
前書き この課題の課題は、単純な確率分布に対して使用可能なミニライブラリを形成する単純な関数のコレクションを実装することです。ここで使用したい難解な言語のいくつかに対応するために、次の実装が受け入れられます。 名前付き関数(または最も近いもの)のコレクションを定義するコードスニペット。 名前付き関数または無名関数(または最も近い同等物)に評価される式のコレクション。 複数の名前付き関数または匿名関数(または最も近い同等物)に評価される単一の式。 コマンドライン、STDINまたは最も近い同等物から入力を取り、STDOUTまたは最も近い同等物に出力する独立したプログラムのコレクション。 機能 必要に応じて短い名前を使用して、次の関数を実装する必要があります。 uniform2つの浮動小数点数aとを入力として取りb、の一様分布を返します[a,b]。あなたはそれを仮定することができa < bます。ケースa ≥ bは未定義です。 blend入力として3つの確率分布を取りP、QそしてR。確率分布を返します。確率分布はS、値x、yおよびzfrom P、QおよびRをそれぞれ描画し、yif x ≥ 0およびzif を生成しx < 0ます。 over入力として浮動小数点数fと確率分布を取り、から抽出された乱数Pに対してx ≥ f保持される確率を返します。xP 参考までに、over次のように定義できます(疑似コード)。 over(f, uniform(a, b)): if f <= a: return 1.0 else if f >= b: return 0.0 else: return (b - f)/(b - a) over(f, blend(P, …

1
ノックアウト確率
ノックアウトは、プレーヤーが交代で撃つバスケットボールゲームです。それは、2人のプレーヤーのコンテストのシーケンスとして再生されます。各コンテストは、それらのプレーヤーの1人を「ノックアウト」する可能性があります。 プレーヤーがそうでA B C Dあり、射撃とバスケットを作るチャンスが0.1 0.2 0.3 0.4それぞれ、コンテストの他のプレーヤーとは無関係であると仮定します。最前線にいる2人の選手、AそしてB「ファイト」。以来A最初に行く、彼はディフェンダーに排除される危険で、そしてBある攻撃者の即時撤廃の危険にさらされていない、と。A最初に撃つ。成功した場合Aは、A防御に成功し、列の最後に移動します。行はに変わりB C D Aます。Aうまくいかない場合は、B発砲します。作成した場合B、A外に出Bて行の後ろに移動するので、行はになりC D Bます。どちらでもない場合ABして、それ、プロセスの繰り返しを作るAのいずれかになるまで、再び撮影AまたはBバスケットになります。 行がB C D A(A正常に防御された)に変化したとします。さて、BそしてC「ファイト」B、そしてディフェンダーでありC、アタッカーである。このプロセスは、一人だけが残るまで繰り返されます。その人が勝者です。 あなたの仕事は、バスケットを作るチャンスを与えられた勝者一人一人の確率を計算することです。 入力: 数字などのリスト0.1 0.2や0.5 0.5 0.5 0.5、N番目の数は可能性あるのn番目のプレイヤーがバスケットを行います。この入力は、関数へのパラメーターとしてを含め、任意の形式で取得できます。 出力: 数字のリスト。n番目の数字は、n番目のプレーヤーがゲームに勝つ確率です。数値は、少なくとも90%の確率で小数点第2位まで正確でなければなりません。つまり、シミュレーションベースのアプローチを使用できます。ただし、コードがシミュレーションベースではない場合(少なくとも小数点以下6桁に正解が返されることが保証されている場合)、スコアから30%を取り除きます。 間の例0.5 0.5:プレーヤーAとを呼び出しBます。pAが勝つ確率を見てみましょう。防御に成功Aする2/3可能性があります(スコア1/2をA獲得する1/4チャンス、AミスとBスコアを獲得する1/4チャンス、ミスとプロセスの両方が繰り返される可能性があるため)。A防御に失敗した場合、彼はノックアウトされてB勝利します。A防御する場合、ラインはになりB Aます。状況は対称的であるため、A勝つ確率はです(1 - p)。我々が得る: p = 2/3 * (1 - p) + 1/3 * 0。解決、我々が得ますp = 2/5。出力は次のようになります2/5 3/5か0.4 0.6。 より複雑な例を実行する確率は十分ではありません。 さらにテストケースが必要な場合は、次の例をご覧ください。 0.1 0.2 …

4
確率を正確に計算する
このタスクは、確率を正確に計算するコードを記述することです。出力は、最も縮小された形式で分数として記述された正確な確率でなければなりません。つまり、出力んです4/8けど、むしろ1/2。 いくつかの正の整数についてn、1と-1の長さの一様にランダムな文字列を検討し、nそれをAと呼びます。次にA、最初の値に連結します。これはA[1] = A[n+1]、1からのインデックスAが長さを持っている場合 n+1です。ここでn、最初のn値が-1、0、または1であり、確率がそれぞれ1 / 4、1 / 2、1 / 4 である長さの2番目のランダムな文字列についても検討し、Bと呼びます。 たとえば、を検討してくださいn=3。以下のための可能な値Aとは、B可能性A = [-1,1,1,-1]とB=[0,1,-1]。この場合、2つの内積は0および2です。 今の内積考えるA[1,...,n]とBとの内積をA[2,...,n+1]してB。 コードは、両方の内積がゼロである確率を出力する必要があります。 以下のためにn=1、この確率明確です1/2。 nコードでどのように指定されているかは問題ではありませんが、変更方法は非常に単純で明白なはずです。 言語とライブラリ 任意の言語とライブラリを使用できます。コードを実行したいので、可能であればLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。

3
Golfceptionが到着
ゴルフしながらゴルフをしましょう。 問題: 穴までの距離は当初700m ボールに当たるたびに、250-350mの穴まで進みます。これはランダムです。 各ヒットは水に入る確率が5%であり、これによりペナルティとしてヒット数が1ずつ増加します。 ボールが250m未満の場合、80%の確率で行方不明の距離の70%から90%(再びランダム)進み、14%の確率で90%から99%進み、10%(およびフィニッシュ)の1%と5ペナルティとして水に出てヒット数を1増やす割合。 ボールが10m未満になると、95%がホールに入る(フィニッシング)と5%がミッシングパスの75%進みます。水に行く可能性はありません。 明確化: -ボールが穴から270mにあると想像してください。300mヒットすると、穴までの距離は30になります。つまり、距離は絶対値になります。 -数字が常に整数になるのは、たとえばボールが穴から300m離れているときに300mが当たる確率に対処するためです。 -ヒットのmの数を切り捨てます。1mにいると想像してください。穴に入らないことの5%に落ちると、0進みます。 入力: 何もない 出力: 各ヒットの穴までの距離/ n 総ヒット数 出力例(コメントを印刷しないでください) 433m // 267mのヒット(700-267 = 433) 130m // 303mのヒット(433-303 = 130) 130m //水球+1ペナルティヒット 35m // 95mヒット(130-95 = 35) 7m // 28分間ヒット(35-28 = 7 0m //穴の上のボール 合計ヒット7 // 6ヒット+1ペナルティ これはコードゴルフです!

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.