用 Go 撸了下 2048 的 AI - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
WendellSun

用 Go 撸了下 2048 的 AI

  •  2
     
  •   WendellSun 2017 年 10 月 25 日 4979 次点击
    这是一个创建于 3103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 Go 把 2048 的 AI 撸了一遍,有兴趣的同学可以参考下。

    算法用的 Expectimax,局面评估靠几个简单的权值矩阵,因为请求频繁,使用 websocket 来通信。2048 的网页前端是从别人的项目 fork 过来修改的,在 readme 上有说明。

    https://github.com/xwjdsh/2048-ai

    43 条回复    2017-11-16 14:24:37 +08:00
    northisland
        1
    northisland  
       2017 年 10 月 25 日
    太厉害了!
    2048
        2
    2048  
       2017 年 10 月 25 日   29
    什么?你把我撸了?
    holajamc
        3
    holajamc  
       2017 年 10 月 25 日
    @2048 2333
    WendellSun
        4
    WendellSun  
    OP
       2017 年 10 月 25 日
    @2048 卧槽。。
    lany
        5
    lany  
       2017 年 10 月 25 日
    @2048 666
    evlos
        6
    evlos  
       2017 年 10 月 25 日
    @2048 #2 哈哈哈哈
    LittleWhiteMouse
        7
    LittleWhiteMouse  
       2017 年 10 月 25 日
    自古二楼出人才
    Mitt
        8
    Mitt  
       2017 年 10 月 25 日
    @2048 666
    wulin
        9
    wulin  
       2017 年 10 月 25 日
    二楼 2333333
    mrwangrj
        10
    mrwangrj  
       2017 年 10 月 25 日
    不说歪楼的事,这个搞得很厉害
    asen477
        11
    asen477  
       2017 年 10 月 25 日
    确实不错。
    BBCCBB
        12
    BBCCBB  
       2017 年 10 月 25 日
    2 楼, 23333
    WendellSun
        13
    WendellSun  
    OP
       2017 年 10 月 25 日
    goodryb
        14
    goodryb  
       2017 年 10 月 25 日
    https://github.com/xwjdsh/2048-ai/issues/1

    docker start 的时候报错了
    ii4Rookie
        15
    ii4Rookie  
       2017 年 10 月 25 日
    @2048 请问你的 AI 是哪个部位?
    silov
        16
    silov  
       2017 年 10 月 25 日
    果然二楼欢乐多
    yonka
        17
    yonka  
       2017 年 10 月 25 日
    2 * 1024 ? 我还以为...
    WendellSun
        18
    WendellSun  
    OP
       2017 年 10 月 25 日
    @goodryb 我试了几个服务器,都正常。你看看这个链接有没有帮助呢。

    https://github.com/moby/moby/issues/16816
    noNOno
        19
    noNOno  
       2017 年 10 月 25 日
    @2048 合格的二楼-.-
    superMaLiao
        20
    superMaLiao  
       2017 年 10 月 25 日
    @2048 噫!!
    mrcn
        21
    mrcn  
       2017 年 10 月 25 日
    爆出 1024 之后速度好像会变慢很多?
    WendellSun
        22
    WendellSun  
    OP
       2017 年 10 月 25 日
    @mrcn 是的,爆出 1024 和 2048 分别提升一个搜索深度,会导致速度变慢。
    yulitian888
        23
    yulitian888  
       2017 年 10 月 25 日
    #2
    自古二楼出人才
    timothyye
        24
    timothyye  
       2017 年 10 月 25 日
    流弊,求待
    timothyye
        25
    timothyye  
       2017 年 10 月 25 日
    求带
    veightz
        26
    veightz  
       2017 年 10 月 25 日
    小白围观
    WendellSun
        27
    WendellSun  
    OP
       2017 年 10 月 25 日
    @timothyye 大佬你谦虚了。。
    rebill
        28
    rebill  
       2017 年 10 月 25 日
    前面很快,后面( 1024 之后)开始吃力了,效率还有的提升。
    WendellSun
        29
    WendellSun  
    OP
       2017 年 10 月 25 日
    @rebill 是的,爆出 1024 和 2048 分别提升一个搜索深度,会导致速度变慢。代码上可以优化的地方有不少,谢谢支持。
    lh948
        30
    lh948  
       2017 年 10 月 25 日
    好 diao
    lh948
        31
    lh948  
       2017 年 10 月 25 日
    只玩到分数 71652
    mosliu
        32
    mosliu  
       2017 年 10 月 25 日
    自古二楼欢乐多。。
    22092
        33
    22092  
       2017 年 10 月 25 日
    WendellSun
        34
    WendellSun  
    OP
       2017 年 10 月 25 日
    @lh948 @jg22092kit 局面评估上实现的比较粗糙,我也觉的跑起来不太稳定。
    andychen20121130
        35
    andychen20121130  
       2017 年 10 月 25 日
    原来已经开源了。
    aihimmel
        36
    aihimmel  
       2017 年 10 月 25 日
    为啥我的印象中 2048 这个游戏除了会刷出 2,还会刷出 4
    WendellSun
        37
    WendellSun  
    OP
       2017 年 10 月 25 日
    @andychen20121130 开源的挺多的,我也参考了一些项目。大多是 js 实现的,服务端实现的少一些。
    WendellSun
        38
    WendellSun  
    OP
       2017 年 10 月 25 日
    @aihimmel 是会刷出 4 的。10%出 4,90%出 2,这个是前端里 js 的逻辑,没有改过。
    nicoljiang
        39
    nicoljiang  
    PRO
       2017 年 10 月 26 日
    http://ovolve.github.io/2048-AI/

    跟这个用的同一算法么?
    WendellSun
        40
    WendellSun  
    OP
       2017 年 10 月 26 日 via Android
    @nicoljiang 这个项目我读过,作者用的算法是 minimax 结合剪枝,expectimax 是基于其的一个变种,在局面评估上,他考虑的方面很多,表现很好。
    Unknwon
        41
    Unknwon  
       2017 年 11 月 14 日
    厉害了。。学习中
    WendellSun
        42
    WendellSun  
    OP
       2017 年 11 月 14 日
    @Unknwon 早上来办公室看 github 吓一跳,原来被大佬翻牌了。
    kex0916
        43
    kex0916  
       2017 年 11 月 16 日
    给大佬跪了。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     903 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 92ms UTC 19:55 PVG 03:55 LAX 12:55 JFK 15:55
    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