炉石传说吧 关注:5,362,644贴子:109,438,323

从计算机科学角度解释一下之前吧友发的吐槽姐夫的帖子之前看到有

只看楼主收藏回复

从计算机科学角度解释一下之前吧友发的吐槽姐夫的帖子
之前看到有吧友吐槽在对面一个墙的情况下嗜血能斩杀但姐夫没给,但是其实这个问题真不简单的,假如你是编写姐夫代码的程序员,你会怎么解决这个问题呢(在有墙的情况下判断给出嗜血是否能斩杀)?
让我们来分析一下:如图中只有一个8血墙和19血的英雄,嗜血后按站位顺序1个4攻,1个11攻和3个4攻,那怎么组合才能斩杀呢?这其实是一个经典的组合优化问题,是背包问题的变形bin-covering,是NP-hard问题不存在多项式算法。为了姐夫的这一功能编写代码来实现这一功能其实是有点难度的。
并不是在为姐夫错斩开脱,只是告诉大家想要实现这一功能在工程实现上的难度,楼主的这一例子也很有趣让我们窥见了一些姐夫内部代码的逻辑。作为玩家能做的也就是了解在顺序站位的情况下能给出嗜血斩杀,能控站位的时候甚至要控好站位。当然这对玩家的要求也有点高了


IP属地:江苏来自iPhone客户端1楼2020-08-05 11:04回复
    别让楼主寂寞太久哦


    IP属地:江苏来自iPhone客户端2楼2020-08-05 11:28
    回复
      2025-12-26 05:44:57
      广告
      不感兴趣
      开通SVIP免广告
      nb!


      来自iPhone客户端3楼2020-08-05 11:38
      回复
        +3


        IP属地:山东来自Android客户端4楼2020-08-05 11:39
        回复
          截图不全啊.是不是有奥秘


          IP属地:安徽5楼2020-08-05 11:41
          收起回复
            回想起了当年学算法的时代


            IP属地:浙江来自Android客户端6楼2020-08-05 12:25
            回复
              关键是他这个死亡之翼的女儿下去88必在中间,对面从左边开始解他还真没办法控制站位。


              IP属地:四川来自iPhone客户端7楼2020-08-05 12:28
              回复
                就算没有多项式算法,n这么小也是工程上可以实现的吧


                来自Android客户端8楼2020-08-05 12:35
                回复
                  2025-12-26 05:38:57
                  广告
                  不感兴趣
                  开通SVIP免广告
                  如果只看血量斩杀那就是个一维背包问题,动态规划就能解决。我觉得姐夫的算法问题不是在于他是不是np,而是要考虑到的还有水晶和我方血量,就是还有某种评判权重在做深度遍历搜索,这些算法细节我们是不得而知的。不过可以肯定的是,只看斩杀其实没那么难,问题是出在他算法设计的评判权重指标肯定是有问题的,说白了就是在姐夫那套算法算完了发现有比斩杀更重要的指标分数。
                  一言蔽之,姐夫智障


                  IP属地:吉林来自Android客户端11楼2020-08-05 13:53
                  回复
                    说得很对,确实可以动态规划解决,但程序员并不愿意为单独判断这一张卡写一个代价不小的程序,所以姐夫这张卡是真的程序员噩梦


                    IP属地:江苏来自iPhone客户端12楼2020-08-05 14:56
                    回复
                      同程序员,楼主功夫还需多学学啊,以上


                      IP属地:四川来自Android客户端13楼2020-08-05 19:22
                      回复
                        数据量撑死16个攻击频率7堵墙,也没让姐夫算亡语,16个物品的背包,动规肯定能搞定,算是程序员偷懒?不过显而易见对服务器负担提高了不少


                        IP属地:上海来自Android客户端14楼2020-08-05 19:29
                        回复
                          我感觉场上要是有一个5攻的说不定能出嗜血


                          IP属地:黑龙江来自Android客户端15楼2020-08-05 19:34
                          回复
                            姐夫真是程序员噩梦,我宁愿他像游戏王的指名者


                            IP属地:广东来自Android客户端16楼2020-08-05 19:53
                            回复
                              2025-12-26 05:32:57
                              广告
                              不感兴趣
                              开通SVIP免广告
                              这就NP了?全体加三攻之后用最小代价过墙 而且n最大是7。。。按郭德纲说法给块馒头狗都能写出来


                              IP属地:福建来自Android客户端17楼2020-08-05 20:28
                              回复