포카를 치는데, 셋이할때보다 넷이할때 좋은패가 뜰 Probability가 높았다. 이를 제대로 확인해보고자 확률계산 및 시뮬레이션을 구상하게 되었다. 이것을 통해서 이전의 주사위예제보다 좀더 실감나는 Probability공부가 될것이다.

확률계산

전체 52장의 카드 중에서 특정 7장을 뽑을 경우의 수

$$ {52 \choose 7} = \frac{52!}{7! \times 45!} = 133784560 $$

7장의 카드중에서 포커의 패로 사용할 5장을 고르는 경우의 수

$$ {7 \choose 5} = \frac{7!}{5! \times 2!} = 21 $$

Straight Flush 의 경우, 전체 52장 중에 특정카드 5개만을 골라야 하므로, 1/2598960 = 3.85e-7

$$ {52 \choose 5} = \frac{52!}{5! \times 47!} = 2598960 $$

Pocker 의 경우, 전체 52장 중에 특정카드 4개만을 고르는것이 숫자만큼(13)이므로, 13/270725 = 4.8e-5

$$ {52 \choose 4} = \frac{52!}{4! \times 48!} = 270725 $$

시뮬레이션구상

참여인원에 따른 가상게임을 만들고 10000번이상 실시하여, 그 유의함을 판단해본다.

Python소스 : PockerSimulation.py

Cards별 출현확률

이건, 셋이나 넷이나 상관없을것이다. 각게임에서 모든이들의 손에 쥐어질 족보를 몽땅계산했다. 8만번실시결과

cards

확률(%)

Straight Flush

0.03

Pocker

0.19875

House

2.70625

Flush

3.06375

Straight

4.69875

Triple

4.79625

Two Pair

23.21625

One Pair

43.875

None

17.415

각 Cards를 쥐었을때 승률

각각 2만번식 실시했을때 각 족보별 승률(%)

cards

2명시

3명시

4명시

5명시

6명시

7명시

Straight Flush

100

100

100

100

100

100

Pocker

100

97.89

100

99.38

98.54

100

House

98.52

96.75

94.31

93.38

91.33

89.43

Flush

96.27

91.17

86.81

82.22

79.46

76.46

Straight

92.30

83.34

78.33

71.12

66.30

60.63

Triple

85.80

76.74

67.70

57.31

49.66

42.43

Two Pair

72.06

53.73

37.76

29.38

22.12

16.87

One Pair

39.42

17.11

8.354

4.232

2.202

1.214

None

9.09

1.043

0.164

0.041

0.0048

0.0

인원수가 증가함에 따라 중간정도의 족보승률이 급격히 떨어진다. 중요한결론한가지. None가지고 있는데, 5명이서 같이 히든보고 펼쳤을때 이길확률은 스티플뜰확률이랑 비슷하다. ;

작업로그

2003-1-2

2003-1-5

2003-1-6

2003-1-7

2003-1-8

2003-1-11

PockerSimulation (last edited 2011-11-30 19:21:25 by 152)