Friday, June 5, 2009

Sorites Paradox

An ancient puzzle asks how many grains of wheat must be placed on a surface before they form a heap. Is one grain a heap? Two? Three? Ten thousand? There are a dozen poetic variations of the puzzle, and (here, I'm speculating) a dozen-dozen poetic responses to each. I have taken an informal survey of friends, family, and complete strangers who have provided me some great fodder for thinking. Here are some of the responses:
Perhaps my favorite of these is, "who cares?" It doesn't need to be a rhetorical question- just find the person who cares and ask that person. It's likely to be a good answer. But it also begs pragmatism: if we can define what purpose (or person) the answer serves, it will be easier to identify which alternative is more suitable.

Programmers of various paradigmatic bents can answer the questions in just about as many ways:
When I first started thinking about this post, I was sure my conclusion would be that programmers share no such paradox, but I've arrived at a different result. The puzzle is a paradox because solving it requires re-contextualization. We assume mathematical induction will work (since it sounds like an induction problem), but it doesn't. Even those of us who don't call it "mathematical induction" probably initially approach the problem that way. But eventually we pick some alternate approach, of which there seem to be many.

How do we choose?

It depends on what we want. We choose based upon the outcome. We ask who cares, what impact the choice will have, examine it with a couple different tool-kits and pick the one that makes sense.

Anyone want to argue with me? I'm going to leave comments open for a couple days, see if I can have an Internet argument about it. [Edit: comments closed, nobody wants a blog fight any more. Boo hoo. Email me if you change your mind.]





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]