7차 순열 압축저장

7차 마방진은 6차에 비해 복잡하다, 홀수차 마방진은 1이 중앙에 있는 경우가 있기 때문이다.
그리고 레고 개수가 a~k로 6차 비해 1개 많은 11조각이다.




7차 마방진의 레고(순열 조합)은 4,824,953,280 개로 6차 23,136,480개 대비 200배 많다. 압축해서 6GB로 크다 보니, 읽기 효율을 위해서 2,352개로 조각내어 만들었다.


압축했으니 내용이 깨져서 보인다.


2,352 개의 파일을 랜던하게 무수히 읽기때문에 디스크 I/O 부가가 많고 느려진다. 이 상황을 극복하기 위해 Java Memory을 3GB 이상 할당하고, 최근 사용했고, 자주 사용하는 파일을 캐시해서 계산속도를 높히는 작업을 했다.

7차에서는 레고 d 부터는 2,352개 순열조합파일 중 1개만 읽으면 되지만
a,b,c는 순열조합파일 읽을 때 추가로 샘플링을 한다. pm1Rate 라 부르기로 한다.

레고 a,b,c,d,e,f 6개에 대해서 샘플링을 적용해서 계산한 결과이다.


샘플 비율 계산은 아래와 같다
  aPer * bPer * cPer * dPer * ePer * fPer
  * ldRate^11 (a~k 11개의 레고에 영향을 준것)
  * pm1Rate^3 (위 빨간색 참고)



7차에서도 1의 위치에 따라 비슷한 비율로 답이 찾아진다. 30회 이상의 시도의 평균 값이다.
 17.24% : 유일 UQ-01,02,12
  8.48% : 대칭 SY-03,13,23
  7.16% : 대각 DI-00,11,22
  1.36% : 중앙 CE-33

7차 마방진의 전체 개수는 3.54886E+34 로 계산됐다.


본 계산 방식으로는 전체 답을 찾는 데는 무려 1.425E+28 년으로 예측되지만
과학적인 방법으로 추정할 수 있었다.






9회차 값을 100%로 설정해서 그린 차트입니다.
7차도 6차처럼 샘플이비율이 커지면 일정 값으로 수렴하는 것이 보기에 좋습니다.


그럼 찾아진 6차 마방진을 구경해 보자, 아래 문자열 위를 마우스로 움직여 봐요


유일-01
유일-02
유일-12
대칭-03
대칭-13
대칭-23
대각-00
대각-11
대각-22
중앙-33



8차 마방진의 개수 추정이 가능하는지 궁금하면 보러가자 : 계산방법 보기