BCE Design Documentation

I'm developing a chess engine to help build my understanding of the tactics & strategy of the game as well as to further deepen my knowledge of Machine Learning

I want to build a general purpose algorithm that can be used across many disciplines, not just chess or other board games. There's already many templates and foundations that I could build upon and add my own twist to. I could try using something like a min/max function but despite chess having orders of magnitude less possible moves per state compared to a game like Go or Shogi it would still be highly inefficient and impractical to search through all possible scenarios on each iteration.

I'd want my function to remain as a decently competitive algorithm without becoming too resource intensive.