Integralen bij wiskundige modellen
(SAMENGEVAT)
Doel van deze tekst: een bepaald inzicht te krijgen in bepaalde aspecten van modellen die integraalvergelijkingen bevatten (of omgekeerd: differentiaalvergelijkingen)
Gegeven is slechts het model als black box in de vorm van 'allerlei' formules in een ascii-file.
Gevraagd een volwaardig computersimulatieprogramma te ontwerpen voor educatief gebruik op het web uitgaande van een gegeven stelsel vergelijkingen.
Probleem: je wilt weten wat voor type model dit is en wat je aan problemen kunt verwachten? Er zijn allerlei vervelende en minder vervelende problemen die plotseling - als vanuit het niets en op de meest ongelukkige momenten - kunnen opdoemen, zoals: startproblemen, stabiliteitsproblemen, algebraische loops, stapgrootte, benaderingswijze, welke methode van integreren is goed genoeg voor mijn doeleinde, singuliere punten, is het model stabiel of instabiel, hoe groot is de integratiefout, hoe groot mag deze fout eventueel nog zijn, etc.
Al dit soort problemen hangen (namelijk) samen met de aard van het model: zit er in dit stelsel vergelijkingen een integraal of een differentiaal?
Gegeven
Gegeven - als voorbeeld - het beroemde 'prooi-roofdier'-model (voortgekomen uit allerlei biologisch onderzoek van m.n. de Universiteit Wageningen, 1939):
t = t+dt
dNBdt = GB * NB - SB * NB * NR - (NB * NB)/K
dNRdt = GR * NR * NB - SR * NR
NB = NB + dNBdt * dt
NR = NR + dNRdt * dt
Van dit model bestaan in de literatuur honderden varianten. Gegeven zijn verder ook de volgende startwaarden, parameters en constanten:
NB =135; het aantal prooidieren (buit) (de startwaarde) [aantal/km2]
NR =53; het aantal roofdieren (de startwaarde) [aantal/km2]
SR = 7.0 (parameter mbt. sterfte van de roofdieren) (de defaultwaarde)
SB = 0.3 (parameter mbt. sterfte van de prooidieren) (de defaultwaarde)
GR = 0.06 (parameter mbt. geboorte van de roofdieren) (de defaultwaarde)
GB = 15.0 (parameter mbt. geboorte van de prooidieren) (de defaultwaarde)
K = 50.0 (parameter mbt. ....) (de defaultwaarde)
dt = 0.03; de stapgrootte [jaar]
Tmin = 4.0 [jaar]
Tmax = 0 [jaar]
Deze waarden horen bij een bepaalde variant van een bepaald type model van een bepaalde populatie - hier twee beesten die zich in een bepaald eco-systeem bevinden - en zijn altijd betrekkelijk. Het is riskant om veel of weinig van deze waarden af te wijken. Er kunnen zich allerlei complicaties voordoen waarvoor zelfs (model-)inhoudsdeskundigen en (model-)theoretici geen oplossing weten.
Analyse
Hoe te beginnen?
Om te beginnen tel je altijd het aantal integraalvergelijkingen dat je in het model aantreft.
Hoe kun je ze herkennen?
Die kun je herkennen door het gegeven dat de oude waarde van een variabele wordt gebruikt voor het berekenen van de nieuwe waarde via de methode van Euler. (Voorbeeld: x = x + ....).
Dat is hier dus twee.
Met name dus:
en
Andere kenmerken zijn dat meestal dt goed te zien is en soms de naam van de integrand niets aan duidelijkheid te wensen overlaat. (Meervoud: integranten.) (Hier: dNBdt en dNRdt.) (De namen van deze twee variabelen, 'd..dt', zijn hier toevallig natuurlijk geen toeval.)
Deze integralen integreren de integrand. De integrand is - zoals jullie inmiddels wel weten - feitelijk het rechterlid van de differentiaal-vergelijking waarin de integraal vergelijking kan worden geacht te bestaan. (Zie de eerdere colleges.)
De integranten zijn:
GB * NB - SB * NB * NR - (NB * NB)/K
en
De twee integranten zijn hier - toevallig - duidelijk te zien. Meestal is dat minder duidelijk. Maar dan is het (toch) een kwestie van goed kijken en uitzoeken c.q. uitkienen.
Dit zijn dus ook - precies - de rechter leden van de differentiaal-vergelijkingen (DV). Deze differentiaal-vergelijkingen (DV) zijn - om precies te zijn - het volgende stelsel:
dNB / dt = GB * NB - SB * NB * NR - (NB * NB)/K
en
dNR / dt = GR * NR * NB - SR * NR
Het kringetje is dus rond. Een integraal vergelijking (IV) is dus simpelweg te beschouwen als een differentiaal-vergelijking (DV) en omgekeerd: een differentiaal-vergelijking (DV) moet je dus zien als een integraal-vergelijking (IV). Alleen, een integraal-vergelijking moet ergens starten: bij een startwaarde; een differentiaal-vergelijking niet: dat is de hoek in of op een zeker punt.
Een symboolsysteem
Om duidelijkheid te krijgen hoe en welke variabelen in de tijd ten opzichte van elkaar bewerkt worden, is er een symboolsysteem ontwikkeld. Met dit symboolsysteem kun je schema's tekenen; een soort bedradingsschema. De wiskundige modellen voor model-driven simulaties zijn altijd opgebouwd uit formules waarin variabelen (in de tijd !) moeten worden vermenigvuldigd, gedeeld, opgeteld, afgetrokken, en geingegreerd. Terwijl ze ter plekke nog berekend moeten worden. Andere bewerkingen komen bijna niet voor. Normaal zou je daar parallelle computers voor nodig hebben, die elke variable aan de hand van zijn eigen differentiaalvergelijking eerst uitrekenden en dan pas zou moeten bewerken (met de andere variabelen). Vroeger had men dat soort computers: die werden analoge computers genoemd. De variabelen werden gezien als een soort 'signalen'. Die computers konden duizende variabelen tegelijkertijd uitrekenen en die 'signalen' ter plekke - letterlijk online - verder bewerken. De tegenwoordige computers kunnen dat niet. De Von Neumann-computers zijn (nog steeds) sequentieel. Alle bewerkingen moeten - na elkaar - door het A-register en dat is in principe een echte flessenhals.
Er bestaat conform de oude analoge computers een bepaalde teken-taal. (Zie de colleges; zie ook de boeken van Min hierover uit 1996 en 1987). De (eerste) differentiaal vergelijking:
dNB / dt = GB * NB - SB * NB * NR - (NB * NB)/K
is dan ook als volgt om te zetten:
Je ziet dat er twe termen (SB*NB*NR en NB*NB/K) van een term (GB*NB) moeten worden afgetrokken.
Daar gebruiken we een opteller voor. Een opteller kan ook aftrekken. Dan zet je een min-teken aan de ingang (links) bij het signaal dat van de andere(n) moet worden afgetrokken. Voor die opteller moeten dan eerst allerlei variabelen worden 'omgezet'. Dat gaat met vermenigvuldigers en delers. Het model kan dan eenvoudig in een zogenaamd analoog schema worden getekend. In plaats van formules zie je dan een schema. Een soort bedradingsschema. Vandaag de dag zouden we dat een concept-map kunnen en moeten noemen. En dat is het ook. Zeker voor model-specialisten. Voor andere mensen is het meestal nergens voor nodig. Immers niet iedereen hoeft alles van een bepaald model te weten. Een analoog schema heeft allerlei voordelen: de overzichtelijkheid wordt beter, geeft inzicht in oorzaak en gevolg, geeft aanwijzingen voor algebraische loops, instabiliteiten, etc.
Maar de kern van deze vorm van denken en rekenen is dat er een speciaal teken - en in feite een speciaal computer-onderdeel - is voor integreren. Van een integrator dien je het volgende van te begrijpen.
Integreren
Als er een signaal moet worden geintegreerd moet je eerst weten wat je moet integreren. Als er van een x de variabele dx/dt gegeven is door middel van het zogenaamde rechter lid van een differentiaal vergelijking dan moet er een de ingang van de integrator de formule van het rechter lid worden aangeboden. Dat is dan ook als volgt te zien:
Je ziet dat het rechter lid van de differentiaal vergelijking exact (letterlijk) is overgenomen en precies datgene is dat geintegreerd wordt. Dat is (achteraf gezien) dan ook (volkomen) logisch. Immers de integraal van (dx/dt)*dt is de integraal van dx en dat is x.