D*******r 发帖数: 2323 | 1 一直对计算机如何使用自由支配时间有疑问。如果把时间平均到每一步肯定不好,比如
说每步“想”两分钟,那么就会导致在只此一手的地方花费太长时间,而需要多计算的
地方“想”得不够。如果根据找到得胜概率大于某个数,比如说60%的一手,那么也行
不通,比如说布局阶段,任何一手都不能说有大于60%以上的胜率,那它就会无休止地
思考下去直到时间用完?
怎么根据棋局阶段,得胜概率,以及计算复杂需求来制定用时策略,实在是个难题。看
来以后高手对局不但要有棋谱记录,还要有每一手的用时记录,这样计算机就能学习人
类在什么情况下需要多算多思考的智慧。 |
s***u 发帖数: 80 | 2 平均用时问题也不大,因为计算的结果在后续局面也可以部分使用上,
包括对手下棋的时候,计算机也在思考。
另外,程序内部也可以判断当前局面是否出于困难,适当增加一些计算时间吧。
【在 D*******r 的大作中提到】 : 一直对计算机如何使用自由支配时间有疑问。如果把时间平均到每一步肯定不好,比如 : 说每步“想”两分钟,那么就会导致在只此一手的地方花费太长时间,而需要多计算的 : 地方“想”得不够。如果根据找到得胜概率大于某个数,比如说60%的一手,那么也行 : 不通,比如说布局阶段,任何一手都不能说有大于60%以上的胜率,那它就会无休止地 : 思考下去直到时间用完? : 怎么根据棋局阶段,得胜概率,以及计算复杂需求来制定用时策略,实在是个难题。看 : 来以后高手对局不但要有棋谱记录,还要有每一手的用时记录,这样计算机就能学习人 : 类在什么情况下需要多算多思考的智慧。
|
D*******r 发帖数: 2323 | 3 平均用时的缺陷还是很明显的。比如当前你有必应的一手,在这手之后,你的对手有10
种可能的应手,这个时候你不把必应的一手完成,而是花时间计算对这手后对方10种应
手你应该如何对付,就不如你应完当前这手,等对手应完了以后再计算,这样对其它9
手的应手本不需要计算的。
还有就是,当前的计算机围棋程序都是轮它下时才开始计算,它下完后等人类下时,它
就是“休息”状态,如何使得计算机学会像人一样地去利用对手时间,也就是说,在对
手在思考的时候,它不停止计算,它继续在预选对手可能的应手,并针对这些应手计算
并把计算结果存入buffer里,如果人类的应手是它预计的其中一手,它就可以直接从
buffer里调用结果,或者根据buffer里的结果进行更深远的计算。如果人类的应手完全
出乎意料,那么再重新计算。
反正计算机不需要休息,它可以把所有的比赛时间(不管是分配给对手的还是分配给自
己的)全部利用起来进行计算。
【在 s***u 的大作中提到】 : 平均用时问题也不大,因为计算的结果在后续局面也可以部分使用上, : 包括对手下棋的时候,计算机也在思考。 : 另外,程序内部也可以判断当前局面是否出于困难,适当增加一些计算时间吧。
|
s***u 发帖数: 80 | 4 多少年前计算机程序就已经在利用对手的思考时间思考了。
论文上一般把这个叫ponder search。好像。
10
9
【在 D*******r 的大作中提到】 : 平均用时的缺陷还是很明显的。比如当前你有必应的一手,在这手之后,你的对手有10 : 种可能的应手,这个时候你不把必应的一手完成,而是花时间计算对这手后对方10种应 : 手你应该如何对付,就不如你应完当前这手,等对手应完了以后再计算,这样对其它9 : 手的应手本不需要计算的。 : 还有就是,当前的计算机围棋程序都是轮它下时才开始计算,它下完后等人类下时,它 : 就是“休息”状态,如何使得计算机学会像人一样地去利用对手时间,也就是说,在对 : 手在思考的时候,它不停止计算,它继续在预选对手可能的应手,并针对这些应手计算 : 并把计算结果存入buffer里,如果人类的应手是它预计的其中一手,它就可以直接从 : buffer里调用结果,或者根据buffer里的结果进行更深远的计算。如果人类的应手完全 : 出乎意料,那么再重新计算。
|
D*******r 发帖数: 2323 | 5 哦,是不是研究性质的程序有这样的?现在的商业软件里好像没这么做的,还有就是我
上面提到的用buffer预存前面的计算结果好像商业软件里也没这么做的,都是每步从当
前局面重新算?
【在 s***u 的大作中提到】 : 多少年前计算机程序就已经在利用对手的思考时间思考了。 : 论文上一般把这个叫ponder search。好像。 : : 10 : 9
|