我正在尋找一種有效的算法來解決1-12之間的數字循環設置問題以獲得最高分數。最大化數字循環排列得分
佈置的得分是由它的所有相鄰對
的分數的總和給出要獲取一對相鄰的分數(A,B),計算下列步驟:
1. Find x such that (a+x) mod 12 = b
2. Look up x in a score table
3. The value in the score table at index 'x' is the score of the pair (a,b).
這是重複的每一個相鄰的對,總和是安排的分數。
Here is an example:
Suppose the score table is [5,4,6,7,2,7,-2,-6,-8,-2,6,12,13]
Consider these numbers: 5, 12, 8, 9
For each adjacent pairs,
the values for x are: 5 -> 12: 7
12 -> 8: 8
8 -> 9: 1
9 -> 5: 8
The values for score[x] are:
score[7] = -6
score[8] = -8
score[1] = 4
score[8] = -6
The sum of the score[x] values is: (-6) + (-8) + (4) + (-6)
= -18
的目標是要拿出一個算法來有效地配置數量,最大限度地得分,給出的數字本身 - 高達其中有20 1到12之間 - 和評分表。
非常感謝,
問題是..這看起來很像旅行商問題(TSP)。解決這些問題並不總是很快。然而,你並沒有大尺寸的設計,這可能是一個可取的因素。 – Kaganar 2014-10-30 15:00:45
我想我應該問。你在尋找一種能夠找到最高分或者相當不錯的分數的算法嗎? – Kaganar 2014-10-30 15:05:24
我寧願最高分。非常感謝。 – 2014-10-30 16:06:05