Algorithms
15. 8. 2018

Till Epprecht

Technology

The term “Algorithm” has this scary connotation of having to do with complex math and computer science, but if you go and look at the definition of what an algorithm actually is, you realize that this is not at all the case. An algorithm is simply defined as a set of instructions to be followed one after the other to accomplish a specific task. This means that algorithms are not only found in math, but everywhere you look. A perfect example for this would be a cookbook. Every recipe in there is nothing more than an algorithm designed to guide you towards making your own pizza or cake. A computer program can be seen as a recipe for your processor. It tells your CPU how to get from one step to the next until the desired goal is reached. Every program is programmed using algorithms as building blocks.

With our computers getting ever more powerful, the algorithms used to tell them what to do grow in complexity. This means that for one person alone it is virtually impossible to understand how everything that’s running on their computer exactly works. Luckily for us, we don’t have to understand what exactly an algorithm is doing as long as we know when to use it and how to use it correctly, just like you don’t have to know all the chemistry that’s going on when you put batter into the oven and it turns into a cake. However, knowing a little bit about how the programs we use work can be quite beneficial, because we can better understand their limitations. That’s why I am going to give you a bit of an in-depth look at the inner workings of a few computer programs you probably heard of or even use.

Search Engines

Searching the internet on Google is something many of us do quite a few times a day. We do this so often that we even adopted the term “googling” as a real verb. But if you stop to think about it, how does Google know so well what you are looking for? The answer lies in the search algorithm they use to determine which site you were most likely looking for. Google uses an algorithm they call “PageRank” that they invented. At its core, PageRank works by giving every Page an importance-score based on how many other pages contain a link pointing to this site, the theory being that an important site is going to be mentioned more often on other sites than a unimported one. Every link on another site pointing towards yours contributes to your score based on the score of that other site and the amount of links it contains. A single link from an important site to yours is more valuable than a link from a less important site. This works incredibly well. Naturally, we don’t have access to the exact numbers and steps that this algorithm is based on, because they need to keep that secret to set themselves apart from other search engines.

Automatically Summarizing Texts

GetDigest is an incredibly useful tool for students. It automatically summarizes an article for you and picks out the most important parts. As with Google’s search algorithm, we don’t know how it works exactly, but we can make a pretty good assumption. GetDigest uses a very complex algorithm known as a simulated neural network. These intricate algorithms consist of hundreds or even thousands of artificial neurons, called perceptrons. Each Perceptron takes one or more inputs, adds them together, applies a so-called activation function to this sum and then distributes this output, multiplied by a factor, to other perceptrons. This is modelled after the functionality of our own brain, with the major difference that our brain doesn’t just contain a few thousand neurons; it’s somewhere closer to 90 billion of them. The cool thing about such a simulated brain is that, like our own brain, it doesn’t have to be designed to do a task, it can learn to do it. Teaching a neural network is done by providing it with an input and comparing the generated output with the desired one, then making adjustments to all the calculations done in the perceptrons until the two match up. This is done automatically and is also called machine learning. In GetDigest’s case, they had to feed it thousands of articles and their digests until it was able to produce usable results.

Translators

Have you ever wondered how online translators like Google Translate or DeepL work? As you might remember, a few years ago, Google Translate was pretty much useless if you wanted to translate anything more than just one word. Back then, Translate was based on an algorithm that used professionally translated documents that exist both in English and the desired language, like UN-transcripts for example, to cross-reference to translated words. This algorithm was flawed, as it had no way of reacting to context and it basically did a word for word translation. Later, it was improved by looking for word groups instead of single words, but translating complete texts was still a major challenge.

DeepL on the other hand is a translator based on an artificial neural network, like GetDigest, only trained for translating instead of summarizing. This allows Deep L’s algorithm to analyse the context in which sentences are presented, which helps produce much better results than most competitors. As you might have noticed if you used Google Translate in recent years, it’s gotten drastically better and it too now produces coherent translations of longer texts. This is the result of Google switching their algorithm. Just like Deep L, as of late 2016 Google Translate now uses an artificial neural network and machine learning for its translator service.

Conclusion

Algorithms are everywhere, most of all in every computer program. They can be as simple as adding two numbers together or as complex as summarizing articles. Having a better algorithm for the same task as the competition can be a ticket for success. Therefore, they are kept secret most of the time and we don’t get to know how they work, but we can get a pretty good idea of what they do by learning about the different types of algorithms. As there are so many different types of algorithms, this article only scratched the surface. If you are interested in how and where other algorithms are used, check out this TED-Talk by Kevin Slavin or this YouTube Video by Timo Bingmann on how different sorting algorithms go about sorting large amounts of numbers.

Jobs available!

We are looking for a working student as Deputy Support Coordinator (50-60%). You can find more details about the position here. Apply now or share the job description with your friends!

Order Information

You can track the order status of your laptop in our distribution partner's customer account. You can find information on this in the FAQ.

Help Point : Please book an appointment

Our support staff at the Help Points ETHZ, Bern vonRoll, UNIBAS and UNILU are there for you. If you need technical support, contact us via email to make an appointment.

Jobs available!

We are looking for a working student as Deputy Support Coordinator (50-60%). You can find more details about the position here. Apply now or share the job description with your friends!

Order Information

You can track the order status of your laptop in our distribution partner's customer account. You can find information on this in the FAQ.

Help Point : Please book an appointment

Our support staff at the Help Points ETHZ, Bern vonRoll, UNIBAS and UNILU are there for you. If you need technical support, contact us via email to make an appointment.

Need Help?