-1

私の問題に適した最良の例は宝くじですが、宝くじとは少し異なりますが、アイデアは似ています。私のプログラムは、以前に生成された数値を格納するデータベースからデータをフェッチしています。番号は次の形式です。

...
5, 10, 11
...

3つの乱数これで、テーブルには、以前に生成された最大10,000の数値が保持され、テーブルの形式は次のようになります。

 UniqueID (autoincrement), Number1, Number2, Number3, DateOfGeneration

どのようなアルゴリズムが必要か、あるいはアルゴリズムを思いつくのに役立つ本を提案するかもしれません。私はあなたにコードを書くように頼んでいません。私が自分でそれを読んで理解できるように、チュートリアルや本やサイトを求めているだけです。

来る可能性が最も高い次の組み合わせを計算する必要があります。つまり、以前に生成された10,000の組み合わせのうち 3、5、19の組み合わせが350倍になり、次にこの組み合わせが現れる確率は次のようになります。

350/10000 = 0.035 or 3.5%

この0.035を次の構造を持つ配列に格納します。

$arrayOfCombinations[combinationisthekey] = probability

例:

$arrayOfCombinations['3,5,19'] = 0.035

次に、この配列からランダムに選択されるある種のアルゴリズムを実行します。そのため、組み合わせ3、5、19は、0.035の確率で選択されます。

私は、すべての組み合わせとその確率を保持する配列のステップに到達する方法を知っています。確率で配列からランダムに選択するアルゴリズムが必要です。

より正確にするために、その番号が生成された日付を考慮する必要がありますか?確率を増減する必要がありますか?私が必要としているが、どこを探すべきかわからないこれらの種類の要因。

どんな提案やリンク/チュートリアルもありがたいです、そしてどうもありがとうございました。

繰り返しますが、私はあなたにあなたの時間を費やして私のためにコードを書くように頼んでいません。自分で書くので、なんらかのチュートリアルが必要です。

編集:(要点についてはこれを読んでください)

私が探している主なことは、組み合わせの確率を増減させる可能性のある、どのような要因を覚えておく必要があるかということです。生成された数値の日付、3つの数値が偶数か奇数かなど...そして、これらすべての要素を取得したときに、これらのデータをプラグインして正確な結果を取得するには、どのアルゴリズムが最適であるか(ある場合)

4

2 に答える 2

2

2 つのアプローチが思い浮かびます。

最初のカット: インデックスとして数値を使用して確率を配列に格納する代わりに、単純な数値 (つまり、インデックスは 1、2、3 など) をインデックスとして配列に数値を格納してみてください。テーブルの各エントリに対して 1 つのエントリを配列に配置し、配列内の要素数 1..number からランダムに数値を選択します。この乱数を使用して、配列から組み合わせを抽出します。このようにして、予想される頻度で配列から組み合わせを引き出します。

もう 1 つのオプションは、組み合わせをキーとして引き続き使用することですが、確率を配列に格納する代わりに、各組み合わせの実際の出現回数を格納します (たとえば、.035 ではなく 350 を格納します)。1 から出現回数の合計までの数値をランダムに選択し、配列を反復処理して、ランダム値がゼロまたは負になるまで、配列に格納されている出現回数をランダム値から減算します。見たのはあなたが見つけた組み合わせです。

もし私がこれをしなければならないなら、私は#1を好むでしょう - それはシンプルで実装が簡単です。#2 はメモリを少し節約します。30 年前なら私の選択だったでしょうが、現在、自由に使えるギガバイトの実メモリがあるため、重要でないリソースの使用を最小限に抑えようとする大きな理由は見当たりません。

YMMV。

共有してお楽しみください。

于 2013-03-14T18:42:07.273 に答える
0

n-grams の確率を計算しようとしているようです。これは、Google が自然言語処理で使用するものと似ており、単語の代わりに数字を使用しています。この問題にアプローチする方法については、多くの既存のモデルがあります。

特に効率的に実行できることの 1 つは、数値のマルコフ連鎖モデルを推定することです。これにより、すべての n-gram の確率が効率的に保存され、得られます。ただし、これは、現在観察した数にのみ依存するという仮定を立てます。

于 2013-03-14T19:05:19.173 に答える