[代數] 棋盤類遊戲的分析化簡
先講一下我遇到的問題
我想分析一些在方形內的對稱遊戲
如2048這種,在達成目標前的狀態有幾種
當然也可以直接以10^16下去來達到我的目標
但很明顯這類型的遊戲可以藉由一些代數分析來化簡
以2048為例,目前我是把他看成一個4x4矩陣,每個entry可以是2的0,…,9次方
且有一個D = Dihedral group of degree 4
可以定義這個D在這個4x4矩陣的group action(定義方式就不贅述了)
並將可以透過這個group action所關係到的狀態都視為一個等價類
則等價類的個數即為化簡後的總共狀態數
這部分可以藉由Polya formula得到
不過我也只能做到這樣
除了這個我還希望有以下東西:
1. 是否有方式可以選出每一個equivalent class的代表元素,以表示這個class,或者以
其他轉換的方式表之(這個是為了要以programming表示)
2. 可否找到一個map 或 algorithm來構造一個 g : {1,2,…,n} --> All class 是1-1 o
nto
3. 能否構造一個nontrival class function on R index by R^n (上述兩個是想做rein
forcement learning)
當然這只是分析狀態而已,還沒把每個狀態間的關係用上下左右串起來
不過我想就先問到這吧
想不到自己的代數這麼不堪…
拜託各位版友提示方向了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.20.186
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1519535653.A.194.html
※ 編輯: Uniqueness (101.139.20.186), 02/25/2018 13:22:00
→
02/25 15:28,
6年前
, 1F
02/25 15:28, 1F
不好意思可能我這樣講有點偏題了,但這篇的問題其實並不是在問如何實作,畢竟實作上
的源代碼網路上已經有很多了,但這些演算法畢竟沒有加入這種旋轉翻轉的方式來做討論
,所以這裡想請益的是,若想將這種旋轉翻轉的要素考慮進去,應該如何在電腦內實現。
而2048只是我的一個動機,以及方便各位理解我問題的一個例子,又例如之後若想做一個
跳棋,也可以考慮degree是6的Dihedral group等等。
※ 編輯: Uniqueness (101.139.20.186), 02/25/2018 18:34:18