Wat is een algoritme? Hoe computers weten wat ze met data moeten doen

De computerwereld zit vol met modewoorden: AI, supercomputers, machine learning, de cloud, quantum computing en nog veel meer. Eén woord in het bijzonder wordt overal in de computerwereld gebruikt: algoritme.

In de meest algemene zin is een algoritme een reeks instructies die een computer vertellen hoe hij een reeks feiten over de wereld moet omzetten in nuttige informatie. De feiten zijn gegevens, en de nuttige informatie is kennis voor mensen, instructies voor machines of input voor weer een ander algoritme. Er zijn veel gangbare voorbeelden van algoritmen, van het sorteren van reeksen getallen tot het vinden van routes door kaarten tot het weergeven van informatie op een scherm.

Om een idee te krijgen van het concept algoritmen, kunt u denken aan het aankleden ‘s morgens. Weinig mensen denken daar goed over na. Maar hoe zou u uw werkwijze opschrijven of aan een 5-jarige vertellen hoe u te werk gaat? Als je deze vragen gedetailleerd beantwoordt, krijg je een algoritme.

Input

Voor een computer is input de informatie die nodig is om beslissingen te nemen.

Als je je ‘s ochtends aankleedt, welke informatie heb je dan nodig? Eerst en vooral moet je weten welke kleren je in je kast hebt hangen. Dan moet u weten wat de temperatuur is, wat de weersverwachting voor die dag is, welk seizoen het is en misschien wat persoonlijke voorkeuren.

Dit alles kan worden weergegeven in gegevens, die in wezen eenvoudige verzamelingen van getallen of woorden zijn. De temperatuur is bijvoorbeeld een getal en de weersverwachting kan “regenachtig” of “zonneschijn” zijn.

Transformatie

Vervolgens komt het hart van een algoritme – de berekening. Bij berekeningen komen rekenkunde, besluitvorming en herhaling kijken.

Dus, hoe is dit van toepassing op aankleden? Je neemt beslissingen door te rekenen met de ingevoerde hoeveelheden. Of je een jasje aantrekt, kan afhangen van de temperatuur, en welk jasje je kiest, kan afhangen van de weersverwachting. Voor een computer zou een deel van ons aankleedalgoritme er zo uitzien: “als het onder de 50 graden is en het regent, kies dan het regenjack en een shirt met lange mouwen om eronder te dragen”.

Nadat je je kleren hebt gekozen, moet je ze aantrekken. Dit is een belangrijk onderdeel van ons algoritme. Voor een computer kan een herhaling worden uitgedrukt als “voor elk kledingstuk, trek het aan”.

Output

Tot slot is de laatste stap van een algoritme de output – het uitdrukken van het antwoord. Voor een computer is output meestal meer data, net als input. Het stelt computers in staat algoritmes aan elkaar te rijgen in complexe configuraties om meer algoritmes te produceren. Maar output kan ook inhouden dat informatie wordt gepresenteerd, bijvoorbeeld door woorden op een scherm te zetten, auditieve signalen te geven of een andere vorm van communicatie.

Dus nadat je je hebt aangekleed, stap je de wereld in, klaar voor de elementen en de blikken van de mensen om je heen. Misschien neem je zelfs een selfie en zet je die op Instagram om met de eer te gaan lopen.

Leren van machines

Soms is het te ingewikkeld om een besluitvormingsproces uit te spellen. Een speciale categorie algoritmen, machine learning-algoritmen, probeert te “leren” op basis van een reeks voorbeelden van eerdere beslissingen. Machine learning is gemeengoed voor zaken als aanbevelingen, voorspellingen en het opzoeken van informatie.

Voor ons voorbeeld van aankleden zou een algoritme voor machinaal leren het equivalent zijn van je herinneren aan beslissingen uit het verleden over wat je moet dragen, weten hoe comfortabel je je voelt in elk item, en misschien welke selfies de meeste likes kregen, en die informatie gebruiken om betere keuzes te maken.

Een algoritme is dus het proces dat een computer gebruikt om inputgegevens om te zetten in outputgegevens. Een eenvoudig concept, en toch zijn bij elk stukje technologie dat je aanraakt vele algoritmen betrokken. Misschien kunt u de volgende keer dat u uw telefoon pakt, een Hollywood-film bekijkt of uw e-mail controleert, eens nadenken over wat voor complexe reeks algoritmen er achter de schermen schuilgaat.