메이플스토리 인벤 자유게시판

전체보기

모바일 상단 메뉴

본문 페이지

[수다] 대충 파이썬 확률 시뮬 돌려봄

아이콘 겁나못함
댓글: 1 개
조회: 151
2025-09-25 17:35:16
전제조건은 내꼴리는대로잡음
총 추첨권 1500만장잡았고 알려지지않은 은둔고수 10만개 추첨권을가진 대주주가 30명있다는 전제임. 더많을지 적을지는 나도모름 그냥 대충잡음. 나머지는 개미들이 동일하게 나눠먹음. 개미가 절대다수라는 전제임
개미가 돌리는 추첨갯수는 모르겠고 걍 동일하게 계산해버림. 여기서 오차가 얼마나 생길지는 나도모르겠음


import random
import numpy as np
from collections import Counter

# 파라미터
N_total = 15_000_000
K_major = 30 * 100_000        # 3,000,000
n_draw = 10
num_rounds = 10000            # 시뮬레이션 회차 수, 필요에 따라 조정

# 확률형 시뮬레이션: 각 회차마다 대주주 당첨자 수를 하이퍼지오메트릭 방식으로 샘플링
# 방법: numpy.random.hypergeometric를 사용하거나 직접 구현
# numpy의 hypergeometric takes (ngood, nbad, nsample) where ngood = K_major, nbad = N_total - K_major
results = []
for _ in range(num_rounds):
    major_wins = np.random.hypergeometric(K_major, N_total - K_major, n_draw)
    small_wins = n_draw - int(major_wins)
    results.append((int(major_wins), int(small_wins)))

# 회차별 출력 예시: 앞에서부터 20회 표시
for i, (maj, sm) in enumerate(results[:20], start=1):
    print(f"Round {i}: 대주주 {maj}명, 개미 {sm}명")

# 전체 분포 요약
counts = Counter([maj for maj, _ in results])
total = len(results)
print("n대주주 당첨자 수 분포 (대주주 수 : 상대빈도)")
for k in sorted(counts.keys()):
    print(f"{k} : {counts[k]/total:.6f}")



결과임

Round 1: 대주주 1명, 개미 9명
Round 2: 대주주 3명, 개미 7명
Round 3: 대주주 3명, 개미 7명
Round 4: 대주주 4명, 개미 6명
Round 5: 대주주 4명, 개미 6명
Round 6: 대주주 1명, 개미 9명
Round 7: 대주주 3명, 개미 7명
Round 8: 대주주 2명, 개미 8명
Round 9: 대주주 3명, 개미 7명
Round 10: 대주주 1명, 개미 9명
Round 11: 대주주 2명, 개미 8명
Round 12: 대주주 2명, 개미 8명
Round 13: 대주주 2명, 개미 8명
Round 14: 대주주 1명, 개미 9명
Round 15: 대주주 0명, 개미 10명
Round 16: 대주주 4명, 개미 6명
Round 17: 대주주 3명, 개미 7명
Round 18: 대주주 3명, 개미 7명
Round 19: 대주주 2명, 개미 8명
Round 20: 대주주 0명, 개미 10명

대주주 당첨자 수 분포 (대주주 수 : 상대빈도)
0 : 0.112200
1 : 0.265800
2 : 0.303000
3 : 0.201400
4 : 0.086700
5 : 0.024400
6 : 0.005300
7 : 0.001200
...
...
....

전체 표수중에 개미가 상대적으로 많아야함
근데 내가아는 당첨자는 세명이 다 대주주임. 나머지 7명이 전부 개미에서 나온다면 어느정도 납득이됨.
그래도 모든 조건이 최저치라 최저오차수준에서 생각할수있는 인원이 7명이라도 너무 적음.

만약 전제가 대주주의 숫자가 엄청많아서 개미들이가진 추첨권의 총량보다 많거나 비슷해져도 문제인게 그럼 대주주만 수십~백여명은 존재해야함. 그럼 대주주들중에서도 경쟁이 치열해야되는데 인벤에 알려진 두세명이 전부 당첨된것도 아이러니임

이제보니 대주주가가진 총추첨권 / 전체추첨권갯수 0.2네 그냥 시뮬돌릴필요도없었네
추첨권10만개가진 30명. 300만장 vs 그냥 대충 자기가 나온거 쓴사람 1200만장 일때 후자가 압도적으로 많을거라는 전제임.
후자에는 10만장안되지만 9만 8만 급되는사람도있을거고 10장 20장쓴사람도있을거임. 그사람들을 모두 포함한 평균치만큼이 포함된 숫자인 1200만장임.

조건이나 상황다를수있음. 상상은 알아서

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 메이플
  • 게임
  • IT
  • 유머
  • 연예
AD