문제

내가 사용하는 IDA$^*$ 를 위한 최적의 해결하기 8 퍼즐와 내 친구들 사용$^*$ 그것을 위해 너무(와 같은 맨해튼 거리 휴리스틱).

내가 계산한 평균 시간을 실행하고 노드의 개수의 알고리즘에 대한 20 례와 내 친구의 알고리즘이 있습니다.시간을 평균한 알고리즘보다 훨씬 더 빨리 나의 친구 알고리즘,그러나 나의 평균 수의 노드를 방문하는 것보다 더 많이 나의 친구이다.

알 IDA$^*$ 방문하는 각 노드 번 이상이지만 왜 그것보다 더 빨리$^*$?

도움이 되었습니까?

해결책

기 때문에 당신이 이미 구현 IDA$^*$ 당신은 확실히 이해하 왜 그것은 확대 이상의 노드 이상$^*$, 즉,그것은에서 시작 상태를 시작으로 새로운 깊이 우선 순회에서 각각의 iteration.참고 첫 번째는,전반적인 수의 노드를 방문하여 IDA$^*$, 는 동안 반드시 보다 큰$^*$ 지 않는 훨씬 더 크다.그 이유는 노드의 개수에서 각각 깊이 진행됨에 따른 기하학적 요인을 가진 시리즈 $b$, 고,분기 요소입니다.그 결과,수의 노드에 깊이 $d$, $b^d$,보다 훨씬 크다는 것을 합의 모든 노드가 확대에서,이전의 반복,즉 $b^d>\sum_{i=0}^{d-1}b^i$.에서 이러한 차이는 IDA$^*$$\frac{b}{b-1}$ 추가 확장되는 점근적으로 제한에 대한 큰 $b$ 은 1 입니다.결론적으로,대 알고리즘을 방문하는 모든 노드에 깊이 $d$ 는 것보다 훨씬 더 어렵 방문하는 모든 노드에서 앞의 깊이입니다.

는 경우에 당신은 탐구하고 싶으로 더 많은 이 문제,나는 당신이 읽고 원지:Korf,Richard E.깊이 첫 번째로 반복-심화:최적의 허용 트리를 검색합니다.인공지능(27),97-109,1985.특히 정리 4.2:

깊이 우선 반복적인 심화가 점근적 중 brute-force 나무에서 검색 조건의 시간,공간 및 길이의 솔루션입니다.

의 과정,그것은 최적의 솔루션을 제공합하도록 허용하고,따라서 점근 최적입니다.그것은 단지 사례를 깊이 우선 순회하고 따라서,그것은 점근적 측면에서의 공간(필요로 구현만 $O(d)$).

시간으로는 이미 설명하는 주요 이론적 이유 하지만 알려주 강조하는 세 가지 주요 이유가 왜 그렇게 빠른 속에서 실습한다:

  1. 첫째,대한 거의 모든 목적으로,전반적인 실행 시간의 알고리즘에 의해 지배되는 시간을 확장하는 노드(기타 작업은 매우 간단하고 원자).그것은 참으로 확장할 경우 노드는 IDA$^*$ 할 수 있습이 매우 빠르기 때문에:

    1.1.IDA$^*$ 구현을 재귀적으로는 당신이 필요로하는 모든 국가로 주어진 인수를 생성하는 아동에 시간(에 대한 특정한 경우 이것은 단순히 수단 교환 빈과 함께 인접한 타일,하나의 성공적으로 완료되었습니다!).그러나,$^*$ 확장 작업이 필요합니다:첫째,진열 상태에서 큐를 생성은 모든 어린이(즉,이동하는 빈에서 가능한 모든 방향으로).

    1.2.하는 동안 앞의 작업은 어떤 차이점은,정말 중요한 중 하나이$^*$ 이 필요합 정렬 노드에 열려 있습니다.는 경우에도 당신은 이것으로 1 통(는 것을 $O(1)$),참고는 IDA$^*$ 이 필요하지 않 정렬하는 노드 모두에서,그래서 그는 동안$^*$ 시간이 걸리는 선형 수의 노드를 확장,IDA$^*$ 소요 전혀 없습니다.

  2. 셋째,하나의 기여금의 가장 첫 번째 검색 알고리즘(등$^*$ 는)그들은 피하기 위해 다시 확대를 사용하여 노드 닫힌 목록(는 그 이름에도 불구하고 일반적으로 구현으로 설정됩니다!!).IDA$^*$ 이 없 중복 검색 메커니즘과 따라서,다시$^*$ 수행 여분의 작업은 수행하지 않은 모든 의 IDA$^*$.는 경우에 대해 더 알고 싶 중복 검색 IDA$^*$ 보:Reinefeld,A.;Marsland T.향상된 반복적-심화를 검색합니다.IEEE Transactions on Pattern Analysis and Machine Intelligence(16)7,701-710,1994.

마지막 포인트가 진정으로 관련이 있습니다.의 경우 타일 슬라이딩 퍼즐 많은 참으로 트랜스 및 짧은 주기의 12 이동,그래서 그의 번호를 재 확장지 않는다.모든이가 함께,IDA$^*$ 은 살인자를 위한 기계 모든 규모의 슬라이-타일의 퍼즐입니다.

그러나에도 불구하고 모든 이점은,그것이 되지 않을 수도 있습니다 실제적인 관심에 있는 응용 프로그램의 큰 숫자를 트랜스.이 있었 다양한 시도는 이러한 어려움을 극복하기 위하여 성공적이,예를 들어:

Dow,P.알렉스;Korf,Richard E.중복 제거에서 깊이 첫 번째 검색 응용 프로그램을 treewidth.국제 공동 회의에서 인공지능,480-485,2009.

이,

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top