【轉載文章】五子棋:電腦VS文曲星
五子棋:電腦VS文曲星我的電腦和文曲星(袖珍電子詞典)都有“五子棋”遊戲,無論跟電腦還是跟文曲星下棋我都輸得很慘……有一天我忽然想到一個有趣的問題:讓電腦跟文曲星對弈誰厲害?剛才我試驗了,我同時操作電腦和文曲星,結果無論是電腦先手還是文曲星先手,都是電腦贏。而且兩台機器每局走的棋都一樣,無論誰先走,它們每一盤走的棋都是一樣的(電腦先手時都是那套走法,文曲星先手時又都是另一套走法,沒有變化),文曲星先手時下的久一些,電腦先手時文曲星馬上就輸,最後都以文曲星失敗而告終。這似乎說明機器不會思考,只是機械地執行指令,兩台機器對對方的落子都採取固定的套路,不會變通。還說明一個問題:電腦確實比文曲星厲害!
但是這引發了另一個問題:為什麼我跟機器下棋時機器很靈活,我幾乎不會贏,而機器跟機器下棋時雙方的走法都是固定的?電腦跟文曲星對弈,在最後文曲星快輸掉的時候我已經明顯看出文曲星要輸了,可是文曲星卻好像變成了白癡一般,不採取有效的補救措施,而且每次對局兩台機器都是那樣走,我連續下了三盤(均是電腦先手),每一盤的棋局都是一樣的,每次文曲星都在同一個地方輸給電腦,就好像重複播放一部電影,沒有絲毫變化。文曲星先手時下的子多一點,對局持續時間較長,文曲星顯得比剛才厲害,可還是類似的,每次文曲星都在固定的地方輸給電腦。
我感到很詫異。每次我跟文曲星下五子棋我都輸得很慘,文曲星都顯得非常靈活,可是文曲星跟電腦下棋卻成了“呆子”,刻板且固執!根本不懂變通,不會吸取上次失敗的教訓,每次都乖乖地掉進同一個陷阱……而電腦呢,也是一樣的刻板,每次都用相同的套路戰勝文曲星。你說機器到底是“非常靈活”還是“固執刻板”?怪哉!
最後的小疑問:拋下它們的刻板不談,為什麼文曲星不是筆記型電腦的對手呢?難道真如我妹妹所雲:“電腦記憶體大,所以比文曲星厲害”……這玩意兒跟“記憶體”好像沒有多大關係吧。
電腦不會思考,只會執行人預設的指令,也就是說電腦是個十足的呆子,可是我在《中國大百科全書·體育》和很多網頁上都看到一種說法:電腦下棋可以戰勝90%的人類棋手,達到象棋(圍棋)大師的水準。你可以教會動物用工具打碎食物的外殼,然而動物是不會下棋的,我一直認為下棋是一種高級思維活動,屬於高強度腦力勞動,就像對付歐幾裡得幾何證明題,而且這種思維不是“計算”,而是“思考”。下棋需要的是博弈論(game theory)的思維模式。電腦的“計算”能力很強,可是“思考”與“創造”能力卻很弱,幾乎沒有。(電腦會思考嗎?文曲星跟電腦對弈如此刻板,難道你相信它會思考?)所以說,我對於“電腦下棋”這種人工智慧的結晶感到驚歎。歸根結底,如此精巧又讓人捉摸不透的電腦、人工智慧都是人類發明的,所以人跟電腦下棋,無論輸贏,我們都應該景仰人類智慧的偉大。我們要感謝自己的大腦創造出了一個可以在棋盤上戰勝自己的對手——電腦。
2011年1月11日 电脑的软件算法比较高级把 纯粹是看编程的人使用的算法,如果电脑的速度足够快,存储足够大,那么编程的人,只要用最简单的算法----穷尽法,人类就永远不可能战胜它啦。::070821_04.jpg:: 我也有一个五子棋软件,想赢它,极难。。。。。。
另 你说的文曲星先手时好像变的厉害了,那不是它真的变厉害了,而是五子棋先手的本来就占有很大的优势(前提是没有禁手) 呃 繁体字看着好累啊 话说我还没赢过电脑。。。残念。。。
hs2451 发表于 2011-4-29 19:12 http://www.astronomy.com.cn/bbs/images/common/back.gif
我在電腦上下中國象棋,只贏過一次。
(看不懂繁體字,可以使用Google線上翻譯:http://translate.google.cn來進行轉換) 五子棋如果不定“先手禁”的话,那么同等级的二个高手对弈,肯定是先手赢的。
即使规定了先手禁,还是先下的一方占优势的。 先手禁 还要五手两打进一步减弱先手优势~
即使这样执黑仍然有优势 等等……电脑中的boss……深蓝还没说话呢……其实大家研究下深蓝对打会怎么样? 回复 9# ssg552
猜测绝大多数都是和局 软件算法是关键!说白了就是棋谱。::070821_01.jpg:: 完全不同算法的又水平相似两台深蓝对打……情况会怎样? 回复 11# hhbb
算法不见得是棋谱~ 回复 12# ssg552
验证不同算法的优劣要让N种不同算法之间进行积分循环赛
因为可能出现 A>B & B >C 但 C>A 的情况 如果两种算法胜率相似,用时少的是优的 应该用的大多都是广度优先算法,对内存,计算能力,存储要求极高
小型机跟pc对比,貌似有天然的优势
曾经弄过一个计算任意4x4九宫最优步骤的小程序,当时使用了dec小型机(cpu 333M)和PC(奔3 or 奔4,700M)进行对比,在计算到大约14步时,小型机用了12小时,pc用了24小时都没出来。
人能想个几步就很不错了,而计算机只要硬件条件够,可以算到最优的任意步 “算法”是什麽?數學公式嗎? 回复 18# antigeek
http://zh.wikipedia.org/wiki/%E7%AE%97%E6%B3%95
算法(Algorithm)是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,能够得出所要求或期望的终止状态或输出数据。
在对弈程序中,算法的input就是盘面状态,output就是下一步应该怎么走
为了实现根据input能得到合理的output, 应该用什么样的步骤和方法就是算法 楼主能推荐一款难度比较大的五子棋软件吗?
页:
[1]
2