It's easy to tell computer engines aren't analyzing perfectly, because when we tell to them to play themselves, they lose a large fraction of their games, as both colors. Perfect play would always force at least a draw from at least one side.
There's no known tractable way to solve chess. There's something like 10^120 move orders [0], and no known way to find perfect play without brute-forcing (almost) all of them. Chess engines can't solve to to the end of a game to see which moves are certain to win; they can only explore to a very shallow depth, and evaluate the horizon nodes by very human-like [1] approximate heuristics.
It looks perfect from a human PoV (the best human players have no chance of winning); but there's still an unimaginably large gulf between chess engines and mathematically perfect chess.
There's no known tractable way to solve chess. There's something like 10^120 move orders [0], and no known way to find perfect play without brute-forcing (almost) all of them. Chess engines can't solve to to the end of a game to see which moves are certain to win; they can only explore to a very shallow depth, and evaluate the horizon nodes by very human-like [1] approximate heuristics.
It looks perfect from a human PoV (the best human players have no chance of winning); but there's still an unimaginably large gulf between chess engines and mathematically perfect chess.
[0] https://en.wikipedia.org/wiki/Shannon_number
[1] https://github.com/official-stockfish/Stockfish/blob/master/...