06. 여섯 번째 수업: 파이썬 random 모듈과 10만 번의 슬롯머신

우리가 종이 위 분수($1/6$, $1/2$) 로 구한 값은, 수학자들이 가상 세계에서 세팅한 ‘수학적 확률 (Theoretical Probability)’ 입니다. “이론상 주사위를 골백번 던지면 $6$번에 $1$번꼴은 숫자 1 이 나와야 맞다” 는 이데아적인 렌더링 값입니다.

하지만 진짜 내가 현실에서 카지노 바닥에 주사위를 10번 구슬려 굴렸을 때, $1$이 반드시 무조건 한두 번 기어 나와 주나요? 전혀 아닐 수도 있습니다! 내가 운이 더럽게 재수 없으면 $10$번 굴려도 숫자 $1$이 한 번도($0\%$) 안 터질 수도 있습니다. 이처럼 노가다 육체노동으로 돌려보는 현실 확률을 ‘통계적 경험 확률(Empirical Probability)’ 이라고 부릅니다.

과연 파이썬 컴퓨터의 무작위 난수 함수를 이용해 10만 번 넘게 주사위 경험 무한 시뮬레이션 루프를 돌려버리면, 이 미쳐버린 더러운 우연의 현실 확률 찌꺼기 갭이 진짜 ‘수학의 절대 수치인 $1/6$’($16.66\%$) 에 가깝게 조립/융합되어 버리는지 실험해 보겠습니다.

2D 웹툰 애니 과학적 데이터 아트 스타일: 초대형 미래 카지노 서버 슈퍼컴퓨터 모니터. 100만 번의 주사위 난수 생성 시뮬레이션이 돌며, 처음에 미친 듯이 튀어 오르던 붉은색 현실 확률 꺾은선 그래프가 횟수가 무한대로 향할수록 점차 평탄해지며 '16.66% 수학적 확률'의 완벽한 1자 녹색 수평선과 소름 돋게 일치하며 수렴해가는 강렬한 사이파이 일러스트

1. 파이썬 주사위 오토 클릭 시뮬레이터

파이썬에는 random 이라는 우주의 혼돈 난수 칩셋 모듈 패키지가 내장되어 있습니다.

# [Python Code] 파이썬 카지노: 주사위 100만 회 굴리기 시뮬레이션 
import random

# 카지노 딜러(루프 엔진) 에게 내가 돌려볼 시행 횟수 명령을 내립니다.
trials = [10, 100, 1000, 10000, 1000000]

# 우리가 컴퓨터 메모리에 비교해 볼 이론상 절대 확률 타겟
theoretical_p = 1 / 6 * 100  # (퍼센트율 = 16.6666...%)
print(f"=== [Target] 이론적인 수학 확률 (1이 뜰 확률): {theoretical_p:.4f}% ===\n")

for total_toss in trials:
    success_count = 0  # 주사위 눈 '1' 이 뜬 횟수 카운터
    
    # 설정한 횟수만큼 미친 듯이 오토 클릭으로 주사위를 굴리는 렌더링 for 문!
    for _ in range(total_toss):
        # random.randint(1, 6) 은 1~6 사이 정수 난수를 뽑는 칩셋 함수
        dice_result = random.randint(1, 6)
        
        # 만약 진짜 '1' 이 터졌다면 카운터를 += 1 올려라!
        if dice_result == 1:
            success_count += 1
            
    # 전체 굴린 횟수 대비, 진짜 1이 뜬 횟수를 백분율 통계(Empirical) 확률로 쪼갠다!
    empirical_p = (success_count / total_toss) * 100
    
    print(f"[{total_toss:,} 번 굴림] 1이 튀어나온 횟수: {success_count}")
    print(f"  -> 현실 내 운의 확률 (통계적 경험): {empirical_p:.4f}% " + 
          (" (헐크! 차이 크다!)" if abs(empirical_p - theoretical_p) > 2.0 else " (거의 좁혀짐!)"))

2. 큰 수의 법칙 (The Law of Large Numbers) 터트리기

이 코드를 Shift + Enter 로 터트려 보면, 콘솔창 모니터에서 인류가 찾은 가장 소름 돋는 통계 데이터인 “통계학의 극한 (큰 수의 법칙)” 신호가 떨어져 랜딩됩니다.

[시뮬레이팅 결괏값 데이터 콘솔 화면]

=== [Target] 이론적인 수학 확률 (1이 뜰 확률): 16.6667% ===

[10 번 굴림] 1이 튀어나온 횟수: 0번
  -> 현실 내 운의 확률 (통계적 경험): 0.0000%  (헐크! 차이 크다!)

[100 번 굴림] 1이 튀어나온 횟수: 19번
  -> 현실 내 운의 확률 (통계적 경험): 19.0000%  (헐크! 차이 크다!)

[1,000 번 굴림] 1이 튀어나온 횟수: 181번
  -> 현실 내 운의 확률 (통계적 경험): 18.1000%  (거의 좁혀짐!)

[10,000 번 굴림] 1이 튀어나온 횟수: 1683번
  -> 현실 내 운의 확률 (통계적 경험): 16.8300%  (거의 좁혀짐!)

[1,000,000 번 굴림] (100만 번!) 1이 튀어나온 횟수: 166889번
  -> 현실 내 운의 확률 (통계적 경험): 16.6889%  (거의 좁혀짐!)

놀라운 버그가 발견되셨습니까? 처음 고작 10번 주사위를 깔짝거렸을 때는, 1이 단 한 번($0\%$) 도 나오지 않는 억울한 변수 버그 사태가 터졌는데! CPU 루프를 돌려 카지노 주사위를 기계적으로 백만 단위를 향해 끝없이 무한대로 미친 듯이 돌려댈수록(시행 횟수를 $\infty$ 로 보낼수록), 그 오차율 편차 찌꺼기는 소름 돋게 증발하여 날아가 버리고, “경험적 통계 확률 수치($16.68\%$)” 가 이데아 세계에서 머리로 만든 “수학적 확률 이론($16.666\%$)” 쪽으로 완전 밀착 락다운! 수렴해 버린다는 사실 말입니다!

빅데이터 해킹의 궁극 요약: [큰 수의 법칙] 시행 횟수(표본) 가 미치도록 광대하게 커지면 커질수록, 날뛰던 지저분한 이 현실 세계의 오차율조차 우주 수학의 설계 엔진인 [이론적 확률] 속옷 안으로 빨려 들어가 무조건 제자리(수렴) 로 돌아온다.

그래서 카지노와 보험 회사는 당신이 한두 판 운 좋게 룰렛을 이겨 판돈을 따가는 찌꺼기 편차 버그 상황을 전혀 두려워하지 않습니다. 왜냐하면 당신을 포함한 수만 명의 등신 고객들이 수백만 번 카지노 게임기의 ‘도박 루프 사이클’ 을 크게 돌려줄수록… 결국 카지노 사장 장부에 통계적으로 찍히는 기댓값은? 설계자들이 처음 서버에 프로그래밍해 놓은 수학 공식 비율값(기대 확률) 의 소수점 오차 한 치 없이 완벽하게 복제 복구되어, 그들의 통장 주머니 서버 안으로 흘러 들어가도록 코딩이 끝나버린 상태이기 때문입니다. “카지노는 결코 질 수 없는 수학 게임 시스템 렌더링” 입니다.

세상의 혼돈을 쪼개어 합의(OR) 와 곱(AND) 의 필터 통발로 길을 내는 방법. 확률 1탄 도박장 시뮬레이션 수업을 여사건의 대성공으로 이만 종료하고 마치겠습니다!

서브목차