note-1: basic calculations

aft_null

  1. 起手牌牌型总数:1326

    choose(52,2)
    ## [1] 1326
  2. 起手牌拿到至少一张特定点数的牌,例如(A,X)或(A,A)的概率:14.93%

    1 - choose(48,2)/choose(52,2)
    ## [1] 0.1493213
  3. 起手牌是任意两单张,在flop提升为一对的概率:28.96%

    choose(44,2)*3*2/choose(50,3)
    ## [1] 0.2895918
  4. 起手牌是任意两单张,在flop未击中任何对子的概率:67.57%

    choose(44,3)/choose(50,3)
    ## [1] 0.6757143
  5. 起手牌是任意两单张,在flop提升为两对的概率:2.02%

    3*3*(52-4-4)/choose(50,3)
    ## [1] 0.02020408
  6. 起手牌是任意两单张,在flop成为天葫芦的概率:0.09%

    choose(3,2)*choose(3,1)*2/choose(50,3)
    ## [1] 0.0009183673
  7. 起手牌是任意两单张,在flop成为四条的概率:0.01%

    2/choose(50,3)
    ## [1] 0.0001020408
  8. 任意两单张例如(A,K),一直看到river,至少击中一对的概率:48.74%

    1 - choose(44,5)/choose(50,5)
    ## [1] 0.4874323
  9. 起手牌拿到特定口袋对子(AA或KK)的概率:0.45%

    choose(4,2) / 1326
    ## [1] 0.004524887
  10. 起手牌拿到任意口袋对子(AA或22等)的概率:5.88%

    choose(4,2) * 13 / 1326
    ## [1] 0.05882353
  11. 起手牌拿到口袋对子QQ+的概率:1.36%

    choose(4,2)*3/choose(52,2)
    ## [1] 0.01357466
  12. 起手牌拿到口袋对子JJ+的概率:1.81%

    choose(4,2)*4/choose(52,2)
    ## [1] 0.01809955
  13. 起手牌拿到口袋对子TT+的概率:2.26%

    choose(4,2)*5/choose(52,2)
    ## [1] 0.02262443
  14. 起手牌拿到两张K+(包含口袋对子)的概率:2.11%

    (6*2+16)/choose(52,2)
    ## [1] 0.02111614
  15. 起手牌拿到两张Q+(包含口袋对子)的概率:4.98%

    (6*3+16*3)/choose(52,2)
    ## [1] 0.04977376
  16. 起手牌拿到两张J+(包含口袋对子)的概率:9.05%

    (6*4+16*6)/choose(52,2)
    ## [1] 0.09049774
  17. 起手牌拿到两张T+(包含口袋对子)的概率:14.33%

    (6*5+16*10)/choose(52,2)
    ## [1] 0.1432881
  18. 任意口袋对子在flop击中Set的概率(标准计算):11.51%

    choose(48,2)*2/choose(50,3)
    ## [1] 0.115102
  19. 在4-9人局中,口袋对子在flop击中暗三条(Set)的概率:13%,13.6%,14.2%,14.97%,15.7%,16.6%

    playerNum <- c(4:9)
    blockNum <- 0   ## 此处范围为0到2
    probFlopSet <- choose((52 - playerNum*2 -2),2)*(2 - blockNum) / choose((52 - playerNum*2),3)
    PFS <- round(probFlopSet,3)
    ## print(PFS)
    ## plot(playerNum,PFS)
    library(ggplot2)
    data <- data.frame(
      category = playerNum,
      value = PFS,
      x = playerNum,
      y = PFS,
      family = PFS
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PFS*100,"%"))),nudge_y = 0.05,size = 3)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PFS") +
      labs(title = paste("Hit set on flop"),subtitle = "by aft_null")

  20. 在4-9人局中,口袋对子在turn上击中Set的概率:4.88%,5.13%,5.41%,5.71%,6.06%,6.45%

    playerNum <- c(4:9)
    probTurnSet <- 2 / (52 -playerNum*2 - 3)
    PTS <- round(probTurnSet,4)
    ## print(PTS)
    
    library(ggplot2)
    
    data <- data.frame(
      category = playerNum,
      value = PTS,
      x = playerNum,
      y = PTS,
      family = PTS
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PTS*100,"%"))),nudge_y = 0.05,size = 3)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PTS") +
      labs(title = paste("Hit set on turn"),subtitle = "by aft_null")

  21. 在4-9人局中,口袋对子在river击中Set的概率:5%,5.26%,5.56%,5.88%,6.25%,6.67%

    playerNum <- c(4:9)
    probRiverSet <- 2 / (52 - playerNum*2 - 4)
    PRS <- round(probRiverSet,4)
    ## print(PRS)
    
    library(ggplot2)
    
    data <- data.frame(
      category = playerNum,
      value = PRS,
      x = playerNum,
      y = PRS,
      family = PRS
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PRS*100,"%"))),nudge_y = 0.05,size = 3)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PRS") +
      labs(title = paste("Hit set on river"),subtitle = "by aft_null")

  22. 口袋对子在flop击中四条(Quads)的概率:0.24%

    48 / choose(50,3)
    ## [1] 0.00244898
  23. 口袋对子preflop ALL IN, 走到river击中Set或Quads的概率:18.4% + 0.82% = 19.2%

    (choose((48),4) * 2 + choose(48,3))  / choose(50,5)
    ## [1] 0.1918367
  24. 起手牌是Suited的概率:23.5%

    choose(13,2) * 4 / 1326
    ## [1] 0.2352941
  25. 在4-9人局中,Suited在flop击中Flush,也就是“天金”的概率:1.2%,1.4%,1.7%,2%,2.8%

    playerNum <- c(4:9)
    probFlopFlush <- choose(11,3) / choose((52 - playerNum*2),3)
    PFF <- round(probFlopFlush,3)
    ## print(PFF)
    
    library(ggplot2)
    
    data <- data.frame(
      category = playerNum,
      value = PFF,
      x = playerNum,
      y = PFF,
      family = PFF
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PFF*100,"%"))),nudge_y = 0.05,size = 3)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PFF") +
      labs(title = paste("Hit flush on flop"),subtitle = "by aft_null")

  26. 在4-9人局中,Suited在flop形成同花听牌后,在转牌圈击中Flush,也就是“一脚着”的概率:22%,23.1%,24.3%,25.7%,27.3%,29%

    playerNum <- c(4:9)
    blockNum <- 0
    probTurnFlush <- (9 - blockNum) / (52 - playerNum*2 - 3)
    PTF <- round(probTurnFlush,3)
    ## print(PTF)
    
    library(ggplot2)
    
    data <- data.frame(
      category = playerNum,
      value = PTF,
      x = playerNum,
      y = PTF,
      family = PTF
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PTF*100,"%"))),nudge_y = 0.05,size = 3,check_overlap = FALSE)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PTF") +
      labs(title = paste("Hit flush on turn"),subtitle = "by aft_null")

  27. 在4-9人局中,Suited在翻牌圈形成同花听牌后,在turn或river击中同花Flush的概率:39.51%,41.3%,43.24%,45.38%,47.73%,50.32%

    playerNum <- c(4:9)
    blockNum <- 0 ## 对手手握阻挡牌总数 ##
    probTRF <- 1 - choose(52-playerNum*2-3-9+blockNum,2)/choose(52-playerNum*2-3,2)
    PTRF <- round(probTRF,4)
    ## print(PTRF)
    
    library(ggplot2)
    
    data <- data.frame(
      category = playerNum,
      value = PTRF,
      x = playerNum,
      y = PTRF,
      family = PTRF
    )
    
    ggplot(data, aes(x =playerNum, y = value)) +
      geom_point(stat = "identity") +
      geom_text(aes(label = (paste0(PTRF*100,"%"))),nudge_y = 0.05,size = 3)+
      coord_cartesian(ylim = c(0, 1)) +
      scale_y_continuous(labels = scales::percent) +
      labs(y = "PTRF") +
      labs(title = paste("Hit flush on turn or river"),subtitle = "by aft_null")

  28. Suited手牌,于preflop ALL IN,在river击中Flush的概率:8.42%

    choose(11,3)*choose(47,2)/choose(50,5)
    ## [1] 0.08418367
  29. Suited 连张手牌,在flop至少击中一对、或者Straight听牌、以及Flush听牌的概率:34.85%

    choose(23,2)*27/choose(50,3) ## 6张同点数补牌+8张顺子听牌补牌+11张同花色补牌-2张共同补牌,其余27张是无关牌
    ## [1] 0.3485204
  30. 任意两张手牌在flop击中Quads的概率:0.024%

    ## 白皮书 P26 E.2.4.15 b) ##
    ## 13种四条 + 另外48种单张牌*(翻牌的第三张牌)##
    13*48/choose(52,5)  ## 等价于随机选择5张牌,其中4张牌的点数相同的概率 ##
    ## [1] 0.000240096
  31. 已经拿到特定口袋对子,翻牌圈击中金刚的概率:0.24%

    1*48/choose(50,3) 
    ## [1] 0.00244898
  32. 已经拿到特定口袋对子,假设无论如何都要看到河牌,击中金刚的概率:0.8%

    1*choose(48,3)/choose(50,5)  ## 5张公牌,有两张与口袋对子同点数凑成金刚,其余3张任意组合 ##
    ## [1] 0.008163265