Uniform-Cost Search (일정량 탐색, UCS)는 상태 공간에서 최소 비용 경로를 찾기 위한 탐색 알고리즘 중 하나 이다. 이 알고리즘은 경로의 비용을 고려하여 탐색을 수행하며, 시작 상태에서 목표 상태로 이르는 최소 비용 경로를 찾기 위해 사용된다.
UCS는 최단 경로 문제를 해결하기 위한 효과적인 알고리즘으로 사용된다. 그러나 메모리 사용량이 중요한 경우나 상태 공간이 매우 큰 경우, 다른 탐색 전략을 고려해야 할 수 있다.
UCS는 목표 상태까지의 최소 비용 경로를 찾기 위해 더 많은 계산을 수행하므로, 경로 비용을 중요하게 생각해야 하는 문제에 적합하다.

1. Sibiu는 Expand, Fagaras와 Rimmicu는 Frontier에 존재한다.
F(99)와 R(80) 중 비용이 작은 R을 Frontier에서 꺼내고, Goal Test 후, Expand한다.
현재 Frontier: [Fagaras(99)], Expand: [Sibiu(0), Rimicu(80)]
2. Rimnicu의 자식인 Pitesti를 Frontier에 넣는다.
현재 Frontier: [Fagaras(99), Pitesti(80+97=177)], Expand: [Sibiu(0), Rimnicu(80)]
3. Frontier에서 Fagaras를 꺼내고, Goal Test 후 Expand한다. 또한, 자식인 Bucharest를 Frontier에 넣는다.
현재 Frontier: [Pitesti(177), Bucharest(99+211=310))], Expand: [Sibiu(0), Fagaras(99)]
4. Frontier에서 Pitesti를 꺼내고, Goal Test후 expand한다. 또한 자식인 Burcharest가 이미 Frontier에 있지만 들어있는 비용보다 더 작기 때문에 교체해준다.
현재 Frontier: [Bucharest(278)], Expand: [Sibiu(0), Rimnicu(80), Pitesti(177)]
5. Burcharest를 꺼내고 Goal Test 후 종료한다.
최적 경로: [Sibiu(0), Rimnicu(80), Pitesti(177), Bucharest(278)]