問題タブ [random]
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.
algorithm - 比率が 1:2 の乱数
行列の 2 つのランダムなセットを生成する必要があります。それぞれに 2 ~ 10 の範囲の 3 桁の数字が含まれています
そのように
行列 1: 994,878,129,121
行列 2: 272,794,378,212
両方の行列の数値は 100 より大きく、999 より小さくなければなりません
しかし
両方の行列の平均は、ユーザーが入力した制約が何であれ、1:2 または 2:3 の比率でなければなりません。
私の数学のスキルは限られているので、どうすればこれを実現できますか?
algorithm - 平行四辺形内のランダムポイント
2Dの4点で定義された4辺の凸多角形があり、その中にランダムな点を生成できるようにしたいと考えています。
それが本当に問題を単純化するのであれば、ポリゴンを平行四辺形に制限することができますが、より一般的な答えが好まれます。
ポリゴンの内側に入るまでランダムなポイントを生成することは、実際に予測できない時間がかかるため、機能しません。
mysql - Sql データベースからの単純なランダム サンプル
SQLで効率的な単純なランダムサンプルを取得するにはどうすればよいですか? 問題のデータベースは MySQL を実行しています。私のテーブルは少なくとも 200,000 行あり、約 10,000 の単純なランダム サンプルが必要です。
「明白な」答えは次のとおりです。
大きなテーブルの場合、これは遅すぎます。RAND()
すべての行を呼び出し (すでに O(n) に配置されています)、それらを並べ替えて、せいぜい O(n lg n) にします。O(n) よりも速くこれを行う方法はありますか?
注: Andrew Mao がコメントで指摘しているように、SQL Server でこのアプローチを使用している場合は、NEWID()
RAND()がすべての行に対して同じ値を返す可能性があるため、T-SQL 関数を使用する必要があります。
編集:5年後
より大きなテーブルでこの問題に再び遭遇し、@ignorant のソリューションのバージョンを 2 つの調整で使用することになりました。
- 希望するサンプル サイズの 2 ~ 5 倍の行を安価にサンプリングします
ORDER BY RAND()
RAND()
挿入/更新のたびに、インデックス付きの列に結果を保存します。(データ セットの更新頻度がそれほど高くない場合は、この列を最新の状態に保つ別の方法を見つける必要がある場合があります。)
テーブルの 1000 アイテムのサンプルを取得するために、行をカウントし、その結果を、frozen_rand 列を使用して平均で 10,000 行までサンプリングします。
(私の実際の実装では、アンダーサンプリングしないことを確認し、rand_high を手動でラップするための作業がさらに必要になりますが、基本的な考え方は、「N をランダムに数千に減らす」ことです。)
これには多少の犠牲が伴いますが、インデックス スキャンを使用して、データベースが十分に小さくなるまでサンプル ダウンすることができますORDER BY RAND()
。
excel - Excel for Office 2007 および Vista SP1 用の信頼性の高い実数値ジェネレーター
Excel 2007 (Vista SP1 上で実行) で実数/整数値を生成するために使用しているアドインを教えてください。私はそれらのいくつか、特に AbleBits.com の Random Generator を試しましたが、そこに最低値と最高値を入力する際にいくつかの問題があります。これは、Office 2007 と Vista の構成によるものだと思います。
どんな提案でも大歓迎です!
ありがとう!
unix - VM (仮想マシン) を使用するときに dev/random をセットアップできますか?
VM (この場合は VMWare) 内で OS を実行しているときに dev/random をセットアップできるかどうかを知っている人はいますか?
random - Smalltalk の範囲内でランダムな整数を生成するにはどうすればよいですか?
私が現在受講しているクラスでは、すべてのコーディングを smalltalk で行う必要があります (これはデザイン クラスです)。私たちのプロジェクトの 1 つで、私はいくつかのことをしようとしていますが、その方法を見つけるのに苦労しています。ほとんどの人は、自分のバージョンの smalltalk を変更して、必要なことを実行しているようです。教授が私と同じ組み込みメソッドを持っていない場合、教授のコンピューターでエラーが発生するため、これを自由に行うことはできません。
これが私がやろうとしていることです:
乱数。1 から 1000 までの乱数を作成する必要があります。
これにより、0 から 1000 までの数値が得られます。1 つのコマンドでこれを行う方法はありますか? に似ている
And/Or ステートメント。これは私から生きている日光を悩ませます。私はいくつかの異なる構成を試しました
だから私はネストされた ifTrue ステートメントでそれを偽造しています:
smalltalk で and/or and Random を行う正しい方法は何ですか?
perl - PerlでSTDINの行をランダムな順序で印刷するにはどうすればよいですか?
私はsort(1)の逆を行いたい: Perlでstdinのすべての行をstdoutにランダム化します。
c++ - 乱数アルゴリズム
ランダム性のアルゴリズムに関して助けが必要です。だから問題は。
8 時間の間に 50 のイベントが発生します。イベントはランダムな時間に発生する可能性があります。これは、毎秒 50/(8*60*60)= .001736 のイベントが発生する可能性があることを意味します。ランダム生成アルゴリズムでこれを行うにはどうすればよいですか?
乱数を取得できます
しかし、ほとんどの場合、rand() は 0 および 0<0.001736 を返し、必要以上のイベントを取得しています。
助言がありますか?
申し訳ありませんが、チャンスをダブルチャンスとして計算したことを忘れてしまいました = (static_cast )(r) / (static_cast)(RAND_MAX);
static_castからダブルを削除しました
ダブルチャンス = (ダブル)r/(ダブル)(RAND_MAX);
c++ - 全範囲で均一に乱数を生成する
指定された間隔 [max;min] 内で乱数を生成する必要があります。
また、乱数は、特定のポイントに配置するのではなく、間隔全体に均一に分散する必要があります。
現在、私は次のように生成しています:
私のテストでは、乱数は 1 点のみで生成されます。
生成される乱数:
以下の回答から: OK、RAND_MAX は 32767 です。私は C++ Windows プラットフォームを使用しています。一様分布で乱数を生成する他の方法はありますか?
algorithm - ランダムソートの実行時間
sorted
O(n) で実行されるリストが並べ替えられている場合に True を返す関数が与えられた場合、この並べ替えの実行時間をどのように説明しますか。
シャッフルは完全にランダムであると仮定します。
これはbig-O表記で書かれますか?または、ランダムなコンポーネントを使用してアルゴリズムを分類する他の方法はありますか?