Charlie’s Weekly Report for 2/7

This week, I focused on refining the architecture for the engine’s decision-making system by researching search-based algorithms and LLM orchestration. Instead of fully switching to a deep reinforcement learning approach as originally planned, I proposed a more practical and reliable baseline using Negamax search with alpha–beta pruning and fixed depth for efficient and deterministic move generation. I also planned an extension where machine learning is used only for position evaluation and move ordering, trained offline using Xiangqi datasets. This hybrid approach keeps the core engine stable and debuggable while still allowing performance improvements from learned heuristics.

I also looked into LLM-based explanation generation using pruned move sequences from the search as structured context for reasoning about multi-move strategies. Initial testing with vLLM and Gemini showed frequent hallucinations, including incorrect checkmate claims, so I plan to constrain the model to validated candidate moves and add rule-based verification to ensure explanations match the engine’s output. My progress is on schedule, and next week I will begin implementing the Negamax search, integrating it with the current move generator, and prototyping the evaluation interface for future ML integration.

Charlie’s Status Report for 1/31

For this week, I have started the implementation and system level design for the Chinese Chess (Xiangqi) guided engine using the Rust programming language. The primary focus this week was on creating a solid backend infrastructure that emphasizes correctness, performance, and extendability for the upcoming AI-guided functionalities.

I have designed and implemented the board state representation by utilizing a constant size array, which enables constant time and cache-efficient access to the pieces on the board. Additionally, I have implemented the rule validation part, which ensures legal moves, captures, blocking, and specific rules for different pieces. Lastly, I have implemented the complete move generation logic for all types of pieces, which ensures correctness according to Chinese Chess rules, such as palace rules, river rules, and cannon rules. Alongside this, I have conducted some research on the move generation strategy, where I have compared different strategies such as traditional search-based methods like minimax, alpha-beta pruning, and inference-based methods.

My progress this week has been on track, and all the planned foundational components, such as board state representation, rule validation, and basic move generation, have been implemented as planned, providing a solid foundation for the upcoming implementation.

For the upcoming week, I will be implementing the full game state management, which includes turn management, move history, and terminal state detection, such as check, checkmate, and draw states. Alongside this, I will be implementing the search-based move generation framework and integrating it with the existing rule validation system.