=中國象棋末日人工智能程序猜想?=
-棋盤規則和棋子規則-
棋盤采用三種模式
第一種棋盤:512*512,每方512個將或帥,每方26000個車,每方26000個馬,每方26000個炮,每方26000個猛或強?
第二種棋盤:8192*8192,每方8192個將或帥,每方6710800個車,每方6710800個馬,每方6710800個炮,每方6710800個猛或強?
第三種棋盤:(2的8192次方)*(2的8192次方),每方(2的8192次方)個將或炮,每方(2的8192次方)*(2的8192次方)/2/5約等於x(x取值,把隻精確到萬位,個位,十位,百位,千位,都判定為0,萬位數-1)個車,每方x個馬,每方x個炮,每方x個猛或強?
-棋子移動和吃子規則-
馬的走法和吃法:
3n+1次回合:馬走日或馬走口,都是取矩形的對角線,起點為對角線的一個端點,終點為對角線的另外一個端點(下同,省略)。
3n+2次回合:馬走日或馬走目或馬走田。
3n+3次回合:馬走日或先馬橫向走a格然後馬縱向走b格或馬先縱向走b格然後馬橫向走a格(a+b=5;1a;b1;a必須為正整數;b必須為正整數)。
車所有回合的走法和吃法:車先橫向移動c格然後縱向移動d格或車先橫向移動d格然後橫向移動c格(c+d10;c0;d0;c必須為正整數或零;d必須為正整數或零),當車終點為敵方棋子時,則可以c+d10
炮所有回合的走法和吃法:炮不吃子時,移動方式和車的移動方式一樣;炮隻有隔敵方一個子,或者隔自己一方最多7個子來打敵方的棋子,吃子時,最多橫向移動20格,或者最多縱向移動20格。
猛或強的走法和吃法:猛或強,最多可以轉彎9次;每次以士一樣的對角線走法時,判定為轉彎2次,也判定為橫向移動一次,縱向移動一次(然而,該次對角線移動,並不會接觸對角線以外另外兩點上的友方棋子和敵方棋子),最多橫向移動e次,最多縱向移動f次;e+f10;e0;f0;e必須為正整數或零;f必須為正整數或零;0轉彎數9;轉彎數必須為正整數或零;猛或強以炮的方式吃子時,最多隔著三個敵方棋子,最多隔著7個自己一方的棋子,最多橫向移動29格,最多縱向移動29格;猛或強的終點位置為自己一方的棋子時,和該棋子互換位置。
將或帥的走法和吃法:最多橫向移動g格,最多縱向移動h格;1g+h31;0轉彎數30;如同士一樣對角線移動,每次占用1轉彎數,判定為橫向移動1格和縱向移動1格,將或帥的終點位置是友方棋子時,將或帥和該棋子互換位置(把將或帥的起點位置定義為該棋子的終點位置,而將或帥則占用該終點位置);將或帥以炮的方式吃子時,最多橫向移動30格或最多縱向移動30格,最多隔著敵方17個棋子,最多隔著友方17個棋子,允許如同跳棋一樣,隻移動不吃子然後轉彎19次,然後吃掉終點位置的敵方棋子,或者如同吃掉敵方棋子(用炮的最強吃子方式)一樣和友方的棋子互換位置。
-所有棋子視野規則-
車和炮:所有方向橫向17格,所有方向縱向17格,自己為中心的35*35正方形視野
馬:所有方向橫向7格,所有方向縱向7格,自己為中心的15*15正方形視野
猛或強或將或帥:所有方向橫向30格,所有方向縱向30格,自己為中心的61*61正方形視野。
-每個回合-
每個回合選定自己一方5個棋子進入隱身,隻能移動5個隱身棋子之中的兩個棋子移動,不吃子,隱身持續時間為7個回合,吃子,隱身持續時間為吃子後1個回合;將或帥或猛或強,吃子或不吃子,隱身持續時間都是7個回合,主動表明要走的將或帥或猛或強的起點位置時(必須告知對手該起點位置起步時是什麽棋子),該起點位置所有方向橫向30格,該起點位置所有方向縱向30格的自己一方的棋子,全部都隱身持續7個回合。
=由此引發的運算硬件技術猜想?=
如何用1百個1gb的內存,來運算起點算法占用內存+過程占用內存+結果占用內存100gb的程序?或者說,用1百個cpu內部存儲器隻有64kb運算硬件,來運算超大程序?如何把大數據運算,特別是每個比特都關乎運算起點和運算過程和運算結果的這種全相關運算,分拆到很多很多個的運算子硬件上進行分段運算?比如無理數和無理數的乘法,無理數和無理數的除法,無理數的無理數次方,無理數的無理數次開方?
-棋盤規則和棋子規則-
棋盤采用三種模式
第一種棋盤:512*512,每方512個將或帥,每方26000個車,每方26000個馬,每方26000個炮,每方26000個猛或強?
第二種棋盤:8192*8192,每方8192個將或帥,每方6710800個車,每方6710800個馬,每方6710800個炮,每方6710800個猛或強?
第三種棋盤:(2的8192次方)*(2的8192次方),每方(2的8192次方)個將或炮,每方(2的8192次方)*(2的8192次方)/2/5約等於x(x取值,把隻精確到萬位,個位,十位,百位,千位,都判定為0,萬位數-1)個車,每方x個馬,每方x個炮,每方x個猛或強?
-棋子移動和吃子規則-
馬的走法和吃法:
3n+1次回合:馬走日或馬走口,都是取矩形的對角線,起點為對角線的一個端點,終點為對角線的另外一個端點(下同,省略)。
3n+2次回合:馬走日或馬走目或馬走田。
3n+3次回合:馬走日或先馬橫向走a格然後馬縱向走b格或馬先縱向走b格然後馬橫向走a格(a+b=5;1a;b1;a必須為正整數;b必須為正整數)。
車所有回合的走法和吃法:車先橫向移動c格然後縱向移動d格或車先橫向移動d格然後橫向移動c格(c+d10;c0;d0;c必須為正整數或零;d必須為正整數或零),當車終點為敵方棋子時,則可以c+d10
炮所有回合的走法和吃法:炮不吃子時,移動方式和車的移動方式一樣;炮隻有隔敵方一個子,或者隔自己一方最多7個子來打敵方的棋子,吃子時,最多橫向移動20格,或者最多縱向移動20格。
猛或強的走法和吃法:猛或強,最多可以轉彎9次;每次以士一樣的對角線走法時,判定為轉彎2次,也判定為橫向移動一次,縱向移動一次(然而,該次對角線移動,並不會接觸對角線以外另外兩點上的友方棋子和敵方棋子),最多橫向移動e次,最多縱向移動f次;e+f10;e0;f0;e必須為正整數或零;f必須為正整數或零;0轉彎數9;轉彎數必須為正整數或零;猛或強以炮的方式吃子時,最多隔著三個敵方棋子,最多隔著7個自己一方的棋子,最多橫向移動29格,最多縱向移動29格;猛或強的終點位置為自己一方的棋子時,和該棋子互換位置。
將或帥的走法和吃法:最多橫向移動g格,最多縱向移動h格;1g+h31;0轉彎數30;如同士一樣對角線移動,每次占用1轉彎數,判定為橫向移動1格和縱向移動1格,將或帥的終點位置是友方棋子時,將或帥和該棋子互換位置(把將或帥的起點位置定義為該棋子的終點位置,而將或帥則占用該終點位置);將或帥以炮的方式吃子時,最多橫向移動30格或最多縱向移動30格,最多隔著敵方17個棋子,最多隔著友方17個棋子,允許如同跳棋一樣,隻移動不吃子然後轉彎19次,然後吃掉終點位置的敵方棋子,或者如同吃掉敵方棋子(用炮的最強吃子方式)一樣和友方的棋子互換位置。
-所有棋子視野規則-
車和炮:所有方向橫向17格,所有方向縱向17格,自己為中心的35*35正方形視野
馬:所有方向橫向7格,所有方向縱向7格,自己為中心的15*15正方形視野
猛或強或將或帥:所有方向橫向30格,所有方向縱向30格,自己為中心的61*61正方形視野。
-每個回合-
每個回合選定自己一方5個棋子進入隱身,隻能移動5個隱身棋子之中的兩個棋子移動,不吃子,隱身持續時間為7個回合,吃子,隱身持續時間為吃子後1個回合;將或帥或猛或強,吃子或不吃子,隱身持續時間都是7個回合,主動表明要走的將或帥或猛或強的起點位置時(必須告知對手該起點位置起步時是什麽棋子),該起點位置所有方向橫向30格,該起點位置所有方向縱向30格的自己一方的棋子,全部都隱身持續7個回合。
=由此引發的運算硬件技術猜想?=
如何用1百個1gb的內存,來運算起點算法占用內存+過程占用內存+結果占用內存100gb的程序?或者說,用1百個cpu內部存儲器隻有64kb運算硬件,來運算超大程序?如何把大數據運算,特別是每個比特都關乎運算起點和運算過程和運算結果的這種全相關運算,分拆到很多很多個的運算子硬件上進行分段運算?比如無理數和無理數的乘法,無理數和無理數的除法,無理數的無理數次方,無理數的無理數次開方?