Skip to content

Solve: Algorithm #3

@KKWANH

Description

@KKWANH
  • Search for best algorithms
  • Try & set for certain one
  • Modulize & Visualize

GPT

필요한 구조 및 단계:

  • 퍼즐 상태 표현: 게임 상태를 효율적으로 표현할 수 있는 데이터 구조를 정의해야 합니다. 현재 Game 클래스에서 self.puzzle이 리스트의 리스트로 퍼즐 상태를 나타내고 있습니다.
  • 상태 탐색: 가능한 모든 상태를 탐색하기 위한 알고리즘을 구현해야 합니다. BFS(너비 우선 탐색)나 A* 알고리즘을 사용할 수 있습니다.
  • 상태 전이 함수: 현재 상태에서 가능한 모든 유효한 이동을 생성하고, 그 결과로 새로운 상태를 생성하는 함수를 구현해야 합니다.
  • 상태 방문 여부 추적: 이미 방문한 상태를 추적하여 중복 탐색을 피하기 위한 자료구조(예: 해시 테이블)가 필요합니다.
  • 최적 경로 저장: 목표 상태에 도달했을 때, 그 경로를 재구성하기 위한 기능이 필요합니다.

코드 구조 제안:

  • Solver 클래스 추가: 최적의 알고리즘을 구현하는 클래스를 생성합니다. 이 클래스는 게임 상태를 입력으로 받아서 최적의 이동 순서를 출력합니다.
  • State 클래스 강화: 현재 게임 상태를 표현하는 State 클래스를 만들어서 상태 비교, 해시화 등이 가능하도록 합니다.
  • 알고리즘 선택 기능: 다양한 알고리즘(BFS, DFS, A*)을 테스트해 볼 수 있도록 옵션을 제공합니다.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions