먼저 목적은 이미 당첨된 5등 기준으로 역산해서 5등 당첨된 최소 조합을 찾으려는데 목적이 있지 않고,

어떤 번호가 나올지 모르는 상황에서..

수익률 따위는 관계없이 최소한의 투자로 5등 이상.. 결국 당첨 번호 3개는 무조건 포함 시키는 최소한의 조합을 찾으려는게 목적임.


단순히 수식으로 결과 내는 것은 예전에 코세가 했었는데.. 

분석하다보니.. 뭔가 애매하고 아리쏭한 부분이 있었음.


대략 풀어보면.. 나름 최적화의 시작은..


1스텝으로..

{1,2,3,4,5,6} {7,8,9,10,11,12} {13,14,15,16,17,18} {19,20,21,22,23,24} 

{28,29,30,31,32,33}{34,35,36,37,38,39}{40,41,42,43,44,45}


이렇게 겹치는 형태없이 뽑는 것임. 위의 숫자는 그냥 식을 내기 쉽게 위해서 적었을뿐.. 저대로 조합이 되지는 않지만 맥락은 같음.


그후 남는 숫자들인 {25,26,27} 을 어떻게 포함시켜서 뽑을 것인가가 최소 조합 나오는데에 큰 영향을 미치는데..


이 부분이 유전자 알고리즘이든 최적화 알고리즘이든 뭐든 간에..

공식 내기 아주 어려운 부분임.


암튼 조합을 뽑아낼수록 과거에 조합들은 걸러내면서 진행해야 하는데..


대략 위까지는 아래처럼 공식 유도 할 수 있다고 생각함.


일단 전체 집합은 45C6 = 8145060


1스텝을 식으로 풀면..

{a,b,c,d,e,f} 중에 3개가 당첨, 나머지 3개는 저 조합내에서 당첨되지 않을 번호이기 때문에

6C3 * (45-6)C3 - (1-N) * ( 6C3 * 6C3 )  [ N = 1 ~ 8 ]


6C3 * (45-6)C3 = 182780 에서 이전 교집합 되는 부분들을 차츰 제거해나가면서

최종 합이 8145060이 되면 최소 조합수가 검출되는 형태인데..


암튼 짜기가 아리쏭~

ㅇㅇ