체스엔진을 처음부터 만들어 보기
(chessengines.org)- Chess.js(이동 및 검증) 와 Chessboard.js(시각화) 를 이용
- 랜덤 이동하기 : Chess.js가 이동 가능한 모든 수를 배열로 주면, 거기서 랜덤 선택
- 상대말을 잡는 수만 골라서 그중에서 선택하기(없으면 랜덤)
- 체스 끝나고 생성되는 PGN(Portable Game Notation)으로 성능 평가하기 (Chess.com 같은데서 제공)
- FEN(Forsyth-Edwards Notation) 이해하기
- minimization-maximization 알고리듬 이해 및 구현하기
- Horizon Issue 해결하기 : "quiescence search"
- "alpha-beta pruning" 으로 빠르게 만들기
- "iterative deepening"
- transposition/hashing table 만들기