이 범주에서 D *, D * -Lite 또는 증분 알고리즘을 사용할 때는 큰주의가 필요합니다 (그리고이 경고가 문헌에 거의 언급되지 않았다는 점은 주목할 가치가 있습니다). 이러한 유형의 알고리즘은 역 검색을 사용합니다. 즉, 외부로 퍼지는 리플과 같이 목표 노드에서 외부로 비용을 계산합니다. 모서리 비용이 변경되면 (예 : 벽을 추가하거나 제거 할 때) 변경에 영향을받는 탐색 된 (일명 '방문 된') 노드의 하위 집합 만 업데이트하기위한 다양한 효율적인 전략이 있습니다.
목표 위치와 관련하여 이러한 변화의 위치가 알고리즘의 효율성에 막대한 차이를 만든다는 것이 큰 경고입니다. 나는 다양한 논문과 논문에서 모든 증분 알고리즘의 최악의 성능이 모든 정보를 버리고 평범한 오래된 A *와 같이 비 증분적인 것으로 시작하는 것보다 더 나빠질 수 있음을 완전히 보여주었습니다 .
변경된 비용 정보가 확장 검색 전선 ( '방문 된'영역)의 주변에 가까울 경우 경로를 거의 변경하지 않아도되며 증분 업데이트가 빠릅니다. 적절한 예는 센서가 본체에 부착 된 모바일 로봇입니다. 센서는 로봇 근처의 세계 만 볼 수 있으므로이 지역의 변경 사항이 있습니다. 이 영역은 목표가 아니라 검색의 시작점이므로 모든 것이 잘 작동하며 알고리즘은 변경 사항을 수정하기 위해 최적의 경로를 업데이트하는 데 매우 효율적입니다.
변경된 비용 정보가 검색 목표에 가깝거나 시나리오에서 시작뿐만 아니라 목표 변경 위치를 볼 때 이러한 알고리즘은 치명적인 속도 저하를 겪습니다. 이 시나리오에서는 변경된 영역이 거의 모든 미리 계산 된 경로가 변경 사항을 통과하고 다시 평가되어야하는 목표에 매우 근접하므로 거의 모든 저장된 정보를 업데이트해야합니다. 증분 업데이트를 수행하기 위해 추가 정보와 계산을 저장해야하는 오버 헤드로 인해이 규모의 재평가는 새로 시작하는 것보다 느립니다.
예제 시나리오에서는 사용자가 원하는 벽을 이동할 수있는 것처럼 보이므로 D *, D * -Lite, LPA * 등을 사용하면이 문제가 발생합니다. 알고리즘의 시간 성능은 사용자에 따라 달라질 수 있습니다. 입력. 일반적으로 "이것은 나쁜 것"입니다 ...
예를 들어, CMU의 Alonzo Kelly 그룹은 지상 로봇과 공중 로봇을 결합하여 실시간으로 인식 정보를 공유하는 PerceptOR라는 환상적인 프로그램을 가지고있었습니다. 헬리콥터를 사용하여 지상 차량 계획 시스템에 실시간 비용 업데이트를 제공하려고 할 때 헬리콥터가 지상 차량보다 먼저 비행하여 목표에 더 가까운 비용 변화를보고 속도를 늦출 수 있기 때문에이 문제에 부딪 쳤습니다. 그들의 알고리즘을 다운시킵니다. 그들은이 흥미로운 관찰에 대해 토론 했습니까? 결국, 그들이 관리하는 최선의 방법은 헬리콥터를 지상 차량 바로 위로 날아가 세계에서 가장 비싼 센서 마스트로 만드는 것입니다. 물론, 나는 사소합니다. 그러나 아무도 말하고 싶지 않은 큰 문제입니다.
이것에 대해 주로 저에 의해 논의되는 소수의 논문 만이 있습니다. 이 질문에 나열된 원본 논문의 저자 또는 학생이 작성한 논문 중에서 실제로이 문제를 언급 한 논문 만 생각할 수 있습니다. Likhachev와 Ferguson은 필요한 업데이트 규모를 추정하고 증분 업데이트가 새로 시작하는 것보다 오래 걸리는 경우 저장된 정보를 플러시 할 것을 제안합니다. 이것은 꽤 합리적인 해결 방법이지만 다른 것도 있습니다. 내 박사 학위는 광범위한 계산 문제에 대해 비슷한 접근 방식을 일반화 하고이 질문의 범위를 벗어나지 만 참조는 대부분의 알고리즘에 대한 철저한 개요 등이 있기 때문에 유용한 참조를 찾을 수 있습니다. http://db.acfr.usyd.edu.au/download.php/Allen2011_Thesis.pdf?id=2364를 참조 하십시오. 자세한 내용은.