게임업계에서 길찾기 알고리즘에 많이 사용된다는 JPS알고리즘을 공부했다. JPS알고리즘은 A* 알고리즘과 유사하지만 대부분의 경우 A* 알고리즘보다 성능이 좋다고 한다. 우선 JPS의 핵심은 Jump Point를 찾는 것인데 그 Jump Point만 열린 목록에 넣고 A*에서 하듯이 비용을 검사한다. 당연히 A*처럼 가능한 모든 경로에 있는 노드들을 열린 목록에 넣고 검사하는 것이 아니라 비용이 더 적다. Jump Point를 찾는 방법은 2가지가 있는데 첫번째 방법은 Jumping Straight경우를 살펴보는 것이다. Jumping Straight Figure(a)가 Jumping Straight Case이다. p(x)는 x의 부모이다. p(x) 기준으로 상하좌우 중에서 오른쪽으로만 갈 수 있으니 오..