It is an unfortunate fact that there are some problems that cannot be solved by any algorithm. These problems are undecidable. The most famous example of an undecidable problem is the Halting Problem, which states that there is no algorithm that can determine whether a given program will halt or run forever.
Undecidable Languages
Turing machines are the most powerful computational model we have, and they can recognize a wide variety of languages. However, there are some languages that Turing machines cannot recognize. These languages are called undecidable languages.
We will look at:
- Countability & Uncountability
- Cantors diagonalization
- proofs that undecidable languages must exist
- example of undecidable languages
And remember:
Important
A language is a set of strings
and that Descriptions of machines are strings
Notation
or is a string representation of some object
And for a tree:
stateDiagram-v2 A --> B B --> C C --> A
Wet a string of the sort:
And also remember:
- where is an undirected
Building Inventory of Decidable Languages
is decidable when we know some machine exists that decides :
Our theorem right now is that is decidable