
Tractable and Non-tractable Problems 493
Thus the tiling problem is undecidable.
Another undecidable problem, out of many known ones, is as follows. You may be aware that a compiler
writer for a programming language uses the language specifi cations in the form of a grammar, so that this
compiler is able to decide correctly which of the input programs are valid. There can be several versions of
grammar for a language. The problem is:
Given two versions of grammars, G
1
and G
2
, do they generate (specify) exactly the same language?
This problem is undecidable.
The spectrum of algorithmic problems is represented by the “Egg” as shown in Fig. 17.9.