8-Queen Problem의 최종해답은 다음과 같습니다.(출처)
보시다시피 12가지 배열이 존재합니다. 그리고 저 배열들의 회전, 거울상이동 등을 허용한다면 총 92가지 배열이 가능합니다.
앞의 문제에서 종을 판단할때 회전같은 변환은 하지 않았습니다. 그렇다면 이론적으로 92개의 종이 나와야 하겠죠.
앞의 TSP에서도 마찬가지였지만, 유전자알고리즘이라는 것이 랜덤함수에 의존하는 면이 있습니다. 답을 쉽게 찾는 대신 원하는 답을 찾기가 힘들다고나 할까요?
'답을 찾아라'같은 문제라면 유전자알고리즘이 효과적입니다.
'가능한한 많은 답을 찾아라'라는 문제도 (아쉬운 대로) 유전자알고리즘으로 찾을 수 있습니다.
'모든 답을 찾아라'라면 유전자알고리즘으로서는 무리가 따름니다. 이 문제의 경우 92개의 답을 모두 찾아도 93번째 답은 없다는 것을 유전자알고리즘으로는 알 수 없기 때문입니다.
참고로 만약 유전자알고리즘으로 가능한한 많은 답을 찾기 위해서는 다음과 같은 방식을 사용하는 것이 좋습니다.
㉠ 가능한한 개체수를 많이 만들어 실행시킵니다. 개체수가 많을수록 다양성이 커져 더 많은 답을 찾을수 있습니다.
㉡ srand로 랜덤함수를 바꾸어가며 여러번 실행시킵니다.
댓글 없음:
댓글 쓰기