- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 17/02/08 10:35:42
Name   April_fool
Subject   로또 번호와 정규분포

어제의 일입니다. 부장님이 잡담하시는 것을 듣고 있는데, 문득 그 중에 “로또에서 각 번호들의 총합이 백 얼마인 것이 가장 당첨 확률이 높더라”는 내용이 있더군요. 당연한 게 아닌가? 싶기도 했지만, 그래도 왠지 확인을 해보고 싶더라고요.

그래서 다음과 같은 간단한 프로그램을 짜서 돌려 보았습니다.

  1. import random
  2.  
  3. def plusAll(a):
  4.     # 리스트 속에 있는 모든 숫자를 더해 반환한다.
  5.     result = 0
  6.     while len(a) != 0:
  7.         result += a.pop()
  8.     return result
  9.  
  10. def counter(a):
  11.     # 리스트 속의 원소의 개수를 세어 튜플로 반환한다.
  12.     result = {}
  13.     for i in a:
  14.         if i in result:
  15.             result[i] = result[i] + 1
  16.         else:
  17.             result[i] = 1
  18.     return result
  19.  
  20. = []
  21. for i in range(1000000+1):
  22.     b = random.sample(range(1, 45+1), 6)
  23.     a.append(plusAll(b))
  24. = counter(a)
  25. = sorted(b.items())
  26.  
  27. file1 = open("a.tsv", "w")
  28. for (k, v) in c:
  29.     line = str(k) + "\t" + str(v) + "\n"
  30.     file1.write(line)
  31. file1.close()

이 파이썬 프로그램은 랜덤으로 로또 번호를 백만 개 생성하여, 그 숫자들의 합이 몇 개나 나오는지 세어서 특정 파일에다가 그 결과를 기록합니다. 이 결과물은 Microsoft Excel에서 열어볼 수가 있지요. 그리고, 그 결과물을 엑셀에서 분산형 차트로 그려보면 다음과 같습니다.

 …어디서 많이 본 듯한 모양의 그래프가 나왔습니다. 제가 듣기로, 이런 모양을 가리켜 [정규분포]라고 한다고 하더군요.

그러면, 저 그래프에서 가장 높은 값(=가장 많이 나온 값)은 어디일까요? 생각해보면, 로또의 각 숫자를 더한 값 중 가장 작은 수는 1+2+3+4+5+6=21이고, 가장 큰 수는 45+44+43+42+41+40=255입니다. (21+255)÷2=138이지요. 실제로 생성된 파일의 데이터를 살펴보아도, 138 부근의 값이 가장 많이 나온 것을 알 수 있습니다. 다시 말해서, 이론적으로 로또의 각 숫자의 합이 138과 유사한 경우가 상대적으로 당첨 확률이 높다는 결론이 나옵니다. 이걸 응용하면 옛날에 타임라인에 올렸던 로또번호 생성 프로그램을 개량할 수 있을 것 같아요.

이상, 오늘의 월도짓이었습니다.




3


    목록
    번호 제목 이름 날짜 조회 추천
    727 기타람보르기니 vs. 페라리... 15 Neandertal 15/08/04 8250 0
    532 기타러시아 민요 <나 홀로 길을 가네> 6 15/07/07 7191 0
    13591 기타러시아-우크라이나 전쟁은 어떻게 된다고 보시는지요...? 35 홍당무 23/02/23 4863 0
    8015 기타러시아와 미국의 전술 교리에 대해 알아봅시다 16 기쁨평안 18/08/08 6672 27
    280 기타런닝맨이 중국 예능프로의 역사를 바꿨습니다. 13 Leeka 15/06/09 10027 0
    1361 기타런던에서 BBC 영어를 들을 수 있다는 꿈은 버려... 21 Neandertal 15/10/28 16863 3
    3591 기타레전드 히어로 삼국전 공식 액션 영상모음 5 자동더빙 16/08/27 5215 0
    4805 기타로또 번호와 정규분포 33 April_fool 17/02/08 14716 3
    1674 기타로마의 몰락, 파스타의 쇠퇴. 6 마르코폴로 15/12/01 7210 4
    10583 기타로큰롤의 선구자 리틀 리차드의 사망소식과 그의 음악들 2 김치찌개 20/05/14 5487 2
    11023 기타리튬 전망 중간 정리 (요약 아직 모르겠음) 6 moqq 20/10/04 6464 1
    5993 기타린킨파크 보컬 체스터 배닝턴 자살.jpg 김치찌개 17/07/22 5754 0
    13365 기타마감- 급 이벤트) 내용추가 - 16강 기념 신세계상품권 교환권 2명!!! 104 tannenbaum 22/12/03 3695 22
    9715 기타마감)강다녤 줄서면 스벅 깊티콘 주는 게시물 (추가X2) 113 tannenbaum 19/09/27 6667 36
    13938 기타마감)팬텀싱어4 결승 생방송 이벤트!!! 37 tannenbaum 23/06/02 3792 0
    352 기타마루야마 겐지가 쓴 소설의 문장들 16 Raute 15/06/18 10330 0
    2743 기타마약 이야기 40 까페레인 16/05/04 11107 2
    12 기타마에놉니다. 4 maeno 15/05/29 10489 1
    8835 기타마음속 부스러기들... 1 메리메리 19/02/03 5043 0
    448 기타마음이 따뜻해지는 이야기 -10살 소년 엘리엇- 5 Blue Sky 15/06/27 9067 0
    1113 기타마이크로소프트는 왜 공짜점심을 제공하지 않는가. 24 눈부심 15/09/28 7425 0
    5147 기타막말 변론의 이유 32 烏鳳 17/03/11 5520 19
    1132 기타만들고 보니 조금 어려워진 장기 묘수풀이 (댓글에 해답있음) 63 위솝 15/09/30 9482 1
    15351 기타만우절 이벤트 회고 - #1. 왜 했나, 왜 그런걸 했나 82 토비 25/04/02 3446 43
    15352 기타만우절 이벤트 회고 - #2. 캐릭터 설정은 어떻게 했나 15 토비 25/04/02 2389 21
    목록

    + : 최근 2시간내에 달린 댓글
    + : 최근 4시간내에 달린 댓글

    댓글