15 October 2020

Algorithms





Algorithms topic by Ignacio



Algorithms, or the concept, algorithm, is not a new concept. It has existed in mathematics for ages and more recently it is the mainstay of structured programming in information technology (IT). Indeed the term has crept into mainstream language with the advent of digital equipment, programs and social media.



In the context of IT the term has a specific meaning and refers to a specific type of activity. Compare for example a flowchart vs an algorithm; a flowchart is usually a representation of an algorithm in diagram form with natural language annotations where as an algorithm is a set of instructions given in the language of the digital equipment or a digital language recognised by the computer. In algorithms there are only nouns and verbs; it does not make sense for a computer to be fed a line such as "run until feeling tired". A good and well built computer should come back with "run for how long?" or "when do I feel tired?" A cheap computer will just run until something breaks down, maybe the fan or cache memory.



The beauty of algorithms is that they are precise and robust, or at least as robust as the programmer writing the algorithm into code. The outcome of an algorithm should also be known in advance: for example an algorithm telling a computer to run fifty times it will stop when the computer reaches fifty runs. So the more imaginative the programmer is the more they can write algorithms that are efficient and precise.



But the concept behind algorithms is not new in other fields of human endeavour which includes medicine, aviation, home kitchen and more. The advancement of medicine is well linked to protocols and guidelines; these protocols try to eliminate errors and to standardise well known treatments that work within their ambit of operation. A protocol is made up of instructions and actionable options. However, algorithms are deterministic in nature since the instructions are not natural language imperatives but physical energy pathways in a micro chip and the surrounding digital architecture.



To reinforce the point, when we switch on the lights, we are not really causing the lights to turn on but rather, we cause a change in the position of the switch, but that new position determines the electricity to flow to the lamp: that’s what electricity is supposed to do, no adverbs or adjectives here. The system was designed this way because a priori we “know” that when we turn on the switch the electricity will flow. We have a choice to turn the switch on or off, but the question of choice makes no sense to say that electricity has a choice to flow: it flows when electricity finds certain conditions.



Once again, checklists are the mainstay of aviation and the objective is to avoid errors, usually by helping pilots not to forget a procedure to fly the plane or to prescribe an action process in an emergency. Of course, a checklist might not be as robust as an algorithm since a checklist might become a routine and thus increasing the risk of errors. A checklist might itself become a problem by deviating the attention of the crew away from the emergency. But checklists do work so much so that the World Health Organisation have prepared a 19-item WHO Surgical Safety Checklist (https://www.who.int/patientsafety/safesurgery/checklist/en/). Maybe we should introduce checklists in our life.



We might even care to include recipes to prepare food in the kitchen. Once again the objective of a recipe is to reproduce a well established dish that should taste and look as we know the dish to be and to reproduce a past experience. Of course, in recipes sometimes we do have adverb and adjective creep with suggestions such as: add salt to taste, do not overheat the butter, or use fish in season.



Algorithms, can have "bugs" or become corrupt over time. Protocols in medicine may become out of date with the introduction of new medicines or worse still a protocol is not changed until a patient has an adverse event. Or maybe an aircraft that was designed to do its own thing does not have a provision in its algorithm to tell the pilot that it is doing its own thing. And the worst of all when an algorithm becomes corrupt beyond recognition such as the gastronomical crime of adding cream to pasta Carbonara or pasta Alfredo: there is no cream in these two dishes, that’s a crime in gastronomy far beyond a corrupted algorithm.



The final frontier of algorithms must surely be our natural language. We might argue that the syntax of a language (i.e. Grammar) might itself be a sort of algorithm given that grammar is supposed to be a rule based structure. Indeed the grammar part of a natural language is supposed to help us predict the outcome in the form of an action by the person or people we are communicating with because the grammar is supposed to preserve the meaning.



I would argue that at best the grammar structure protects the “intended meaning of words and phrases” rather than conveying meaning. Except that algorithms have a single purpose or function with an a priori recognisable outcome. Even more, a language seems to be more robust than an IT algorithm since a language act might deviate from the instructions (grammar rules) but the message (meaning) still goes through unscathed. What’s more, grammar might even be manipulated to form a sort of Trojan Horses to convey a malicious meaning. Take for example the word "cream" and the context "insulting someone" we might use this combination and say something like: there is no such thing as Carbonara with cream.



Compare this with a very polite insult: You do know that Carbonara does not have cream? The insult is: “no such thing” = you're ignorant and “you do know” = only an ignorant person wouldn't know. Here we are using a statement and a question when what we wanted to say was “you are an ignorant person to add cream”. This might be well and good for an insult, but the importance of an insult is that the person we direct the insult to is insulted and hopefully does not become angry or aggressive. Thus despite grammar having the looks of an algorithm, without context grammar is hardly an algorithm.



Thus despite the warnings and appeal of our parents, teachers and social class not to insult people, controlling our language does not always come easy: the meme or imperative "do not insult others" does not activate easily in us. Indeed, to have an effect the language of insult depends on the other person feeling insulted and has the language capacity to understand the insult. In fact language helps us improve and refine our skills at insulting others as demonstrated in the examples above; this is like an imaginative programmer being able to creates a super robust algorithm. Although, the same algorithm might be used on a different computer with some minor adjustments, or a protocol adopted at another hospital, when it comes to insults I don’t believe these can be used by others. The context is usually different, and the intonation of the delivery is something very personal.



So now that "algorithm" and "algorithms" are sufficiently introduced in everyday natural language, how can we use these terms outside their natural habitat of Information Technology? If you have any examples please let us know since I cannot find or come up with examples. In the meantime, I can only think of one example using the term algorithm as an insult. This might come handy on social media to insult trolls or dodgy politicians which the algorithm of the social media platform won’t otherwise flag our insult. And from observation an IT algorithm still finds it hard to deal with imaginative natural language and prose. The insult goes something like this: you must be a buggy algorithm on a rusty PC in the middle of a desert.



Best and take care



Lawrence







telephone/WhatsApp: 606081813



Email: philomadrid@gmail.com



http://www.philomadrid.comBest and take care



Lawrence







telephone/WhatsApp: 606081813



Email: philomadrid@gmail.com



http://www.philomadrid.com





No comments: