Notice
Recent Posts
Recent Comments
Link
목록python/Algorithm (1)
타닥타닥
[A* 알고리즘 - Python's PriorityQueue 사용]
일단 A*알고리즘에서는 가장 작은 평가함수를 가진 객체를 먼저 뽑아내야 하는 구조이다! 이 문제에서는 평가함수 f(n) = h(n) + g(n)으로 두었다. h(n) : goal의 타일과 비교해서, 일치하지 않는 타일의 개수 g(n) : 시작노드에서 현재 노드까지 몇 단계 이동했느냐,,! (트리 레벨이라고 생각하면 되는 듯) 그러니까! 당연히 f(n)의 값이 작을수록 효율적이다. --> 우선순위큐!! 갑자기 든 생각은 그냥 리스트의 min() 메서드를 이용하면 안 되나 싶긴 한데............ min() 메서드를 사용하면 내가 할 일이 늘어날 거 같다. 왜냐하면,,,,, 우선순위큐에 담을 내용은 평가함수의 값이 아니라,,! 객체다!!!!! 우리는 객체만 우선순위큐에 담아도 클래스에 오버로딩해놓은 ..
python/Algorithm
2020. 3. 28. 13:09