Behind the function „Min-Max-Calculation“ lays a very simple, but powerful idea. If you know for a given position that at least one move is leading to a winning position the current position is already winning. Now, if all end positions are evaluated (e.g. by a chess author or chess-engine) you can go backwards the whole variation till you reach the start position while checking for each position what the best possible result for the moving side is and save that information for each position. This approach and the automatically position evaluation is called “Min-Max-Calculation” or “Backsolving”.
Let’s assume that for a given position there exist two possible moves in your repertoire: Ne4 and Qg6. Ne4 leads to a position which is already evaluated as +- while Qg6 leads to an equal position. This means that already the current position is actually +-, because at least one move is leading to a +- variation which can be forced by you. The whole trick is now how Chess Position Trainer is going backwards through your opening by starting from the end positions till it reaches the start position while it is updating the evaluations of all checked positions. For each position it is checking what the best possible result for the moving side is. This process is recursive.
If all end positions were evaluated before you started the “Min-Max-Function” you will get a fully evaluated repertoire at the end though you only evaluated the end positions (or even better you let a chess-engine do the work by using the EPD export and import)!
The EPD export and import let you export only all end positions to analyze them with specialized software. Afterwards you can easily import the position evaluations. This way you get quickly a repertoire where all end positions are already evaluated. This is the ideal precondition to use the “Min-Max-Calculation”.