마방진을 유전 알고리즘으로 생성
config: json파일의 위치를 입력받는다.
- size
- 배열의 크기
- sums
- 합이 같도록 할 인덱스들의 목록의 목록(0부터 시작)
- default
- 기본 배열. 중간에 프로그램이 멈춰서 다시 시작하거나 라틴 마방진 만들 때 사용
score: sums의 내용대로 합을 구한 뒤에 합들의 분산을 출력
genArray: 무작위로 배열 생성
mutate: 무작위로 두 인덱스 변경
MagicArray: 배열
- getArray
- 배열을 get한다.(deepcopy됨)
- setArray
- 배열을 set한다.
- getScore
- score함수로 계산한 점수를 반환
ArrayManager: 동적으로 여러개의 MagicArray를 생성했을 때 사용
쓰면 MagicArray를 관리하기 편하다.
- addArray
- 리스트에 MagicArray를 추가
- getArray
- 특정 인덱스의 MagicArray를 반환
- sortList
- MagicArray에서 getScore의 반환값을 기준으로 오름차순으로 정렬
- arrayLen
- 리스트에 들어있는 MagicArray의 개수를 반환
orthogonal은 신경쓰지 마세요(그냥 비워두세요)