Unsolvable Problems

Computers are amazing, and it seems like there must be nothing a computer cannot do. They are the artificial intelligence that underpins some of our favorite video games, they can beat human beings at checkers, chess, and Jeopardy, and they can even automatically and safely drive cars on the road, even with unpredictable human drivers alongside them. But as it turns out, computers can’t do everything, and never actually will be able to.

In this section, you will consider unsolvable problems in computer science, including one of the most famous problems in that category: the halting problem. You will also consider how practical workarounds can be made for unsolvable problems, and how unsolvable problems affect program design.