Wat is een algoritme?
Aanraders maken!
Wat is een algoritme?
Aanraders maken!
Wat is een algoritme?
Algoritmes
Abstract idee van een proces
Je gebruikt er heel veel in het dagelijks leven!
Hoe kom ik bij het juiste lokaal?
Hoe win ik met Monopoly?
Eigenschappen:
Gebruikt input
Heeft een output
Doet iets met de input om bij de output te komen
(instructies, stappen, recept)
Kan verschillende dingen doen afhankelijk van de input
Algoritmes: Voorbeelden
Optellen, aftrekken, vermenigvuldigen, etc
Sorteren, zoeken in een woordenboek/lijst
Op een 'graph': kortste route van A naar B vinden, afstand van een route vinden, route vinden overal langs en weer terug naar start (voor pakketbezorgers, 'Travelling Salesman Problem')
Ingewikkelder:
Voorspellen wat voor weer het morgen wordt
Voorspellen waar er file ontstaat
Een goede schaakstrategie
Een filosofisch gesprek voeren?
Algoritmes: flowcharts
Algoritme voor één beurt van memory
Aanraders maken: algoritme
Zoek de 3 personen die qua favorieten het meest op jou lijken
..
..
Kijk naar de favorieten van die drie personen:
Jouw aanraders zijn alle favorieten van die 3 personen, die jij nog niet bij je favorieten had staan
Aanraders maken: met z'n allen doen
Je krijgt met ELKE andere klasgenoot (zie plaatje)
2 minuten om:
Jullie gelijkenis te berekenen:
Schrijf het resultaat op op je geprinte lijst
Hoe lang duurt dit?
Ga er vanuit dat we met 22 personen zijn, en we precies 2 minuten nodig hebben voor elke berekening (inclusief het doorwisselen)
44 minuten
42 minuten
22 minuten
253 minuten
Aanraders maken: algoritme voor een computer
Maak een tabel met favorieten per persoon
Op elke rij één persoon, en voor elk favoriete item dat voorkomt één kolom. In de cellen staat '1' voor: favoriet, en '0' voor '(nog) geen favoriet'
Maak een kruistabel met de gelijkenis tussen alle personen
Zowel de rijen als kolommen zijn personen, in de cellen staat: aantal overeenkomende favorieten / aantal favorieten van beide personen
Zoek voor elke persoon de top 3 van meest lijkende klasgenoten
In elke rij de kolom met de hoogste 3 waardes zijn de 'nearest neighbours'
Maak voor elke persoon een lijst van alle aanraders, met alle favoriete items van deze drie neighbours, die nog niet bij de favorieten van deze persoon voorkwamen
Een algoritme is nog geen computerprogramma. Waarom niet?
Van algoritme naar computerprogramma
Sla je input digitaal op
Kies een programmeertaal
Implementeer het algoritme..
Er zijn dus heel veel versies van 1 algoritme, een algoritme is een abstract idee, een programma al veel concreter
Algoritmes: opgebouwd uit..
Instructies die elkaar opvolgen
Keuzes
Herhaling
Computers als tool voor algoritmes
Informatie digitaliseren
Gaan we doen in de online methode:
Informatica Actief
Huiswerk voor dinsdag
Les van morgen valt uit, dus vrij veel huiswerk:
Zorg dat je in Informatica Actief kunt
Maak OP PAPIER uit de cursus 'Informatie Digitaliseren':
Onderwerp 1: Digitale afbeeldingen
Onderwerp 2: Bits and bytes
Hoe was de les?