lihongxun945/gobang
javascript gobang AI,JS五子棋AI,源码+教程,基于Alpha-Beta剪枝算法(不是神经网络)
해결하는 문제
이 프로젝트는 브라우저 기반의 오목(오목) AI 상대를 제공하여, 서버 사이드 백엔드가 필요 없이 실시간으로 최적의 수를 계산하는 컴퓨터 상대와 게임을 할 수 있도록 합니다.
작동 방식
현대의 신경망과는 달리, 이 AI는 Minimax 알고리즘을 기반으로 한 전통적인 게임 이론 접근법을 사용합니다. 특정 깊이까지 가능한 미래 게임 상태를 탐색하여 각 수의 평가를 수행합니다. 성능과 효율성을 향상시키기 위해 다음과 같은 최적화 기법을 구현했습니다:
- Alpha-Beta Pruning: 탐색 트리에서 평가할 노드 수를 줄입니다.
- Iterative Deepening: 시간 제약 내에서 최적의 수를 찾기 위해 탐색 깊이를 점진적으로 증가시킵니다.
- Zobrist Hashing: 전이 테이블을 사용하여 이전에 평가한 위치를 캐시합니다.
- Killer Move Ordering: 다른 분기에서 컷오프를 유발한 수를 우선적으로 탐색합니다.
- PVS (Principal Variation Search): 탐색 프로세스를 추가로 최적화합니다.
대상 사용자
- 브라우저에서 AI와 오목을 즐기고 싶은 일반 사용자.
- 전통적인 게임 AI, 탐색 알고리즘, 휴리스틱 평가 함수의 구현 방법을 배우고 싶은 개발자.
주요 특징
- 순수 프론트엔드 구현: AI는 브라우저 내 JavaScript로 완전히 작동하며, 초기 페이지 로드 후 오프라인에서도 사용 가능합니다.
- 포괄적인 테스트 세트: 독립된 프로세스를 사용하여 Elo 등급, 승률, 노드 처리량을 측정하는 전용 AI 평가 도구를 포함합니다.
- 전술 문제 세트: AI의 수 선택에 '누수'나 오류가 있는지 탐지하기 위한 내장된 전술 퍼즐 라이브러리.
- 사용자 정의 난이도: 탐색 깊이를 조정하여 AI의 강도와 처리 시간을 자유롭게 조절할 수 있습니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트