Dr. Seuss proves that the halting problem is undecidable

No program can say what another will do.
Now, I won’t just assert that, I’ll prove it to you:
I will prove that although you might work til you drop,
you can’t predict whether a program will stop.

Imagine we have a procedure called P
that will snoop in the source code of programs to see
there aren’t infinite loops that go round and around;
and P prints the word “Fine!” if no looping is found.

You feed in your code, and the input it needs,
and then P takes them both and it studies and reads
and computes whether things will all end as they should
(as opposed to going loopy the way that they could).

Well, the truth is that P cannot possibly be,
because if you wrote it and gave it to me,
I could use it to set up a logical bind
that would shatter your reason and scramble your mind.

Here’s the trick I would use – and it’s simple to do.
I’d define a procedure – we’ll name the thing Q -
that would take any program and call P (of course!)
to tell if it looped, by reading the source;

And if so, Q would simply print “Loop!” and then stop;
but if no, Q would go right back to the top,
and start off again, looping endlessly back,
til the universe dies and is frozen and black.

And this program called Q wouldn’t stay on the shelf;
I would run it, and (fiendishly) feed it itself.
What behaviour results when I do this with Q?
When it reads its own source, just what will it do?

If P warns of loops, Q will print “Loop!” and quit;
yet P is supposed to speak truly of it.
So if Q’s going to quit, then P should say, “Fine!” -
which will make Q go back to its very first line!

No matter what P would have done, Q will scoop it:
Q uses P’s output to make P look stupid.
If P gets things right then it lies in its tooth;
and if it speaks falsely, it’s telling the truth!

I’ve created a paradox, neat as can be -
and simply by using your putative P.
When you assumed P you stepped into a snare;
Your assumptions have led you right into my lair.

So, how to escape from this logical mess?
I don’t have to tell you; I’m sure you can guess.
By reductio, there cannot possibly be
a procedure that acts like the mythical P.

You can never discover mechanical means
for predicting the acts of computing machines.
It’s something that cannot be done. So we users
must find our own bugs; our computers are losers!

Loading mentions Retweet
Filed under  //  funny   geek   words  
Comments (0)
Posted 2 months ago

petabits of persistent storage in 1 square centimetre

Loading mentions Retweet
Filed under  //  geek   video  
Comments (0)
Posted 3 months ago

World's shortest explanation of Gödel's theorem

We have some sort of machine that prints out statements in some sort of language. It needn't be a statement-printing machine exactly; it could be some sort of technique for taking statements and deciding if they are true. But let's think of it as a machine that prints out statements.

In particular, some of the statements that the machine might (or might not) print look like these:

P*x (which means that the machine will print x)
NP*x (which means that the machine will never print x)
PR*x (which means that the machine will print xx)
NPR*x (which means that the machine will never print xx)

For example, NPR*FOO means that the machine will never print FOOFOO. NP*FOOFOO means the same thing. So far, so good.

Now, let's consider the statement NPR*NPR*. This statement asserts that the machine will never print NPR*NPR*.

Either the machine prints NPR*NPR*, or it never prints NPR*NPR*.

If the machine prints NPR*NPR*, it has printed a false statement. But if the machine never prints NPR*NPR*, then NPR*NPR* is a true statement that the machine never prints.

So either the machine sometimes prints false statements, or there are true statements that it never prints.

So any machine that prints only true statements must fail to print some true statements.

Or conversely, any machine that prints every possible true statement must print some false statements too.

Loading mentions Retweet
Filed under  //  cs   geek   maths   words  
Comments (0)
Posted 7 months ago

where's the centre of mass?

Loading mentions Retweet
Filed under  //  geek   pic  
Comments (0)
Posted 8 months ago

my heroes

Loading mentions Retweet
Filed under  //  funny   geek   music   video  
Comments (0)
Posted 8 months ago

Q: what do you call someone who used to interested in farm machinery?

A: an ex-tractor fan

Loading mentions Retweet
Filed under  //  funny   geek   words  
Comments (0)
Posted 8 months ago

The Homewrecker

Hoffman's Iron Law states that a woofer's efficiency is proportional to the volume of the enclosure it is mounted in and the cube of its low frequency cutoff. In other words, if you want a loudspeaker with very low frequency extension AND high efficiency, you need an enormous enclosure. Or you could build The Homewrecker.

Loading mentions Retweet
Filed under  //  geek   music   words  
Comments (0)
Posted 9 months ago