5

This question is a bit of a shot in the dark. I am asking here, though I am not convinced that such an example exists.

I'd like a quick, highly intuitive example that I can throw out to my students before we engage in the halting problem. I will come back and explore RELs in more depth later in the lecture, but I was hoping for something I could use earlier in the lecture to help students intuitively see that there is a limit to what turing machines can represent before I get to a more formal exploration.

All of the examples I've found are very twisty, and would require me to stop and unpack the notion of the language before students could make any sense of them. (i.e. they are not simply intuitive.)

I have no doubt that, within the infinity of NRE languages, there are some highly intuitive ones, but I've never seen one described anywhere, and I've looked for a long time.

Has anyone ever thought of such an example?

Ben I.
  • 1,730
  • 14
  • 26

1 Answers1

2

Perhaps - if you want to avoid the Halting stuff - you can use the set $L$ of incompressible strings:

You start from the definition: a string $x$ is compressible if there is a TM (or a generic "program" in some programming language) smaller in size than $|x|$ that outputs $x$ (when run on empty input)

If there is a TM (a "program") $M$ that enumerates $L$ then you can build another TM $M'$ that simulates/mimics $M$ and as soon as it outputs a string $y$ larger than $|M'|$ it outputs $y$ and halts. The tricky part is to make them realize that a program can "know" its own size and can simulate another program.

In other words $M'$ generates an incompressible string $y$, but $|M'| < y$ so $y$ is compressible: a contradiction.

Vor
  • 12,743
  • 1
  • 31
  • 62