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


    목록
    번호 제목 이름 날짜 조회 추천
    공지 티타임 게시판 이용 규정 2 Toby 15/06/19 35025 1
    15878 창작또 다른 2025년 (3) 3 트린 25/12/04 296 2
    15877 스포츠[MLB] 코디 폰세 토론토와 3년 30M 계약 김치찌개 25/12/04 221 0
    15876 창작또 다른 2025년 (1), (2) 8 트린 25/12/03 460 7
    15875 기타유럽 영화/시리즈를 시청하는 한국 관객에 관한 연구(CRESCINE 프로젝트) 19 기아트윈스 25/12/03 569 2
    15874 일상/생각큰일이네요 와이프랑 자꾸 정들어서 ㅋㅋㅋ 14 큐리스 25/12/02 960 5
    15873 오프모임12월 3일 수요일, 빛고을 광주에서 대충 <점봐드립니다> 15 T.Robin 25/12/01 553 4
    15872 경제뚜벅이투자 이야기 19 기아트윈스 25/11/30 1515 14
    15871 스포츠런린이 첫 하프 대회 후기 8 kaestro 25/11/30 444 12
    15870 도서/문학듣지 못 하는 아이들의 야구, 만화 '머나먼 갑자원'. 15 joel 25/11/27 1046 27
    15869 일상/생각상남자의 러닝 3 반대칭고양이 25/11/27 700 5
    15868 정치 트럼프를 조종하기 위한 계획은 믿을 수 없이 멍청하지만 성공했다 - 트럼프 행정부 위트코프 스캔들 6 코리몬테아스 25/11/26 905 8
    15867 일상/생각사장이 보직해임(과 삐뚫어진 마음) 2 Picard 25/11/26 693 5
    15866 일상/생각기계가 모르는 순간 - 하루키 느낌으로 써봤어요 ㅋㅋㅋ(와이프 전전전전전 여친을 기억하며) 5 큐리스 25/11/25 628 0
    15865 경제주거 입지 선택의 함수 4 오르카 25/11/25 654 3
    15864 철학/종교진화와 창조, 근데 이게 왜 떡밥임? 97 매뉴물있뉴 25/11/25 1874 4
    15863 일상/생각창조론 교과서는 허용될 수 있을까 12 구밀복검 25/11/25 1060 17
    15862 기타★결과★ 메가커피 카페라떼 당첨자 ★발표★ 11 Groot 25/11/23 618 4
    15861 기타[나눔] 메가커피 아이스 카페라떼 깊콘 1 EA (모집마감) 31 Groot 25/11/21 678 3
    15860 일상/생각식생활의 스트레스 3 이이일공이구 25/11/20 716 1
    15859 일상/생각누구나 원하는 것을 얻는다. moqq 25/11/20 648 7
    15858 오프모임[취소] 11월 29일 토요일 수도권 거주 회원 등산 모임 13 트린 25/11/19 775 3
    15857 경제투자 포트폴리오와 축구 포메이션2 2 육회한분석가 25/11/19 478 3
    15855 의료/건강성분명 처방에 대해 반대하는 의료인들이 들어줬으면 하는 넋두리 46 Merrlen 25/11/17 2014 2
    15854 경제투자 포트폴리오와 축구 포메이션 육회한분석가 25/11/17 566 6
    목록

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

    댓글