纯 JS 五子棋 AI 更新啦,棋力变强了,来挑战下吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lihongxun945
V2EX    分享创造

纯 JS 五子棋 AI 更新啦,棋力变强了,来挑战下吧

  •  
  •   lihongxun945 2018-07-03 17:00:03 +08:00 15092 次点击
    这是一个创建于 2732 天前的主题,其中的信息可能已经有所发展或是发生改变。

    更新了新的版本,现在比之前的棋力有明显的提升。

    在线地址: http://gobang.light7.cn/

    特点:

    • 纯 JS 实现,浏览器中运行,支持几乎所有主流设备。
    • 实现了常见的 Alpha-Beta 剪枝,Zobrist 缓存,启发式搜索,路径优化等
    • 代码开源 + 手把手教程 + 纯 JS 实现。

    源码地址: https://github.com/lihongxun945/gobang/

    有兴趣的同学可以和 AI 挑战一下。另外,正在开发一个 Vue 的新版本。到时候界面会有大幅美化,可能棋力也会得到提升的。

    第 1 条附言    2018-07-04 16:13:47 +08:00
    感谢大家,已经测出了两个明显的 bug,最右侧一列被忽视,以及电脑有时候会在输了后继续下一个子的 bug。

    在之后的版本会修复的,感恩~
    第 2 条附言    2018-07-04 16:16:17 +08:00
    前端小伙伴可以关注下我的博客哦: https://github.com/lihongxun945/myblog
    Vue/Webpack 等 干货满满。最近转移到 github 了,发现流量会比 CSDN,掘金等平台少很多,但是质量是杠杠滴,欢迎 Follow/star/fork.
    91 条回复    2018-07-23 22:10:15 +08:00
    lihongxun945
        1
    lihongxun945  
    OP
       2018-07-03 17:02:18 +08:00
    前端小伙伴可以关注下我的博客哦: https://github.com/lihongxun945/myblog
    Vue/Webpack 等 干货满满
    bosshida
        2
    bosshida  
       2018-07-03 17:13:11 +08:00
    刚玩了一局,输了,43 出现后,输定了,弹出的美女图片吓我一跳。。。
    shenjo
        3
    shenjo  
       2018-07-03 17:15:16 +08:00
    渣渣的我完了两局都输了
    wxsm
        4
    wxsm  
       2018-07-03 17:16:22 +08:00
    有趣
    karlxu
        5
    karlxu  
       2018-07-03 17:16:35 +08:00
    弹出的美女图片吓我一跳。。
    ynyounuo
        6
    ynyounuo   2018-07-03 17:32:21 +08:00
    五子棋复杂度太低了。没有额外规则的情况下执黑必赢 - - 可以尝试让五子棋的「五」作为一个变量,感觉才比较有意思。
    xyyxlq
        7
    xyyxlq  
       2018-07-03 17:33:00 +08:00
    有个问题,玩家赢了之后,电脑还是会继续走子,然后在提示玩家赢了之后,继续提示“轩轩赢了”。
    buddha
        8
    buddha  
       2018-07-03 17:45:12 +08:00 via Android
    玩了 2 局 都是 ai 先手 1 输 1 赢
    songz
        9
    songz  
       2018-07-03 17:49:08 +08:00
    ynyounuo
        10
    ynyounuo  
       2018-07-03 17:50:49 +08:00

    14 * 15 了
    huixia0010
        11
    huixia0010  
       2018-07-03 18:02:24 +08:00
    厉害
    yanaraika
        12
    yanaraika  
       2018-07-03 18:12:21 +08:00
    无禁手五子棋必胜策略都有了……
    SingeeKing
        13
    SingeeKing  
    PRO
       2018-07-03 18:14:55 +08:00   1
    我想知道那个小姐姐是谁
    crab
        14
    crab  
       2018-07-03 18:15:43 +08:00   1
    开 2 窗口 2 角色互斗!
    pjhubs
        15
    pjhubs  
       2018-07-03 18:23:02 +08:00 via iPhone
    https://i.loli.net/2018/07/03/5b3b4e5153e70.png

    emmm,26 左右就输了,而且是个非常明显的点,估计是不是判赢函数中的权值不对
    uuair
        16
    uuair  
       2018-07-03 18:28:07 +08:00   2
    好难哦。。。
    yushiro
        17
    yushiro  
       2018-07-03 19:12:05 +08:00 via iPhone
    玩家选手,30 步赢了,但应该是算双三禁手~
    qiyuey
        18
    qiyuey  
       2018-07-03 19:20:25 +08:00 via Android
    有点慢
    lihongming
        19
    lihongming  
       2018-07-03 19:29:12 +08:00 via Android
    棋力不错,但胜负判断有问题,我都 5 连了,还能看见美女呢
    lihongxun945
        20
    lihongxun945  
    OP
       2018-07-03 19:32:56 +08:00 via iPhone
    @ynyounuo 有双三禁手,等规则可以限制先手优势
    lihongxun945
        21
    lihongxun945  
    OP
       2018-07-03 19:33:18 +08:00 via iPhone
    @xyyxlq 这是一个已知的 bug 哈哈
    lihongxun945
        22
    lihongxun945  
    OP
       2018-07-03 19:33:57 +08:00 via iPhone
    @uuair 你好有毅力
    lihongxun945
        23
    lihongxun945  
    OP
       2018-07-03 19:34:19 +08:00 via iPhone
    @yushiro 暂时没有实现禁手逻辑
    1daydayde
        24
    1daydayde  
       2018-07-03 19:36:51 +08:00 via iPhone
    轩轩是谁(滑稽
    lihongxun945
        25
    lihongxun945  
    OP
       2018-07-03 19:46:18 +08:00 via iPhone
    shansing
        26
    shansing  
       2018-07-03 19:48:47 +08:00
    想起“五子棋终结者”,你们说的执黑必胜的东西: http://www.bf92.com/soft/five/five.htm
    shansing
        27
    shansing  
       2018-07-03 19:59:25 +08:00
    下着下着“评分”一项就变这样了: https://imgur.com/a/pdTBfSX
    Windows 10 / Firefox 61
    Cavolo
        28
    Cavolo  
       2018-07-03 20:09:29 +08:00 via iPhone
    @shansing 没禁手的后果
    1daydayde
        29
    1daydayde  
       2018-07-03 20:56:42 +08:00
    @lihongxun945 #25 行了我知道你有女朋友 /老婆了
    lihongxun945
        30
    lihongxun945  
    OP
       2018-07-03 22:03:05 +08:00 via iPhone
    @SingeeKing 你猜,哈哈
    artandlol
        31
    artandlol  
       2018-07-03 22:58:28 +08:00 via iPhone
    119
        32
    119  
       2018-07-03 23:14:46 +08:00
    cuqk
        33
    cuqk  
       2018-07-03 23:15:21 +08:00 via Android
    66 步赢了电脑,算法不错,很多小心思都被发现了
    F281M6Dh8DXpD1g2
        34
    F281M6Dh8DXpD1g2  
       2018-07-03 23:19:14 +08:00 via Android
    不管有没有禁手,五子棋都是谁先谁赢的
    ynyounuo
        35
    ynyounuo  
       2018-07-04 00:20:22 +08:00
    @lihongxun945
    RIF 和日式规则作用不大,先手依旧必应,可以找相关论文看看,上个世纪就被证明了。可以考虑一下索索夫8规则。
    ynyounuo
        36
    ynyounuo  
       2018-07-04 00:20:36 +08:00
    *必赢
    zj299792458
        37
    zj299792458  
       2018-07-04 00:45:44 +08:00 via iPhone
    有趣,但是无禁手,先手 25 步内基本必胜……
    jsthon
        38
    jsthon  
       2018-07-04 00:49:33 +08:00
    最右侧是检测不到吗?快要填满的时候,它无视我然后赢了.....

    https://i.loli.net/2018/07/04/5b3ba8d4d6a9b.png
    uuair
        39
    uuair  
       2018-07-04 01:05:43 +08:00
    https://github.com/junxiaosong/AlphaZero_Gomoku

    后来我找到了一个这个。。。有点强。。。
    imdoge
        40
    imdoge  
       2018-07-04 08:27:07 +08:00
    水平一般……我执黑没下禁手,也没用花月浦月开局,31 手胜
    iyangyuan
        41
    iyangyuan  
       2018-07-04 09:41:56 +08:00 via iPhone
    太慢了。。。平均每步思考 30+,iPhone 自带浏览器
    eilian
        42
    eilian  
       2018-07-04 11:04:44 +08:00
    eilian
        43
    eilian  
       2018-07-04 11:08:32 +08:00
    楼主可以看下这张图的右下角 25 31 87 89 91 我先手 执黑子 5 子了 AI 还是下了第 92 手
    lihongxun945
        44
    lihongxun945  
    OP
       2018-07-04 11:40:38 +08:00 via iPhone
    @eilian 是的,这是一个已知 bug 哈哈
    lutla
        45
    lutla  
       2018-07-04 11:41:34 +08:00
    怎么赢了还下的……
    tuimaochang
        46
    tuimaochang  
       2018-07-04 13:38:21 +08:00

    美滋滋
    bbzt
        47
    bbzt  
       2018-07-04 14:14:49 +08:00
    五子棋一般先手都能赢吧。
    ColinZeb
        48
    ColinZeb  
       2018-07-04 14:25:18 +08:00
    在右边一直下就赢了
    jy00566722
        49
    jy00566722  
       2018-07-04 14:34:05 +08:00
    厉害了。。。
    UnknownR
        50
    UnknownR  
       2018-07-04 14:48:54 +08:00
    没禁手,先手基本都会赢
    longyujin9
        51
    longyujin9  
       2018-07-04 14:57:28 +08:00
    下到一定程度,直接走五颗子它都不堵了![]( https://i.loli.net/2018/07/04/5b3c6fceeed3d.png)
    lutla
        52
    lutla  
       2018-07-04 15:01:32 +08:00
    有点意思,ai 执黑。
    quickma
        53
    quickma  
       2018-07-04 15:04:13 +08:00
    很厉害
    Vhc001
        54
    Vhc001  
       2018-07-04 15:08:47 +08:00
    无视最右一列?
    lihongxun945
        55
    lihongxun945  
    OP
       2018-07-04 15:19:24 +08:00 via iPhone
    @Vhc001 你好像测出了一个新的 bug
    lihongxun945
        56
    lihongxun945  
    OP
       2018-07-04 15:21:51 +08:00 via iPhone
    感谢大家,已经测出了两个明显的 bug,最右侧一列被忽视,以及电脑有时候会在输了后继续下一个子的 bug。

    在之后的版本会修复的,感恩~
    imydou
        57
    imydou  
       2018-07-04 15:27:04 +08:00


    可能是 bug,如果我没想错的话,我先下的红圈棋子,然后就提示我输了。
    gotounix
        58
    gotounix  
       2018-07-04 15:31:16 +08:00
    RIcter
        59
    RIcter  
       2018-07-04 15:56:23 +08:00
    jiangnana
        60
    jiangnana  
       2018-07-04 16:26:09 +08:00
    请问那个是你女朋友吗?
    sevenQu
        61
    sevenQu  
       2018-07-04 16:49:08 +08:00
    还真有赢的,我怎么一局也没赢,唉。。。。
    molvqingtai
        62
    molvqingtai  
       2018-07-04 19:07:27 +08:00
    单生狗玩个五子棋都被虐
    molvqingtai
        63
    molvqingtai  
       2018-07-04 19:37:30 +08:00
    让 AI 一子
    SingeeKing
        65
    SingeeKing  
    PRO
       2018-07-04 19:53:32 +08:00
    hizoubin
        66
    hizoubin  
       2018-07-04 22:07:16 +08:00
    bug 最右一列没有计算在内。
    em2046
        67
    em2046  
       2018-07-04 23:31:24 +08:00
    好难
    yun
        68
    yun  
       2018-07-04 23:53:51 +08:00
    我这算是赢了吧
    KMpAn8Obw1QhPoEP
        69
    KMpAn8Obw1QhPoEP  
       2018-07-05 11:27:01 +08:00 via Android
    为什么会突然蹦出来个动图 然后自动把我的步数跳过了…
    set01
        70
    set01  
       2018-07-05 22:32:04 +08:00
    电脑就是喜欢跳三
    DylanZ
        71
    DylanZ  
       2018-07-06 11:42:11 +08:00
    keep it simple plz.
    SinceJune
        72
    SinceJune  
       2018-07-06 14:06:29 +08:00
    你这怕是有点 bug。。https://imgur.com/a/dHaaPXe
    artandlol
        73
    artandlol  
       2018-07-07 11:29:32 +08:00 via iPhone
    https://send.firefox.com/download/7a22b1e1cf/#jtvyJRmiBa9X8UUCeVDYCQ

    3.0 版本还是赢了,只不过比较艰难了
    orange666
        74
    orange666  
       2018-07-08 15:20:59 +08:00
    厉害
    quickma
        75
    quickma  
       2018-07-09 18:48:22 +08:00
    距离边缘小于 5 的情况下,还是有一些过于关注局部的棋局而陷入深渊之中。
    nature91
        76
    nature91  
       2018-07-10 09:42:52 +08:00
    边缘值有 bug
    DylanZ
        77
    DylanZ  
       2018-07-12 16:41:47 +08:00
    请问小姐姐出现分别意味着啥?
    whvg2zaJSol4yTXj
        78
    whvg2zaJSol4yTXj  
       2018-07-13 03:09:01 +08:00
    22 手赢了
    whvg2zaJSol4yTXj
        79
    whvg2zaJSol4yTXj  
       2018-07-13 03:09:44 +08:00
    @DylanZ 她必胜了 or 你必胜了
    whvg2zaJSol4yTXj
        80
    whvg2zaJSol4yTXj  
       2018-07-13 03:23:08 +08:00
    ![屏幕快照 2018-07-13 上午 3.07.07]( )

    ![屏幕快照 2018-07-13 上午 3.16.53]( )
    cainiuwow
        81
    cainiuwow  
       2018-07-13 09:36:49 +08:00
    调整了吗?今天玩了一下怎么感觉系统变笨了。
    我这后手胜率都八九十了,不科学啊,上次玩电脑没这些套路。
    上次玩,明显能感觉到系统是电脑计算过的,非常人想法,但这次玩都是套路。
    lihongxun945
        82
    lihongxun945  
    OP
       2018-07-13 11:00:42 +08:00 via iPhone
    @cainiuwow 一直在做一些算法调整,可能短期内会出现棋力下降的问题
    UnknownR
        83
    UnknownR  
       2018-07-13 12:33:23 +08:00
    胜负的判定好像有点问题
    smilepig
        84
    smilepig  
       2018-07-13 19:22:40 +08:00
    这个要是纯本地运算,那是不是可以说,我的五子棋是奔腾的水平,或者 i3,i5,i7 的水平
    0vv0
        85
    0vv0  
       2018-07-17 18:30:19 +08:00
    美女图片是什么鬼,吓我一跳
    hhb0206
        86
    hhb0206  
       2018-07-17 20:28:50 +08:00
    ...被美女图片吓一跳,然后没注意三颗棋子了
    Currycili99
        87
    Currycili99  
       2018-07-19 14:18:56 +08:00
    五子棋零水平,没怎么玩过
    artandlol
        88
    artandlol  
       2018-07-20 22:32:46 +08:00 via iPhone
    sometimehappy
        89
    sometimehappy  
       2018-07-23 19:54:38 +08:00
    下输了 我丢了人类的脸
    gam2046
        90
    gam2046  
       2018-07-23 22:08:23 +08:00
    这个 AI 还是有提升空间的哟

    玩家先手胜:
    https://i.loli.net/2018/07/23/5b55de7b5d9b6.jpg

    玩家后手胜:
    https://i.loli.net/2018/07/23/5b55e1258ceb0.jpg
    gam2046
        91
    gam2046  
       2018-07-23 22:10:15 +08:00
    玩家后手胜:
    https://i.loli.net/2018/07/23/5b55e1a40f8e0.jpg

    话说这个棋子会闪.....导致截图没截到。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     964 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 19:08 PVG 03:08 LAX 11:08 JFK 14:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86