n の範囲が 3 ~ 5 の anxn 行列が与えられます。行列には、1 ~ n^2 のランダムな値が割り当てられます。行列が与えられたら、魔方陣の解に到達するようにボードを最適化します。
ランダムボードの例: n = 3
3 5 6
1 7 8
2 4 9
私は PSO について少し知識がありますが、少なくとも次のことは知っています。
1. Randomly initialize a set of particles at random positions in the search space;
2. Evaluate all positions and update the global best position and the personal best positions;
3. Update each velocity based on the relative position of the global best position, the current velocity of the particle, the personal best position of the particle and some random vector;
4. goto 2.
PSOなどのアルゴリズムには向かない問題だとも言われましたが、必要なアルゴリズムなのでこの問題に使わざるを得ません。
粒子は配列に割り当てられた数字だと思いますが、その位置を評価して粒子の位置を更新するにはどうすればよいですか?
ありがとうございました!