| | | Effective PR

My boss keeps saying he wants an algorithm. Is it soup or a sandwich?


Dear Uncle Bert and Aunty Gert

I'm a young intern with a political party. I'm a woman and my boss is a man. Honestly, I'm a bit confused by some of the language used and I'm not sure if some of it is innuendo.

Recently, my boss has taken to demanding that I give him an algorithm. I don't know if he means he wants me to pick up his lunch, find an esoteric document or to get under the desk and try not to bang my head.

Can you help me?

Out to Lunch

That's an algorithm:

1 Look right: is it clear? Yes, look left; no - repeat until the answer is yes
2 Look left: is it clear? Yes, look right; no - repeat until the answer is yes
3 Look right: is it clear? Yes, cross the road quickly and safely; no - repeat until the answer is yes then go back to stage 2.

That's all nice, simple and clear but actually when you try to use it it's more complicated.

Your parents of course wanted "clear" to be an absolute (a purely binary choice: yes or no) but in the real world, there are degrees of "clear." There might be a car visible in the distance. So a decision has to be made: is it clear enough? That's the essence of what's called "fuzzy logic." To perform fuzzy logic, you have imprecise data - in this case you don't know for sure how far away that car is nor how fast it is travelling and, even if you had that data, you might not have the ability to accurately calculate when it will arrive. So you make what in the real world we call a "best guess." I've no idea what computer people call it but I suspect they don't like to admit it's a guess.

Of course, as parents, what we tell our children is "if you are not sure if you have enough time to cross the road safely before the car arrives, then stop and go back to the beginning of the process" or, even, "stop and do nothing."

Fuzzy logic creates an additional option for an algorithm: yes, no, maybe. That "maybe" can vary even during the time information is being processed and so it must be kept under constant review whereas binary information is an absolute: yes or no, one or zero, on or off. For this reason, fuzzy logic must be given parameters within which it is allowed to work: if it reaches the limits of its permissions, then it becomes unpredictable and unpredictable results are undesirable for so many reasons. Therefore, if a computer reaches the end of its authority, the correct instruction should be "shut down." Unfortunately, far too many programmers don't think that far ahead and so we have failures of supposedly intelligent technology. Developers don't want to have to tell a computer to say "if I don't know what to do, I must stop."

I have Bert to do random things for no reason except that he can. I don't want to have to wonder if the washing machine is going to try to out-think me or if the vacuum cleaner is going to sniff the carpet in the middle of the night and decide to clean up: I just want the tech to do as it's told. And I want it to do nothing if I don't tell it to do something.

So, to answer your question, when your boss asks for an algorithm, give him a piece of paper with all the sandwich options on it and tell him to pick one type of bread, toasted or untoasted, and up to, say, four fillings. When he asks what it is, explain that it's an algorithm, otherwise known as a decision tree, a flow chart or a bit of real intelligence to help stupid machines seem clever.

(with thanks to Nigel Morris-Cotterill, our boss, at www.countermoneylaundering.com for some help with this)

* In countries that drive on the wrong side of the road, that would be reversed

Write to Bert and Gert: