구글상단


로또 예상번호 자동생성기 제작기 - 로직을 세운다. by 놀라운넘

그동안, 로또 예상번호 자동생성기를 제작한다.. 한다 했지만 아직, 결실은 못 맺다가 지난주에 마침내 번호 생성기 Ver1.01을 제작했습니다.
회사 업무에 쫒기다보니 프로그램을 할 시간이 생기지가 않아 하루하루 미뤄왔던것이 지금까지 오게 되었네요.
음~~ 대전에서 수원으로 출퇴근하는 넘이는 빡센 회사업무시간 외에 남는 자유시간에 개인적으로 프로그램을 만들기란 왠만해서는 힘들더라구요.
그리고, 회사내에서 만든 프로그램은 회사 보안 정책상 외부로 가지고 나갈수도 없습니다. ㅋㅋ~~
항상, 퇴근하고 집에 오면 간단히 씻고 늦은 저녁을 먹고 자리에 앉으면 항상 밤 10시를 넘기기가 일수이다보니 드라마 1편보고 잠들기 바쁘더군요.
하루에 5시간에서 6시간이 소요되는 출퇴근시간에 프로그램을 제작해볼려고 했지만, 프로그램할 장비도 없고 기차, 버스만 타면 그동안 밀렸던 잠을 청하느라 프로그램을 할 엄두도 못 냈습니다.
하지만, 드디어 지난달에 넷북을 하나 마련해서 개발환경을 구축하고 간단하지만 첫번째 결과물을 얻었습니다.

항상 그렇지만, 넘이는 사설이 너무 길다는거죠.
그럼, 이번에 제작된 자동생성기의 로직을 정리해볼까합니다.

1. 1부터 45까지의 숫자는 항상 랜덤하게 추출된다.
    - 로또추첨에서 보다시피 커다란 구모양의 통안에서 1에서 45개의 공이 단 1개씩 들어가 있고 힘차게 돌면서 1개씩 정해진 룰이 없이 무작위(랜덤)로 추출됩니다.
    - 프로그램상에서는 1에서 45까지의 범위를 정하고 랜덤함수로 번호를 추출하면 간단한 자동생성기는 제작이 됩니다.
2. 1부터 45까지의 숫자는 항상 1회 이상 추출이 안 된다.
    - 프로그램상에서 랜덤함수로 6개의 번호를 추출하면 간혹, 같은 숫자가 나오는 경우가 발생합니다.
    - 랜덤함수로 번호를 추출할 때 중복번호를 제거해주면 간단하게 해결이 됩니다.

이렇게 1번과 2번에서 제시된 내용을 바탕으로 프로그램을 작성을 하면 간단하지만, 1부터 45까지의 숫자중 무작위(랜덤)로 6개의 숫자를 추출하는 기본적인 로또 예상번호 생성기가 완성이 됩니다.
하지만, 지금까지 366회의 당첨된 로또 번호를 분석을 해보면 이상한 결과가 나옵니다.

수학 통계적으로 평균을 계산하면 1회당 번호 1개당 추출될 수 있는 확률은 2.22222222222222%
정도입니다.
이런 수치상 확률을 무색하게 각각 번호의 추첨 결과는 1~4% 범위안에서 각 번호별로 추첨된 확률이 천차만별입니다.
여기서 넘이는 이런 결과를 보며 각각의 번호를 가진 공은 서로 다른 환경변수가 적용되어서 그렇지 않을까하는 생각이 들었습니다.
예를 들어 실제 로또에 사용되는 45개의 공은 일정한 무게가 아니라는 겁니다.
정확한 기억은 안 나지만(나중에 자료를 찾으면 수정하겠습니다.),약 ±0.05g 범위안에서 공이 제작이되며, 4세트로 운영이 되고 있다고 합니다.
이렇게 물리적, 환경적 요인으로 인하여 각각의 공은 당첨 확률이 달라지는 것이죠.
그렇다면 이런 물리적, 환경적 요인을 1부터 45까지의 숫자에 랜덤추출전에 적용을 해준다면 아마도 실제 추첨에 진행되는 상황과 비슷한 상황을 만들줄 수 있지 않을까하는 생각이 됩니다.

3. 1부터 45까지의 숫자에 환경변수를 적용하여 랜덤추출을 한다.
    - 넘이는 랜덤추출하는 자동 번호생성기에 환경변수를 적용하기란.. 말로 표현하는 것은 쉽지만 프로그램상 구현은 불가능하다고 생각을 합니다. 하지만, 최대한 비슷한 환경구성을 위해서 통계분석된 결과를 적용해기로 했습니다.
    - 번호 생성기 ver1.01에서는 첫번째 환경변수를 적용했습니다. 이는 각각의 번호의 지금까지의 당첨확률을 적용한 상태에서 랜덤추출를 했습니다.
    - 예를 들면 지금까지 366회에 걸처 당첨된 번호의 갯수는 2196회
이고, 45개의 공이 평균적으로 나와야 할 횟수는 49회이지만 실제로 1번공의 당첨된 횟수는 57회다라는 결과에 따른 가중치를 1번공에 넣어줍니다. 2번공은 40회에 대한 가감치를 적용하는 식으로 45개의 공에 가중, 가감치를 적용한 후에 랜덤방식으로 번호를 추출을 합니다.
    - 차후 버젼에서는 연속숫자 당첨확률에 대한 환경변수, 먼저 추출된 번호에 대한 다음으로 추출된 번호에 확률적 환경변수 등 여러가지 환경변수를 추가할 예정입니다.

이렇게 여러 조건을 넣어도 100% 당첨률을 올릴수는 없을 것입니다.
앞선 글에서도 기술했지만, 로또 당첨은 운칠기삼입니다.
사실 운이 99%이상입니다. 프로그램상에서도 랜덤추출방식이 바로 운입니다.
다만, 3번에서 기술한 환경변수는 실제 로또 추첨환경과 최대한 동일한 환경을 만들어주기 위한 장치입니다.

그래서, 마지막 단계로 자신이 자신의 운 또는 좋아하는 숫자등을 추출 당시에 적용하는 추가변수를 넣을 수 있도록 구성했습니다.

4. 1부터 45까지의 숫자에 대해서 개인 추가변수를 적용한다.
    - 개인이 지정하는 추가변수는 날짜와 연관된 추가 확률 환경변수, 개인이 지정한 숫자(좋아하는 숫자, 행운의 숫자, 생일등)에  추가변수를 적용하여 추출확률에 가중, 가감치를 적용한 후에 랜덤방식으로 추출을 진행합니다.

이렇게 기본적인 프로그램에 대한 로직을 만들었고, 최초의 결과물인 번호 자동생성기 ver1.01을 지난주에 테스트를 했습니다.
물론, 앞에서 기술한 환경변수는 일부만 적용되지 않은 상태에서 번호를 추출한 결과...
안타깝게도 꽝이었습니다.
어느정도 성과를 올렸다면 기본 테스트 버젼인데도 5게임 한장에서 서로 다른 당첨번호 5개를 추출했다는 성과입니다.
추출된 5개의 번호가 4게임에 골고루 분포되면서 꽝이 되었지만 일단은 항상 5게임에서 2개, 3개도 맞기 힘들었던 지난 상황에 비하면 장족의 발전을 했습니다.
버젼업이 되면서 다양한 환경변수를 적용하여 실제 로또 추첨 환경에 다가가면 갈수록 더 좋은 결과를 산출될 것이라고 믿어 의심치 않습니다.

앞으로 개발계에서 개발된 프로그램을 현재 운영중인 개인 홈페이지에 적용하는데는 시간이 걸리겠지만 처음 결과물인 Ver1.01 버젼의 번호 자동생성기는 빠른시간내에 오픈하여 공개하겠습니다.

모두가 대박을 한아름 안을 때까지 화이팅~~~


  Help URL 
  [신규] 홈페이지 꽁짜로 만들기 포스트


  [BEST] Funny videos
baby videos
☆ 멱살잡이
☆ 꿈은 록스타
☆ 자지러지는
 KoTuber videos
☆ 19금 봉춤
☆ 인후칰지도
☆ 뽀로로 홀릭

덧글

댓글 입력 영역


[BEST] Funny baby videos

통계 위젯 (화이트)

03
27
1048415

코튜버

[TOP] KoTuber Funny videos

구글 애드센스