Introduction to the theory of computation

Michael Sipser
PWS Pub. Co.
9780534947286
0-534-94728-X