You’re confusing optimality in terms of results and efficiency in terms of computing power with your use of “NP-hard”. Something like the travelling salesman problem is NP-hard in that there’s no known way to solve them beyond a certain efficiency in terms of computing power (how to do optimally on them in terms of results is easy). It doesn’t apply to chess or go in that there is no known way to get optimal results no matter how much computing power you have. These are two completely different things.
Surely there is a known way to play chess and go optimally (in the sense of always either winning or forcing a draw). You just search through the entire game tree, instead of a sub-tree, using the standard minimax algorithm to choose the best move each turn. This is obviously completely computationally infeasible, but possible in principle. See Solved game
You’re confusing optimality in terms of results and efficiency in terms of computing power with your use of “NP-hard”. Something like the travelling salesman problem is NP-hard in that there’s no known way to solve them beyond a certain efficiency in terms of computing power (how to do optimally on them in terms of results is easy). It doesn’t apply to chess or go in that there is no known way to get optimal results no matter how much computing power you have. These are two completely different things.
Surely there is a known way to play chess and go optimally (in the sense of always either winning or forcing a draw). You just search through the entire game tree, instead of a sub-tree, using the standard minimax algorithm to choose the best move each turn. This is obviously completely computationally infeasible, but possible in principle. See Solved game