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
- 프로젝트
- 프로젝트
- 프로젝트