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


    정규분포(normal distribution)이 normal로 불리는 이유중 하나지요. 거의 모든 종류의 분포를 계속 더하면 정규분포에 수렴하게 됩니다.
    예를 들어 주사위롤도 100번 돌려서 나온수를 합하는 시뮬레이션으로 기록하면 정규분포가 되죠. (기대값 3.5)*100 중앙값이 3500이 될겁니다.
    직관적으로 쉽게 주사위 2개 던지면 7나올 확률이 제일 높죠. 그다음으로 6과 8이고 등등
    April_fool
    그러합니다.
    로또는 근데 합을 맞추는게 아니라서 합이 138이라고 맞출 확률이 올라가는건 아닙니다. 모노폴리랑은 다르죠.
    April_fool
    어 그런가요?
    …생각해보니까 그렇네요.
    네 결국 랜덤넘버로 가는게 정답입니다. 생년월일이나 기념일등은 다른 사람들이 쓸 확률이 높기때문에 이겼을때 기대보상도 떨어지니까요.
    저도 그렇고 사람이 돈이 걸리면 판단을 자기가 유리한 시점에서 멈춰버리더라고요. 유리한걸 기대해서 그런가.. ㅋㅋㅋ
    April_fool
    원래 사람은 비합리적인 존재죠 ㅋㅋㅋ
    Beer Inside
    실제 당첨번호과 비교하면 재미는 있겠지만 의미는 없겠죠......
    April_fool
    재미로 하는 거죠, 재미로.
    수성펜
    만들어줘요!
    April_fool
    나중에 시간 나면요.
    Morpheus
    와 내가 여태 이걸 몰라서 당첨이 안됐네!!!
    이번 주 1등은 제껍니다
    April_fool
    그 전에 제가 당첨이 되나 안 되나 테스트를…
    어차피 판매점 기계가 뽑아주는 번호의 합도 동일한 정규분포를 그릴텐데요... 진지는 잠시 후 연포탕 먹을 생각입니다.
    April_fool
    그렇죠. 어차피 의사 난수일 테고…
    우주최강킹왕짱
    음... 합이 138에 가까울수록 당첨 확률이 높은 게 아니라 합이 138에 가까운 수의 조합이 훨씬 많아서 그런 거 아닌가요?
    아 본문이 그 의미인가...
    April_fool
    본문의 의미는 랜덤으로 로또번호를 뽑아봤더니 합이 138과 가까운 숫자가 가장 많이 나오더라…는 것입니다.
    베누진A
    로또를 100퍼센트 당첨할 수 있는 방법이 있습니다. 모든 가능한 당첨번호의 경우의 수만큼 로또를 사는 겁니다.
    April_fool
    8145060×1000원=8,145,060,000원이니까 한 81억 5000만원만 쏟아부으면 되네요! 야 신난다!
    베누진A
    로또 총 당첨금액이 얼마죠?
    베누진A
    100퍼센트 당첨되면서 동시에 100퍼센트 망하는 길이로군요(..)
    말씀하신 전략은 몇번 연속으로 이월되서 당첨금액이 엄청 쌓이면 사용가능한 전략이죠. 단, 한국로또는 이월회수가 제한되어있어서 이 전략이 막혀있습니다.
    참고로 모든 경우를 구입하는 경우는 구입액수도 엄청나서 당첨금액에도 영향을 줍니다...
    베누진A
    아쉽군여(?)
    그러니까 해외로또를 유심히 살펴보다가 당첨금이 몇번 이월되었다고하면 작전을 준비하는게 옳습니다.
    베누진A
    일단 빚을 내서..(음?)
    레지엔
    잠시 잊고 살았는데 그래프를 보는 순간 갑자기 분노와 짜증과 허탈감이... 통계 나빠요...
    April_fool
    트라우마 스위치였나요…
    캡틴아메리카
    그냥 아주 단순하게 생각해서 1부터 45까지의 평균인 23의 6배가 138이죠 ㅎㅎ
    April_fool
    오, 그렇게도 나오는군요.
    NightBAya
    http://www.sajuforum.com/01forum/lotto/lotto_tong.php

    구간으로 나타나있기는 하지만 실제 1회부터 지난주 당첨분인 740회까지의 합계 자료는 이렇다네요.
    NightBAya
    구간이 아닌 합계별로 나타내면 이렇게 되네요.
    하이_
    파이썬 코딩으로 따라해봤는데, 바탕화면에 a.tsv 파일이 생기긴하는데요..
    a.tsv 파일을 어떻게 엑셀로 열죠..? 코딩까진 문제가없는데 엑셀 분산형 차트로 그리는 과정에서 막혀서요./..
    목록
    번호 제목 이름 날짜 조회 추천
    5019 기타Banks of the Ohio 3 O Happy Dagger 17/02/27 5350 1
    4984 기타김정남 암살에 사용된 것으로 유력한 신경가스 - VX가스 16 모모스 17/02/24 10305 6
    4977 기타4분기에 본 애니메이션들 15 별비 17/02/23 8940 1
    4961 기타[만년필]사파리와 사파리를 먹는 자들 11 사슴도치 17/02/22 8071 3
    4936 기타최근 구입한 게이밍기기들.jpg 13 김치찌개 17/02/20 5909 0
    4901 기타현실 직시하기, 그것의 어려움 38 은머리 17/02/17 8555 12
    4883 기타홍차상자 이야기 :) 52 새벽3시 17/02/15 8003 36
    4866 기타[스포있음] 드래곤볼의 설정들 (생각나는대로..) 1 피아니시모 17/02/14 4560 1
    4864 기타홍차상자 후기 15 선율 17/02/14 5089 6
    4860 기타제59회 그래미 어워즈 시상식 2 김치찌개 17/02/13 3492 0
    4854 기타. 43 삼공파일 17/02/12 5433 9
    4829 기타. 21 삼공파일 17/02/10 4609 2
    4816 기타. 51 삼공파일 17/02/09 5694 4
    4805 기타로또 번호와 정규분포 33 April_fool 17/02/08 14181 3
    4798 기타작은 일부터 시작합시다. 10 Liebe 17/02/07 4168 8
    4782 기타. 6 삼공파일 17/02/06 5153 0
    4763 기타. 20 삼공파일 17/02/04 5859 3
    4743 기타. 20 삼공파일 17/02/01 5203 3
    4724 기타나무위키의 “젠더 이퀄리즘” 날조 사건 29 April_fool 17/01/30 8504 2
    4723 기타작자 미상의 인터넷 글 < 그 애 > 14 은머리 17/01/30 23015 3
    4715 기타프리즌 브레이크 시즌5 오피셜 트레일러 5 김치찌개 17/01/28 5220 0
    4708 기타이상한 사람은 계속 이상한 사람일까? (롤계층) 6 집정관 17/01/27 5031 0
    4705 기타2012년 기준 각국의 무역관계 네트워크 분석 - FTA 체결과 같은 무역장벽 철폐를 중심으로 3 April_fool 17/01/27 7775 1
    4703 기타게임 하나 잡아서 해보고 있습니다. 41 Toby 17/01/26 5085 3
    4694 기타스타리그 2017 티저 1 김치찌개 17/01/25 4346 0
    목록

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

    댓글