q3acn吧 关注:127贴子:1,359
  • 19回复贴,共1

出个概率题给大家拜年

只看楼主收藏回复

我的Q3有两个bot(A和B)。我对战A的时候胜率是70%,对B的时候胜率是90%。(好吧我很菜)
请问A对战B的期望胜率有多少?
不要钻牛角尖,考虑什么相性相克、分差多大、是否有平局之类的。假设条件都理想化,实力差距可以传递,我和两个bot的实力方差均匀并相同等等。


IP属地:广东1楼2014-02-08 20:59回复
    75%


    IP属地:广东2楼2014-02-10 13:39
    回复
      兔子的算法是把他们的胜率作为能力然后进行比较:A/(A+B)=30/40=75%,对吧?
      近似但不够准确。
      譬如我再出一道题:
      我对C胜率40%,对D胜率60%,问C对D胜率多少?
      按照这种算法C/(C+D)=60/100=60%
      C比我强,对D的胜率显然应该比我高。


      IP属地:广东3楼2014-02-10 17:33
      回复
        64%


        IP属地:广东4楼2014-02-11 08:53
        回复
          和我算的不一样。谈谈思路呗~


          IP属地:广东5楼2014-02-11 08:58
          收起回复
            你的算法和我不同,不过答案接近,好像都有道理,挺有意思。
            你的胜负判定是取两个上限不同的随机数,较大的那个赢。譬如[0,100]与[0,80]各取一个随机数,前一个比后一个大的几率,即胜率是20%+80%/2=60%
            我的胜负判定是在一个区间划成两份取随机数,落在那一份算该份赢。譬如把[0,100]以60为界划分,那么随机数落在第一份的几率是60%。
            依我的算法,第一题我的实力为100,A=100×30/70,B=100×10/90,A vs B:A/(A+B)=79.41%
            依你的算法,第一题A~[0,20],B~[0,60],A vs B:(60-20)/60+20/(60*2)=5/6=83.33%
            我的算法第二题C=100×60/40,D=100×40/60,C vs D:C/(C+D)=69.23%
            你的算法第二题C~[0,125],D~[0,80],C vs D:(125-80+40)/125=68%


            IP属地:广东6楼2014-02-12 18:32
            收起回复
              C不是P(C)、D不是P(D),而是以共同参照物(我的实力)为基础的特征向量,设我的实力值为100,分别求出他们的实力。


              IP属地:广东10楼2014-02-13 19:18
              回复
                把你的模拟过程贴出来看看?


                IP属地:广东11楼2014-02-13 21:22
                回复
                  就是我描述的算法,在区间去随机数,然后比较大小。
                  function CaluRate1(rnd1, rnd2: Integer; times: Int64): Single;
                  var
                  r1, r2: Single;
                  rw1, i: integer;
                  begin
                  RandSeed := DateTimeToFileDate(Now);
                  Randomize;
                  rw1 := 0;
                  for i := 1 to times do
                  begin
                  r1 := random(rnd1)+1;
                  r2 := random(rnd2)+1;
                  if r1 > r2 then
                  inc(rw1);
                  end;
                  Result := rw1 / times;
                  end;


                  IP属地:广东12楼2014-02-14 11:05
                  回复
                    你的模型比较好,可以模拟的选手风格更多、模拟的竞赛类型更广。
                    选手风格:相同水平的选手,基本功性选手的实力区间为[40,60],神经刀型选手实力区间为[0,100]。前者发挥更稳定,后者则有机会发挥出更高的水平。
                    竞赛类型:可以是直接对抗型,也可以是打分型。前者比较双方的实力区间来决定胜率,而后者,则引入一个挑战值,通过各自对挑战值的成功率来间接比较胜率。譬如两个选手的区间分别是A~[40,60]、B~[0,100],当他们挑战30难度的项目,A成功率为100%,B成功率为70%,则A胜率为75%(打平算各赢一半),当他们挑战70难度时,A成功率是0%,B成功率是30%,则A的胜率为35%。
                    另外,其实我那个属于你的模型中的特例。


                    IP属地:广东13楼2014-02-14 20:16
                    回复
                      100%吧


                      IP属地:安徽来自Android客户端14楼2014-03-12 13:47
                      回复
                        50%。V社精髓


                        IP属地:江苏来自iPhone客户端15楼2014-11-14 08:05
                        回复
                          这题目写错了吧?
                          不应该是“对战I”,“对战B”
                          和“I对战B”吗?


                          IP属地:广东17楼2024-08-16 19:55
                          回复