Skip to content

Decidability & Undecidability

Welcome to Week 8!

We will finally see that computation is limited in a fundamental way!

Learning Objectives for this week

  • Encoding of an object
  • Universal Turing Machines (UTMs).
  • Use reductions.
  • List examples of decidable problems and show them to be so.
  • List examples of undecidable problems and show them to be so.
  • List examples of unrecognisable problems and show them to be so.

Lecture videos

The PDF slides are available for download below.

Download Slides

Universal Turing Machines

TMs are believed to be the most powerful model of computation, and in particular, we can devise a TM to simulate any other given machines. In fact, there are some TMs know as Universal Turing Machines, which when we give them a suitable "encoding" of any machine we desire to simulate, will correctly simulate it (or even analyse it)!

Examples of decidable problems

Lots of the problems that we meet in our day to day life are thankfully decidable. That means, in principle, all we have to pay is wait until the TM halts and we will definitely get an accept/reject answer, and the TM will never loop.

Undecidability

Unfortunately, it turns out that not all computational problems are decidable though... Let us see some examples, and how to show they cannot be decidable.

Unrecognizable languages

It turns out that there are languages that we cannot even recognise (= halt if yes-instance but may loop if no-instance)!

Ready for the lab exercises?

Attempt Lab 8 exercises

Ask & Answer Questions

Don't forget: you can use Teams or the Aula's feed to raise questions for me and the rest of the class.

Add your questions to the Community Feed and take a look at others' questions. If you see a question which you'd like to answer then just go ahead and participate in the discussion!