포지션이 64 개 미만이거나 더 간단한 배열 기반 사서함 구현이 더 실용적 일 것이라는 점을 고려해보십시오.전략 보드 게임을위한 효율적인 보드 표현 AI
우리 학교의 AI 수업은 교수가 보드 게임을 만드는 연례 경쟁이 있으며 우리는 게임을하는 AI를 만드는 데 4 주가 걸립니다. 일반적으로 조각은 유사한 규칙을 가진 체스 조각의 하위 집합이며 작은 보드에서 재생됩니다. 즉 8x5, 7x7 등입니다. 저는 40 비트 만 사용하는 것이 체스의 전형적인 64와 어떻게 비교되는지 전혀 모릅니다.
내 유일한 문제는 C 또는 C++에 익숙하지 않아 Java로 프로그램을 구현하는 것이 더 편할 것이라는 점입니다. 비트 보드 표현을 구현할 수있는 비트 조작을위한 Java에서의 충분한 지원이 있습니까? 이것이 효율성을 추가 할 경우 추가 된 복잡성의 가치가 있습니까? 학습 곡선이 너무 가파릅니까?
내 계획은 시간에 따라 AB 가지 치기, 기본 검색, 전치 표, 살인자 이동 등과 같은 Negamax 검색을 사용하는 것입니다. 짧은 시간 내에 경쟁력있는 인공 지능을 만들 수있는 다른 방법은 없습니까?
나는 더 간단한 방법으로 작업하게하고 나중에 시간과 성능에 따라 조정하는 아이디어를 좋아합니다. 게임 트리를 동시에 검색하면 내 다음 질문이됩니다. 제안에 감사드립니다. – npearson
4-8 코어 머신에서 실행될 때 병렬 실행으로 얻는 이득은 비트 - 바이올린에서 얻을 수있는 이득 근처에 없습니다. 탭하는 것이 더 쉽지만 (예 : 어쨌든 기능적 스타일로 프로그래밍하는 경우). 그러나 방대한 병렬 처리는 비트 - 바이올린 (bit-fiddling)과 비교하여 매우 복잡합니다 (예 : GPU). – ziggystar
당신은 알고리즘 최적화를 비트 - 바이올린 최적화보다 더 똑똑하게 만드는 방법에 대해서 더 많은 것을 배우게 될 것입니다. – ziggystar