首页 百科知识 与静态评估的比较

与静态评估的比较

时间:2022-10-01 百科知识 版权反馈
【摘要】:③对于该问题领域的专家而言,是否可以将他们的解决策略转化成一个较确定的模型,而不是在对问题进行判断的时候,除了计算还在很大程度上需要依赖“感觉”来进行判断。对于这些问题,职业棋手在很大程度上凭经验和感觉来判断,多是大概如何如何,而很难给予一个精确的描述。

7.2.2 与静态评估的比较

静态评估方法尽管可以达到一定的效果,但每个棋局会有每个棋局的具体情况的不同,想采用一套固定规则去覆盖所有的情况必然会由于各种例外情况的出现而产生出各种不足。最重要的一点,规则的描述不可能非常得准确,因为围棋中的很多情况甚至连职业棋手也很难精确地描述,而只能具体情况具体处理;同时,规则又不能过度复杂,规则过度复杂不仅会让机器处理起来效率低下,而且也会超出开发人员所能掌控的复杂程度。

从程序的角度来讲,静态的评估算法可以描述成“what if”的场景。当需要对一个场景或一个条件进行判断的时候,我们首先需要对不同的可能的策略有一个系统的评价,对不同的策略的好坏程度有个确定的认识,以此来将我们认为最好的那个策略分配给这个判断。当对于多个可选策略,而我们又无法判断哪个更好哪个更坏的时候,就需要将判断条件进一步细化。就是通过这样不断地将判断条件进行细化,我们就可以得到对于一个应用策略的具体的使用场景,也就是使用条件。这时,我们就可以把我们已经得到的这个判断结果告诉程序,让程序在运行时对具体情况进行判断,来选择对应的策略。

在这个过程中,我们不难发现,决定这种静态评估算法效果好坏的关键就是我们本身需要对要解决的问题有个非常清晰的认识,只有我们对问题认识得比较透彻了,才有可能教给程序如何去做。当面对一个问题时,我们在决定用静态评估算法解决之前,首先至少要考虑以下3个问题。

①是否能对所需解决问题有个全面系统的认识,以此来有一个完善的解决策略;

②如果我们无法对所需解决的问题有清晰的求解,是否有该领域的专家;

③对于该问题领域的专家而言,是否可以将他们的解决策略转化成一个较确定的模型,而不是在对问题进行判断的时候,除了计算还在很大程度上需要依赖“感觉”来进行判断。

以上3个问题是递进的,当然,在处理具体问题时,我们追求的并不是对所有问题都一定需要一个精确的求解,而是要在一个我们可以接受的误差范围内,来寻求一个可行的策略。对于一些相对较简单的问题而言,我们可以对其策略进行一个较清晰的组织,比如前面提到的一些游戏,甚至国际象棋这个复杂程度的,只要有足够强大的计算能力,便可以使用大量的搜索来弥补人工求解策略的不足,通过基于静态评估的大量搜索,进而到达超越人类棋手的程度。

但是,对于围棋这个复杂程度的问题而言,在当前的计算能力下,想通过全面的搜索来弥补策略上的不足则不太可能。国际象棋中,每个棋子都有不同的作用,各个棋子间相对独立性较高,而且多个棋子的影响力也可以通过对单个棋子影响力不太复杂的叠加来实现;而围棋中,从单个棋子来讲,每个棋子的作用都差不多,棋子的影响力更多的取决于它周围的环境,和该棋子连接或距离较近的己方棋子和对方棋子都是决定其影响力的因素,它会受哪些棋子的影响,这些棋子对它的影响力的范围有多大,具体如何影响等。对于这些问题,职业棋手在很大程度上凭经验和感觉来判断,多是大概如何如何,而很难给予一个精确的描述。而且就算是局部棋子来说,其组合方式也非常之多。哪些可以看成一类,哪些又该用另一种策略去解决,这些都是个比较模糊的东西,而且其数量又非常之大,也不可能一一列举出来。

对于类似于围棋的这种情况,蒙特卡洛算法就是一个很好的解决方法,它通过对当前局面下每个可选点进行大量的模拟来得出相应的胜负的统计特性,在简单情况下,胜率较高的点就可以认为是较好的点予以选择。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈