※ [本文轉錄自 Zyca 信箱]
作者: Zyca.bbs@bbs.m6.ntu.edu.tw
標題: Re: 請問寫下棋的程式...
時間: Thu Jan 21 15:24:26 1999
作者: A41.bbs@sob.m7.ntu.edu.tw
標題: Re: 請問寫下棋的程式...
時間: Thu Jan 21 15:23:15 1999
作者: alang (勇敢面對一切!) 看板: NTUCGS
標題: Re: 請問寫下棋的程式...
時間: Thu Jan 21 15:12:46 1999
※ 引述《Aranjuez (阿藍爵士)》之銘言:
: 覺得很好奇
: 像五子棋或是象棋的電腦程式是怎麼寫出來的呀~
: 是要怎麼讓電腦去判斷說下這一步會比下在別的地方好的呢??
: 這個演算法又是要根據什麼來建立呀?
哈哈哈 這學期修AI
那就讓我來回答你吧
其實很簡單
我們通常用的方法是很直覺的方法
就是當這一步是我來下的時候 我選對我最有利的步
當是對手下的時候 我"假設"對手會選對我最不利的步
所以這樣只要程式一直往後多看幾步就行了....
假如有一個遊戲三步就可以決定輸贏 每一步你有三種走法
我先下
那我就想說
我有三種走法 對方有三種走法 又輪到我又有三種走法
所以有3*3*3 = 27 種結束
這27種有些輸有些贏 然後你從結局往上看
"假設對手會對自己最不利的條件下"
選對自己最有利的步
那一般真正的棋類遊戲是不可能看完的
那時候我們只能規定自己要多看幾步
不可能看完 看到一個地步後就要開始估計盤面是對自己有利還是不利
這時候可能會用棋譜之類的 反正要用到下棋的經驗去估計就是了
不是程式的範圍 我們只是讓盤面變的更清楚
更容易決定輸贏
深藍(deep blue)也只能看十多步而已
.......可能的情形太多了...
--
-----------------------------------------------------
把生命中淺淺的愛戀
細細收藏在深深的心底....
-----------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: ntucsv.csie.ntu