# 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.

### 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?

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!