我的書(人工智能一種現代的方法)說遺傳算法以一組隨機產生的狀態開始,稱爲總體。每個狀態在有限字母表中表示爲一個字符串 - 最常見的是一串0和1。例如,8皇后狀態必須指定8個皇后的位置,每個皇后位於8個方格的列中,因此需要8 * log(2)8 = 24位。可替換地,狀態可以表示爲8位數字,每一個在範圍從1到8關於遺傳算法的困惑
[http://en.wikipedia.org/wiki/Eight_queens_puzzle]
我不理解的表達8 *日誌(2)8 = 24個比特,爲什麼LOG2^8?這24位應該是爲了什麼?
8皇后不能共享一行或一列。所以你知道他們的行(或列)是0-7:女王#0的行= 0等,所以你不必存儲行。你必須存儲0-7列,這需要3位/皇后。 [事實上,枚舉更加緊密,因爲你可以使用混合基數編碼,這可以讓你省掉幾個位(我猜)。通過對稱壓縮也可以節省幾位。但使用3位/皇后更簡單算術。] – wildplasser