- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
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 파일을 어떻게 엑셀로 열죠..? 코딩까진 문제가없는데 엑셀 분산형 차트로 그리는 과정에서 막혀서요./..
    목록
    번호 제목 이름 날짜 조회 추천
    5212 기타세계전쟁사 시리즈.jpg 김치찌개 17/03/17 3698 2
    5199 기타독한 사람. 9 선율 17/03/15 4127 3
    5187 기타170314 김치찌개의 오늘의 메이저리그(김현수 1타점 적시타) 김치찌개 17/03/14 3977 0
    5186 기타SSL 2017 S1 Premier 개막전 예고.jpg 3 김치찌개 17/03/14 3191 0
    5181 기타드라마 보이스 4 김치찌개 17/03/14 3411 0
    5180 기타full fathom five 3 O Happy Dagger 17/03/14 5359 2
    5154 기타조문기 혹은 조까를로스 11 왈츠 17/03/12 5237 2
    5147 기타막말 변론의 이유 32 烏鳳 17/03/11 5166 19
    5142 기타박근혜와 닉슨 탄핵 대충비교 2 피아니시모 17/03/10 3405 0
    5138 기타내일 번개 장소를 헷갈린 자의 글입니다. 31 줄리엣 17/03/10 5289 6
    5128 기타달콤창고, 홍차상자 그리고 이타적 인간 39 호라타래 17/03/09 6659 29
    5121 기타잡생각들... 13 O Happy Dagger 17/03/09 4748 4
    5117 기타넘쳐나는 "가짜"들 14 커피최고 17/03/09 3885 2
    5113 기타Joan Baez - Love Is Just A Four Letter Word 2 O Happy Dagger 17/03/08 4347 1
    5111 기타잡상. 9 왈츠 17/03/08 4840 2
    5090 기타2017 IEM 시즌 11 카토비체 월드 챔피언십 우승 "전태양" 7 김치찌개 17/03/06 3514 0
    5089 기타16총선 유권자로 보는 고령화 4 유자 17/03/06 4526 0
    5082 기타홍차상자 우편배달 이벤트 신청자분들 "모두" 읽어주세요. 23 새벽3시 17/03/05 5010 24
    5079 기타내 마음을 바꿔 봐. 39 은머리 17/03/05 6492 10
    5075 기타[당첨자발표] 홍차상자 우편배달 이벤트 26 새벽3시 17/03/04 4598 25
    5066 기타그만둡니다. 탈퇴합니다. 53 진준 17/03/03 7781 0
    5064 기타[번개?번개!] 우리, 모여서 고기 좀 먹죠? 67 열대어 17/03/03 5565 10
    5038 기타죽음으로 향하는 펭귄 32 은머리 17/03/01 6718 8
    5034 기타[마감] 홍차상자 우편배달 이벤트 (지방 한정) 74 새벽3시 17/02/28 6099 35
    5032 기타2017 SSL 시리즈 진행 발표.jpg 2 김치찌개 17/02/28 3922 0
    목록

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

    댓글