+31 20 260 2422 info@vind.pro

Een algoritme (van het Perzische woord Gaarazmi : خوارزمي naar de naam van de Perzische wiskundige Al-Chwarizmi محمد بن موسى الخوارزمي) is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leidt. Algoritmen staan in beginsel los van computerprogramma‘s, al worden voor de uitvoering van algoritmen vaak computers gebruikt.

Geschiedenis

Mohammed ibn Moesa al-Chwarizmi (Perzisch: محمد بن موسى الخوارزمي; diverse spellingvarianten) was een van de beroemdste wetenschappers op de gebieden van wiskundegeografie en astrologie. Hij was van Perzische afkomst, is geboren tussen 780 en 800 en gestorven tussen 840 en 845. Al-Chwarizmi studeerde in het Huis der Wijsheid in Bagdad. Hij schreef al zijn werken in het Arabisch, de taal van de wetenschap in de islamitische wereld. Zijn systematische en logische aanpak van het oplossen van lineaire en kwadratische vergelijkingen gaven gestalte aan de algebra, een vakgebied dat zijn naam ontleent aan Chwarizmi’s beroemde boek: Hisab al-jabr wa al-muqabala (Arabisch: حساب الجبر و المقابلة) – “de theorie van transformatie en herstel”, refererend aan de manieren waarop deeltermen in algebraïsche termen gemanipuleerd kunnen worden.

Het Doel van Algoritmen

Het doel van een algoritme kan van alles zijn met een duidelijk resultaat. De instructies kunnen in het algemeen omgaan met eventualiteiten die bij het uitvoeren kunnen optreden. Algoritmen hebben in het algemeen stappen die zich herhalen (iteratie) of die beslissingen (logica of vergelijkingen) vereisen om de taak te voltooien.

Eenzelfde taak kan gewoonlijk met verschillende reeksen instructies worden opgelost. Het verschil ligt dan meestal in de hoeveelheid tijd, ruimte of inspanning die het algoritme vergt; dit is de complexiteit van een algoritme.

Vergelijk een algoritme met een recept in de keuken. Om aardappelsalade te maken kan het ene recept de instructie “schil de aardappel” bevatten en daarna de instructie “kook de aardappel”. Bij een ander recept kunnen die twee stappen omgedraaid zijn. Beide recepten zullen echter vragen deze stappen voor alle aardappelen uit te voeren en het eindresultaat is een lekkere aardappelsalade.

Bij het correct uitvoeren van een computerprogramma is het belangrijk dat het algoritme inderdaad de beoogde functie uitvoert en dat het algoritme goed door het computerprogramma wordt uitgevoerd.

Algoritme versus computerprogramma

Waar een algoritme de beschrijving is van een oplossing van een probleem, is een computerprogramma (in een of andere programmeertaal) de implementatie van dat algoritme. Een algoritme voor een berekening met reële getallen kan bijvoorbeeld uitgaan van exacte berekeningen, terwijl de implementatie bepaalt hoe groot de afrondfouten kunnen zijn. De nauwkeurigheid van het eindresultaat kan (bij gelijkwaardige wijze van afronden van tussenresultaten) wel van het algoritme afhangen, dus bij het ontwerp van het algoritme moet er vaak al rekening mee worden gehouden dat er in de implementatie niet exact gerekend wordt. Dit geldt overigens niet alleen bij computergebruik, maar ook bij een handberekening met tussentijdse afrondingen.

De verschillende manieren om tegen een probleem aan te kijken en het te beschrijven hebben in de loop van de jaren ook Save & Exit verschillende vormen van programmeren opgeleverd.

 

Bron : https://nl.wikipedia.org/wiki/Algoritme