기본적으로 게임의 평가를 얻기 위해 할 수있는 가장 좋은 방법은 다음과 같습니다
- 게임 재생 - 당신은 피하려고 좋은있는 어떤 상황보고하려고합니다. 이러한 상황을 일반적인 평가로 공식화하십시오.
- 연구 누군가가 이미 이와 유사한 문제를 연구했을 수도 있습니다. 그렇다면 일부 기사 나 기타 휴리스틱 기능을 제안하는 자료가있을 수 있습니다. 다음과 같이
는 내가 할 줄 것은 :
- 가장 가까운 적에서, 게임 (거리의 각 기술 한 측면을 발견 함수의 집합을 작성, 화재의 라인을 적, 내 건강 바, ...). 가능한 한이 목록을 확장하기 위해 게임을하고 다른 사람들이이 게임이나 유사한 게임에서 찾았을지도 모르는 아이디어를 온라인으로 보게됩니다. 단계 하나에서
- , 우리는 실제로 함수의 집합 가지고 :
h_1(board),h_2(board),...,h_n(board)
를 -하지만 우리는 아직도 내가 몇 가지 매개 변수 a_1,a_2,...,a_n
를 찾아보십시오, 내 휴리스틱 기능을 만들 것입니다 우리의 휴리스틱 기능
- 무엇인지 모른다 :
h(board) = a_1 * h_1(board) + a_2 * h_2(board) + ... + a_n * h_n(board
을
질문은 지금 -이 매개 변수를 얻는 방법입니다. 이제 최적화 문제가 발생합니다.
이 특정 문제에 대한 해결책 중 하나는 몬테카를로 학습입니다.
몬테 - 카를로 학습 :
몬테 - 카를로 학습의 아이디어는 에이전트 목록 (활성 성분),
a_1,...,a_n
에 대한 어떤 임의의 값으로 초기화 각을 만드는 것입니다
- 그리고 그들 사이에 대회가 .
토너먼트가 끝나면 가장 먼저 수행 한 에이전트를 기반으로 각 에이전트의 값을 a_1,...,a_n
으로 변경하고 토너먼트를 다시 실행합니다. (이를 수행하는 한 가지 방법은 Genetic Algorithms의 "세대"단계와 유사합니다 - 교차 및 돌연변이가 있지만 다른 방법이 있습니다).
결국 몬테카를로 학습 과정은 좋은 가치를 제공해야합니다. - 보드에 대한 훌륭한 경험적 학습 기능을 제공합니다.
그렇다면 질문은 어떻게 평가 함수를 작성합니까? 이것에 대한 예가 많이 있지만, 분명히 그들의 도메인에 특화되어 있습니다.체스 보드 평가 기능은 여기에 너무 많은 도움이되지 않습니다. 당신이 염두에두고있는 것을 말해주십시오. –
예, 체스 평가 기능이 도움이되지 않습니다. 나는 이런 생각을했다. 나는 선수의 필요를 우선시해야한다. 플레이어가 죽지 않아야하는 최대 우선 순위입니다. 그래서 다른 플레이어가 내게 총을 쏘면 총알 트랙에서 즉시 빠져 나와야합니다. 동전 수집은 다음에옵니다. 현명한 것처럼 나는 필요를 우선시하고 각각에 일정한 가치를 부여 할 수있다. 이와 같은 평가가 발생하면 각 상수의 곱의 합을 해당 상수 값과 함께 반환합니다. 우선 순위가 높은 최대 필요성은 더 높은 가치 상수를 가져옵니다. – Sudheera
괜찮은 시작처럼 들립니다. 우선 순위가 건강 상태에 따라 달라야하는 것처럼 보입니다. 당신이 완벽한 건강 상태에 있다면, 건강 진료소를 추구하는 것은 우선 순위가 매우 낮아야합니다. 그러나, 당신이 죽음의 문에있는 경우에, 건강 팩을 추구하는 것은 동전보다는 더 귀중 할 수있다. –