アイテムを「均等に」配布するアルゴリズム
結果のリストが可能な限り「バランスの取れた」または「均等に分散」されるように、リストから値を分散するアルゴリズムを探しています(これらがそれを記述するための最良の方法であると確信していないため、引用符で...後で、結果が他の結果よりも良いかどうかを測定する方法を提供します)。 したがって、リストの場合: [1, 1, 2, 2, 3, 3] 値を再配布した後の最良の結果の1つは次のとおりです。 [1, 2, 3, 1, 2, 3] これと同じくらい良い結果が他にもあるかもしれません。もちろん、値のセットが不均一になると、より複雑になります。 これは、結果が他よりも優れているかどうかを測定する方法です。 各アイテムと同じ値を持つ次のアイテム間の距離を数えます。 その距離のセットの標準偏差を計算します。分散が低いほど、より良い結果が得られます。 観察: 距離を計算し、同じ値を持つアイテムを見つけることなくリストの最後に到達すると、リストの最初に戻ります。そのため、多くても同じアイテムが検出され、そのアイテムの距離はリストの長さになります。これは、リストが周期的であることを意味します。 典型的なリストには、さまざまな数量で最大15個の異なる値を持つ最大50個のアイテムがあります。 そう: 結果の[1, 2, 3, 1, 2, 3]場合、距離は[3, 3, 3, 3, 3, 3]であり、標準偏差は0;です。 結果の[1, 1, 2, 2, 3, 3]場合、距離は[1, 5, 1, 5, 1, 5]であり、標準偏差は2;です。 これにより、最初の結果が2番目の結果よりも良好になります(偏差が小さいほど良い)。 これらの定義を考慮して、どのアルゴリズムまたは戦略を検索すべきかの手がかりを求めます。