!H45
2006-09-15 00:03:41 UTC
※ 引述《liwon (誰會樂高Lejos程式SHUN)》之銘言:
: 請問井字遊戲
: 用遞迴寫min-max search
: 因為每跑一次他記憶體會增加
: 所以請問他可以限制搜尋的深度嗎?
int AlphaBeta(int depth, int alpha, int beta)
{
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -AlphaBeta(depth - 1, -beta, -alpha);
UnmakeMove();
if (val >= beta)
return beta;
if (val > alpha)
alpha = val;
}
return alpha;
}
by google.
上面的程式碼是在我硬碟中記錄的原始資料
你的答案就是 depth 的初始值
alphabeta 的資料都很舊了,但很意外的,書上並沒有著墨太多
這方面的演算法實在需要自己好好努力啊....
到最後你就會知道 Evaluate() 是最難的部分....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85
: 請問井字遊戲
: 用遞迴寫min-max search
: 因為每跑一次他記憶體會增加
: 所以請問他可以限制搜尋的深度嗎?
int AlphaBeta(int depth, int alpha, int beta)
{
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -AlphaBeta(depth - 1, -beta, -alpha);
UnmakeMove();
if (val >= beta)
return beta;
if (val > alpha)
alpha = val;
}
return alpha;
}
by google.
上面的程式碼是在我硬碟中記錄的原始資料
你的答案就是 depth 的初始值
alphabeta 的資料都很舊了,但很意外的,書上並沒有著墨太多
這方面的演算法實在需要自己好好努力啊....
到最後你就會知道 Evaluate() 是最難的部分....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85