BFS / DFS 이용한 8-puzzle 문제
·
기타/8-puzzle (Python)
너비 우선 탐색과 깊이 우선 탐색을 이용한 문제를 받게 되어서 이번 글을 쓰게 되었다. 8-puzzle을 파이썬으로 프로그래밍 해보자 문제는 다음과 같다 initial 초기의 배열에 있는 원소를 한번씩 움직여서 내가 원하는 배열(goal)을 찾게되면 탐색을 종료하고 goal이라는 배열을 반환하면 된다. 상태를 나타내는 클래스 # 상태를 나타내는 클래스 class State: def __init__(self, board, goal, moves=0): self.board = board self.moves = moves self.goal = goal # i1과 i2를 교환하여서 새로운 상태를 반환한다. def get_new_board(self, i1, i2, moves): new_board = self.boa..