Algorithms and the Digital Age: A Brief History
Post by: Michal Rosenthal, Waycare Data Scientist
Algorithms are a set of rules used to solve a problem – especially by a computer. Today, we hear this word and associate it with machine learning, artificial intelligence, and modern technology. It is interesting to note however, that algorithms and the concepts they are based on pre-date computers by thousands of years. Let’s take a few moments to appreciate the indelible mark left by ancient civilizations on the world we live in today.
Using proven rules to tackle problems is a very old idea. The Babylonians, Egyptians, and Greeks all made giant leaps in the fields of mathematics and science using algorithms. Clay tablets dating back two thousand years before the common era gave us a sense of the types of quandaries Babylonians pondered. Sources from the Egyptians are more scarce due to their use of papyrus for written records. Mathematics itself comes from the ancient Greek “mathema” meaning subject of instruction.
Great minds like Euclid and Pythagorus are immortalized through their theorems and formulas still in use today. The etymology of the word algorithm can be traced to the latinized name of a 9th century Persian mathematician Abu Abdullah Muhammad ibn Musa Al-Khwarizmi; from the Arabic Al-Khwarizmi emerged Algorithmi. He gained notoriety for his works in algebra and codifying Indian numerals.
So how did the algorithms we use today make the leap from the clay tablets and papyrus of antiquity to modern computing? Building on the foundation of the classics, 19th and 20th century mathematicians made exceptional progress – developing languages for machines they had no idea would exist.
George Boole (1815 – 1864) is credited with providing the basis of all modern programming. Boolean algebra has two truth values, true and false, 1 and 0. Does that look familiar? The logic governing those 1’s and 0’s power the electronics we use everyday. It was Claude Shannon (1916 – 2001) who took these values and applied it to establish modern information theory. He designed switching circuits using the concept of true/false, yes/no, on/off – 1/0.
Those 1’s and 0’s and circuit boards have evolved beyond anyone’s wildest imagination. These days it is possible to feed information to a computer algorithm, which can then process, filter, and determine outcomes all through the use of programmable logic. Household names – tech giants – Google, Microsoft, Facebook, and maybe soon enough Waycare, all owe their success to these historical greats.
At Waycare, there is a whole team devoted to algorithms. We have dedicated Data Scientists who research and develop algorithms such as crash prediction and detecting anomalies in traffic. These are mostly based on data and train-test procedures: a model that is developed based on past events, which is then tested on a new set of data.
In order to create an algorithm that is able to predict crashes, machine learning models are trained using historical data. The machine learning models are based on statistical algorithms that compute the probability of an incident that is likely to occur in a specific location at a specific time. An algorithm that is oriented to detect anomalies is also based on data training, but instead of predicting future events, its purpose is detecting irregularities using statistical calculations. The irregular congestion algorithm understands normal times and places that congestion occurs and detects when build ups happen outside these normal parameters.
Waycare’s software owes everything to these pioneers, and we hope to do their legacy justice. It’s odd to think of a computer or a phone as a connection to the past, but a number of digital solutions have analog origin stories; the algorithm is just one of many.