이용하여 최단경로를 구하는 가장 단순한 방법은 우연히 목표상태에 도달할 때까지 모든 가능한 방법으로 움직여보는 것으로, 시행착오에 따른탐색을 포함한다. 주어진 문제의 경우 상태공간 그래프에서 탐색을 통해 목표상태에 도달하는 경로를 탐색하기 위해 각각의 노드에 적용 가능한 연산자를
사용하면 보다 효율적으로 탐색이 가능해진다. 경험적 탐색에는 언덕오르기 탐색, 최적우선 탐색, A* 알고리즘등이 있다.
1) 균일비용 탐색
균일비용 탐색(uniform-cost search)은 가장 얕은 노드를 검색하는 것이 아니라 출발노드로부터의 경로비용이 최소인 노드를 선택하여 확장시키는 방법이다.
이 좌상단에 위치하지 않고 좌하 단에 위치한다. 따라서 화면과는 Y축의 방향이 반대가 된다. 이에 따라 Y 축의 경우는 비례식을 수정해야 한다. Y축 방향이 같은 경우는 기준점을 최소점으로 해도 지도와 화면간에 같은 위치를 나타내게 되어 문제가 없지 만 Y축이 반대인 경
노드들은 재확인할 필요성이 없고 다시 open노드에 추가된 노드를 기준으로 이동 가능한 노드를 위의 싸이클처럼 반복하여 최단경로를 구하면 된다.
(나) 이동 횟수를 최소화하여 <그림 1>의 문제를 풀이하기 위해 문제를 표현하고, A* 알고리즘에 적용할 평가함수를 정의하라.
- 중략 -
평가 대상에서 제외하는 탐색 과정을 목표 노드에 도달할 때까지 반복한다. 에이스타알고리즘이 다른 상태공간알고리즘과 다르게 추정잔여거리를 사용하여 탐색을 하기 때문에 여타 알고리즘보다 탐색 단계가 줄어들어 탐색 시간이 현저히 줄어든다.
2. 에이스타알고리즘문제풀이를 위한 개