Modulewijzer InfPbs00DT W. Oele 20 juli 2008
1
Inhoudsopgave 1 Inleiding
3
2 Waarom wiskunde? 2.1 Effici¨entie van computerprogramma’s. 2.2 3D-engines en vectoranalyse . . . . . 2.3 Bewijsvoering en programmeren. . . . 2.4 Fractals . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3 3 3 4 5
3 Leerdoelen
6
4 Leermiddelen
7
5 Theorie en practicum
7
6 Toetsing
7
2
1
Inleiding
Deze module is in het leven geroepen om hiaten in de kennis met betrekking tot het vak wiskunde te verhelpen. De module beoogt de student naar het niveau te brengen van 6VWO (in de periode voor het studiehuis). Vertrouwd zijn met basale wiskundige concepten is essentieel, daar er zonder enige deze vaardigheid weinig van effici¨ent modelleren en programmeren terecht komt.
2
Waarom wiskunde?
Wiskunde en informatica hebben veel met elkaar te maken. Dat is niet zo vreemd daar alles wat er in een computer omgaat beschouwd kan worden als het resultaat van een berekening. Om te laten zien hoe belangrijk het is om wiskundige formules en symbolen te kunnen lezen, laat ik enkele belangrijke formules zien die in de komende jaren in de opleiding behandeld zullen worden. Het is niet de bedoeling dat meteen begrepen wordt wat hier wordt bedoeld. Ik heb ze hier neergezet, opdat duidelijk wordt waarom wiskunde in een opleiding informatica wordt aangeboden.
2.1
Effici¨ entie van computerprogramma’s.
Beschouw onderstaande formule: O(g(n)) = {T (n) lim | n→∞
T (n) | ≤ c, g(n)
0 ≤ c < ∞}
(1)
Bovenstaande formule wordt gebruikt om van een computerprogramma te kunnen bepalen hoeveel instructies dit programma oplevert wanneer het programma wordt uitgevoerd. Hoe kleiner het aantal instructies dat een programma uitvoert, hoe effici¨enter (en dus ”sneller”) het programma is. Uitspraken kunnen doen over de effici¨entie van computerprogramma’s is voor een programmeur of softwarespecialist belangrijk daar hiermee voorkomen kan worden dat men een poging doet software te schrijven die een absurde grote hoeveelheid berekeningen zou opleveren.
2.2
3D-engines en vectoranalyse
Beschouw onderstaande formule: → − − − − r (P ) = → r (λ) = → r1 + λ→ a
(2)
3
x1 + λax ax x1 x y = x2 + λ ay = y1 + λay z1 + λaz az x3 z
(3)
Formule 2 wordt gebruikt bij het opbouwen van een 3d-engine. De formule vertelt ons hoe een rechte lijn in een assenstelsel kan worden voorgesteld door een punt P op een rechte lijn en een gegeven ander punt P1 op diezelfde lijn. Formule 3 doet hetzelfde, maar nu worden de twee punten m.b.v. zogenaamde vectoren genoteerd. De tak van wiskunde die men de vectoranalyse noemt, vormt de basis voor het bouwen van een hele verzameling grafische toepassingen zoals 3d- spelletjes, cad/cam systemen, caves en ook het bekende Macromedia Flash.
2.3
Bewijsvoering en programmeren.
Bekijk, om het af te leren, onderstaande vergelijkingen: Bewijs dat: n X
1 i = n(n + 1) 2 0=1
(4)
Welnu, er geldt: 1 X 0
1 i = .1.(1 + 1) = 1 2
(5)
Ook geldt: m=n+1 X m=0 m=n+1 X m=0
m = m =
1 (n + 1).(n + 1 + 1) 2
(6)
m=n X
1 m + n + 1 = n(n + 1) + n + 1 2 m=0
Derhalve: 1 (n + 1).(n + 1 + 1) = 2 1 2 (n + 3n + 2) = 2 1 2 1 n +1 n+1 = 2 2
1 n(n + 1) + n + 1 ⇒ 2 1 2 1 n + n+n+1⇒ 2 2 1 2 1 n +1 n+1 2 2 4
(7)
In vergelijking 4 wordt beweerd dat het herhaald optellen van een rijtje getallen hetzelfde is als het uitrekenen van ´e´en enkele formule. In vergelijking 6 wordt deze bewering ook daadwerkelijk bewezen. Voor een programmeur is het kunnen bewijzen van formule 4 een belangrijke vaardigheid daar met dergelijke methodes de correcte werking van een computerprogramma bewezen kan worden. Bovendien werkt een computerprogramma dat slechts ´e´en formule hoeft uit te rekenen een stuk effici¨enter dan wanneer het programma een enorme hoeveelheid getallen bij elkaar moet optellen. Dat het uitrekenenen van ´e´en formule inderdaad effici¨enter werkt dan het herhaald optellen van een lange rij getallen, kan men op zijn beurt weer bewijzen met formule 1.
2.4
Fractals
De Franse wiskundige Julia (1893-1978) kwam op het idee om een complexe getal eindeloos te vermenigvuldigen met zichzelf. Dit wordt uitgedrukt in formule 8. xn+1 = x2n + C
(8)
Formule 8 drukt uit dat in een rij getallen het getal dat op positie n+1 is te vinden wordt verkregen door het getal op positie n met zichzelf te vermenigvuldigen en er een waarde C bij op te tellen. Met deze gedachte legde Julia de basis voor wat later de fractale geometrie zou gaan heten. Fractale geometrie is een tak van de wiskunde die met succes in informatica wordt toegepast bij het opbouwen van 3d modellen. Daar men in de tijd van Julia niet over de rekenkracht beschikte van de huidige generaties computers, heeft Julia nooit de schoonheid van zijn eigen gedachtengoed kunnen aanschouwen. De Franse wiskundige Mandelbrot (in dienst van IBM) slaagde er in de jaren ’80 als eerste in om een programma te schrijven, waarmee de Julia set kon worden aanschouwd. In figuur 1 is de Mandelbrot fractal afgebeeld. In de bovenstaande voorbeelden is gebruik gemaakt van breuken, constantes, variabelen, vectoren, matrices, sommatietekens, verzamelingen, functies, limieten, absolute waarde, vergelijkingen, machten en inductieve bewijsvoering. Wanneer je, later in je studie, een boek gaat lezen over bijvoorbeeld databases, programmeertalen, algoritmen, 3d-engines, encryptie, informatietheorie, compressie of netwerken, zul je zien dat deze boeken vol staan met wiskundige formules. De schrijvers van die boeken gaan er van uit dat de lezer van het boek alle gebruikte wiskundige symbolen kent en bovendien over de vaardigheid beschikt op zeker niveau om te kunnen gaan met het manipuleren van wiskundige vergelijkingen.
5
Figuur 1: De Mandelbrot Fractal
Oefening baart kunst
3
Leerdoelen
In deze module worden de volgende onderwerpen behandeld: • verzamelingen • rekenen met variabelen • wortels • machten • logaritmen • vergelijkingen en ongelijkheden • eerstegraads functies • ontbinden in factoren • merkwaardige producten • buiten haken halen • tweedegraads functies
6
4
Leermiddelen • Boek: ”Basiswiskunde”, auteur: Kees van den Hoek, uitgever: Academic Service, ISBN: 90-395-1888-2 • Software: Maple versie 6 of hoger • hersenen • discipline • tijd • een goed geslepen potlood
5
Theorie en practicum
De module InfPbs00DT bestaat uit twee uur gecombineerd theorie en practicum per week. In de theorie legt de docent de stof voor die week uit. In het practicum wordt met de leerstof geoefend door met de hand oefenopgaven te maken.
6
Toetsing
Deze module wordt getoetst middels een schriftelijk tentamen.
7