6

In his commentary on a case involving pornography in 1964, U.S. Supreme Court Justice Potter Stewart sidestepped the question of defining what it meant for a work to be pornographic, but then said "I know it when I see it." It struck me that this was a pretty good description of recursive enumerability (recognizability): he was asserting that he was a recognizer for the set of all creative events, broadly construed, that were pornographic. By saying that he wouldn't, and perhaps couldn't, define pornography, he was saying that as far as he was concerned, pornography was not recursive, in that while he could answer "yes" to the question "is this work pornographic?" he couldn't correctly answer "no" in all cases, saying, in effect, that the set of pornographic events wasn't recursive (decidable). In short, he claimed, metaphorically, the set PORN was in $RE\setminus R$.

Pedagogically, this metaphor might work well as an aside when I introduce $RE$ and $R$ to my students, but I'm not entirely happy with it, since it seems feasible that another jurist might very well assert that s/he could indeed determine, for all possible creative events, $e$, whether $e$ was not pornographic. The question is, is there a "tighter" real-world metaphor, where we could agree that determining whether $e$ is a member of $P$ is obviously possible, but determining that $e\notin P$ for all $e$ is obviously impossible?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Rick Decker
  • 15,016
  • 5
  • 43
  • 54

4 Answers4

5

I was first taken by your metaphore, but I do not think it works. Actually he is saying that he is himself a decision procedure, though he cannot describe his own internal program. Hence Justice Stewart decisions are recursive, not recursively enumerable, at least where pornography is concerned. I would indeed expect anyone capable of such an arrogant statement to be computationally limited.

Now for other examples taken from the real world, the first that comes to mind is actually co-RE, though that amounts to the complement being RE. It is the buggy program problem. If a program has a bug, it will show some day, provided we use it long enough. But we cannot be sure thre are no bugs, even when none has been found. Well, that was before we could prove program correct (not that we are really there yet).

A close problem is falsifiability of scientific theories, as defined by Karl Popper. The idea is that science is primarily co-RE:

A theory in the empirical sciences can never be proven, but it nust be falsifiable, meaning that it can and should be scrutinised by decisive experiments that could prove it wrong.

In other words, all we can know for certain, is that some empirical science theories are false, because some consequences have been experimentally proved false.
Whatever remain might be good theories, unless later proved false.

False theories form a RE set. Good theories are the co-RE complement.

But I am not sure this last example will make things clearer for your students.

And the relations between scientific theories, or their correctness status are a bit more subtle than that.

P.S. I think mortal people form an RE set.

babou
  • 19,645
  • 43
  • 77
3

I find that the simple computer program analogy works very well:

Let's say you enter a command or start some program (with some particular input) on your computer, and suddenly the screen freezes.

You know very well that it might start running soon and give you the answer, but on the other hand, it might simply be in an infinite loop (or appear to be in one) or have crashed, or simply not return the answer in a very long while ... Should you force stop it?

This also reminds me of a blog post Thore Husfeldt wrote, The Freeze App Does Not Exist.

Ainsley H.
  • 17,823
  • 3
  • 43
  • 68
2

I find that the concept occurs frequently in every day life. Some examples:

  • Choosing a partner. You'll never know if you have found the "best" potential partner, but it's often easy to decide "not this one".
  • When to buy a new car (or mobile, PC, ...). If you buy now, the next generation may be slighlty better, or cheaper.
  • "Turn left at the second to last crossing" -- you only know which one after you've driven to the end.

In more abstract terms, we usually act as online algorithms in the real world. An algorithm that wants to decide something about a function has to work similarly: it can only walk over the domain for a finite time until it has to make a decision (marry somebody, buy a car). A semi-decider can keep walking but may not decide at all (stay single, travel by bus).

Raphael
  • 73,212
  • 30
  • 182
  • 400
0

The question is, is there a "tighter" real-world metaphor...?

here is a simple straightforward analogy that has "nearly" actually been used in the literature in different places/ ways. depending on reception will come up with others less direct. it has the advantage that it also extends to all languages even the decidable ones.

imagine a guru on a mountain who answers your questions. you ask him a question and he will have an answer. but the time between you asking and when he answers is variable. there are different classes of questions expressed as symbol/ word statements from "languages" in computer science.

some languages can be "recognized" quickly by the guru, in other words he always answers questions in those languages. some can even be "efficiently recognized". these are called P. others are thought to be not recognizable efficiently but nobody has a proof of that. those are called NP.

there are languages that take a "long time" to recognize by the guru (questions in the language take long or unpredictable amounts of time) but are still recognizable, and the guru still eventually comes up with answers. these are called decidable. there is a timing/ space hierarchy of such languages but thats another metaphor.

then there are languages that exist where the guru answers some of the questions, but not others. but the timing is impossible to determine on the unanswerable questions. the unanswered questions have no time limit. that is to say, if the guru answers, it may take him days, months, years, or very long stretches of time to answer. there is absolutely no time limit "rule" that one can use to say definitively "if the guru has not answered in x time then he will never answer". there is no way to know, waiting, whether a nonanswer will ever eventually turn into an answer or not. these languages are called "undecidable".

exercise for reader: now describe coNP. :)

vzn
  • 11,162
  • 1
  • 28
  • 52