한가지 재미있는 실험적 발상을 떠올렸다. 

로또 담청 번호를 미리 정해 놓고 과연 자동을 계속 뽑으면 과연 몇번만에 당첨이 될까(전부 맞는 집합이 이루어 질까)? 라는 발상이다.

이 포스트는 로또에 관심이 있고 또 당첨의 꿈을 가지고 살고 있는 자칭 '로또 매니아'라면 필히 훑어 볼 것을 권하는 바이다.

아~ 물론 프로그래밍과 파이썬 언어에 대해 전혀 모르고 계셔도 무관하다. 

포스팅 마지막 부분에는 그 결과가 공개되니까 말이다.

물론 로또의 확률은 이미 8145060분의 1일 이라는 사실을 이미 알고 있다.

하지만 실제 각 게임 당 랜덤 출현(완전 자동)으로 몇번만에 1등 당첨이 이루어 지는 가는 매번 틀릴 것이다.

그렇기에 실제 실험에서 몇 번만에 과연 당첨이 되는가를 테스트 


해당 프로그램은 순 100% 'bash 쉘 스크립트'로 만들어 졌으며 물론 모든 경우의 집합을 만드는 것은 아닌 유력 번호들을 가장 많이 배열하여 그 중 컴퓨터가 RANDOM 모듈로 번호들을 뽑아 내는 방식 이다. 물론 이런 방식으로 지정한 확률 높은 번호가 출현하기가 유리하긴 하다.

또 이번 실험을 bash보다 파이썬을 택한 이유는 파이썬이 RANDOM 함수를 사용하는데 있어서 능력이 훨씬 더 뛰어 나기 때문 이기도 하다. 그로인해 glotto-k 다음 배포버전도 파이썬으로 다시 재개발할 예정 이다.

본론으로 파이썬으로 로또의 랜덤(자동) 확률을 테스트 하는 프로그램을 만들어 보도록 하자.

  Source_File name : copy_to_clipboard.html     |     Type : java_script html    |                      |           


# -*- coding: utf-8 -*- 
import random
import time


s = time.time()	# 시간을 측정하기 위한 변수 생성


def mtask(): 	# 1~45 숫자 집합을 자동으로 만들고 랩덤 당첨 집합 변수를 만드는 함수를 생성
	n = 1
	l = [1]

	for i in xrange(44):
	
		n = n + 1 
		l = l + [n]
	a = random.choice(l)

	l.remove(a) # 중복 출현 방지를 위해 출현 번호를 집합에서 제외

	b = random.choice(l)

	l.remove(b)
	c = random.choice(l)
	
	l.remove(c)
	d = random.choice(l)

	l.remove(d)
	e = random.choice(l)
	l.remove(e)
	f = random.choice(l)
	l.remove(f)
	global ans
	ans = [a, b, c, d, e, f] # 번호 집합 생성
	ans.sort()	# 숫자 크기로 재나열

	
mtask()
answer = ans	# 처음 mtask함수로 만들어진 전역변수 ans를 고정 당첨 번호로 지정한다.
print "시작....고정 당첨번호 집합은", answer , "입니다."
global tan
tan = [0]
line=0
while answer != tan:	# 고정번호집합과 새로 생성된 집합이 나올때 까지 새로운 집합을 만드는 반복문을 실행한다. 
	line=line+1
	
	mtask()
	tan = ans
	print line,"번째 값은", tan ,"입니다."
e=time.time()

et = e - s	# 시간 측정 변수 생성 



print "\n종료 되었습니다.\n고정 번호은",answer,"이며,\n 마찬가지 겟팅 번호는",tan,"이며 총",line,"번 수행 하였습니다.\n총 걸린 시간은",et,"초 입니다.\n그리고 이번 게임의 당첨 확률은 1/", line, " 입니다."


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 클립보드 복사 버튼이 활성화 됩니다.



-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 소스 파일을 만들었으면 실행해 본다.


user@user-test:~$ python lot.py

.................

10646537 번째 값은 [14, 18, 22, 23, 31, 35] 입니다.
10646538 번째 값은 [1, 3, 14, 24, 31, 35] 입니다.
10646539 번째 값은 [10, 11, 25, 29, 30, 36] 입니다.
10646540 번째 값은 [1, 19, 23, 25, 29, 34] 입니다.
10646541 번째 값은 [11, 20, 29, 31, 39, 44] 입니다.
10646542 번째 값은 [2, 13, 16, 33, 37, 45] 입니다.
10646543 번째 값은 [5, 18, 23, 29, 33, 34] 입니다.
10646544 번째 값은 [8, 10, 15, 18, 33, 43] 입니다.
10646545 번째 값은 [4, 9, 12, 14, 15, 23] 입니다.
10646546 번째 값은 [26, 29, 31, 34, 37, 43] 입니다.
10646547 번째 값은 [15, 18, 24, 33, 34, 38] 입니다.
10646548 번째 값은 [4, 11, 18, 19, 27, 38] 입니다.
10646549 번째 값은 [4, 5, 7, 17, 32, 38] 입니다.
10646550 번째 값은 [6, 7, 21, 27, 29, 44] 입니다.

종료 되었습니다.
고정 번호은 [6, 7, 21, 27, 29, 44] 이며,
 마찬가지 겟팅 번호는 [6, 7, 21, 27, 29, 44] 이며 총 10646550 번 수행 하였습니다.
총 걸린 시간은 509.503417015 초 입니다.
그리고 이번 게임의 당첨 확률은 1/ 10646550  입니다.


-> 프로그램을 실행하면 초기 배정된 번호집합을 똑같이 맞힐대 까지 각 프로세스 실행때 마다 평균 수백만번을 대략 평균 3~5분 정도의 시간으로 연산 출력해 낸다. 



그렇다.

실제 실험을 통해서도 각 게임당 계속 해봐도 평균 수백만번의 경우에 완전일치(1등)이 나오는 것을 볼 수가 있다.

즉 실제 로또와 비교한다면 한 주에 수백만개 정도의 게임(자동)을 사야 1등에 안정적으로 담청 될 수 있다는 것이다.

이 사실은 로또 매니아들에게 가히 절망적임을 안겨 줄 수는 있지만 그렇다고 해서 크게 실망할 필요는 없다.

로또는 이와 같은 절망을 극복하기 위한 방책으로 반자동 (몇개만 표시 와 자동 표시)이나 다섯개임 (한종이)에 여러방식의 게임을 섞는 방식도 있기 때문이다.
그리고 확률 분석으로 높은 확률의 번호를 찍어 당첨 확률을 높이는 방법도 있을 것이다.

확률 높은 번호는 존재 하며 찾아 낼 수 있다.

왜냐하면 앞서 실험에서도 봤듯이 같은 번호 집합 패턴이 똑같이 나오려면 평균 수백만번이 필요하기 때문이다.

그렇다. 역발상 이다. 그렇기에 실험에서 얻어낸 해답으로 역발상으로 말미앎아 오히려 확률 높은 번호가 충분이 추론될수 있음을 역설적으로 증명한 것이나 마찬가지 인 셈이다.

다음 실험에서는 좀 더 수준 높은 방식으로 실제 당첨 번호를 가지고 그 회차에 가지고 있는 확률을 적용 함으로써 과연 몇번에 맞추는 효과를 가지는 지를 테스트 해 보고 그로 말미앎아 새로운 glotto-k를 파이썬 언어로 개발할 계획이다.
   

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위를 체크 하시면  본 블로그에 아주 잠시 동안 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :

로또 번호 추천 번호를 추출 해주는 'glotto-k' 가 0.6으로 업데이트 개발 될 예정


기존에 있던 여러가지 문제점 해결과 전체 출력 결과에서 각 숫자 별로 나온 횟수를 체크하여 통계 순차를 내어 재출력 하는 기능 그리고 번호의 상대성 지수 파악 기능 까지 한 층 업그레이드 된 상태로 배포 될 예정 입니다.


기존의 0.5 -5 버전 보러가기 

http://cosmosproject2015.tistory.com/112


title:                 'Gnu Lotto - Korea'

name  :            glotto-k


version  :          0.4


section  :          utils

date  :              2016-05-022

say :     


본 소프트웨어는 대한민국의 6/45 로또 번호를 컴퓨터의 의사난수를 이용하여 사용자가 원하는 변수, 현재 시간들을 조합해 출력해 내는 프로그램 입니다.



지원 아키텍쳐 : 64bit 32bit

지원 운영체제 : linux ubuntu - xenial, wily, vivid, trusty, 리눅스 민트도 설치가능.

PPA :                cosmosp2016/glotto-k  

launchpad :     launchpad.net/~cosmosp2016

Author :          C O S M O S Project





변경 사 항 :


 1. --help 추가

2. 계산 소스 업그레이드

3. 이전당첨 번호 입력과 동시 실행 및 인플레이션 수 반영

4. 한글 폰트 패키지 depends 추가



인스톨
:   




sudo add-apt-repository ppa:cosmosp2016/glotto-k               

sudo apt update               

sudo apt install glotto-k


실행 :                  glotto-k





+ Recent posts