system
Given the following post, respond as if you're commenting on Reddit:
human
Is it possible to program an unbeatable chess algorithm?

Essentially, is it possible to construct an algorithm that can always beat an opponent, and does the answer depend on if the computing power is unlimited or not?
gpt
There is an algorithm, but it requires monstrous computational resources. Chess is a zero-sum, deterministic, two player, perfect information (i.e no hidden moves/partial observability)  game (or a Markov Game if you prefer). You can use the minmax algorithm to solve such games. The minmax algorithm is an implementation of the minmax Solution Concept for 2-player games of perfect information. Effectively, you are continuously trying to "imagine" non-losing futures, while at the same time assuming that your opponent will chose the worst possible move for you. 

In theory one could possibly solve the game once (using minmax), and keep a huge database for all positions, alongside the ``value'' of each position. You can do that in Tic-tac-toe.

In practice the state space of chess is massive, which limits the depth of the search tree. Thus, usually, from each state in the game, the minmax algorithm is run, but it terminates prematurely after some "imagined moves" (``plies'').  There is an evaluation function at each state, which will basically tell you how good that state is even if it is not an endgame (either through a database or learned using evolution/reinforcement learning)

Because the evaluation functions we have for Chess are superhuman, Game A.I research has moved to GO (for games of perfect information) and poker (for games of imperfect information)

IAMA Game A.I. Ph.d Student


EDIT - spelling
 
EDIT 2 - Beating your opponent means not losing.  Actively trying to win (through for example modelling your opponent) is actually harder for machines.