下五子棋平局为什么到最后是平局?

下围棋,中国象棋、跳棋、五子棋双方做到最好,毫不失误,会下成平局吗?_百度知道
下围棋,中国象棋、跳棋、五子棋双方做到最好,毫不失误,会下成平局吗?
所以说和棋并非说是双方失误与否,但是棋类千变万化,因为多数情况下没有一步棋是必须下在哪里的,而现在世界顶尖的高手也不能确保每一步棋能下到最好,就更不容易了,换句话说,而是必须下成特定的死活形状。加上围棋和棋需要特定的死活形状。但是古往今来本人仅对围棋聊一些看法围棋可以下成和棋,电脑要达到形同水平一步棋需要3万年。至于其他棋类,相信多少也有类似的情况,所以也不存在所谓的毫不失误,所谓的毫不失误就有些牵强,所以说首先每步棋毫不失误更无从说起,并非是双方不失误。另外围棋中并非只有一种下法是双方不吃亏,高手间出现和棋还是不少的,可以达到双方不吃亏的下法有很多种。所以说和棋是完全有可能的。至今为止的世界顶尖高手与电脑对弈,就看对弈时棋手的选择,而完全取决于对弈时局面的特定发展一种结果,而一局棋基本需要200-300歩,不过出现的概率非常小
其他类似问题
为您推荐:
其他2条回答
这个假设很难想象你不知道你要走向什么样的终点,没有标准的,什么是最好,贴目本身就是人为规定,贴目中日韩三国不尽相同,所以在分岔路上你也不会有特定的选择,归根到底就是一个平衡。象棋也是红先占优,不然也不会有贴目,阴阳平衡。围棋肯定是黑先占优的,谁都无法估量先行的价值到底是多少目。攻守平衡,上下左右平衡,棋类活动
有先后手的存在
跳棋的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下五子棋作文1100字_小学四年级作文 - 作文库
没有作文库帐号?
作文库帐号直接登录
&年级作文导航
&作文类型导航
  今天晚上,我闲得没事,就和爸爸一起下五子棋。以前,我老是输给爸爸,今天,我一定要赢了这个&五子棋大王&!
  刚刚下了不就,我就弄了个&连环追四&。爸爸无路可逃,只好认输。我得意极了,心想:&哼哼,以前你总是赢了我,今天我就要报仇了。&没想到第二局,他竟然把我堵得&水泄不通&!我气愤得肺都要爆炸了,他却在一旁洋洋得意,气死我啦!我的子都&七零八落&,他的子却&整整齐齐&,好像一个个人民警察。我的&眼&都被他的&警察军队&堵死了。不过,我发现了一个造&眼&的机会,好呀,原来是我堵你喘不过气,不过现在嘛。。。。。。嘿嘿,老爸,你也知道,堵人不好受吧?
  就这样,我的&眼&越造越多,越多越造,最后,我找到一步&必杀棋&,我毫不犹豫的下在了那里。爸爸看了,故意说:&啊!又输了!&看着挤眉弄眼的爸爸,我真想大笑出来,于是,我就下在了其他地方,没有管那步&必杀棋&。爸爸一看,就嘿嘿一笑,把棋下在了那里。好好地两个&眼&就被爸爸这样堵死了,你们肯定认为我是&心太软&,手下留情了。嘿嘿,可别被我的外表骗了,其实,我还有一步&必杀棋&,只不过是想一会儿再下。一会爸爸看到我的&必杀棋&,傻了眼,认输投降了。
  第三局,我和爸爸下来下去,我拼命造&眼&,爸爸拼命堵我的&眼&,不过后来,爸爸还是造了一个&连环眼&,&必杀棋&。他造了一个&眼&之后,我就开始堵这个&眼&,没想到他把子下到了另一个&眼&上,哎呦!我可真粗心,刚刚怎么光顾着造&眼&了?我摇着头说:&悔棋悔棋!这局不算啊!不算嘛。。。。。。&经不住我的&眼泪攻势&,爸爸终于心软了,让我悔了两步棋,哈哈,堵死了你的&必杀棋&我还要造&眼&呢!后来,我也有了一步&必杀棋&,爸爸傻了眼,忙说:&不公平,我也要悔一步棋!&&好!成交!&我不情愿的让爸爸悔了一步棋,他把我的&必杀棋&给我堵死了,我还要努力造&眼&啊。
  不过后来,就没有爸爸想得那么美了。我又造了一步&必杀棋&,爸爸堵不住,只好投降认输。不过爸爸提出要求:&这句算平局!&我不情愿地问:&为什么?&&因为,在这之前你悔过棋!&爸爸严肃的说。&不公平!不公平!&我抗议起来。&为什么?&&因为你也悔过。&&那么,是谁先悔的棋呀?&我刚想偷偷溜走,却被爸爸逮了个正着。&好吧好吧,这句平局怎么样?&&好!&
  这次下棋,我明白了一个道理:&骄兵必败。&
&&&&四年级:张雨凡
原创作文每篇0.5元-2.0元
作文库推荐
网友正在看
标签:作者:张雨凡五子棋随便下下出平局的概率_五子棋吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:31,748贴子:
五子棋随便下下出平局的概率
现在请你们设想:有两个人下五子棋,每一着的位置都随机。问:这样子正好打出和棋(填满棋盘,仍无五子连珠)的概率是多少?棋盘是19乘19的,六子连珠不算赢。大家猜猜看概率是多少。磊到10楼出答案。
五子棋实力抗韩 我服 恭...
我五个子就赢了。@杰少...
去和棋三四次他都不让 ...
我要出招了。    --...
头有点晕…… —— 此生若...
最后还是我棋高一筹
最好是开局就注定必胜的...
前排带两个@Lee﹔ @万世...
公布答案。概率几乎为0!我用Visual Basic设计了一个小程序,用循环无限枚举法测试,结果,到现在我的计算机一共进行了盘五子棋,没有一盘是平局的!在最厉害的一盘中,电脑填满了360个格点(19*19=361),在还剩一个格点填满棋盘时,黑方胜利了!在这盘五子棋中,先手方获胜盘,胜率达50.498%。这证明:先手还是有优势的!
现在,让我们来考虑一下五子棋局一共有多少种情况。棋盘一共361个格电,于是第一着就有361种情况。紧接着第二招又有360种情况,第三招359……根据乘法原理,五子棋局的情况总量361!(361的阶乘)。
那么,361!具体是多大呢?首先说一下阶乘的运算方法。361!=361×360×359×358×357×……×3×2×1好的,那么我们发现,361!至少有260个三位数相乘。我们又知道,一个数每乘上一个三位数,这个数的位数至少上升二位(36×100=×100=74500,因数大于100的就更不用说了)意思就是说,361! 应该至少是一个520位数!!!!所以361!远远大于1×10^520。
如果你的中学老师叫你算概率应该用树状图,那么你可以去试试看。好吧,这很明显是不可能的。可是不用怕,有高科技帮我们!经过我的不懈努力,我设计出的程序能够在1毫秒(1/1000秒)内枚举出127盘五子棋。假设我把我的电脑打开、一直运行我的程序,一年之后会发生什么呢?一年有秒,于是一年之内我的程序就可以枚举出盘棋局。可是上面说过了,五子棋局一共有至少10^520种情况!我们拿10^520去除以,得到的结果约是3.4*10^509。差不多相当于“3”后面跟509个“0”。所以,我的程序到一年之后也不会算完所有其情况——还差0……年哩!
现在我们假设有一台外星科技计算机,它的处理速度极高,以毫秒内能计算0000盘五子棋。经过计算,我发现,就算使用这样的计算机,要枚举完所有的棋局情况,也得等上个00年才能完成!
所以,不要指望有人能枚举出五子棋所有棋局情况。好好好,我们不枚举。我们随机抽选。只要随机抽选出足够的棋局情况,就一定能找到平局情况!所以我就设计了这个程序:Dim LianXu As IntegerDim p(0 To 18, 0 To 18) As IntegerDim Won As Boolean, Pingju As BooleanDim Black As Long, Tie As Long, Zong As Long, QiZi As IntegerDim AVqizi As Double, MaxQizi As IntegerPrivate Sub 棋(Side As Integer)QiZi = QiZi + 1If QiZi & 19 * 19 Then
Timer2.Interval = 1000
Pingju = True
Exit SubEnd IfDim x As Integer, y As IntegerSuiJi: x = Int(Rnd() * 19)y = Int(Rnd() * 19)If p(x, y) && 0 Then
GoTo SuiJiElse
p(x, y) = SideEnd If'''''''''''''''''''''''''''''''''''''''''Dim x2 As Integer, y2 As IntegerDim Hori As Integer, Vert As Integer, cc As Integer, dd As Integerx2 = xy2 = yHor1: x2 = x2 + 1If x2 & 18 Then '
GoTo Hor2End IfIf p(x2, y2) = Side Then
Hori = Hori + 1
GoTo Hor1End Ifx2 = xy2 = yHor2: x2 = x2 - 1If x2 & 0 Then
GoTo Ver1End IfIf p(x2, y2) = Side Then
Hori = Hori + 1
GoTo Hor2End Ifx2 = xy2 = yVer1: y2 = y2 + 1If y2 & 18 Then '
GoTo Ver2End IfIf p(x2, y2) = Side Then
Vert = Vert + 1
GoTo Ver1End Ifx2 = xy2 = yVer2: y2 = y2 - 1If y2 & 0 Then
GoTo cc1End IfIf p(x2, y2) = Side Then
Vert = Vert + 1
GoTo Ver2End Ifx2 = xy2 = ycc1: x2 = x2 + 1: y2 = y2 + 1If x2 & 18 Or y2 & 18 Then
GoTo cc2End IfIf p(x2, y2) = Side Then
cc = cc + 1
GoTo cc1End Ifx2 = xy2 = ycc2: x2 = x2 - 1: y2 = y2 - 1If x2 & 0 Or y2 & 0 Then
GoTo dd1End IfIf p(x2, y2) = Side Then
cc = cc + 1
GoTo cc2End Ifx2 = xy2 = ydd1: x2 = x2 - 1: y2 = y2 + 1If x2 & 0 Or y2 & 18 Then
y2 = yGoTo dd2End IfIf p(x2, y2) = Side Then
dd = dd + 1
GoTo dd1End Ifx2 = xy2 = ydd2: x2 = x2 + 1: y2 = y2 - 1If x2 & 18 Or y2 & 0 Then
GoTo ChkEnd IfIf p(x2, y2) = Side Then
dd = dd + 1
GoTo dd2End IfChk: If cc = 5 Or Hori = 5 Or Vert = 5 Or dd = 5 Then
Won = True
End IfEnd SubPrivate Sub Command1_Click()If Timer1.Interval = 0 Then
AI "已继续运算..."
Timer1.Interval = 1
Form1.BackColor = &H8000000FElse
Timer1.Interval = 0
AI "运算已暂停。"
Form1.BackColor = RGB(0, 50, 80)End IfCall Timer3_TimerEnd SubPrivate Sub Timer1_Timer()For r = 1 To 255
Zong = Zong + 1
For q = 1 To 2 Step 0
If Won = True Then
Black = Black + 1
If Pingju = True Then
Tie = Tie + 1
If Won = True Then
If Pingju = True Then
Tie = Tie + 1
Timer1.Interval = 0
If QiZi - 1 & MaxQizi Then MaxQizi = QiZi - 1
AVqizi = (AVqizi * (Zong - 1) + QiZi - 1) / Zong
Won = False
Pingju = False
For i = 0 To 18
For j = 0 To 18
p(i, j) = 0
'''''''''Next rEnd SubPrivate Sub Timer2_Timer()BeepEnd SubPrivate Sub Timer3_Timer()Label7 = AVqiziLabel8 = MaxQiziLabel1 = Black / Zong * 100Label2 = TieLabel5 = ZongLabel6 = BlackIf Timer1.Interval = 1 Then AI "正在运算中,一切正常..."End SubPrivate Sub Timer4_Timer()If Timer1.Interval = 1 Then
LianXu = LianXu + 1Else
LianXu = 0End IfIf LianXu & 12 Then
AI "为了控制CPU温度,运算自动暂停。10秒后恢复运算。"
LianXu = 0
Timer1.Interval = 0
Timer5.Interval = 10000End IfEnd SubPrivate Sub Timer5_Timer()AI "运算已恢复。"Timer1.Interval = 1Timer5.Interval = 0End SubPrivate Sub AI(Text As String)Text2.Text = Text & Chr(13) & Chr(10) & Text2.TextEnd Sub一切就绪,开始运行。
把你的判断禁手的算法抄给我吧
上视频。很久很久以后……盘五子棋被枚举。没有一盘平局!好吧,如果哪个网友能够计算出 随机下五子棋 平局的概率,我将感激不尽!!!---END---
lz好像很喜欢研究这个问题。。。
贴吧夺宝,1元成就梦想
嗯编程技术交流群 欢迎讨论。。
独一无二脑残楼主求拯救
据说贴吧有个断奶班帖子。。。其实我从来没看过。。
我估计就是0.应该很难下出平局
从14楼开始本帖气氛急转直下
这个算出不难就是麻烦了点,下午有空或许我会算算。
这是有多蛋疼啊··不过牛逼的人都是在蛋疼中成长的……比如说为毛会想到问苹果为什么掉下来……想象自己追着光跑……所以牛逼的人能像一些别人不会想的事情……所以楼主很牛逼……不过lz不妨试一下把格子减小……从11X11开始……
个人认为这个概率可以通过一些限定的程序来计算出来
其实。。。五子棋吧。。。比赛的棋盘是15*15的
总局数肯定小于361!,饭后我算算,要考虑的因素很多我可能会失误些细节。
显然不可能是0 白棋五六十手顺利摆完整八卦的可能性是存在的
我感觉看楼主说的头好晕啊,不明白楼主在说些什么!!!还是我太蠢
扯淡呢361!,总局数比这个小多了
总局数可以用361!当然你要计算重复的也行!概率肯定是个大于零的数,不过似乎小于一亿分之一
我猜数量级大约是50!分之一
大于70!÷(291*292*293*294…),不服来遍
貌似大于70!÷(291*292*293*294*295*296*297*298*299*300*301*302*303*304*305*306*307*308……359*360*361)不服来辨
贴吧热议榜
使用签名档&&
保存至快速回贴五子棋判断输赢,大家说一下自己的想法
[问题点数:40分]
五子棋判断输赢,大家说一下自己的想法
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。五子棋先下的人一定赢吗?
五子棋先下的一定赢吗?有什么算法原理可以说明这个问题?
胡天硕,新东方在线 产品经理
通常大家玩的五子棋分为带禁手和不带禁手两个版本(前者一般称之为五子棋,后者称之为连珠),无论哪一个版本,先手黑棋均必胜。
所谓黑必胜的意思是,只要黑棋按照一定的方式下,白棋选择棋盘上的任何一个点都不可能赢棋。
其实在电脑出现之前,五子棋的玩家就发现黑棋采取某些开局赢面的极大,也怀疑有先手必胜的方法。但没有人能够真正&证明&出来白棋无论怎么下都是必败的&&这个结论最终还是通关电脑来证明的。
其中不带禁手是 1992 年 Victor Allis 通过编程证明黑必胜的,文章地址在这里:
禁手规则是只针对黑棋的,简而言之是黑棋只允许使用冲四活三这一种赢法(当然不排除白棋故意冲四不挡这种方法)。设计的目的也是为了限制黑棋的巨大优势,白棋也多了逼禁手这儿一种赢法。但后来人们也逐步发现带禁手后,黑棋依然似乎能不败。直到后来,也有人证明,带禁手执黑也可以必胜。
带禁手的是 2001 是 Janos Wagner 第一次证明黑必胜的,文章地址在这里:
这个后面的证明比前面的证明要强很多,因为按照带禁手的走法,不带禁手也一定必胜,但倒过来未必。
这还不说,为了进一步削弱黑棋的优势,国际上推出五手两打(就是黑棋的第三步需要下两个点,但由白棋挑选让其下较弱的哪一个)的规则。可是人们发现黑棋带禁手依然是必胜。也就是说,黑棋必胜不仅仅有一种方法,而是至少有两种以上(来回应各种变种的第四步)。
从实践的角度来讲,网上是可以搜索&地毯谱&(尤其是花月和蒲月都是五手两打必胜),一般在几百兆左右,可以用 renlib 软件打开,所谓地毯谱的意思就是黑棋会指定下法,但白棋每一步都可以选择棋盘任意位置,最后黑棋必胜。也就是说,只要按照此棋谱下棋,五子棋世界冠军都一定会输给你。
所以正式的比赛才会有三手交换五手两打,山口规则(五手 n 打)这些复杂的规则来平衡比赛。但这些规则也是逐渐被人破解,五子棋的比赛已经很大程度不是在考验自己的临场发挥,而是考验选手对于各种开局的记忆情况。
另外针对有人质疑既然五子棋必胜,为什么还要玩:
必胜并不代表去网上黑先开浦月、花月就一定人挡杀人,佛挡杀佛。必胜的各种分支套路也不是那么容易记住的,诸位可以和 tito2014 或者弈心执黑体验一下(高手绕道)。所以各种对战平台上,就算是在非禁手区拿到胜率远超 50%也不是不可能的。
另外不带禁手的五子棋是属于一类更为普遍的 m,n,k 游戏()的一种特例,即&15,15,5。m,n,k 游戏是指 m 行 n 列,轮流下子,连成 k 个算赢。这个在数学中专门有研究如果在最理想下法(Perfect Play)的情况下有什么样不同的结果,比如标准的三连棋(Tic-tac-toe)是 3,3,3 是一个平局,同样只有六路棋盘的五子棋也是平局,当然上面我们已经说明了 15,15,5 是先手必胜。m,n,k 游戏只有先手必胜和平局两种结果。由于每下一个子都一定会对下子一方那一方有优势,所以可以通过反证法证明 m,n,k 游戏里不可能有后手胜利的情况。如果后手有胜利的方法,那么先手可以提前&借鉴&过来实现必胜(Strategy stealing)。
另外除了规定复杂的开局和禁手规则,其实还有一个出路:
除了采取对先手采取各种限制的方法,2003 年被吴毅成教授发明的(Connect6)也非常类似五子棋,难度很高,但六子棋没有先手优势&&因为每一步都下两个子,除了第一步下一个子,这样保证双方每次下棋时,都可以比对方多一个子。AI 目前计算的结果也是,没有发现先手比后手有更大的优势。
既然双方都没有优势,六子棋下满整个(围棋 19x19 棋盘)都没有分出高低都是有可能的。(这个游戏已经不再是 m,n,k 游戏了)
不得不说的是,虽然有个别比赛(gomocup 说你呢)还是在用限定规则的五子棋做 ai 比赛,但是正经的编程奥赛是没有五子棋的比赛(93 年就没了好不好),而被 connect6 这种简约的规则所取代。Connect6 的解决难度几乎与围棋相当。
感兴趣传统五子棋和连珠的 AI 算法的可以参考这个问题:,和这个页面(英文):

我要回帖

更多关于 怎样下五子棋 的文章

 

随机推荐