반복 심화

다른 이름: 반복 심화 탐색

완료된 결과를 언제나 확보할 수 있도록 탐색 한계를 점차 늘려 가며 반복하는 전략.

설명

반복 심화이 먼저 작은 한계로 탐색하고, 그다음 점점 더 큰 한계로 분석을 반복하게 한다. 체스에서 깊이는 흔히 플라이 단위로 측정하며, 플라이 한 번은 한쪽이 두는 수 한 번이다.

시작 근처의 포지션을 여러 번 방문하므로 처음에는 낭비처럼 보인다. 하지만 앞선 반복은 임시 최선의 수, 현재 최선으로 여겨지는 수순인 주 변형, 저장된 결과, 에 쓸 정보처럼 가치 있는 자료를 만든다. 다음 반복에서 유망한 선택을 먼저 탐색하면 더 많은 가지를 일찍 중단할 수 있어 반복 작업의 상당 부분을 상쇄한다.

가장 분명한 실전 장점은 시간 관리다. 더 깊은 반복 도중 시계 때문에 엔진이 계산을 멈춰야 해도 이전 반복의 완전한 결과가 남아 있다. 끝나지 않을 수 있는 한 번의 탐색에 모든 것을 걸 필요가 없다.

반복 심화는 선호하는 한 라인만 연장한다는 뜻이 아니다. 각 반복은 더 큰 한계로 시작 포지션을 다시 살피지만, 선택적 기법이 트리 안에서 서로 다른 지역 깊이를 배정할 수는 있다. 또한 을 바깥으로 옮기지만 없애지는 못한다.

용법과 맥락

인터페이스는 흔히 현재 반복이 도달한 깊이를 표시하지만, 숫자가 더 크다는 사실만으로 두 엔진이 비슷한 양의 작업을 했다고 볼 수는 없다.

자주 혼동하는 개념

무의미한 반복

이전 작업이 수 순서, 주 변형, 저장된 탐색 정보를 제공하므로 다음 반복은 실제로 처음부터 시작하지 않는다.

심화와 선택적 확장

반복 심화는 반복 사이의 전체 한계를 높이고, 확장은 특정 라인에 지역 탐색을 추가한다.

출처

  1. 1.Depth-first iterative-deepening: An optimal admissible tree search, Artificial Intelligence / Elsevier
  2. 2.Iterative Deepening, Chess Programming Wiki
  3. 3.search.cpp, Stockfish

관련 용어

© 2026 MindZug