lihongxun945/gobang

javascript gobang AI,JS五子棋AI,源码+教程,基于Alpha-Beta剪枝算法(不是神经网络)

해결하는 문제

이 프로젝트는 웹 브라우저 내에서 완전히 실행되는 AI 상대를 갖춘 플레이 가능한 고무쿠(오목) 게임을 제공합니다. 실용적인 게임이자 교육 및 연구 목적의 고전적인 게임 트리 탐색 알고리즘의 실용적 구현으로서 기능합니다.

작동 방식

JavaScript로 브라우저에서 실행 가능한 성능 최적화를 적용한 Minimax 탐색 알고리즘을 기반으로 AI를 구현했습니다. 주요 기술적 구현 사항은 다음과 같습니다:

  • 탐색 알고리즘: 노드 평가 수를 줄이기 위해 Minimax에 Alpha-Beta 가지치기를 적용합니다.
  • 최적화 기법: 반복 심화, Zobrist 해싱(전이 테이블), "킬러 이동" 정렬을 사용하여 탐색 효율을 향상시킵니다.
  • 평가: 패턴(예: 열린 3개, 막힌 4개) 기반으로 보드 상태를 평가하는 휴리스틱 평가 함수를 사용합니다.
  • 전술: 강제 승리 시퀀스를 식별하기 위한 VCT(Victory by Continuous Threat) 탐색을 포함합니다.
  • 난이도 수준: 탐색 깊이를 조정함으로써 조절 가능합니다. 더 깊은 탐색은 강한 플레이를 가능하게 하지만 계산 시간이 증가합니다.

대상 사용자

  • 게임 AI와 탐색 알고리즘에 관심 있는 개발자.
  • Minimax, Alpha-Beta 가지치기, 휴리스틱 평가를 배우는 학생.
  • 브라우저 기반 AI와 대결하고 싶은 캐주얼 플레이어.

주요 특징

  • 순수 프론트엔드: AI는 브라우저 내에서 로컬로 실행되므로 초기 페이지 로드 이후 서버 측 처리가 필요 없습니다.
  • 포괄적인 테스트: 다양한 베이스라인과 비교하여 Elo 등급과 노드 처리량을 측정하는 전용 AI 평가 스위트를 포함합니다.
  • 전술 검증: 회전 및 거울 확장 기능을 갖춘 전술 퍼즐 라이브러리를 통해 AI의 약점을 진단할 수 있습니다.
  • 교육 자료: AI의 설계 및 구현을 상세히 설명하는 블로그 튜토리얼 시리즈가 제공됩니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트