[C#, Unity, 최단경로(PathFinding)] TileMap A* 알고리즘
·
Unity,C#/알고리즘
■ A* 알고리즘“BFS에서 발전한 알고리즘이 다익스트라라면, 다익스트라에서 한 단계 더 발전한 것이 바로 A 알고리즘이다.” 다익스트라와 동작 방식은 비슷하지만, 목표 노드(n)까지의 거리 측정값인 휴리스틱(Heuristic)을 추가로 사용한다. 각 타일에는 다음과 같은 정보가 저장된다. 이름설명 g(n) 현재 노드까지의 누적 비용. 가중치가 없다면 상하좌우 이동은 10(또는 1), 대각선 이동은 14(또는 1.4)로 계산한다. h(n) 목표 지점까지의 예상 비용(휴리스틱). 맨해튼 거리 방식이나 정수 근사 휴리스틱(10/14)을 사용해 계산한다. f(n) g(n) + h(n). A* 알고리즘에서 우선순위를 결정할 때 사용하는 총 비용. 다익스트라에서는 우선순위 큐의 기준이 g(n) 값(누적..