2011-12-16 3 views
-1

negamax가 minimax 알고리즘과 거의 비슷하다고 생각하기 때문에 기회 노드에서 어떻게 중복을 줄일 수 있을지 모르겠다.알고리즘에 대한 병렬 검색

+4

병렬 검색에서는 검색중인 데이터를 'n'블록으로 분할 한 다음 'n'병렬 스레드를 사용하여 각 블록을 검색해야한다고 생각합니다. – Blender

+0

중복 된 http://stackoverflow.com/questions/8508185/parallel-search – Blastfurnace

+0

아아 그래서 멀티 스레딩을 사용할 예정입니까? – Odine

답변

2

각 기회 노드에서 주 응용 프로그램이 선택하지 않은 경로로 실행을 계속하려면 스레드를 만듭니다. 이는 솔루션이 각 경로를 중단 할 확률이 동일하므로 효율적입니다.

알고리즘의 기본 실행 경로는 각 노드에서 최선의 선택이라고 생각하는 것을 따라야합니다. 최소 최대 노드에서 병렬 처리는 이미 "더 나은"선택을했기 때문에 낭비 적이기 때문에 더 적은 값의 경로를 계속 사용하면 최상의 결과를 얻을 가능성이 적습니다.

우연한 노드에는 '더 나은'선택이 없습니다. 두 옵션 모두 최상의 결과를 산출 할 확률이 동일하기 때문에 이론적으로 소프트웨어가 하나의 노드에서 완료 될 때까지 기다렸다가 다른 옵션으로 돌아가서 처리하는 것을 기다리는 것보다 이론적으로 솔루션을 더 빨리 얻을 수 있습니다.

+0

와우 감사합니다. 어쨌든 당신은 자바에서 어떻게 병렬 프로그램을하나요? 당신이 곱셈 처리기를 조작해야하기 때문에 그것이 보인다? 나는 그것이 OS에 관해서 정말로 숙달되지 않는다. – Odine

+0

대단히 감사합니다. – Odine

관련 문제