Computer chess is a game of computer architecture encompassing hardware and software capable of playing chess autonomously without human guidance. Computer chess acts as solo entertainment (allowing players to practice and to better themselves when no sufficiently strong human opponents are available), as aids to chess analysis, for computer chess competitions, and as research to provide insights into human cognition.
Current chess engines are able to defeat even the strongest human players under normal conditions. Whether computation could ever solve chess remains an open question.
"Chess engine" normally refers to the algorithmic part of a chess program or machine. The user interface part is often a separate program, which the chess engine plugs into as a substitutable or replaceable module. Chess engines may consist of a software chess program running on a conventional digital computer, or a software program running on a conventional computer with dedicated chess-specific microprogramming or hardware to speed esp. tree searching and position evaluation, or a hardware/software/firmware machine dedicated exclusively to playing chess. Distributed computing programs that play chess utilizing multiple processors or multiple networked machines have also been developed. Most generally available commercial chess programs are software that runs on PC-type hardware. Such programs running on even very modest hardware (as small as cellphones) are vastly stronger than most human chess players.
To learn more about chess artificial intelligence please read or blog below