A heuristic search using MCTS + minimax + alphabeta pruning is a highly efficient AI planning process. What the AI techniques of reinforcement learning (RL) plus neural networks (NNs) typically add to this is a way to establish better heuristics.
My intuition tells me that this is way harder and far more complex.
It's not actually that much more complex ...
To build on Neil's answer a bit, you're right that the better your evaluation function gets, the less work your optimization function will need to perform. If your evaluation function gets good enough, you won't need to search at all.
This is not just an academic idea though! It's actually fairly widely used, and has been key to solving several games.
Yes, "goodness" is a common description of the value generated by an evaluation function.
"Artificial Intelligence" p. 77;
"Knowledge-Free and Learning-Based Methods in Intelligent Game Playing" p. 15;
"Tenth Scandinavian Conference on Artificial Intelligence" p. 125; and
"Algorithms and Networking for Computer Games" p. 80.
The "position" is ...
Human chess and go experts clearly use evaluation functions. They do come up with moves that look sensible without evaluating the board position, but to validate these candidate moves they evaluate board positions that occur at the end of the variations they calculate. Pretty similar to AlphaGo.
Inputting two board states and outputting a preference is a (...
What is the difference between the heuristic function and the evaluation function in A*?
The evaluation function, often denoted as $f$, is the function that you use to choose which node to expand during one iteration of A* (i.e. decide which node to take from the frontier, determine the next possible actions and which next nodes those actions lead to, and ...
A perfect evaluation function would mean that you only had to do a local search - i.e. maximise over next set of decisions - in order for an agent to behave optimally in an environment.
As such if you could somehow create that function, it would make a search with alpha-beta pruning redundant.
In practice, evaluation functions for complex environments are ...
What I'm missing here is a way to direct the evaluation function to actually winning. For example, a perfect evaluation function for a won position in chess would always return +1 without any hint how to progress towards checkmate. In a chess variant without the fifty-move limit, it could play useless turns forever.
I guess, this is a rather theoretical ...
Based on your description, I'd maximize the following terms:
-max(f - 10 - (MAX_FIELD_INDEX - i), 0) - assuming consumption of one fuel per field; this becomes negative when you have too much fuel
a similar function of p, as spending them gets more important when approaching the goal
As having fuel is probably a good thing in the beginning, you could use ...
If you have the best combination of distance between the stones, you should choose the best move to win. In this case, you have to be close to where your opponent plays. It is best to do this by surrounding your opponent's stones. You should always put the first stone in middle or corner of the table.