Introduction To The Theory Of Computation - Sipser (Cengage New Delhi, 2006)