专业财税服务推荐

精选优质财税服务,为企业提供专业、可靠的财税解决方案,助力企业健康发展

零报税代理记账
零申报代理记账
报税做账算帐财务报表老会计做账
代理记账
咨询微信:lhy_happyday
工商营业执照年度年报年检公示
全国个体、企业、公司、合作社工商年审年报服务!
个体/10元/次 企业/20元/次
咨询微信:lhy_happyday
财税咨询服务
一对一专业财税咨询,解决企业财税难题,提供定制方案
咨询微信:lhy_happyday
财务分析服务
小规模个体报税0申报税务年报工商年报月报季报报税代理记账
咨询微信:lhy_happyday
立即咨询专业财税顾问
微信号: lhy_happyday
会计从业9年,管理多家个体工商、小规模、一般纳税人等企业的财务、税务等相关工作!。
扫码或搜索添加微信,备注"财税咨询"获取专属优惠
知方号 知方号

探索五子棋先手必胜 五子棋先手必胜

探索五子棋先手必胜

Allis, Louis Victor在1994年用编程证明了五子棋无禁手规则下黑先必胜。如果放到现在做,第一反应肯定用与alphago类似的深度学习做,但是Allis在他的年代电脑算力相对不足,他通过穷举了所有的可能来实现。五子棋与围棋一个很大的差别是,围棋的落子可能选点是361减去当前手数(近似),而五子棋一方可能只有一两个。根据实际经验,黑棋下到某一阶段,可以在对白起持续产生威胁的情况下获胜,这时候黑棋的选点为持续生成活三或者冲4,白棋的选点是堵住黑棋,有限的选点让穷举成为可能。所以我当时的第一想法是,先写一个解残局的机器,然后人为分类开局的几步,当到了一定深度用残局机去判断是否成立,不行的话再增加深度,把所有可能放到数据库里,运行的时候在数据库里搜索。想法很好,但其实在写残局机的时候就遇到了最终也没解决的问题——跑的速度太慢。然而我自己觉得已经很难再继续剪枝,所以分析一下过程与最终问题。

先对残局机有个大概的定义。残局机下黑棋必须持续对白棋产生威胁,直到有连成五个子,如果黑棋的无论下哪里都没有活三或者冲四,则认为是无法产生威胁而失败。首先给程序搭个框架:

注意的是,这里在循环里调了递归,position对应着所以可能的位置(1:电脑,cp,对应着先手的黑棋,2:人类,hu, 对应后手的白棋,0:对应空白处)。如果是电脑,首先要考虑当前棋盘是否存在四个情况,定义为cp4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。