Mobile phones, ATMs, modern cars, televisions, e-readers: none of them would work without software. The heart of software is formed by algorithms: step-by-step procedures to perform given tasks.
Every January, the best chess players in the world compete in the TATA Steel Chess Championship, organized in Wijk aan Zee (The Netherlands). Among this year’s fourteen participants were Magnus Carlsen, world no. 1, coming into the tournament with an unbeaten streak of 104 matches, and Fabiano Caruana, the world no. 2.
. Suppose you are coming to the Netherlands for the first time, you want to enjoy your time in the country in the best possible way and probably visit and see as much as possible. So you rend a car and you decide to travel around. But now the challenge begins, planning such a trip!
A lot of services that we enjoy every day, for example commuting by train or ordering some product from a web-shop, give rise to very complex problems, like making the daily train schedule or deciding how all the products that have been ordered should be delivered. How can we efficiently solve such problems? In this article I will explain how a method called preprocessing works.
Finding a dating schedule that matches pairs of potential lovers up into dating couples, is an example of an algorithmic problem. There is a clearly defined input, given by the lists of who is considered an acceptable dating partner to whom. It is also clear what we want as the output: a pairing of classmates into acceptable boy-girl pairs that has as many pairs (dates) as possible. How can you find the best dating schedule?
One of my biggest pleasures of life is to watch my children learn things that we take for granted. Some months ago my daughter learned the skill of jumping. I asked myself how to teach a machine to do this.