Sunday, 30 September 2018

Falsification

In 1st year Biology classes at Uni we were taught about Falsification. The example was creating an experiment to test for the existence of Vultures in Hyde Park London. What hypothesis should we chose "there are" or "there are not" vultures in Hyde Park. I was confused and got it wrong, and I never understood this even after doing Karl Popper.

But did I get it wrong?

The traditional approach is to set the hypothesis "there are no vultures in Hyde Park". Then we do a study and if we find a vulture we have definitely falsified the hypothesis. You definitely can't go around saying there are no vultures, when one was found.

The problem issues from the meaning of not finding a vulture. This can mean 2 things: (1) there actually are none, or (2) you didn't do a bigger enough search. Like the Loch Ness monster, they may exist, but have just been evading detection. How given you didn't find them can you determine which hypothesis is true. So not finding things is not proof they don't exist.

But my confusion stemmed from the idea of a negative hypothesis. Supposing I chose the hypothesis that "there are vultures in Hyde Park" and my lecturer chose the hypothesis "there are no vultures in Hyde Park". We go out and search and return from our studies with no vultures. Neither of us is forced to change our hypothsis. He can go on saying there are no vultures, I can go on saying there are vultures we just didn't find them just like Nessy. And so it goes on.

Eventually the accumulating evidence may force me to say it is very unlikely that there are vultures given that no study has ever found one. And equally my lecturer can go on to say we are almost certain there are non as no study has ever turned on up. But we are just mirror images.

The big day comes when we find a vulture. My lecturer is falsified and must reject his hypothesis as per scientific theory, but I can truthify my hypothesis and can hold it as fact. So where in this is the necessity to falsify? We are just mirror images of each other.

I have only ever concluded that falsification theory forces you to hold the theory that fits the existing state. No vultures have ever been seen in Hyde Park so we start with the hypothesis that conforms to this: there are no vultures. Then the occurrence of one falsifies the current hypothesis.

But since we are talking about vultures, in an ontology of vultures, as far as I'm concerned 28 years after that lecture it doesn't actually matter which hypothesis you chose: the experimental process is identical regardless. And whether you end up being falsified or truthified is just a matter of which side of the fence you stood at the start.

Until today when I have a line of computer .NET library code that isn't conforming to documentation. I am just writing a unittest and want to test a series of options to see if I can get one to works. I will debug test it so it selects the line it fails at. Now I could write a series of tests that see whether my variations work, but it will stop at each line and I won't find the one that works. Better to write tests that agree with the expected unwanted result which is it will fail. Then if any line does pass the code will break and I will see the line that i want. This is falsification in action. I want something that is true, so I test by looking for false results. When it breaks I have what I wanted.

Of course my contrary student self might write a computer test environment that ignores failure and only breaks when it succeeds. In either testing environment you'll get the result you want. Still after all these years not entirely sure, but the Unit Test environment here is definitely inspired by Karl Popper and my lecturer!

Using Falsification for the first time in 28 years is such a momentous moment for me I'll post the test:

Altho I'm still confused. Perhaps Karl Popper is just a red-herring. This is not actually falsification. Yes I am assuming the statement are false, and breaking when a test fails that test.

But translating into Vultures its not clear. What is the hypothesis? I am saying there "are vultures" and the test would break when that is True, and the lecturer is saying "there are no vultures" and would break when that is false. But the test IsFalse() breaks when the statement it is testing is true. So actually "there are vultures" is the statement here. IsFalse("there are vultures") will pass until you find one. So actually despite my celebrations, it seems that actually in this situation I'm Truthifying even while using IsFalse().

Lesson here: when you get confused stick with it - no amount of famous Philosophers or lecturers can help you.


No comments:

US displaying its Imperialist credentials... yet again

Wanted to know the pattern of UN votes over Venezuela and then got into seeing if ChatGPT could see the obvious pattern of Imperialism here....