- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
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


    목록
    번호 제목 이름 날짜 조회 추천
    148 기타홍차넷 게시판 24 김치찌개 15/06/01 14664 0
    1285 과학/기술우주팽창, 건포도빵, 풍선 12 눈부심 15/10/18 14613 0
    5380 기타제가 그동안 했던 야구게임들.jpg 11 김치찌개 17/04/05 14593 0
    673 꿀팁/강좌마트 와인 코너 앞에서 서성이는 사람들을 위한 팁(달콤한 스파클링 와인편) 21 마르코폴로 15/07/28 14519 0
    1348 음악우울할 때 듣는 음악 List(스크롤 압박 有) 26 *alchemist* 15/10/26 14480 0
    4736 게임스플렌더 앱에 온라인 대전모드가 추가되었습니다. 2 Toby 17/02/01 14465 0
    259 기타정도전 27화 천하대장군 15/06/08 14439 0
    671 역사은나라 주왕은 정말 폭군이었는가 8 개평3냥 15/07/28 14432 0
    2781 일상/생각벨빅 정 5일 복용 후기 외 34 nickyo 16/05/11 14421 2
    514 기타보는 웹툰 29 헬리제의우울 15/07/05 14418 0
    106 기타[불판] 가입 인사 불판입니다. 88 Toby 15/05/31 14412 0
    255 기타책장에서 책을 치우자! (북스캐너 + 스캔이북 써먹기) 20 damianhwang 15/06/08 14397 0
    5850 일상/생각몇가지 기묘한 불륜에 관한 사례들 15 사악군 17/06/28 14339 1
    1191 역사천연두 바이러스 6 모모스 15/10/07 14318 5
    4577 요리/음식안주로도 반찬으로도 괜찮은 양송이 버섯 구이 21 녹풍 17/01/09 14273 3
    1668 방송/연예그것이 알고 싶다 레전드 수지킴 편 3 삼공파일 15/11/30 14268 0
    6982 스포츠[불판] 정현 vs 조코비치의 16강 경기가 시작합니다. 248 맥주만땅 18/01/22 14252 4
    2711 역사유게에 올라온 유재흥 글에 대해 63 눈시 16/04/29 14226 36
    4216 의료/건강청와대에서 구입한 리도카인은 뭐하는 물건인고? 17 모모스 16/11/23 14212 12
    4825 과학/기술물리학/수학 포스터 9 뜻밖의 17/02/10 14192 1
    1524 음악체르니 몇 번까지 치셨나요?? 24 표절작곡가 15/11/10 14165 1
    3856 의료/건강시력의 정의(definition) 9 April_fool 16/10/09 14160 3
    3721 의료/건강엔돌핀 vs 모르핀 10 모모스 16/09/17 14150 2
    6730 방송/연예결국 배텐 막내작가는 다른 프로그램으로 옮겨졌네요...... 40 엉덩이가뜨거워 17/12/07 14127 0
    9902 게임[LOL] 소드 논쟁으로 보는 '롤 실력' 이야기. 19 Jace.WoM 19/10/27 14126 9
    목록

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

    댓글