[Its OK to skip this chapter and go straight to the introduction]
Welcome to the algorithm age. As you probably have guessed by now this is a work in progress. It seems natural to take advantage of systems like Tablo to construct the very new book about a very old subject.
While writing a computer science course on algorithms at an unamed University I became fascinated with the curious people who created the algorithms. My colleagues and I felt it would be an unnecessary tangent to introduce the people behind with the software for university course. The large quantity of mathematics and practice necessary for a true computer scientists to master algorithms dictated the removal of more interesting content. While many computer scientists think of algorithms and data structures as useful , I became amazed at the fascinating people and the elegant constructions they made. This book is very much an attempt to share the delight I found in the world within the world of computing.
So this is the very much an indulgence for me, the chance to write the kind of book I would like to read. As such I invite you to come on a journey with me. My writing style is very much that of getting the story right and if there are enough readers it will be worth the effort to proof read each chapter. Or perhaps it will be as one of my colleagues said "No one gives a shit about the people that changed the world", my tablo read count will tell.
I am making every effort to fact check everything I write. However I'm not omniscience and welcome any factual corrections. I would love to hear from you please use your tablo vote if you would like me to write more quickly.
Or why the algorithum age?
The great flash crash of 2:39
May the 6 2010 may not have been a significant day for many. The weather in New York was neither too cold nor too warm for the time of year. Yet at 2:39 not many people would realise that humanity would enter new era . From the stone age to the bronze age, from the bronze age to the iron age, the industrial age and now the Algorithmic age. Even at 2:40 there was little to indicate anything significant was about to happen. Traders had come back to their desks after long lunches were watching the figures. The stocks they watched formed a vital part of the fabric of your life. They are your investments, your mortgage, your pension, they underlie the exchange rate with fixes the price of your coffee or your gas. Then at 2:41 one trader began to sell $4 billion stocks not unusual sell for that time of day one of the many transactions the market has. One can only imagine the reaction when at 2:41 traders watch the price of “E-mini” drop by 3% in just four minutes.
By comparison the crippling inflation of the post first world war Vimar republic dropped 3% over 13 weeks. This was when people took their wages out in the morning because if they waited until the afternoon they would be worth less. You can imagine then the kind of bottom clenching drop as the roller coaster ride of the stock market plummeted towards the abyss. the Algorithms had seriously taken over the American stock market. For better or worse the Algorithmic age had began.
Most traders would have switched on the news to make sure that no catastrophic world even was in progress. Indeed they must have bee confused when nothing appeared to be out of the normal. For those in the know, it was like hearing the sound of the elevator cables snapping and the elevator begin to plunge hellwards.
Perhaps after the first few seconds the traders began to guess what might be the problem. The so called Hight Frequency Traders - HFT where in action. The abbreviation HFT was a good choice, in the time it takes to say Hight Frequency Traders these bits of computer software can perform 10,000 trades or purchase or sells. These programs live in different universe to us, we live in the worlds of hours,minutes, seconds. If I give you a button and ask a human with with lighting fast reactions you to press it when they see a human can respond in 500 mili seconds. For a computer this is 500 times more time than is necessary.
At its heart the stock market is relatively simple, its like E-Bay you offer up something for sale and then people have time to bid on what was there. Imagine you are selling bolts, you offer so many bolts for such an amount, each purchaser can say I will bid $1 for 100 bolts. Unlike e-bay if someone else have bolts to sell you can add to that same auction. Instead of many potential buyer and one seller you have many buyers and many sellers. This was the basis for old fashioned ‘bear pit’ trading were everyone who wanted to buy and sell physically stood around in colored jackets in such bad taste it would make a golfer blush. Like an auction running out on e-bay timing is key. If you can say yes faster than the next guy then your the winner. With E-bay people have developed so called sniping software - software which can bid on your behalf can give you the edge in those last minute buds. In the early part of the millennium software people did the same thing. Sometimes a bargain is a bargain and all they had to do with program system to program if the stock say a Microsoft's stock got to certain price and then it was a no-brainer to buy. This was the start of so-called algorithmic trading.
Once you put a machine finger on the buy button things can get quite complicated quite quickly. One thing that can cause a stop to drop rapidly is if a major shareholder decides to sell out this shares. Suppose Mark is Zukerberg wants to buy a new yacht and decides to sell a number of his Facebook shares on the stock market to pay for it. This is quite a legitimate reason to sell shares but if you are an investor and the director starts selling shares you can't help but wonder if he knows something you don’t. An investor noticing this would then automatically begin to sell their shares but then the Mark Zukerberg shares would drop in value forcing him to sell even more shares to get the price of his new yacht. To get round this most investors cut the large sell-off into a number of smaller ones. They would then sell these through other traders to camouflage the large sell off through large numbers of small ones so not affecting the price. This is boring and routine work is something that computer seller could do wonderfully easily.
However looking for these small's shifts in the mass of small trading would give an investor the heads up if someone was about to sell out before the price of the company dropped out. So while there are and bunch of algorithms spitting trade up to hide them there is another bunch of algorithms out there looking for signs of the first algorithms handy work.
Currently there is a vast ecology of different beasts in this massive digital jungle people can sit and watch see signs of these algorithms in action. Like early Victorian botanists they sit there watching these beasts move giving them fanciful names. While each is the product of a human programmer the innards are typically a business secret meaning that the actual algorithm can only be inferred. It was this ecology which suddenly went so disastrously wrong at 2:32.
Did the stock market suddenly realised what they had done and in doing so did they scrapped the machines and begin to return to human centred trading? No certainly not people made far too much money from algorithmic trading to even consider this fanciful notion. My father once told me that the definition of a fanatic is ‘someone who when they are proved utterly and completely wrong we doubled their efforts’ and it was with this level of fanaticism that the stock market carried on.
Fundamentally this means that it is algorithms that are now fundamentally in control of the stock market. The stock market isn't just some abstract quantity it is your pension, your mortgage or your savings. Beyond that Banks rely on computers to do most of the basic transactions in your life there are algorithms behind every financial transaction you make on the internet and off. Quite often I wouldn't influence quite major decisions in your life, four example most decisions to lend you a mortgage to buy a house has been done algorithmically. What was once the intuitive decision of your experienced local bank manager is now captured inside software or even a spreadsheet.
The recent financial crisis of 2008 which is regarded as the deepest recession bigger than even the depression of the 1930s was attributed by Senate's Levin–Coburn Report as the result of "high risk, complex financial products; undisclosed conflicts of interest; the failure of regulators, the credit rating agencies, and the market itself to rein in the excesses of Wall Street”. Measures such as sub prime lending could only be done because bad mortgages could be sliced and diced up with good ones. Automated underwriting and appraisal systems exploited relaxed standards to create a bubble which was committed because no one really understood the algorithms they had actually built. Most of the financial regulations were written before computers even existed it is unsurprising therefore that they weren't capable of regulating a financial system which had already evolved.
The argument here is one of the failings was a failure to appreciate the kinds of potentials algorithms might have on the pre-computer age regulatory system.
It's not just finance where algorithms are becoming important parts of our lives. from 35% , 20% of relationships are thought now to start via a $1,249,000,000 one line dating agency. These sites use algorithms which effectively influence who meets who. Now if we had a secretive society of match-makers kind of atheistic Shidduch which suggested 35% of the population’s marriage partners we would think that they were an influential organisation.
Last year Netflix had 29 Million subscribers or 38% of American’s use Netflix which also uses algorithms to help chose which of the 35,000 different film titles. If Television isn’t your thing then Amazon uses recogmendation Algorithums to suggest which of the 129 millions books might go well with the one you just selected.
suppose you decide to leave your computer and go out for a drive algorithms are still working for you- for example the software of an electronic control unit ensure your anti-lock brakes work reducing the risk of 18% of multiple vehiclal crashes by 18%
So algorithms influence what you watch, what you read, who you know and of cause what web sites you find when you to a search on google then from this perspective it’s hard not to think that Algorithms have an growing but invisible influence on our lives.
Algorithms already define what roads get built and the timing of traffic lights to keep transportation flowing. Google and many others are developing algorithms which can drive a car[ REF ]. There have already been a number of DARPA financed challenges to drive a car hundred miles across desert[ REF]. It is easy to fantasise a future where the safety of your next drive is fundamentally dependent upon getting algorithms right. Already aviation software is one of the largest costs to any new airliner is for the avionic software.
Algorithms track the weather and purchasing history to allow supermarkets to make sure that the right food is on the shelves when people decide to go out and have a barbecue. If you watch video on the Internet then not only do algorithms deliver that content to you but they also decide what videos you may care to watch. Equally news websites use similar algorithms to decide what news items to promote to you and what to keep out of your site.
If something is deciding what you can and cannot watch if it decides what you can eat, then you can begin to see that they are already potentially controlling much of our lives.
You might think that algorithms are inseparable from the computers that perform them. Already algorithms are necessary to design some of the latest buildings, the computations for these large complex structures are the only things that allowe us to conceive of building them. If you phone up a call centre while you are speaking to a human being often the flow of the conversation has been precomputed. Experiments are often used to see what kinds language and phrases can be used to sell you things. Once one method has been found to lead to the best results it is quickly reproduced as a script for all the other call centre employees to follow. In many locations failure to follow the script precisely, any off hand remarks, signs of individuality, can be a fireable offence. These customer interaction scripts are also basic algorithms executed by humans.
If you have visited restaurants over the years you may have noticed the growth of the waiter or waitress returning to your table after the food has been delivered and asking if everything is okay? This process is designed to reduce the impact of any errors and give an opportunity to make any extra orders. While the value of extra orders is minimal the impact on customer satisfaction is quite high. This is something that we will see later is called a heuristic, but it is fundamentally algorithm. Even the way to organise a team and respond to events in a football match can be regarded as an algorithm. This got to such an extreme that most software patent laws specifically exclude software patents for business processes or business methods. So from this we can see that understanding some of the insights of algorithms can have a number of applications beyond the bounds of computers.
Typically books on algorithms are shrouded in mathematical notation, they're very generality tends to be expressed in deliberately trivial examples which seemed to
juxtapose the very power that they have. In academic books on algorithms we don't hear about the struggles of the people that created them this is seen as mortal and irrelevant. Yet it is the human genius which is one of the most amazing aspects of them. As a child my father showed me the inside of a clockwork watch. I was amazed by the elegance and simplicity of such a complex device. My father pointed out all the sophisticated elements of this watch how sometimes seemingly bizarre items actually served to all three purposes at once. While he was descended from a long line of engineers he was an artist by profession. I remember him telling me how the design of the watch was like a good painting, it was not about how much you could add but how much you could take away. I remembered these words when I began to study algorithms. My heart was captured by the profound elegance hinder some of these ethereal instructions. What makes a great algorithm is not an intense feeling of the genius of it’s creator but the clear efficiency of the solution to the problem. Each algorithm is a new tail of a smaller and smaller david killing a bigger and bigger Goliath. As we will see in a later chapter these are possibly some of the most powerful ways of doing more with less. Sometimes it can take a lot of work to bend your head around a truly sophisticated algorithm but the one thing you are left with is the profound beauty of what you have comprehended. As aesthetic creations these are one of the most modern and under appreciated cultural artefacts we have. They are deep expressions of the human spirit our capacity for inventiveness. The primary reason for writing this book is to try to share this wonder with a non-technical audience for the first time.
Algorithms underwrite every computer and every digital network in the world. Even items which don't look digital can be computers. A wristwatch for example has a tiny microprocessor and is in theory capable of general computation. This on its own would make the title of this era the algorithm age. Yet with the commercial activity has brought a a phalanx of brilliant minds to many of these computational problems. This has meant that many algorithms in use today are some of the most profoundly beautiful artefacts we have currently created. While the Victorians might leave a legacy of iron ships, steam engines and railway tracks carved across the country, it is these algorithms and the internet which we will be imposing monuments to our great grandchildren.
Algorithms are the ghost in the machine, more than electricity they are the spirit that keeps a computer alive. In later chapters we will see how algorithms can be used to simulate the processes of the mind. From this perspective it is not unreasonable to think of consciousness itself as an algorithm operating inside the brain computer. Understanding algorithms there for is one way to begin to gain insight to the subtle majesty of the human mind. In the following chapters I hope to begin to share some of the history and through that elegance of some of the main algorithms. We will then continue to look at some of the more beautiful components which hide in side a computer making it work. We will then move on to look how algorithms approach big problems. Beyond that we will hopefully journey to the edge of what is and is not possible algorithmically. Learning that the inability to do something can be as profoundly important and useful as the ability to do something. Finally we end up with a question from the beginning of computer science, do algorithms have limits? Is there anything which cannot be computed and by implication never thought ?
Finally I will apologise to readers in advance in this cannot be by necessity a complete book. There are far too many algorithms which I could care to mention some, beautiful some funny, some powerful, some useful, some with amazing birth histories. Algorithmic legend Donald Knuth’s books on algorithms stretch to 4 large tomes each one of which is quite capable of stunning and ox if dropped accurately. As such I have been forced to be selective about what to present and I will admit I have been completely idiosyncratic in which choices I have made. I have favoured the more interesting and tried to create a balanced picture of the many fascinating aspects of algorithms. The selection is meant to be more about creating an enlightening and entertaining picture than an accurate one my computer scientist colleges might prefer.
Let us then go back in time and to the sands of Middle East to see the beginnings of the algorithm age.
Chapter 1. Algorithm the man
The accountant who changed everything
An the 800s was a busy period. The mighty roman empire had collapsed only 200-300 years ago. Europe was in the middle of the dark ages, Vikings roamed the north. Most people in London hadn't see clean water in 300 years. The Arabic empire on the other hand was now at the height of its strength. The arabic world was curious, held together not through the bounds of conquest and dictat like the Romans but glued by a common religion, a common language and common learning. It was in this world that Abū ʿAbdallāh Muḥammad ibn Mūsā al-Khwārizmī came to fame. His work began in the period between 813 and 833. After the Islamic conquest of Persia, Baghdad became the centre of scientific studies and trade, and many merchants and scientists from as far as China and India traveled to this city, as did Al-Khwārizmī. He worked in Baghdad as a scholar at the House of Wisdom established by Caliph al-Maʾmū. Hit was here he made many of his most significant discoveries. How significant - well write the first number that pops up into your head. Look at it if you had written two thousand and fourteen then if it wasn’t for Abū ʿAbdallāh Muḥammad ibn Mūsā al-Khwārizmī you would have written 2014 as MMXIV. al-Khwārizmī was primarily responsible for promoting numerals from the region around India to the arab world. With out it you couldn’t write a number bigger than MMMDCCCLXXXVIII ( 3,888 but with a bar that would be 3,888,000 ). By using the Hindu zero you can have 12, 120,1200,12000,120,000, 120,000,000, 120,000,000,000, imagine try to have the national debt without it. It also makes calculation simpler. You can put one number above the other and then just add the digits and carry the tens like you might have been taught at school. Thats the point, for al-Khwārizmī with arabic digits you could teach young children to do calculations that would have required an adult with a high degree of mathematical training to do with roman numerals.
The problem al-Khwārizmī’ worked on was one which had troubled many mathematicians could be as old as agriculture and taxes. To explain suppose you buy 100 tiles to put as a patio in the garden or to cover part of a bathroom wall or floor, what are the number of tiles horizontally and vertically you can fill with out having some tiles left over ? Are you sure you can do something with 98 unbroken tiles ? How many more do you have to go back and get to make a more flexible arrangement?
The solution is called a quadratic equation but the problem was written about by the ancient Egyptions 400s ago, the Babylonians , Pythagoras the ancient greek contributed as did jewish mathematician, Abraham bar Hiyya Ha-Nasi, there are records of the problem gouging by to the 8th century BC in India ( Sulba Sutras?? ) and the 2nd centrally BC in china. For ancient Egyptians farmers life was tought they would have regular floods which would wash away all the fences and markers for their fields. So the problem would be how to relayout out the land quickly in time to plant crops. Making a rectangular field was simplish. It was known if you had a rope with 12 evenly spaced knots then if you held it out tightly in a triangle with 3 on one side 4 on the other (and 5 on the remaining sloping side 3+4+5=12) that you get a perfect right angled triangle. Do two of these mirrored over the longer sloping side and you get a neat rectangular field. You can do this with 5,12 and 13 or 9,40 and 41 knot strings each produce an accurate triangle. It works well even today some landscape garenders still use this method today to make a straight flow bed. Pythagorus pointed out that 3 squared ( 3 * 3 ) plus 4 squared (4 * 4 ) equals 5 squared (5 * 5 or 25 ) but we know he wasn’t the first to know this. Our ancient Egyptian farmers had other problems. For example if you had 4 acres of land before the flood you wanted 4 acres of land after the flood, but what are the dimensions of the plot of land to make it? Or perhaps you have enough fence posts to build one hundred yards of fencing, how big a field can you enclose? Or Suppose you have a rectangular field 6 yards by 11yards. You spread one handful of grain per square meter and after doing the fields you have 28 handfuls left. You can grow a boarder around your field by digging up the weeds but how large a boarder on each side do you dig up ? Like a kid with a hammer soon people realised that many problems became the same kind of nail. Solve the equation a(x*x)+b*x=n were you knew n,a and b but not x.
It turns out that the solution to this problem like many others was what we now call quadratic equations. The Egyptians had a solution but it was so complex and arcane only the most brilliant of the priesthood could do it. So they wrote out tables for many of the more popular solutions. Given no simpler solution existed these tablets be came a significant tool. So important were these tablets were that they copied from mathematician to another. We know this because they got copied over time and errors crept in during copying allowing us to track the duplication of these tables of the hundreds of years of their use. Pythagoras and Euclid had a crack at the problem and find the could solve it geometrically ( using a compass and ruler). in the 700s a Hindu called Brahmagupta produced a better solution but still required a huge amount of mathematical insight.
It wasn’t until al-Khwārizmī’s came along could you have an accurate solution in numbers for any problem and this could be done by someone who was relatively mathematically unsophisticated - such as tax collectors and surveyors. He could do this though the use of Indian or Hindu numbers (which we call arabic numbers ) knowledge of Brahmagupta’s solution and the power of an what we now call the alogorthum. It was so powerful he wrote it into a book.
al-Khwārizmī’s book ‘On the Calculation with Hindu Numerals’ was an overnight best seller ( for the period), written about 825, was principally responsible for spreading the Indian system of numeration throughout the Middle East and Europe. In Europe this best seller was translated as “On the Calculation with Hindu Numerals according to al-Khwārizmī”. It was translated into Latin as Algoritmi de numero Indorum. Al-Khwārizmī, rendered as (Latin) Algoritmi, led to the term “algorithm" and “algebra” which he also had a huge amount in creating much to the detriment and confusion of many high school students after him. What al-Khwārizmī did was realise it was possible to write down a set of instructions which if followed exactly could get even a child to do some impressive things. For him you could get someone to multiply 9652 by 2014 and get the right answer again and again. For al-Khwārizmī this was a deeply levelling concept, unlike many other forms of knowledge if you follow the instructions the algorithm exactly then anyone can get the right result. You don’t have to have the right friends or the right social contacts or come from the right background or have the right education or be exposed to the right but expensive influences, no anybody following an algorithm can get it right. It was the ultimate democratic form of knowledge something that could spread beyond the elite. From this point on many Mathematicians could use this kind process to give other mathematicians and the general public the ability to solver a problem.
So in some senses in many ways we can think of an algorithm like a cake recipe. You have a list of instructions you follow to get a known result. Like most analogies this is as distracting as it educational.
Take for example the childs game of guessing a number. In this game one player guesses a from 1 to 128. The others can ask any question they like to which the answer is yes or no. The objective is to be the first one to guess the number. How would you do it ?
When my kids were young they would ask questions like is it 23? Is it 17?
Let’s call that the guess a number method. The algorithm is think of number you having guessed before and try it.
One of our friends kid’s had a very orderly mind and came up with this one.
Is it 1 ? Is it 2, Is it 3.
Lets call this the add one method
You can see the process they had in their heads right away.
- If it is the correct one then you found the number stop.
- if not then add add one to the number and try again.
This does have the advantage that you know your going to stop one day (your going to reach 100 eventually). It also has the advantage over the guess the number strategy where you don't have to remember the numbers you've done previously. This also makes you feel like your bound to find the answer sooner or later. Most adults feel they could do better, one friend started at ‘7’ and tried out some other numbers ‘because science tells us that people prefer some numbers to others’. Which is right, if the number wasn’t on her ‘preferred’ list my friend would then revert to the add one method.
Both the guess a number and the add one method are algorithms. They are simple and ask questions much like the answer.
Quite often we would do a version of this on car journeys where everybody got seven guesses. With three players this would give a total of 21 guesses and using either method no one would guess the number more than 1/5th of the time. If you play this with adults they tend to come up with a smarter way of guessing. If it hasn’t occurred to you then think about how you would look up a name in the telephone book.
Most people quickly come to a better method and begin by asking is it greater than 64?
If the answer is no then they the number is from 1 to 63.
Then they would ask is the number greater than 32 ?
If the answer was no then they knew the answer was from 1 to 31.
then you might ask is the number was greater than 16 ?
then you know the number is from 16 to 32.
Then you might as is the number greater than 24 ( 24 is about half way from 16 to 32)
then you know the number is between 16 and 24
is it greater than 20 ?
you now know the number is between 20 and 24
greater than 22?
we know the number is between 20 and 22
is the number 21 ?
so we have the answer in just 6 questions.
This can be written down as.
- To find a number from the highest to the lowest.
- Find the middle number the one half way between the highest and lowest number.
- Ask if it is higher or lower than the middle number.
- If the answer is higher then guess again from the middle to the highest number
- if the answer is lower then guess again from the lowest to the middle.
- Generally most people will stop when the highest number and the lowest number of the same and use that as their final guess.
Let's call this be mid point method.
Let's think about these three methods. Firstly they all kind of work. Guessing is unreliable and needs you to remember which guesses you've done already. If you had a good idea what number the player is thinking of them that can be quite effective. For example, when my daughter was thinking of a number from one 128 she would always think of the number seven. People are lousy random number generators which is something many magicians take advantage of. The add one method seems very simple providing you can add. You only have to have one number the last one to remember. It does have the advantage that given there is an upper limit of 128 you are always guaranteed to get the number. Yet is that algorithm you would use? I think most people would end up using the midpoint gets method because it seems better.
It is an interesting question, but ask yourself how much better? For example if you use the add one method you could get lucky and guess the number right away. If you consulted a friendly statistician they would tell you that half the time you would be right guess a number under 50 right and half the time you would be wrong. It turns out that assuming your playing against a smart person ( someone who chose from 1 to 100 randomly) it would take on average 50 guesses to get the right number. Let’s think about the higher lower guess. If we pick a number from 1 to 128 then the mid range is 64 so we have halved the number of choices (limiting them to 64) in one guess. After two guesses we halve the number of posibliies to give (64/2=) 32 choices. After 3 guesses we get 16 posibliites, after 4 we get 8, after 5 we have 4 choices left and after 6 we have 2 after 7 we get one choice left. That is after 7 choices we must always have the right answer.
The mid point method can then guess the right number in 7 guesses provided no one is cheating. So for the mid point method we can be sure to guess the right number provided you can remember two numbers and divide OK.
You might be wondering what this tells us? It tells us that not all algorithms are created equal, some are much faster than others. Some require us to remember less for example two numbers for the mid point or up to 100 numbers for the guess the number against one of the add one to the last number one. While all the algorithms do the same job and will get their in the end some will do it better than others and typically it’s not the simplest algorithm you thought of first which is the quickest.
So this gives us our basic definition of an algorithm as list of instructions expressed unambiguously in simple terms which when completed gives the same answer to the same question.
This is what al-Khwārizmī did and why computer kind will be eternally grateful to him.
It also gives us the notion of what a cool algorithm is - a cool algorithm is one which is efficient in some resource - mostly time but it can be other things. So for our guess the number experiment the divide in two algorithm which the computer science people call binary search is the cool one. Most hard core computer scientists are out looking for the next cool algorithm, if you can create an algorithm which out performs the current coolest algorithm then you’ve made it.
The ghost in the machine escapes
For many years Algorithms were not patentable. This seemed strange if I built a machine to guess a number from 1 to 128 mechanically then I could get a patent. Yet if I did it electronically then the patent would be rejected as mathematics could not be patented. For a long period the English,European and American patent systems resisted pressure to do so. You can begin to understand why if you look at how other people demonstrate the binary search method on Youtube.
If you search on ‘binary sub division’ on Youtube you can see many ways educators demonstrate binary search idea. One classic example is to find a phone number given a name in a telephone book. The test and add one method clearly isn’t going to work well in this case. There is an important point which you might not pick up on. The phone book example is looking for a name not a number. We are looking at names which art sequential DALTOM isn’t nessasrly the next word after DALTON. Yet the algorithm still works.
One day my kids started to play the guess the letter game. One would guess a letter of the alphabet and the other would start with A and go on until they found it. I was surprised they tried it on me and I went back to the binary subdivision. Is it after J ? I asked them. ‘Oh’ they said ‘I didn’t know it would work for letters’. As an example I invented the guess the colour game and after pointing at a rainbow on the wall quickly proved I could to it for the saturated colours they knew.
It was this revelation that the patent offices have picked up on. Suppose they suggested, one could patent algorithms and you developed a simple football (or soccer) playing robot, this isn’t fanciful there is a robot football league. Surpose at this point you figure out the ultimate football algorithm demonstrated by your robot’s team’s complete devastation of all other teams. Perhaps your in it for the money and you patent the algorithm. What happens someone watches your robots and taught this algorithm to real human players? Would they at this point be breaking your patent? Legally the answer was yes so resistance was given. Eventually, under pressure from most of the large software companies software became patentable. This also means you can potentially patent management techniques including the 4-3-4 defensive line up strategy of a football manager.
This ability to apply algorithms to different kinds of data ( names, numbers even people ) is an important but often miss understood aspect of digital algorithms. It also means what works for programs often works for people in the real world. This suggests that algorithmic research not only tells us about how machines live but also hint at how to live our lives. It is this process of potential self exploration which makes the algorithm age more about people than machines.