Skip to content

Solve: Algorithm #3

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*)을 테스트해 볼 수 있도록 옵션을 제공합니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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