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


    목록
    번호 제목 이름 날짜 조회 추천
    420 꿀팁/강좌홍차넷 게시글에 그림 올리기(imgur) 19 한아 15/06/24 15115 2
    145 기타[과학철학] “H₂O는 물이 아니다” 13 삼공파일 15/06/01 15101 0
    3344 IT/컴퓨터어느 게임 회사 이야기 (15) 16 NULLPointer 16/07/24 15091 3
    2543 IT/컴퓨터100점짜리 단어를 찾아서. 29 April_fool 16/04/05 14976 11
    1005 IT/컴퓨터iPad로 paperless 생활하기. 20 베이지안 15/09/16 14974 3
    8389 의료/건강생선냄새증후군 경험기 19 곰돌이두유 18/10/18 14973 34
    405 영화스필버그 최고의 영화 : 대결 The duel(1971) 20 구밀복검 15/06/22 14957 0
    279 기타정도전 29화 천하대장군 15/06/09 14955 0
    7235 일상/생각왜 일본 애니에선 성추행을 성추행이라 부르지 않을까요? (추가) 19 덕후나이트 18/03/14 14886 1
    8203 과학/기술파인만이 얘기하는 물리 vs 수학 21 Sophie 18/09/11 14811 1
    418 도서/문학가라타니 고진, 조영일, 박가분 그리고 장정일 38 뤼야 15/06/24 14794 0
    251 기타정도전 26화 천하대장군 15/06/07 14746 0
    3933 과학/기술아르마딜로와 한센병 1 모모스 16/10/17 14726 3
    5162 문화/예술지금까지 써본 카메라 이야기(#01) - CLE 19 *alchemist* 17/03/12 14715 8
    1392 기타호러실화 - 쎄실호텔 29 눈부심 15/10/30 14691 4
    1243 기타정자왕 침팬지 11 모모스 15/10/13 14683 3
    1483 일상/생각지금 웹브라우저에 띄워져 있는 탭들 23 April_fool 15/11/06 14668 0
    6495 일상/생각독일 대학원에서의 경험을 정리하며: 2편 40 droysen 17/10/31 14664 15
    1297 과학/기술쓰레기 유전자 ( Noncoding DNA ) 와 유전자 감식 22 모모스 15/10/20 14650 9
    4805 기타로또 번호와 정규분포 33 April_fool 17/02/08 14602 3
    5460 일상/생각전 여친은 페미니스트였다. 84 그럼에도불구하고 17/04/17 14569 18
    148 기타홍차넷 게시판 24 김치찌개 15/06/01 14550 0
    3390 문화/예술선우훈 비평 비평 25 당근매니아 16/07/29 14540 8
    7609 기타대기업집단(?)에서 써보는 카드 선택 가이드 15 삼성그룹 18/05/31 14519 2
    9151 영화용산 CGV 가는 길(지름길) 8 Cascade 19/05/04 14508 4
    목록

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

    댓글