거의 이틀에 걸쳐 유전 알고리즘으로 200세대 넘게 진행한 결과
double PlayerFactor[6] = { 0.0, 1.0, 3.96, 14.20, 0.0, 0.0 };
double OpponentFactor[6] = { 0.0, 4.40, 9.46, 22.85, 0.0, 0.0 };
을 얻었습니다. 이것과 예선에 쓴
double PlayerFactor[6] = { 0.0, 1.0, 2.0, 6.0, 0.0, 0.0 };
double OpponentFactor[6] = { 0.0, 1.05, 5.0, 11.05, 0.0, 0.0 };
을 대결시켜보았을 때 당연히 유전알고리즘으로 얻은 facotr가 압승할 것으로 예상했지만 흑/백 각각으로 25판씩 해본 결과 거의 반반이었습니다. 굉장히 당혹했습니다. 어쩔 수 없이 각 세대의 1위들을 차례로 예선에 쓴 factor와 대결을 계속 해본 결과
double PlayerFactor[6] = { 0.0, 1.0, 3.83, 14.37, 0.0, 0.0 };
double OpponentFactor[6] = { 0.0, 2.40, 4.40, 26.44, 0.0, 0.0 };
가 거의 승률 75%를 기록하며 강한 모습을 보여줬습니다. 결론적으로 말하면 유전알고리즘 자체로는 그다지 좋은 factor를 건지는 것에 실패했지만 좋은 factor의 후보군들을 많이 획득할 수 있었습니다.
이제 각 세대의 1등과
double PlayerFactor[6] = { 0.0, 1.0, 3.83, 14.37, 0.0, 0.0 };
double OpponentFactor[6] = { 0.0, 2.40, 4.40, 26.44, 0.0, 0.0 };
를 대결시켜 승률을 저장할 계획입니다. 도전자 factor는 총 37개이고 Depth = 3, Breadth = 3으로 할 계획입니다. 대충 4~5시간 정도 걸릴 것 같습니다. 자고 일어나면 결과가 나와있겠네요.
'대회 > 육목 알고리즘 대회' 카테고리의 다른 글
[2018 삼성 육목대회] 1. 이전 대회 코드 점검 및 개발 방향 잡기 (0) | 2018.07.20 |
---|---|
[2017 삼성 육목대회] 15. 최종 프로그램 (0) | 2018.01.16 |
[2017 삼성 육목대회] 14. Factor 확정 및 합리적인 Breadth, Depth 정하기 (0) | 2018.01.16 |
[2017 삼성 육목대회] 12. 하루종일 삽질 (0) | 2018.01.16 |
[2017 삼성 육목대회] 11. 유전 알고리즘 중간 결과 및 추가 개선 사항 (0) | 2018.01.16 |
[2017 삼성 육목대회] 10. 버그 수정 및 적절한 Factor를 찾기 위한 유전 알고리즘 (0) | 2018.01.16 |