pythonjava五子棋绘制棋子,怎么改把黑白棋子放在十字上,下面有五图编好的代码。求大神帮忙~

五子棋和围棋唯一相同的地方是它们都使用相同的棋子,其他全是区别。
五子棋和围棋唯一相同的地方是它们都使用相同的棋子,其他全是区别。
本回答的核心内容是:&b&在五子棋中,什么是“活三”?&/b&&br&&br&********************&br&&br&首先,我们需要理解五子棋中的 “三三禁手” 、“四四禁手”、“长连禁手” 的严格定义是什么。&br&&ul&&li&&b&三三禁手&/b&:黑棋一子落下&b&同时&/b&形成&b&两个或两个以上&/b&的【&b&活三】&/b&;&/li&&li&&b&四四禁手&/b&:黑棋一子落下&b&同时&/b&形成&b&两个或两个以上&/b&的&b&冲四&/b&或&b&活四&/b&;&/li&&li&&b&长连禁手&/b&&b&:&/b&黑棋一子落下形成&b&一个或一个以上&/b&的长连;&/li&&/ul&特别地,&b&如果黑棋在一个方向连成五子的情况下在其他方向同时形成“三三”、“四四” 或 “长连”,不算禁手,判黑棋胜。&/b&&br&&br&——显然,根据定义,“三三三”、“四四四”等,同“三三四”、“四四三”一样,是禁手。&br&&br&********************&br&&br&就禁手而言,“四”是不难理解的,容易混淆的只有“三三禁手”,容易混淆的点在于“&b&活三&/b&”。&br&&br&有人觉得。活三还能不容易理解?&br&&br&那么我问你,以下黑棋的最后一手,哪些属于活三?&br&&img src=&/ab289c8303cff0fa2f13_b.png& data-rawwidth=&613& data-rawheight=&401& class=&origin_image zh-lightbox-thumb& width=&613& data-original=&/ab289c8303cff0fa2f13_r.png&&&br&相信很多人已经感到有些迷茫了。所以,我们需要通过严格的定义来辨认活三:&br&&ul&&li&&b&活三&/b&:本方再走一着可以形成活四的三;&br&&/li&&li&&b&活四&/b&:有两个点可以成五的四;&br&&/li&&li&&b&冲四&/b&:只有一个点可以成五的四;&br&&/li&&/ul&&br&所以,上图的正确答案是,左边六个属于“活三”,右边六个不属于“活三”,你做对了吗?&br&&ul&&li&第3、4 两种情况,显然,再下一子只能形成冲四,所以不是活三;&br&&/li&&li&第7、8 两种情况,看起来左右两端都可以下,但是下任意一端,都是被堵死的,所以是“眠三”;&/li&&li&第11、12 两种情况,再下一手的话,无论下在左边还是右边,要么被堵,要么一端形成 “长连禁手”而不能成五,只能形成冲四,所以也不是活三;&/li&&li&与之相反的,第6、9、10种情况看起来上下或左右都有“长连禁手”,但是不影响成四,而成五的时候是无视禁手的,因此,它们依然是“活三”,当然,如果“三”的两边都有禁手,就不算活三了。如下图所示(黑23的上边一点不是禁手):&/li&&/ul&&img src=&/e3e8dd37a65cb84feebf_b.png& data-rawwidth=&366& data-rawheight=&215& class=&content_image& width=&366&&&br&好了。现在回到题主的问题:&br&&img src=&/840fac0361eda_b.png& data-rawwidth=&469& data-rawheight=&163& class=&origin_image zh-lightbox-thumb& width=&469& data-original=&/840fac0361eda_r.png&&&ul&&li&case 1:左边有横向的长连,所以在黄点落下以后,黄点左边是不能下的,黄点&b&不是&/b&禁手;&br&&/li&&li&case 2:同上面的第12个图,横向没有活三,黄点&b&不是&/b&禁手;&br&&/li&&li&case 3:同 case 1,黄点&b&不是&/b&禁手;&br&&/li&&li&case 4:左边虽然有长连禁手,但右边没有,可以形成“活四”,所以黄点&b&是&/b&禁手;&br&&/li&&li&case 5:可以在黄点右边的右边形成活四,所以横向有活三,黄点&b&是&/b&禁手;&br&&/li&&li&case 6:横向右侧由于有长连限制,不能形成活四,所以没有活三,黄点&b&不是&/b&禁手;&br&&/li&&li&case 7:同上,横向无法形成活四,黄点&b&不是&/b&禁手;&br&&/li&&li&case 8:下一手可以在横向形成真活四,黄点&b&是&/b&禁手;&br&&/li&&li&case 9:还用说,黄点&b&不是&/b&禁手;&br&&/li&&li&case 10:下一手黑棋左边不能下,右边受长连影响,只能形成冲四,所以黄点&b&不是&/b&禁手。&br&&/li&&/ul&&br&RenjuSolver 告诉我,我的判断是对的。&br&&br&参考资料:&a href=&///?target=http%3A///Article/HTML/4059.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&中国五子棋竞赛规则(2013版)&i class=&icon-external&&&/i&&/a&&br&&br&P.S. 禁手规则可能有坑,更复杂的情况未必能轻易分析出来。&br&&br&#
本回答的核心内容是:在五子棋中,什么是“活三”? ******************** 首先,我们需要理解五子棋中的 “三三禁手” 、“四四禁手”、“长连禁手” 的严格定义是什么。 三三禁手:黑棋一子落下同时形成两个或两个以上的【活三】;四四禁手:黑棋一子落下…
&b&&u&本回答谢绝转载&/u&&/b&&br&&br&问题太笼统,你需要简单介绍一下你的背景(对机器学习掌握到了什么程度,对计算机博弈掌握到什么程度),你希望最终实现的五子棋棋力达到什么水平,以及你所指的机器学习的在你的五子棋中起多大的作用(比如框架还是alpha-beta framework,只不过把个别参数用个简单的机器学习思想调一下;还是要抛开传统的搜索框架)。因为信息不全,所以下面的回答只能在一些假设下给一个大致的答案:&br&&br&假设你对结果的要求不求达到棋力很高,只求达到一个一般的水平,比如一些flash小游戏中的五子棋智能,欢乐五子棋,或者fiver6的最低等级(猪八戒);假设你要求只是用了机器学习的话,那么不难。只需要了解并实现一下极大极小搜索(一搜一大把),并写一个简单的基于棋形分加权和的审局函数(一搜一大把),最后用随机调整的方式(比如&a href=&///?target=http%3A///Stockfish%2527s%2BTuning%2BMethod& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chessprogramming&i class=&icon-external&&&/i&&/a&)训练一下棋形分的权值就行了。&br&&br&====1.26补充====&br&&blockquote&然后想起来以前上课的时候他说过现在棋类博弈就是开始水平很菜很人下了之后,水平很厉害,我却完全不知道怎么实现的&/blockquote&你这里提到的通过人机对弈提高水平这一类学习,对棋类的提升是有限的,在我的知识范围内并未了解到很成功的案例,应该是你记错了或者你的授课老师讲错了。&br&&br&借助机机对弈提升棋力的案例是比较多的,最早可以追溯到上世纪50年代Samuel的国际跳棋(&a href=&///?target=http%3A//www.cs.virginia.edu/%7Eevans/greatworks/samuel1959.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.virginia.edu/~evans/&/span&&span class=&invisible&&greatworks/samuel1959.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&) ,以及此后90年代成功借助强化学习方法TD-lambda实现的TD-Gammon首次打败西洋双陆棋最强的人类选手(&a href=&///?target=http%3A//en.wikipedia.org/wiki/TD-Gammon& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&TD-Gammon&i class=&icon-external&&&/i&&/a&),前文中我提到的随机调整的算法(&a href=&///?target=http%3A///Stockfish%2527s%2BTuning%2BMethod& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chessprogramming&i class=&icon-external&&&/i&&/a&),是目前全球最强的国际象棋引擎Stockfish(&a href=&///?target=http%3A//stockfishchess.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Home - Stockfish&i class=&icon-external&&&/i&&/a&)所采用的学习策略,虽然简单,但它帮助Stockfish提高了40-70 ELO等级分。值得注意的是,MCTS(Monte-Carlo Tree Search, &a data-hash=&bfc557c6e8e203b1ddaf& href=&///people/bfc557c6e8e203b1ddaf& class=&member_mention& data-editable=&true& data-title=&@王潜升& data-tip=&p$b$bfc557c6e8e203b1ddaf& data-hovercard=&p$b$bfc557c6e8e203b1ddaf&&@王潜升&/a& 提到的UCT是MCTS的一种)也是一类可以很好地用于棋类对弈的强化学习方法,不过它同前面所举例的机机对弈的学习是有一定的区别的,纯粹的MCTS所学到的知识只能用于一次对局,而前面举的三个例子所学的知识则可以积累并用于未来的对局,所以MCTS恐怕并不满足你期望的借助对弈不断改进提升棋力的目标。&br&&br&另外还有借助高水平人人对弈的对局记录来学习的方式,早期在象棋、围棋等上都有若干探索,如NeuroChess(&a href=&///?target=http%3A//satirist.org/learn-game/systems/neurochess.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&NeuroChess&i class=&icon-external&&&/i&&/a&),不过到目前为止,这一学习方式只在围棋上获得了比较好的结果,采用的是深度卷积神经网络(最新结果:&a href=&///?target=http%3A//arxiv.org/pdf/.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&arxiv.org/pdf/&/span&&span class=&invisible&&v1.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)。&br&&br&有一本书叫《Reinforcement Learning: State-of-the-Art》,其中第17章给出了强化学习在各类游戏上应用的综述。&br&&blockquote&我是一个大四学生,刚刚考完研究生,之前看了吴恩大机器学习course RA上的,也拿到了相关证书,做了一些基础的东西,这个是我的毕设,我打算做的智能一点&br&&/blockquote&如果你更看重棋力的话,建议对于五子棋还是采用传统的Alpha-beta framework, proof-number search, dependency-based search,并借助类似Stockfish的参数调整策略尝试学习一些知识。这类传统技术的相关资源我已在此前回答上提到过(&a href=&/question//answer/& class=&internal&&关于象棋五子棋的人工智能? - 知乎用户的回答&/a&),这些技术可以帮助你取得目前最好的结果(&a href=&///?target=http%3A///questions//gomoku-state-of-the-art-tech& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&c++ - Gomoku state-of-the-art tech&i class=&icon-external&&&/i&&/a&)。&br&&br&如果你更看重创新性,你可以尝试应用深度卷积神经网络,目前尚无这方面的成果的公开发表。具体实现上,可以先直接用前文提到的围棋文献中的那套方法。效果不一定好,但会比较炫酷。&br&&br&蜗牛连珠(Slowrenju)作者 &a data-hash=&d6d0aadb6daec& href=&///people/d6d0aadb6daec& class=&member_mention& data-editable=&true& data-title=&@Tianyi Hao& data-tip=&p$b$d6d0aadb6daec& data-hovercard=&p$b$d6d0aadb6daec&&@Tianyi Hao&/a& 建立了一个用于交流五子棋AI的QQ群,群号是。题主若有进一步的问题,可以与群内的朋友交流。
本回答谢绝转载 问题太笼统,你需要简单介绍一下你的背景(对机器学习掌握到了什么程度,对计算机博弈掌握到什么程度),你希望最终实现的五子棋棋力达到什么水平,以及你所指的机器学习的在你的五子棋中起多大的作用(比如框架还是alpha-beta framework,…
六子棋存在,复杂度与围棋相当。&br&&a href=&///?target=http%3A//zh.wikipedia.org/wiki/%25E5%2585%25AD%25E5%25AD%%25A3%258B& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&zh.wikipedia.org/wiki/%&/span&&span class=&invisible&&E5%85%AD%E5%AD%90%E6%A3%8B&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&四子棋需要竖放,或者做成三维,用重力增加复杂度。&br&&a href=&///?target=http%3A//zh.wikipedia.org/wiki/%25E5%25B1%258F%25E9%25A2%25A8%25E5%25BC%258F%25E5%259B%259B%25E5%25AD%%25A3%258B& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&zh.wikipedia.org/wiki/%&/span&&span class=&invisible&&E5%B1%8F%E9%A2%A8%E5%BC%8F%E5%9B%9B%E5%AD%90%E6%A3%8B&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
六子棋存在,复杂度与围棋相当。
四子棋需要竖放,或者做成三维,用重力增加复杂度。
五子棋已被L.V.Allis 证明是具有先手必胜策略的棋类,在他的论文Gomoku and Threat-Space Search中提出了黑棋寻找Threat-Space 的方法,利用pn-search的博弈树加上db-search的落子搜索方法的Victor在黑棋全胜白棋半数胜利的情况下拿下了92年的五子棋AI世界冠军,至此之后似乎研究五子棋的进展就停滞了。&br&&br&&br&&br&&br&&br&以上摘自某篇人人日志,我觉得题主想要的应该是这个
五子棋已被L.V.Allis 证明是具有先手必胜策略的棋类,在他的论文Gomoku and Threat-Space Search中提出了黑棋寻找Threat-Space 的方法,利用pn-search的博弈树加上db-search的落子搜索方法的Victor在黑棋全胜白棋半数胜利的情况下拿下了92年的五子棋AI世界…
更新:2014年底的答案&br&电脑端&br&===&br&世界最强的是&b&弈心&/b&(不论是否有禁手)&b&。&/b&孙锴连续三届gomocup比赛冠军,在各种比赛中碾压所有其他ai(总决赛以50 : 4赢了其他ai)。只能在windows下运行,也没有手机版。免费下载地址在这里:&a href=&///?target=http%3A///pages/yixin-cn.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AI EXP&i class=&icon-external&&&/i&&/a&&br&作者是上海交大的本科生:孙锴&br&&br&世界第二是连珠终结者(renjusolver 收费的,也是中国人出品的)&br&题主说的五子棋大师和黑石专业版都已经早已不是最强的了&br&&br&android手机&br&===&br&无禁手:&br&无禁手的最强的是Tito,需要翻墙去google play去下载,免费的&br&五子棋大师也很强,据 &a data-hash=&3e1a2afce98d75064abab6& href=&///people/3e1a2afce98d75064abab6& class=&member_mention& data-editable=&true& data-title=&@舒自均& data-tip=&p$t$3e1a2afce98d75064abab6& data-hovercard=&p$b$3e1a2afce98d75064abab6&&@舒自均&/a&的回答与tito对战会赢得更多一些,但个人体会是tito进攻更强而五子棋大师更多只是防守反击。&br&&br&有禁手&br&收费的连珠终结者(renju solver)没用过,据传是实力最强(不论是否有禁手)。&br&有禁手的免费的最强的目测是是wind2323网友的蜗牛连珠:&a href=&///?target=http%3A///p/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【软件发布】蜗牛连珠2014 Android测试版&i class=&icon-external&&&/i&&/a& 但如果下无禁手是下不过toto和五子棋大师的&br&&br&ios&br&===&br&也有五子棋大师
更新:2014年底的答案 电脑端 === 世界最强的是弈心(不论是否有禁手)。孙锴连续三届gomocup比赛冠军,在各种比赛中碾压所有其他ai(总决赛以50 : 4赢了其他ai)。只能在windows下运行,也没有手机版。免费下载地址在这里: 作者是上海交大的本科生…
“有一块形状规则的蛋糕,姑且假设它是一个圆柱体。遗憾的是,它的密度分布很不均匀,无法用简单的函数关系来描述。我们可以在蛋糕表面,按一定规则插蜡烛(比如从圆心开始,按一定间距来插)。我们可以找两个人,给他们不同颜色的蜡烛,比比谁先得到一个用蜡烛围成的特定的图案。这项运动,我们可以给它取个名字,五子棋。然而,蛋糕是用来吃的。如果两个人来分这块蛋糕,并且尽可能分得更多(质量更大),我们把这种运动叫围棋。”这是我请教一位老师“为何五子棋棋盘大小并不影响招法,而围棋的招法却与盘面的大小密切相关”时他给我做的比喻,许多年前的事了,原文也已记不太清,可是啊,不争气的我早已放弃了围棋。今天的我已经工作了,时间真快……回答这个问题更多的原因是出于对过去的缅怀,至于正确与否,我才疏学浅,不得而知咯。尽管和原题无关,我还是想把那位老师的话写完“所以啊,现在假设蛋糕放大,因为形状规则,自然,插蜡烛的规则方法相差不多。然而,密度不规则(记得好像是说因为外势中腹定义不同引起,老师好像还举了十三路围棋边上几乎无法打入,而二十三路围棋边上已经有立二拆三的余地的例子),简单的放大只会又引起密度分布的变化,自然招法不同。”“懂了吗?”我一脸茫然。“就知道你不懂。”老师和蔼的笑了笑,忽然在我后脑壳上扇了一巴掌“你个熊孩子,有时间问这些,不会自己下下九路围棋和十三路围棋?不会在五子棋盘上下下围棋并在围棋棋盘上下下五子棋?没事别耽误我做蛋糕……”从此以后,没有从此以后了,后来搬家了。上面的话记得那么清,也不是因为老师说的有道理,而是那一巴掌很痛。真的。搬家那天,老师也没说什么,他和我父母并不算至交好友,只是送了我两块蛋糕,刚做好不久。
“有一块形状规则的蛋糕,姑且假设它是一个圆柱体。遗憾的是,它的密度分布很不均匀,无法用简单的函数关系来描述。我们可以在蛋糕表面,按一定规则插蜡烛(比如从圆心开始,按一定间距来插)。我们可以找两个人,给他们不同颜色的蜡烛,比比谁先得到一个用…
-&br&1.五子棋是日本命名而非中国。五子棋发源于中国,兴起于日本,风靡在欧洲。&br&&br&2.最初的开局命名并非星、月,而是桂打(日本将棋的棋驹之一“桂马”的简称,桂马的步法与象棋的马类似——走日字格,但是只能走左前方、右前方。桂类开局就是指黑第一子、第三子呈马步状的那一类。)、连打、间打。之后,才将桂、连合称为月,间为星。&br&&br&3.星月二十六种以外的开局称为“妖刀”。这个“妖刀”也是非常日本化的词,著名的“村正”就被称为“妖刀”,围棋(二间高夹村正妖刀定式)、连珠因此使用了这样搜索的词汇。&br&&br&&strong&(扩展阅读:1、&/strong&&a href=&///?target=http%3A//wangjian811225./blog/static//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&引用 五子棋局外局妖刀开局图解&i class=&icon-external&&&/i&&/a&,2、&a href=&///?target=http%3A//.cn/s/blog_5ce4aae80100cgi2.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&村正妖刀的由來&i class=&icon-external&&&/i&&/a&)&br&&br&————————————&br&&strong&五子棋开局命名规则&/strong&&br&&br&桂:桂马打,黑1、黑3成马步,“日”字形,以“月”命名。&br&&p&如直指的:“溪月”、“残月”、“新月”、“山月”;&/p&&p&如斜指的:“峡月”、“水月”、“岚月”、“名月”。&/p&&p&&br&间:间打,黑1、黑3在一条直线上或一条斜线上,间隔一点,以“星”命名。&/p&&p&如直指的:“寒星”、“疏星”、“金星”、“游星”、“瑞星”;&/p&&p&如斜指的:“长星”、“恒星”、“流星”、“明星”、“彗星”。&/p&&p&&br&连:连打,黑1、黑3在一条直线上或一条斜线上,无间隔,以“月”命名。&/p&&p&如直指的:“花月”、“雨月”、“丘月”、“松月”;&/p&&p&如斜指的:“云月”、“浦月”、“银月”、“斜月”。&/p&&br&&br&附图两张供参考:&br&&img src=&/7c16dedbc332ed4ea1f443c_b.jpg& data-rawwidth=&404& data-rawheight=&412& class=&content_image& width=&404&&&br&&img src=&/2b3b9e2922fde2ee190e8ddb_b.jpg& data-rawwidth=&403& data-rawheight=&412& class=&content_image& width=&403&&
- 1.五子棋是日本命名而非中国。五子棋发源于中国,兴起于日本,风靡在欧洲。 2.最初的开局命名并非星、月,而是桂打(日本将棋的棋驹之一“桂马”的简称,桂马的步法与象棋的马类似——走日字格,但是只能走左前方、右前方。桂类开局就是指黑第一子、第三…
五子棋在没有任何限制的玩法下,先手是可以简单必胜的,你在知乎上搜一下就能搜出来。结论在几十年前(甚至更早)就已经得出了,&b&先手一方轻松必胜&/b&。&br&&br&退一步想一下啊,反正多个棋子不吃亏对不对?我扔个棋子在棋盘上,然后把自己当作后手,如果后手本来就不吃亏,那我是“多了一个棋子的后手”不是更加占便宜了?&br&很久以前日本人发现了这个问题,他们规定了很多先手方的限制,到今天,职业规则大概是这样:&br&禁手(forbidden move),先手方不允许的行棋方式,包括双活三、双四,和长连;&br&交换规则;&br&打点规则。&br&&br&禁手的详细解释和技术判断有些相当复杂,有兴趣的话自行了解吧。&br&顺便说一下,就算有禁手,先手一方轻松必胜的结论依然成立。你甚至在当当搜“新井华石” ,还能搜出老先生以前出的小册子。如果你愿意花几小时认真学一学,就能欺负全班同学了。&br&&br&交换规则是建立在一个简单的逻辑上的: 如果一方开局时有能力获得很大优势,那么在规则中,允许对方交换,就会迫使优势一方将局势控制在平衡局面,因为如果他让局势不平衡,他自己就肯定会吃亏。 &br&打点规则是为了让局面更加有变化。在走到一定手数时,通常是黑方要给出N个点,由白方选择其中一个,作为实际黑棋落子点。&br&&br&目前常见的比赛规则,正在由RIF向山口规则过渡。&br&&br&比赛时,先手一方用黑色,后手一方用白色。&br&山口规则:&br&1) 先手一方下黑1,白2,黑3,黑1必须下在天元,白2必须在周围3x3,也就是只有2个选择;黑3下在天元周围5x5;&br&下完之后,先手方选择黑5的打点数N,通常是1到8个;&br&&br&2) 此时,后手方可以选择交换,或者不交换;&br&3) 后手方作出选择之后,由实际的执白(后手)方 ,下白4;此时棋盘上黑白各2枚棋子;&br&4) 按照事先的约定,先手方选择N个第五手打点,由白棋留下1个,作为实际的黑5;&br&5) 开局完成,双方按照有禁手规则行棋。&br&&br&RIF规则:&br&山口规则的N固定为2时,为RIF规则。&br&&br&其实大家平时玩的各种游戏大多都有人很投入,网上资料也蛮多的,愿全知全能的google满足你的好奇心。
五子棋在没有任何限制的玩法下,先手是可以简单必胜的,你在知乎上搜一下就能搜出来。结论在几十年前(甚至更早)就已经得出了,先手一方轻松必胜。 退一步想一下啊,反正多个棋子不吃亏对不对?我扔个棋子在棋盘上,然后把自己当作后手,如果后手本来就不…
谢谢邀请,至少到现在目前缺少一场真正的顶级ai和顶级人类的对战,但后来询问多位五子棋资深人士所讲,人类还是占上风的。&br&&br&先说gomocup的比赛结果&br&2006年,第一届人机大战,捷克顶级选手跟当时顶级的ai下的结果是一胜一平一负(下得都是平衡开局)。&br&2011年,第二届人机大战捷克顶级选手跟当时顶级的ai下的结果是5:3,AI赢(下得都是平衡开局)。&br&而2012年中国的弈心才出现在Gomocup里,把其余的AI都给虐了(也就是当年打败人类的那些软件),连续三年遥遥领先。2014年更是以153:9的悬殊比分赢了其余的ai。照这么说,AI应该能够赢得过顶级的人类棋手。&br&&br&但弈心的官网里,作者孙锴称:&br&&blockquote&相比电脑象棋,电脑五子棋的发展是缓慢的。顶级五子棋程序依旧无法超越最强的人类的棋手。&br&&/blockquote&这话就让人糊涂了。后来我猜测理解这可能背后有其他的隐含含义:&br&&blockquote&相比电脑象棋,电脑五子棋的发展是缓慢的。(在弈心出来之前,)顶级五子棋程序依旧无法超越最强的人类的棋手。&/blockquote&但其实考证后,真实的含义是&br&&blockquote&相比电脑象棋,电脑五子棋的发展是缓慢的。顶级五子棋程序依旧无法超越最强的人类的棋手(捷克那批棋手太菜了)。&/blockquote&据称弈心当前(2014年)的水平也是打不过世界前100的棋手,但目前还没有看到相应的比赛。&br&&br&&br&PS. 以上说的都是实战,像下面这种题目(横贯冰雪)算VCF这种东西,电脑还是要比人类解题的速度快躲了。&br&&img src=&/1d1df86b12c2795eab9ef17_b.jpg& data-rawwidth=&460& data-rawheight=&478& class=&origin_image zh-lightbox-thumb& width=&460& data-original=&/1d1df86b12c2795eab9ef17_r.jpg&&&br&&br&参考资料:&br&&a href=&///?target=http%3A//gomocup.org/results/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Results | Gomocup&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//www.piskvorky.cz/clanky/zajimavosti-ze-sveta-piskvorek-a-renju/ai-vs-clovek-2011-2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AI vs. ?lověk 2011&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A///pages/yixin-cn.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&弈心官网&i class=&icon-external&&&/i&&/a&
谢谢邀请,至少到现在目前缺少一场真正的顶级ai和顶级人类的对战,但后来询问多位五子棋资深人士所讲,人类还是占上风的。 先说gomocup的比赛结果 2006年,第一届人机大战,捷克顶级选手跟当时顶级的ai下的结果是一胜一平一负(下得都是平衡开局)。 2011年…
我想在这里介绍一种下棋的思路,这个思路就是,&b&把棋盘上每个位置估计一个分值,最后估计出分值最高的,就是下一步的最佳着点。&/b&&br&【提前说明:1.我的这个方法比较适合初学者和业余爱好者,高手可以绕道。2.以下说明都基于无禁手规则(因为大家平时都是下无禁手的,QQ游戏里无禁手在线人数可以证明)】&br&口头不好描述,举个实例吧:&br&&img src=&/d6d32b04db1f68e3d97ef3_b.png& data-rawwidth=&420& data-rawheight=&420& class=&content_image& width=&420&&像这盘棋,我用&b&量化分值&/b&的方法描述一下-----黑棋是如何赢的:&br&&br&&img src=&/7f7c30688b2faeb60582cef29f0919aa_b.png& data-rawwidth=&521& data-rawheight=&525& class=&origin_image zh-lightbox-thumb& width=&521& data-original=&/7f7c30688b2faeb60582cef29f0919aa_r.png&&&b&通过这种思路分析,也就是说,谁的形势好,取决于谁累计的分数更高(有时也不一定,分值只能展现局部战斗的得失),而谁的分数高,则取决于谁下的棋的“子效”更高。&/b&经过我对最近下的五盘棋的分析,每盘棋结束以后,胜利者的相对分值刚好是大于等于5的,也就是说凡是相对分值大于等于5的,就代表赢定了,上面那盘棋黑棋在终局相对分值就达到了5.5。(这盘棋本菜鸟是执白者)&br&&br&&b&那么以上那些分值又是如何确定的呢?&/b&我个人是这样确定的【关于分值大小只是举例参考,这里主要是介绍思路方法,不要在这里纠结】:&br&&br&&img src=&/271a29b98a2f3e485af12_b.png& data-rawwidth=&528& data-rawheight=&406& class=&origin_image zh-lightbox-thumb& width=&528& data-original=&/271a29b98a2f3e485af12_r.png&&&br&&br&以上阻止对方形成某种棋形也得分,具体不举例了。在下棋的时候根据这样一种思路判断下一步的位置好坏,可以让我们在判断的时候更加明确。&b&通过把抽象的位置量化成分值,可以让业余爱好者更加直观、更加科学地判断棋局,让每一个棋子的子效更高。&/b&&br&&br&&i&&b&第一次在知乎打这么多字,路过求支持&/b&&/i&&br&&i&&b&~&/b&&/i&&br&&br&(其他不太重要的说明:1.说它比较适合初学者,是因为我们业余玩家在下五子棋的时候,不如高手计算力强,也没有他们经验丰富,因此就难以判断下一步该往哪里下,比如一个活三,是往左边挡还是往右边挡,一般人会觉得都差不多,但其实是不一样的,而按照我这种思路下的话,就可以很容地让一名业余爱好者判断出往那边挡更好。&br&2.说它不适合高手,是因为我这个分值的判断标准没办法太精确,以高手的计算能力和计算深度,应该自己想会更准。3.我想任何棋都没有固定的必胜方法,但普通人按照我这种思路下棋,对付网上那些业余爱好者问题不大)
我想在这里介绍一种下棋的思路,这个思路就是,把棋盘上每个位置估计一个分值,最后估计出分值最高的,就是下一步的最佳着点。 【提前说明:1.我的这个方法比较适合初学者和业余爱好者,高手可以绕道。2.以下说明都基于无禁手规则(因为大家平时都是下无禁…
你爸比你懂厨艺方面的知识,是你太笨还是你爸太有心机了?&br&1.题主怎么知道人家没有在这方面花下努力?&br&2.下棋好就是心机婊,究竟是吃不到葡萄就吐葡萄酸,还是你收到的偏见太多蒙蔽了你智慧无双的心?&br&3.你知道五子棋是什么吗?你知道专业非专业的区别吗?难道天下棋下的好的都是心机婊?那我怎么没看到天生什么棋的规则都不学还什么棋都好的心机婊?&br&有点过激,没有歧视题主的意思。请题主正视这个问题。
你爸比你懂厨艺方面的知识,是你太笨还是你爸太有心机了? 1.题主怎么知道人家没有在这方面花下努力? 2.下棋好就是心机婊,究竟是吃不到葡萄就吐葡萄酸,还是你收到的偏见太多蒙蔽了你智慧无双的心? 3.你知道五子棋是什么吗?你知道专业非专业的区别吗?…
象棋,禁止拿将,黑方挺住前九步,第十步拿掉红方帅,获胜。
象棋,禁止拿将,黑方挺住前九步,第十步拿掉红方帅,获胜。
既然你诚心诚意的邀请了我就大发慈悲地告诉你,为了防止宇宙被破坏.....&br&等等,台词不对&br&&br&先上结论,人类玩不过AI,不论如何.当然这个玩不过是指(胜&负)&br&我的意思是现存的技术已经可做到了,但是现存的程序显然是不行的,swap2有一万种方法可以骗死YIXIN和TITO,所以这里对计算机的AI做个定义&br&1.拥有正常数量的开局存储,不用特别细,几千手就足够,几千手不是很多吧,随便一个地毯就上万的.&br&2.正规比赛还是有很多规则的,它必须提前知道对面要拿什么规则和他玩,然后对此做过准备,不用特别多,改不超过50行代码吧,这个数量不到yixin的1%&br&3.它必须要有正常的计算资源,E5这种犯规的就不提了,4核I7还是挺常见的吧&br&4.它必须和人类有同样的时限,而且人类在比赛之前不能和它已经大战三百回合&br&&br&那么人类已经不能和它好好游戏了.&br&&br&现在看起来可以玩是因为这AI不是为了和你下棋而设计的,&b&它是为了和其他AI玩gomocup才弄出来的,和人玩五子棋与和电脑玩的策略是完全不一样的,你不能说对它赢比输多就证明人能赢AI,因为如果写AI的目的是和人玩,那作者很多地方根本就不会这么写,更不会放着巨大的漏洞给你出骗招&/b&,真要和人比一比,比就比随怕随,核心的计算部分一点都不用动,就改点评价参数,再弄出一两个策略就行,比如故意走谱上不常见的分支,比如故意把局面引向对攻,引向大规模计算,就算人能算得清楚,AI最后拍表也能把人拍死.&br&而做这种改动在代码里就是改几个数字的问题而已&br&&br&山口RIF和某种叫一手交换的村规,人都没戏.因为根据定义1,前几步它全知道,走到一半它觉得差不多就可以脱谱,下谁也没见过的棋,溪月7打打出几个你下都没下过的地方,就算是它劣势,世界第一也不见得每步都能下对,请问你如何是好.哦听说现在世界第一是汪清清了,那就更不可能了.&br&SWAP2,计算机先手人没戏,人先手可能可以骗赢(毕竟3子开局太多不可能提前存),以前歪果仁构造出过一个轻松骗赢软件的例子,不过那还是因为没做过特化,如果让AI对所有没见过的局面都后手连下2步,那估计就变成人不能玩了.&br&&br&另外说一句,五子棋AI的发展正处于并将长期处于社会主义初级阶段,很多东西其实是金玉其外败絮其中的,花点时间改改,提升200个elo根本不成问题.&br&(这段话不是我说的,但是可信度值得保证)
既然你诚心诚意的邀请了我就大发慈悲地告诉你,为了防止宇宙被破坏..... 等等,台词不对 先上结论,人类玩不过AI,不论如何.当然这个玩不过是指(胜&负) 我的意思是现存的技术已经可做到了,但是现存的程序显然是不行的,swap2有一万种方法可以骗死YIXIN和TITO,所…
关于计算机博弈入门,尤其是中国象棋人工智能设计,国内最好的在线资源是象棋百科全书网站(&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&象棋巫师 - 象棋百科全书&i class=&icon-external&&&/i&&/a&)。王小春的《PC游戏编程(人机博弈)》常作为中文入门书籍,它包含了中国象棋和五子棋的人工智能设计的较完整的教程。&br&然而,上述中文资料的深度比较浅,若想进一步了解计算机博弈技术,推荐参考外文资料。国际最好的综合性在线资源是国象象棋程序设计百科全书(&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chessprogramming&i class=&icon-external&&&/i&&/a&),它介绍了国际象棋人工智能设计方方面面的资源,涵盖历史、数据结构、算法、协议等各方面的详细资料。除了综合性资料之外,特别地,关于五子棋,最详细的资源总结是Kai Sun于&a href=&///?target=http%3A///gomoku-renju-resources-an-overview.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AI EXP&i class=&icon-external&&&/i&&/a&的文章。文章中给出了的五子棋AI的推荐阅读材料列表,优秀开源界面及AI代码列表,协议列表等等。
关于计算机博弈入门,尤其是中国象棋人工智能设计,国内最好的在线资源是象棋百科全书网站()。王小春的《PC游戏编程(人机博弈)》常作为中文入门书籍,它包含了中国象棋和五子棋的人工智能设计的较完整的教程。 然而,上述中文资料…
比较强的开源五子棋AI:&br&&br&1. Carbon:目前棋力最强的开源引擎。我没怎么认真研究过,不过据说代码可读性不错,比较推荐。作者是来自波兰的Micha? Czardybon。&br&&a href=&///?target=https%3A///gomoku/Carbon-Gomoku& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - Carbon-Gomoku&i class=&icon-external&&&/i&&/a&&br&&br&2. Pela:在carbon之前曾经被认为最强的开源引擎,现在国内比较火的安卓五子棋大师就是盗的它的代码。算杀挺快。不过这程序AI的棋风有些不太正统,和它下过的都知道是怎么一回事。可以读一读,但不太建议模仿它。作者是来自捷克的Petr La?tovi?ka。&br&&a href=&///?target=https%3A//sourceforge.net/projects/piskvork/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SourceForge - Piskvork & Pela&i class=&icon-external&&&/i&&/a&&br&&br&其它的开源AI也有,不过棋力上不如以上这两个。&br&&br&关于五子棋的相关资料:&br&&br&就去弈心作者的主页上去看吧,所有有价值的东西应该都在那里了……&br&&a href=&///?target=http%3A///gomoku-renju-resources-an-overview.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&AI EXP - Gomoku/Renju Resouces -- An Overview&i class=&icon-external&&&/i&&/a&&br&&br&--------------------------------------------------------------------------------------------------&br&更新:&br&&br&更新两个来自中国人的开源五子棋引擎,都是今年的新引擎。目前棋力大概和Pela差不多。&br&&br&1. Chis,今年第一次参加Gomocup,就进入了Freestyle 1组。作者Peiming Zheng。&br&&a href=&///?target=https%3A///ChisBread/Chis& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - Chis&i class=&icon-external&&&/i&&/a&&br&&br&2. Wine,也是比较新的作品,明年应该会参加Gomocup。作者Jinjie Wang。&br&&a href=&///?target=https%3A///jinjiebang/wine& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - Wine&i class=&icon-external&&&/i&&/a&
比较强的开源五子棋AI: 1. Carbon:目前棋力最强的开源引擎。我没怎么认真研究过,不过据说代码可读性不错,比较推荐。作者是来自波兰的Micha? Czardybon。
2. Pela:在carbon之前曾经被认为最强的开源引擎,现在国内比较火的安…
楼上很多朋友都提到黑石,的确黑石很强,但是对于专业棋手来说,黑石其实水平也就中等偏上,甚至不到。比较吃惊的是没有人提到诸如 Tito, Yixin,Goro (最新版无禁黑石)Renjusolver等一流软件,这些都比黑石强很多,黑石是上个世纪90年代的产物,现如今20年过去了,前述几个软件实力都比黑石有过之而无不及,其中尤其以Yixin为标杆,可以说完胜黑石。所以题主是没有接触到实力强劲的五子棋软件所以误认为五子棋软件很菜,其实不是的。当然五子棋软件在手机平台上确实目前还没有超强的软件(据我所知,有可能现在情况有变),其原因一方面是因为五子棋本身在西方的受众有限,而西方是棋类AI设计的主力军,虽然日本也有作者写过一些软件,但都 实力不强,在新千年那段时间也涌现过一些国产和台产的软件非常不错,具有代表性的是中国的FIver6和之后的6-8以及台湾的五子棋大师系列,但当时尚未进入移动平台互联时代,都只是pc独占。另一方面,五子棋软件的发展在那以后进入了相当长的一段沉寂期,差不多有10年,一直没有一款能够全面超越黑石的对弈软件出现,虽然也出现过Renjusolver这样的超强的计算软件。而这个沉寂期在2010年前后迎来了大的改变也就是前述的出现了一大批血牛逼的对弈引擎,似乎标志着五子棋开始进入了引擎时代。可参见这里(英文)&a href=&///?target=http%3A//gomocup.org/download/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&gomocup.org/download/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&,而其标准化GUI 当中最具有代表性的就是 piskvork 了,它类似于国际象棋当中的winboard。这里就不cite了,请自行骨骼之。piskvork上面可以加载大部分参加世界五子棋软件锦标赛的引擎,让它们互相对弈,题主自己也可以下载尝试一下结果,用任意一个引擎对战黑石即可。&br&&br&然后再来说一下国际象棋,刚才说到西方是棋对弈AI设计的主力军,西方同时也是国际象棋盛行和发展的领域,可以说国际象棋的技艺和国际象棋软件AI的技术是齐头并进的。现在早已不是90年的那个IBM的深蓝时代了,现在是任何一个安卓上面运行的国际象棋引擎都能击败职业国际象棋棋手的掌上pc时代。甚至是云计算时代。因此电脑甚至不需要那么巨大的身型也能计算得快准狠。最关键的是算法的改进,当然同时有多进程的处理能力自然是更好的。因此不难解释为什么国际象棋软件非常完善和强大了,这与整个项目的发展历程有关,一直在进步,并且再加上有chessbase这样的专业平台和商业棋软厂商的支持和刺激,国际象棋软件的更新和发布就像我们每年玩到的pc游戏一样,足球游戏从Fifa 从98到2015,国际象棋从Fritz8-如今的14,甚至现在的各种Deep(深)系列,另外也有其他厂商诸如Shredder,Houdini Rybka的竞争,在西方软件版权意识的良性循环下,这样的拥有姿势产权的产品得到了良好的发展也就难怪了。并且纵观现如今新的一批五子棋软件你也能发现都是承袭或者说借用的国际象棋软件的界面和风格乃至系统。还有很多东西,包括elo等级分制度,这些当然就是职业比赛的竞技层面了,谈到这里因为本文只针对回答你的关于软件的困惑,就此打住,其他不清楚的,欢迎再讨论。&br&&br&祝好!
楼上很多朋友都提到黑石,的确黑石很强,但是对于专业棋手来说,黑石其实水平也就中等偏上,甚至不到。比较吃惊的是没有人提到诸如 Tito, Yixin,Goro (最新版无禁黑石)Renjusolver等一流软件,这些都比黑石强很多,黑石是上个世纪90年代的产物,现如今20年…
仔细看了以上大家说的,说说本人的理解。首先,根据2015年gomocup的成绩来看,Yixin的等级分达到了变态的2700+,目前人类最强的五子棋手Attila Demjan只有2080左右。好了,我们来分析这个问题其实是这样的。你到底说的是五子棋还是连珠? 注意,这个没划分清楚就是完全两个不同的命题。我们这里说的是五子棋,何为五子棋,无禁手+swap2规则或一手交换。是完全的未知局面,没有定式,不限制天元开局。比的是临场计算力和空间争夺。 何为连珠?有禁手+天元限制开局及其衍生而出的定式体系,都是基于天元这一个点的。籍此,楼上几位所说的何为顶尖五子棋手,这个定义是混淆的。按照我们国内的理解,顶尖五子棋棋手就是连珠棋手,但这种理解本身就是混淆的。连珠棋手强在哪里?和计算机比?在于对定式体系的研究和掌握,是对已知局面的把握。上面很多朋友不清楚不了解swap2规则和一手交换规则,很多还问出什么无禁手怎么平衡的问题,如果还有这种疑问存在,无法探讨这个命题。&br&还有朋友说捷克棋手连中国前100都不如,我觉得这样说太不严谨了一些。也没有足够的数据支撑。我打个简单的比方,这种说法就类似说台球球手打美式九球的连斯诺克前100都进不去。。。因为潘晓婷打的台球和丁俊晖打的是两个相似但很不一样的东西,虽然都是台球,但是取胜的方法不同,体系不同,原理也不尽相同。当然都必须进球,就像五子棋和连珠都必须连五。 这两个东西的差别究竟有多大,三言两语无法说清楚,凡是下过swap2和一手交换就知道那个变化量是惊人的。计算机长于在临场对未知局面的计算,这是人无法比拟的,人也可以有很强的计算力,但人会出错,这就是国际象棋人必败于引擎的原因,因为是生物。swap2规则就是将局面导入未知和开放,完全解放了定式,连珠棋手赖以生存的定式全部被打破了,跟计算机回到一个起点开始赛跑,结果可想而知。大部分说的目前能赢Yixin的都是说的中央天元开局,在既有定式体系下,连珠棋手凭借理论知识经验等能够将棋局导向可以控制的范围以内,从而保证至少不输,再稳重求胜,要说能骗Yixin的的确是存在的,就是骗他定式,事先研究好的东西当然人具有优势。但这是RIF规则或山口规则等等以天元为起手的规则的前提下进行的棋局。而一旦是以swap2这种规则,甚至不用swap2就是一手交换规则的未知局面都远远大于RIF和山口开局。这时候人在临场计算中肯定会犯错误,在开局阶段不再完美。而我们知道五子棋是典型的线性发展游戏,是属于连棋,这个和围棋还不一样,就必然导致进入中盘的优劣区分明显。进入到算杀的残局阶段就不用说了,如果谁硬要说就是比Yixin强,我只能说看问题要实事求是。我们且不说yixin,国内那么多所谓的顶尖的连珠棋手有几个不是用黑石来做棋谱的?如果没有黑石的帮助,光凭人力五子棋不会发展有今天那么快,就像日本人用了差不多一个世纪才研究出多少开局。还是在黑石出现以后五子棋的研究才取得了长足的进步。&br&&br&总结一下,五子棋swap2规则下或一手交换规则,人不敌优秀AI,如Yixin,hewer15 Tito15等。连珠规则下由于有定式辅佐和理论铺垫,连珠棋手能够比较自如地抗衡甚至戏弄AI。这个懂棋谱的都知道。欧洲棋手很多是只下gomoku(五子棋)的,不下Renju(连珠)的,请不要妄加断言他们的实力不如中国的以定式研究为主的连珠棋手,尤其是对于未知局面的计算和思路只会更好,不会不如。二者有共性,但区别非常大。另外,也并不是说人类就完全没法跟AI抗衡了。至少在连珠这块以“限制”为核心精神的自留地里面,计算机和人互有输赢都是正常的。但在以自由为要义的五子棋swap2规则下看来,人对于未知的东西,在单位时间内难敌AI。&br&再补充一下,五子棋还没有类似国际象棋这样的商业引擎和商业软件的出现,我说的不是像连珠终结者这种小打小闹类似小作坊生产辣条一样的所谓产品。而是类似于chessbase或者Houdini这种投入的作品。或许五子棋的AI运算算法有它的独特性,但看看国际象棋的引擎表现和商业投入,再看看五子棋引擎和软件差在哪里,其实很多问题都很好理解了。所以相信制约五子棋软件棋力的核心因素不是技术层面的,还是资金和投入。
仔细看了以上大家说的,说说本人的理解。首先,根据2015年gomocup的成绩来看,Yixin的等级分达到了变态的2700+,目前人类最强的五子棋手Attila Demjan只有2080左右。好了,我们来分析这个问题其实是这样的。你到底说的是五子棋还是连珠? 注意,这个没划分…
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 五子棋棋子图片 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信