2017-09-06 4 views
0


현재 게임용 인공 지능을 프로그래밍하고 있습니다 (Hex). 보드는 길이 121의 배열로 표현됩니다. Monte-Carlo-Tree Search의 시뮬레이션 단계에서 가능한 동작을 추출합니다.

난 그냥 루프를 통해 루프 및 0 값을 찾을 수있는 인덱스를 추출하십시오. (가능한 값은 1, -1,0)배열에서 0 값 추가

std::vector<unsigned char>moveListe; 
moveListe.reserve(121 - board->moveCount); 
for (unsigned char i = 0; i<121; i++) { 
    if (board->board[i] != EMPTY) { 
     continue; 
    } 
    moveListe.push_back(i); 

} 

속도를 높이는 방법이 있습니까?

+1

질문이 있으십니까? –

+0

@ manni66 : Sry, 나는 서둘렀다. 위에 텍스트를 편집했습니다 – CheckersGuy

+1

왜 속도를 올려야합니까? 실적이 저조한 코드에 문제가있는 경우이 코드가 요구 사항을 충족하지 못하는 이유와 실행 속도가 필요한 속도에 대한 더 많은 정보가 필요할 것입니다. – Tas

답변

0

OL (n) 미만의 시간에 길이가 n 인 STL 벡터 또는 간단한 배열에서 0 값의 모든 위치를 추출 할 수있는 솔루션이 없습니다. 알고리즘의이 부분은 효율적이어야합니다.