--- id: [[P-Reinforce|P-Reinforce]]-AI-DIJKSTRA category: Dev confidence_score: 0.99 tags: [Dijkstra, Algorithm, Pathfinding, [[Graph Theory|Graph Theory]]] last_reinforced: 2026-04-20 --- # Dijkstra's-Algorithm (데이크스트라 알고리즘) ## 📌 한 줄 통찰 (The Karpathy Summary) > "욕심쟁이(Greedy)의 가장 똑똑한 길 찾기." 출발점에서 다른 모든 지점까지의 최단 거리를 가장 효율적으로 확정해 나가는 알고리즘의 고전이자 정석이다. ## 📖 구조화된 지식 (Synthesized Content) - **Shortest Path Tree**: - 방문하지 않은 지점 중 거리가 가장 짧은 지점을 먼저 방문함으로써, 한 번 확정된 거리는 다시 계산할 필요가 없게 만든다. - **Priority Queue Usage**: - 우선순위 큐(힙)를 사용하여 다음에 방문할 지점을 빠르게 찾아냄으로써 시간 복잡도를 극적으로 최적화한다. - **Application**: - 구글 지도, 게임 길찾기, 네트워크 라우팅(OSPF) 등 연결된 네트워크가 있는 모든 곳에 쓰인다. ## ⚠️ 모순 및 업데이트 (RL Update) - 데이크스트라는 음수 가중치(음수의 거리 등)가 있는 환경에서는 작동하지 않는다(이땐 벨만-포드 필요). 또한, 거대한 맵에서는 탐색 범위가 너무 넓어지므로, 목표 지점 방향으로 먼저 탐색하는 지능을 더한 `A* (A-Star) 알고리즘`이 실무에서 더 선호된다. ## 🔗 지식 연결 (Graph) - Related: [[Autonomous-Vehicle-Path-Planning|Autonomous-Vehicle-Path-Planning]] , [[Combinatorial-Optimization|Combinatorial-Optimization]] - Foundation: Computational Theory & Math/Information Theory