16、游戏与非游戏动态搜索中的替代搜索方法

游戏与非游戏动态搜索中的替代搜索方法

1. 游戏中的非穷举搜索替代方法

在游戏中,像国际象棋程序通常不会对整个游戏进行穷举搜索,而是仅对接下来的几步进行详尽分析,对于某些特殊情况可能会进一步深入探究。这些用于国际象棋的技术也可应用于其他程序,不仅包括其他游戏程序,还适用于许多图问题。

1.1 Minimax算法

  • 原理 :在考虑可能的走法时,要假定对手会选择最佳走法,即“最大”走法。我们应检查每一种可行走法,并确定对手的最大响应。然后,选择这些最大响应中损害最小的走法,这种“最大中的最小”策略被称为Minimax。例如,“如果我走到这里会被将死,如果走到这里会失去皇后,而走到这里对手最多只能交换马,那我就选第三种走法”。
  • 代码实现
sub minimax {
    my ( $position, $depth ) = @_;
    # Have we gone as far as permitted or as far as possible?
    if ( $depth-- and defined($position->prepare_moves) ) {
        # No - keep trying additional moves from $position.
        my $move;
        my $best_score = -$position->best_rating;
        my $best_move
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值