Best-First Search(최선우선탐색) / A* 알고리즘 이용한 8-puzzle 문제
·
기타/8-puzzle (Python)
8-puzzle을 파이썬으로 프로그래밍 해보자 문제는 다음과 같다 initial 초기의 배열에 있는 원소를 한번씩 움직여서 내가 원하는 배열(goal)을 찾게되면 탐색을 종료하고 goal이라는 배열을 반환하면 된다.Best-First Search(최선우선탐색) 최선우선탐색은 확장 중인 노드들 중에서 목표 노드까지 남은거리가 가장 짧은 노드를 확장하여 탐색하는 방법을 말한다. f(n) = h(n) 함수로 표현 할 수 있으며, h(n)은 n이라는 지점에서 가장 저렴한 비용의 예상비용이다.import queue# 상태를 나타내는 클래스class State: def __init__(self, board, goal, moves=0): self.board = board self.mov..