Wednesday, April 29, 2009

Faulty Logic

Let's face it: logic isn't very convincing. There are all kinds of reasons for this. At least one is linguistic: one can employ abstruse language in logical arguments, and it's a conversational turn off. Another is social: often, people who wield logic in conversation do so with about as much finesse as a two-year-old with a stick. But leaving aside the practical constraints, an interesting question remains:
How effective is logic?
For some purposes, there is no suitable replacement. I'm a programmer, and if I couldn't rely on logic for control flow in software, I wouldn't get very far with if-then-else statements. Likewise building circuits- in fact, Claude Shannon demonstrated way back in 1937 that digital circuits and Boolean logic are equivalent.

As a programmer, I'm also aware of limitations. After fifteen years writing code, I'm still painfully prone to writing bad control flow statements (in software, we call them "bugs"). When I'm writing code, this results in hours of debugging; unfortunately, in conversation, people are rarely willing to spend hours debugging sentences. If they are willing, we tend to call them "philosophers" and keep them far away in University, writing books for the rest of us to blog about.

Logic is prone to bugs that are difficult to find, even when the user attempts to encode statements correctly. When it's wielded maliciously, it's even worse. It's perfectly easy to obfuscate the intent of code, and consequently, of logic.

This is all before we come to an important internal flaw of logical systems, which is that they only come in three varieties:
  1. Incomplete logical systems.
  2. Contradictory logical systems.
  3. Excessively weak logical systems.
If you're going to employ logic, you're either going to use a system that is incomplete (i.e. there are statements which cannot be proven true or false using the system), or one that contradicts itself (i.e. you can prove both the truth and the falsehood of some statement), or one in which you can do nearly nothing.

Huh?

Yeah, sadly this is true. Consider it a bug in existence. Any system of rules either leaves out important cases, or contradicts itself, or is so facile as to be largely useless [1]. Luckily for all of us, it doesn't really matter. Logic is a clever hack, which seems to work most the time.

But it does mean that when you "prove" something to me using logic, I'm going to take it with a grain of salt. Even if you've employed logic correctly, I'd have to spend quite a lot of effort to determine whether the logical system you've employed is consistent, and after I did that, I'd have to give up, since self-consistency is one of the things that a system of rules can't prove.

Ouch!

[1] http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems

Tuesday, April 28, 2009

It's Relative

Growing up, I was thoroughly and lovingly indoctrinated by Fundies. My favorite story about this is from just before I went to college. Fern Williams (God rest her soul) took me aside the week before I left, and gave me an earful. I'm not sure, in retrospect, if Fern was prophesying or just talking, but she said something like this:
"David, they're going to teach you things at college. They're going to teach you that people evolved from monkeys, and homosexuals are not sinners. They're going to teach you that abortion is not murder. They're going to teach you that the truth is all relative."
Even for people who haven't heard me tell this story, the punch line is pretty easy to guess. Evolution was first to go: after the first day of my first biology class, I thought, "Oh, so that's what was missing." The second one was harder, but I had a few gay friends in high school, a few more in college, and cognitive dissonance eventually overwhelmed prejudice. Abortion- still a tricky one for me, but the idea that a fertilized egg has the same moral standing as a person has always felt absurd, and the idea that a full-term baby doesn't is equally absurd.

But none of those are the point of this post- they're just a bit of background to show that I was already three-quarters of the way down Fern's list when I encountered Richard Rorty.

Richard Rorty calls himself and his ilk pragmatists. Yes, he's one of those: he has an "ilk." If you look up pragmatism on Wikipedia, it sounds suspiciously like something academics argue over, and little else. But if you read Philosophy and Social Hope (thanks, Ed), you get a better feel for it as a pretty eclectic set of tools for approaching thinking about and talking about What We Ought to Do. If you read a little further (and you were also indoctrinated by Fundies), you will find yourself exclaiming,
"Oh noes! Rorty is a relativist."
Now, before you stop reading, let me give you a list of four people who dislike this philosophical (if you can even use the word) bent: Richard Dawkins, His Holiness Pope Benedict, Plato, and James Dobson. Oh, and Richard "I'm-not-a-relativist-I'm-a-pragmatist" Rorty.

So what's this all about?

Well, the only answer I can give right now is that I'm not entirely sure (haven't finished reading Rorty's book yet), but I have a sneaking suspicion that poor Fern Williams (God rest her soul) was on to something.

Tuesday, April 7, 2009

The Unreasonable Persuasiveness of Prose

Halevy, Norvig, and Pereira's article "The Unreasonable Effectiveness of Data" [PDF] examines whether we need the Semantic Web. The crux of their argument is that in "very large data sources, the data holds a lot of detail."
Sadly, the argument falls apart in the last half of the last sentence on the first page:
"without needing any manually annotated data."
Well, that's rich. Google has sucked in petabytes of manually annotated data, and discovered that with all that manually annotated data, they don't need any manually annotated data to derive semantics.

Absurdity notwithstanding, there is a subtly important point lurking in there. Stephen Wolfram made it, with uncharacteristic simplicity, in an interview with Rudy Rucker:
"The problem with the Semantic Web is that the people who post the content are expected to apply the tags"
Wolfram and the Google guys make an interesting point. If the Semantic Web were dependent upon a majority of folks using the same formalisms and identically serializing them, it would be a long time before we reaped much benefit. Possibly decades, or more.

Luckily, we don't need to wait that long. To begin with, there's already a great deal of semantic markup out in the wild, as I pointed out in the beginning of this post. Sure, it's not OWL or RDF or whatever hot shit the kids are using these days, but it's semantic nonetheless (as is evidenced by the fact that the folks at Google and Wolfram Science are able to extract semantics from it). What's to keep them, or someone like them, from serializing that information in some Semantic Web form, obviating the need for people to go back and do it themselves, and obviating the need to use some inane UI?

But really, that's only a side point along the way to the main point.

The main point is that the Semantic Web provides a number of interesting starting points for serializing assertions. We probably ought not think of it as an ending point, but as a side-effect: a way of capturing a train of thought. And as we figure out better ways to serialize our own train of thought, one possible side effect of that is computers that mimic us a little more closely.

Assuming of course, that's something we actually want. Personally, I like them how they are.

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

Subscribe to Posts [Atom]