• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

A* 코드 관련 질문입니다.

20.09.20 02:13 작성 조회수 170

0

저는 2강 자료구조를 듣지 않아서 A* 코드를 처음 보는데요, 만약 도착점까지 도달할 수 있는 경로가 존재하지 않는다면 어떻게 동작하게 되는지 궁금합니다.

그리고 휴리스틱을 사용하지  않는 것으로 보이는데요 그러면 다익스트라와 비슷하게 구현이 되는 건가요?

답변 1

답변을 작성해보세요.

0

도착점까지 도달할 수 있는 경로가 없다면
모든 노드를 탐색하고 끝나게 됩니다.
Parent를 역추적해도 제대로 된 길을 찾을 수 없으니
그걸로 길이 없음을 인지할 수 있습니다.

휴리스틱을 사용하지 않아도 Manhattan Distance로 채점을 하고 있으니
다익스트라랑은 개념이 미묘하게 다릅니다.
다익스트라는 시작점을 기준으로 거리 계산을 하면서 동서남북 모든 방향으로 탐색을 하지만
A*는 목적지와 가까운 곳 위주로 먼저 탐색을 하게 됩니다.