IT 기술/DS & Algorithm
A * 알고리즘
gooooooood
2025. 4. 18. 11:07
반응형
1. 다익스크라 알고리즘의 확장, A* 알고리즘의 개념
- 시작점에서부터 현재 정점까지의 최단거리와 현재 정점에서 목표점까지의 추정잔여 거리를 활용해 최단거리 구하는 알고리즘
2. A * 알고리즘 개념도 및 계산 원리
가. A * 알고리즘 개념도
나. A* 알고리즘 계산 방식
비용 함수 | g(n) | 시작 노드에서 현재 노드 n까지 거리 |
h(n) | 현재 노드 n에서 목표 노드까지 예상거리 | |
f(n) | g(n) + f(n), 총 예상 비용 | |
계산 방식 | 1 | 시작 노드를 리스트에 넣고 탐색 시작 |
2 | 리스트에서 f(n)이 가장 작은 노드 꺼냄 | |
3 | 현재 노드가 목표 노드면 경로 반환 | |
4 | 이웃 노드의 g(n), h(n), f(n) 계산 | |
5 | 더 나은 경로의 f(n) 리스트에 추가 | |
6 | 리스트에 더 이상 더 나은 f(n) 없을 때까지 반복 |
3. A*, Dijkstra, BFS 비교
항목 | BFS | Dijkstra | A* |
탐색 기준 | 거리 순 탐색 | 누적 거리 탐색 | 누적 거리, 추정 거리 탐색 |
속도 | 느림 | 중간 | 빠름 |
대표 사례 | 트리 탐색 | 네트워크 경로 계산 | AI 로봇, 네비게이션 |
메모리 효율 | 좋은 | 중간 | 낮음 |
조건 | 간선 가중치 동일 | 가중치 >= 0 | 가중치 + 휴리스틱 |
반응형