すべての電荷が導電体の表面に現れるのと同じ理由で、私が誤解しない限り、すべての色はRGB立方体の表面になります。これは、色を決定する次の方法を提案します。
- RGB色空間をXYZデカルト空間として解釈します。
- 候補色を電子などの荷電粒子として解釈する。
- シミュレーションされたアニーリングなどを通じてシステムの低エネルギー状態を見つける。
n∼15
パーティクルが収束すると、ポイントを色として解釈することで色の配置が決まります。最初は、パーティクルは、小さな間隔でキューブの表面にランダムに配置できます(収束と安定性の問題に役立ちます)。立方体の面に小さなグループを置くことはうまくいくはずです。
ローカルではなく(グローバルではなく)最小値でスタックしないようにするには、収束後に小さなランダムな電界を「パルス」して、システムが同じ構成に戻るか、別の構成に戻るかを確認します。ランダムに配置されたパーティクルがこのシナリオでそれを行うとは考えられませんが、可能です。
編集:
コメントで指摘されているように、最適解は表面上にのみあるべきであるという仮定は、離散的な場合のすべての形状に対しておそらく当てはまりません。
幸いにも、これは上記の残りのテクニックにはほとんど影響を与えません。パーティクルは最初はどこにでも配置できます。安定性とカバージェンスのために粒子のペアの間にいくらかのスペースを残してから、システムを収束させて収束させ、次にシステムをいくつかの異なる(おそらくより良い)構成に収束させることができるかどうかを確認するために数回(おそらく強度を上げて)パルスします。 。
また、私はこの方法が「(粒子のペア間の平均距離)」のようなものを最大化すると信じています。パーティクルのペア間の最小距離、またはパーティクルのペア間の他の平均(幾何学的?)を最大化する場合、これは最適なソリューションを提供しない可能性があります。
いずれにしても、このテクニックは、ほぼ最適な色のセットを簡単に作成できる方法だと思います。実際の「最適な」ソリューションを取得することは、おそらくユースケースでは必要ありません。当然、正確で証明可能な最適なソリューションが必要な場合、数値シミュレーションはおそらく最善の方法ではありません。