Programmeren met spreadsheets/Voorbeeld: groeiprocessen

Uit Lab
< Programmeren met spreadsheets
Versie door Eelco (overleg | bijdragen) op 11 mrt 2019 om 15:35 (Nieuwe pagina aangemaakt met '== Voorbeeld: groeiprocessen == Processen met groei (of krimp) kom je overal tegen: * de hoeveelheid geld op een bankrekening * de groei van bacteriën op een voed...')
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Voorbeeld: groeiprocessen

Processen met groei (of krimp) kom je overal tegen:

  • de hoeveelheid geld op een bankrekening
  • de groei van bacteriën op een voedingsbodem
  • de groei van het aantal (mogelijke) verbindingen in een netwerk
  • het vollopen van een emmer water onder een kraan
  • het leeglopen van een vat met water via een kraan onderin
  • en veel andere vergelijkbare voorbeelden.

Deze groei hoeft niet altijd een functie van de tijd te zijn: in de informatica gebruik je het begrip complexiteit om aan te geven hoe de hoeveelheid rekenwerk afhangt van de omvang van het probleem. Voor verschillende algoritmen groeit de hoeveelheid rekenwerk verschillend bij eenzelfde toenamen van de omvang van het probleem.

Het triviale model is *nulgroei*: de hoeveelheid H blijft gelijk.

Lineaire groei

Het eenvoudigste niet-triviale model is lineaire groei: de hoeveelheid H neemt elke stap met een constante toe: . Of ook wel:

We kunnen dit groeiproces eenvoudig in een spreadsheet weergeven:

  • de eerste kolom (A) geeft de tijd (of het nummer van de stap) weer: ; we beginnen, zoals gebruikelijk in de informatica, bij 0.
  • de eerste rij beschrijft de begintoestand: , in kolom B
    • C1 bevat de constante </math>K</math>
  • elke volgende rij heeft dezelfde formule: =B1 + $C$1

Voorbeelden:

  • lineair zoeken

Kwadratische groei

Voorbeelden:

  • netwerken (van internet tot Facebook etc.): het aantal mogelijke (directe) verbindingen; wet van Metcalfe (over de waarde van een netwerk)
  • (minder slimme) sorteeralgoritmen


Exponentiële groei

Voorbeelden:

  • rente (samengestelde interest, "rente op rente")
  • sommige rekenprocessen (algoritmen): bijvoorbeeld Traveling Salesman, SAT (voor welke waarden van de logische variabelen levert een bepaalde logische uitdrukking true op?)

Logaritmische groei

Voorbeelden:

  • binair zoeken