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


    목록
    번호 제목 이름 날짜 조회 추천
    4961 기타[만년필]사파리와 사파리를 먹는 자들 11 사슴도치 17/02/22 8402 3
    4912 일상/생각종이공룡 1 사슴도치 17/02/18 4730 3
    11835 음악[팝송] 마룬 5 새 앨범 "JORDI" 1 김치찌개 21/07/01 4624 3
    4863 일상/생각발렌타인데이에 관한 짧은 썰 11 열대어 17/02/14 5009 3
    4822 IT/컴퓨터간단한 로또 번호 생성 프로그램 13 April_fool 17/02/09 8956 3
    4821 음악하루 한곡 025. 화이트 - 7년간의 사랑 7 하늘깃 17/02/09 4574 3
    4805 기타로또 번호와 정규분포 33 April_fool 17/02/08 14633 3
    6720 스포츠NFL선수의 일주일 34 다시갑시다 17/12/07 10581 3
    4772 일상/생각(데이터, 사진)졸업을 앞두면서 나를 돌이켜보기 11 베누진A 17/02/05 7050 3
    4763 기타. 20 삼공파일 17/02/04 6179 3
    4761 일상/생각[번개] 노래불러요 55 The Last of Us 17/02/04 4932 3
    4759 사회메갈리아와 페미니즘 170 뜻밖의 17/02/03 11451 3
    4750 일상/생각히키코모리가 되어버렸습니다.. 27 배차계 17/02/02 6676 3
    4743 기타. 20 삼공파일 17/02/01 5544 3
    4737 창작비오는 날의 대화 3 고양이카페 17/02/01 4031 3
    4723 기타작자 미상의 인터넷 글 < 그 애 > 14 은머리 17/01/30 23718 3
    4714 음악전람회(김동률, 서동욱)의 '유서' 12 진준 17/01/28 6466 3
    4703 기타게임 하나 잡아서 해보고 있습니다. 41 Toby 17/01/26 5373 3
    8851 음악[클래식] 에릭사티 짐노페디 1번 Satie - Gymnopedie no.1 ElectricSheep 19/02/10 4571 3
    5060 꿀팁/강좌[사진]어떻게 하면 사진에 잘 나올까 - 인물사진 포즈 16 사슴도치 17/03/03 15818 3
    4688 음악하루 한곡 009. 악동뮤지션 - 얼음들 8 하늘깃 17/01/24 4461 3
    4636 사회일본의 긴 근무시간의 종말 - Japan's Rethinking Its Culture of Long Work Hours 6 Rosinante 17/01/16 5440 3
    4625 정치한국정치의 혁명! 선호투표제가 결선투표제보다 낫다 12 나호토WTFM 17/01/15 5801 3
    4927 일상/생각결혼이야기 8 기쁨평안 17/02/19 4170 3
    4623 일상/생각라라랜드와 내 연애 8 하얀 17/01/15 4594 3
    목록

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

    댓글