1 Introductie

Een netwerk is eigenlijk niets meer dan een collectie van punten die verbonden is door lijnen, zoals in Afbeelding 1.1. Wiskundigen noemen netwerken meestal grafen. In principe zijn deze begrippen equivalent, maar vaak wordt het woord netwerk gebruikt als wetenschappers specifieke toepassingen bestuderen, en graaf in een meer theoretische (wiskundige) context.

In dit hoofdstuk bespreken we het begin van de wiskundige studie van grafen en introduceren we enkele wiskundige definities die ons later zullen helpen bij het beschrijven van netwerken. Vervolgens bespreken we een aantal voorbeelden van systemen die door wetenschappers als netwerk worden bestudeerd. Ondanks het feit dat deze systemen uiteenlopen van technologische tot sociale en biologische netwerken blijken de corresponderende netwerken gemeenschappelijke eigenschappen te hebben. We zullen later in deze webklas meer aandacht besteden aan deze eigenschappen.

Een voorbeeld van een netwerk/graaf: een collectie van punten verbonden door lijnen.

Afbeelding 1.1: Een voorbeeld van een netwerk/graaf: een collectie van punten verbonden door lijnen.

In de wiskunde werken we met precieze definities om ambiguïteit te voorkomen. De eerste definitie die we in deze webklas introduceren is die van een graaf.

Definitie 1.1 Een graaf \(G = (V,E)\) is een geordend paar van verzamelingen \(V\) en \(E\), waarbij \(V\) een eindige verzameling is en \(E\) een verzameling van paren in \(V\).

In deze definitie gebruiken we het begrip verzameling. Een verzameling is een collectie van verschillende objecten. Een voorbeeld van een verzameling is de verzameling van de getallen \(1,3\) en \(7\). We gebruiken de notatie \(\{1,3,7\}\). De accolades { } worden gebruikt voor een ongeordende verzameling, een verzameling waarbij de volgorde van de objecten niet uitmaakt. Oftewel \(\{1,3,7\} = \{3,1,7\} = \{7,1,3\}\). Voor een geordende verzameling worden de haakjes ( ) gebruikt. In dit geval zijn de verzamelingen \((1,3,7)\) en \((1,7,3)\) niet hetzelfde: \((1,3,7) \neq (1,7,3)\).

Opgave 1.1 Leg uit waarom \(\{1,3,6,3\}\) geen verzameling is.

Opgave 1.2 Geef voor elk van de volgende uitspraken aan of deze waar is of niet waar.

  1. \(\{x,y,z\} = \{y,z,x\}\).

  2. \((x,y,z) = (y,z,x)\).

  3. \((1,2,3,4,5) \neq (1,2,4,5)\).

  4. \((1,3,5)\) is een ongeordende verzameling.

  5. \(\{1,3,5\}\) is een ongeordende verzameling.

  6. \((5,3,1)\) is een geordende verzameling.

Het is misschien niet meteen duidelijk dat definitie 1.1 inderdaad een netwerk beschrijft. De verzameling \(V\) representeert de knopen (vertices) in het netwerk en de verzameling \(E\) representeert de lijnen (edges) van het netwerk. Het aantal knopen in een netwerk zullen we altijd aanduiden met \(n\), oftewel \(n=|V|\) waar \(|V|\) de grootte van de verzameling \(V\) aanduidt. Voor het aantal lijnen in een netwerk gebruiken we altijd \(m = |E|\). Het volgende voorbeeld zal de definitie verduidelijken.

Voorbeeld 1.1 De graaf \(G=(V,E)\) in Afbeelding 1.1 bestaat uit de verzameling \(V=\{v_1, v_2, v_3, v_4, v_5, v_6, v_7, v_8, v_9, v_{10}\}\) van knopen en de verzameling \(E = \{\{v_1,v_2\}\), \(\{v_2,v_3\}\), \(\{v_2,v_5\}\), \(\{v_3,v_4\}\), \(\{v_3,v_5\}\), \(\{v_5,v_6\}\), \(\{v_5,v_7\}\), \(\{v_5,v_9\}\), \(\{v_6,v_8\}\), \(\{v_7,v_8\}\), \(\{v_8,v_9\}\), \(\{v_8,v_{10}\}\), \(\{v_9,v_{10}\}\}\) van lijnen.

We noemen punten die verbonden zijn door een lijn buren.

Opgave 1.3 Teken de volgende grafen

  1. \(G=(V,E)\), \(V=\{v_1,v_2,v_3,v_4\}\) en \(E=\{\{v_1,v_2\}, \{v_2,v_3\}, \{v_3,v_4\}\}\).

  2. \(G=(V,E)\), \(V=\{v_1,v_2,v_3,v_4\}\) en \(E=\{\{v_1,v_2\}, \{v_2,v_3\}, \{v_3,v_4\}, \{v_1, v_4\}\}\).

  3. \(G=(V,E)\), \(V=\{v_1,v_2,v_3,v_4,v_5\}\) en \(E=\{\{v_1,v_2\}, \{v_1,v_3\}, \{v_1, v_4\}\}\).
Opgave 1.4 Geef de verzamelingen \(V\) en \(E\) voor de grafen in Afbeelding 1.2.
Drie kleine grafen.

Afbeelding 1.2: Drie kleine grafen.

Opgave 1.5 Maak een lijst van de buren van \(v_1\) voor alle drie de grafen in Afbeelding 1.2.

In het vervolg zullen we de volgende begrippen regelmatig tegenkomen. Met het symbool \(\in\) duiden we aan dat een object een element van een verzameling is. Met andere woorden \(1 \in \{1,3,7\}\), maar \(2 \notin \{1, 3, 7\}\).

Definitie 1.2 De graad \(k_v\) van een knoop \(v \in V\) is het aantal buren van \(v\).
Definitie 1.3 Laat \(G = (V,E)\) een graaf zijn. Een pad tussen twee knopen \(u\) en \(v\) is een rij verschillende knopen \(p = (v_1, v_2 \dots, v_k)\) zodat \(v_1 = u\) en \(v_k = v\) en zodat er een lijn is tussen elk paar knopen \(v_i, v_{i+1}\), \(i = 1, \dots, k-1\), oftewel \(\{v_i, v_{i+1}\} \in E\). De lengte van een pad is het aantal lijnen in het pad, we schrijven hiervoor ook \(|p|\).
Opgave 1.6 Wat is de lengte van het pad \((v_1, v_2, v_3, v_4)\)?
Definitie 1.4 Een graaf \(G=(V,E)\) is samenhangend als er tussen elk tweetal punten \(u, v \in V\) een pad loopt.

Opgave 1.7 Laat \(G=(V,E)\) een graaf zijn met \(n\) knopen, oftewel \(V=\{v_1, v_2, ..., v_n\}\). Motiveer bij ieder onderdeel je antwoord.

  1. Gegeven is dat knoop \(v_i\) graad \(k_i\) heeft, voor \(i=1,\dots,n\). Hoeveel lijnen heeft deze graaf?

  2. Een graaf heet volledig als elk paar knopen in \(V\) verbonden is. Hoeveel lijnen heeft een volledige graaf met \(n\) knopen?

  3. Hoeveel lijnen zijn er minstens nodig om te garanderen dat \(G\) samenhangend is? Hint: het antwoord is niet \(n-1\).

  4. Hoeveel verschillende grafen bestaan er met \(n\) knopen?

1.1 De zeven bruggen van Königsberg

Het probleem van de zeven bruggen van Königsberg wordt gezien als het begin van de wiskundige studie van grafen. Dit probleem dateert uit 1736 en werd opgelost door de beroemde wiskundige Leonhard Euler. Königsberg (nu Kaliningrad) is een stad die wordt verdeeld door een rivier (zie Afbeelding 1.3) en waarvan de verschillende delen zijn verbonden door zeven bruggen. De inwoners van Königsberg wilden een optocht organiseren zodat elke brug precies één keer werd overgestoken. Euler bewees dat dit onmogelijk is. Om het probleem rigoreus aan te pakken, beschreef hij het probleem op een multi-graaf: een graaf waarbij punten door meer dan één lijn verbonden kunnen zijn. Afbeelding 1.3 toont de kaart van de stad Königsberg en de multigraaf die Euler introduceerde om het probleem op een abstracter niveau te bestuderen.

De kaart van de stad Königsberg getekend door Bering in 1613 (boven) en de multi-graaf die Euler gebruikte om het probleem wiskundig te formuleren (beneden).

Afbeelding 1.3: De kaart van de stad Königsberg getekend door Bering in 1613 (boven) en de multi-graaf die Euler gebruikte om het probleem wiskundig te formuleren (beneden).

Het probleem van de bewoners van Königsberg luidt nu, is er een pad dat elke lijn van de multi-graaf exact één keer bezoekt? Tegenwoordig worden zulke paden Euler paden genoemd. Euler bewees de volgende stelling.

Stelling 1.1 Een (multi-)graaf heeft een Euler pad dan en slecht dan als precies nul of twee punten oneven graad (Definitie 1.2) hebben, en de graaf samenhangend (Definitie 1.4) is.

Opgave 1.8 Leg uit hoe Stelling 1.1 laat zien dat er geen route voor een optocht bestaat die voldoet aan de eisen van de bewoners van Königsberg.

Stel dat je één brug mag overslaan, is het dan wél mogelijk om een Euler pad te vinden? Zo ja, welke brug zou je overslaan en wat is de route?
De vijf Platonische lichamen, een mobile gemaakt door Jacobien (eerste wiskunde les voor haar dochter).

Afbeelding 1.4: De vijf Platonische lichamen, een mobile gemaakt door Jacobien (eerste wiskunde les voor haar dochter).

Opgave 1.9 Een regelmatig veelvlak of Platonisch lichaam (zie ook Afbeelding 1.4) is een veelvlak waarvan de zijvlakken congruente regelmatige veelhoeken zijn. Euclides bewees dat er precies vijf van zulke veelvlakken bestaan, namelijk de tetraëder (of driezijdige piramide), de hexaëder (of kubus), de octaëder, de dodecaëder en de icosaëder (zie Wikipedia). We zouden deze veelvlakken kunnen beschouwen als grafen, waarbij we de knopen van de graaf identificeren met de hoekpunten en de lijnen representeren de ribben van het veelvlak. Teken voor ieder van de veelvlakken de bijbehorende graaf zonder dat de lijnen elkaar doorsnijden. Is het mogelijk om een pad te vinden dat precies één keer over iedere rib van deze veelvlakken gaat?

1.2 De wiskunde van netwerken

We kunnen een netwerk \(G=(V,E)\) niet alleen beschrijven aan de hand van de verzamelingen \(V\) en \(E\), maar ook op andere manieren. We introduceren nu een andere manier om een netwerk te beschrijven.

Definitie 1.5 De adjacency matrix \(A\) van een netwerk \(G\) met \(n\) knopen is een \(n \times n\)-matrix waar de waarde \(A_{ij}\) gelijk is aan 1 als er een lijn tussen knoop \(v_i\) en \(v_j\) bestaat en anders stellen we \(A_{ij}\) gelijk aan 0.

Voor een netwerk met drie knopen ziet de adjacency matrix er als volgt uit.

\[ A = \left(\matrix{A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \\ } \right) \]

Opgave 1.10 Waarom geldt voor alle grafen en alle \(i\) en \(j\) dat \(A_{ij} = A_{ji}\)? Een matrix die aan deze eigenschap voldoet wordt ook wel een symmetrische matrix genoemd.

Het netwerk in de linker graaf in Afbeelding 1.2 heeft de volgende adjacency matrix.

\[A = \left(\matrix{ 0 & 1 & 1 & 0 \\ 1 & 0 & 1 & 1 \\ 1 & 1 & 0 & 1 \\ 0 & 1 & 1 & 0 \\ }\right) \]

Opgave 1.11 Geef de adjacency matrix voor de andere twee grafen in Afbeelding 1.2.

In de grafen die we tot nu toe hebben gezien zijn er geen lijnen tussen een knoop en zichzelf. In de adjacency matrix betekent dit dat er nullen op de diagonaal staan, oftewel de waarde van alle plekken \(A_{ii}\) is gelijk aan nul.

Opgave 1.12 Wat kun je zeggen over de totale som van alle entries in rij \(i\) van een adjacency matrix met \(n\) knopen, m.a.w. wat stelt \(\sum_{j=1}^{n} A_{ij}\) voor? Wat als we alle entries in de matrix bij elkaar optellen?

De hoofdletter sigma, \(\Sigma\), in bovenstaande opgave wordt gebruikt om op een compacte en effectieve manier een sommatie aan te geven. Een sommatie ziet er dus zo uit: \[ \sum_{i=m}^n x_i = x_m + x_{m+1} + x_{m+2} + \dots + x_{n-2} + x_{n-1} + x_n. \] De letter \(i\) duidt de index aan. De letter \(m\) is de ondergrens van de sommatie en de letter \(n\) de bovengrens van de sommatie. Zo is bijvoorbeeld \(\sum_{i=1}^{4} i^2 = 1^2 + 2^2 + 3^2 + 4^2 = 30\).

Opgave 1.13 In deze opgave berekenen we het aantal mogelijke paden van een gegeven lengte tussen twee punten in een graaf aan de hand van zijn adjacency matrix.

  1. Leg uit waarom \([A^2]_{ij} := \sum_{k=1}^{n} A_{ik} A_{kj}\) het aantal paden van lengte 2 tussen de knopen \(v_i\) en \(v_j\) voorstelt.

  2. Leg uit waarom \([A^3]_{ij} := \sum_{k,l=1}^{n} A_{ik} A_{kl} A_{lj} = \sum_{k=1}^{n} \sum_{l=1}^{n} A_{ik} A_{kl} A_{lj}\) het aantal paden van lengte 3 tussen \(v_i\) en \(v_j\) voorstelt.

  3. Leg uit waarom \(\frac{1}{6}\sum_{i=1}^{n} [A^3]_{ii}\) het aantal driehoeken in de graaf voorstelt.

  4. Geef een formule \([A^r]_{ij}\) voor het aantal paden van lengte \(r\) tussen \(v_i\) en \(v_j\) en verklaar deze formule.

Voor de leerlingen die bekend zijn met matrixoperaties (i.h.b. matrixvermenigvuldiging), merk op dat bovenstaande uitdrukking precies de entry in rij \(i\) en kolom \(j\) is van de matrix \(A^r = A \times A \times \dots \times A\), waarbij we precies \(r\) keer het product van \(A\) met zichzelf nemen.

1.3 Netwerken

Het bruggenprobleem van Königsberg wordt gezien als het begin van de wiskundige studie van grafen en de eerste toepassing van grafentheorie. De afgelopen vijftien à twintig jaar is de studie van netwerken ontzettend populair geworden. Door de opkomst van grote datasets en snelle computers kunnen wetenschappers tegenwoordig hele grote netwerken onderzoeken. We bespreken nu een aantal voorbeelden van systemen die als netwerk bestudeerd worden.

1.3.1 De hersenen

Onze hersenen bestaan uit neuronen die met elkaar verbonden zijn via axonen en dendrieten. De output van een neuron is de input voor een ander neuron. Helaas is het erg moeilijk om een hersennetwerk in kaart te brengen. Om dit te doen wordt voornamelijk gebruik gemaakt van de volgende techniek: de hersenen van een overleden dier of persoon worden in dunne plakjes gesneden en met een microscoop bekeken. Elk plakje geeft een klein deel van het netwerk, en vervolgens worden deze delen bij elkaar gevoegd en de verbinding tussen de neuronen in verschillende plakjes zo goed mogelijk toegevoegd. Wetenschappers schatten dat het menselijk brein ongeveer 100 miljard neuronen bevat, dit maakt het in kaart brengen van het menselijk brein via bovenstaande techniek een onbegonnen werk. Een groep wetenschappers van Princeton University probeert dit in beeld te krijgen in de vorm van een spel waar spelers (handmatig) neuronen verbinden, zie Eyewire. Wetenschappers hebben de hersenen van de zogeheten C. Elegans worm wel geheel in kaart weten te brengen. Deze worm is erg veel bestudeerd en Open Worm is een open source project met als doel een virtuele versie van deze worm te maken.

1.3.2 Het Internet

Het Internet is een technologisch netwerk dat bestaat uit computers en data verbindingen tussen deze computers. Ondanks dat dit netwerk door mensen gebouwd is, weet niemand precies hoeveel computers er aangesloten zijn en hoe alle verbindingen lopen, aangezien er geen centrale organisatie is die het aansluiten van computers reguleert. Het Internet Mapping Project is een project van Bell Labs om een deel van het Internet in kaart te brengen. Wetenschappers zijn geïnteresseerd in de structuur van het Internet om verschillende redenen. De functie van het Internet is om data te transporteren tussen computers, dit gebeurt door de data in pakketen op te delen en deze van knoop naar knoop (computer) te sturen in het netwerk. De structuur van het netwerk speelt een rol in hoe efficiënt dit gedaan kan worden. Als we deze structuur kennen, kunnen we veel praktische vragen van te voren beantwoorden. Bijvoorbeeld hoe we pakketen op de slimste manier door het netwerk kunnen routen of wat er gebeurt als een verbinding uitvalt. Die laatste vraag bestuderen we in Hoofdstuk 4.

Opgave 1.14 Stel dat je een data pakket wilt versturen in een netwerk met vijf knopen \(v_1, v_2, \dots, v_5\). Kun je een netwerk verzinnen (teken deze) dat minstens vier lijnen (en maximaal 1 tussen elk paar knopen) bevat en zodanig dat:

  1. Het onmogelijk is om een pakket van \(v_1\) naar \(v_5\) te bezorgen.

  2. Je minstens vier lijnen moet doorlopen om een pakket van \(v_1\) naar \(v_5\) te bezorgen.

  3. Je voor elke knoop precies twee andere knopen in één stap kunt bereiken, en twee knopen in twee stappen kunt bereiken.

  4. Je voor elk paar knopen \(v_i\) en \(v_j\) maximaal twee lijnen nodig hebt om een pakket tussen de knopen te versturen. Doe dit met zo min mogelijk lijnen.

1.3.3 Sociale netwerken

Tegenwoordig denken we bij sociale netwerken voornamelijk aan online sociale netwerken zoals Facebook, Twitter en LinkedIn. Sociologen bestuderen al veel langer hoe de relaties tussen personen bijvoorbeeld hun positie in de maatschappij beïnvloed. Een sociaal netwerk bestaat uit personen en relaties tussen deze personen. Voordat online sociale netwerken bestonden werden sociale netwerken geconstrueerd door observatie, bijvoorbeeld van spelende kinderen of door het uitdelen van vragenlijsten waarin de personen zelf aangeven met wie zij bevriend zijn of graag samenwerken.

Opgave 1.15 Stel je voor dat je een feest hebt georganiseerd waar sommige van de gasten elkaar al kennen. Beantwoord de volgende vragen over het netwerk met als knopen de gasten en lijnen tussen gasten die elkaar reeds kennen.

  1. Stel er zijn 5 gasten, oftwel \(n=5\). Is de volgende situatie mogelijk? Er zijn twee mensen in het gezelschap die precies één vriend hebben die aanwezig is op het feest, twee gasten hebben precies twee vrienden aanwezig en één heeft drie vrienden aanwezig. Hint: Bewijs dat elke graaf een even aantal knopen heeft van oneven graad.

  2. Is het mogelijk om een feest te organiseren met een willekeurig aantal gasten en waarbij er niet twee mensen zijn die evenveel vrienden hebben? Hint: Maak onderscheid tussen een samenhangende graaf en een niet-samenhangende graaf.

  3. Stel je er zijn \(n=10\) mensen aanwezig op het feest en iedere aanwezige gast heeft minstens één vriend die aanwezig is op het feest. Als jij aan de overige negen gasten vraagt hoeveel vrienden er van ze op het feest zijn, dan geven ze allemaal een ander antwoord. Hoeveel vrienden van jou moeten er dan aanwezig zijn?

  4. Stel dat er \(n=6\) mensen aanwezig zijn op het feest. Bewijs dat er altijd drie mensen zijn die elkaar al allemaal kennen, of er zijn drie mensen die niet bekend met elkaar zijn. Met andere woorden, voor een graaf \(G\) met zes punten bevat ofwel \(G\), of de complement graaf \(\overline{G}\) een driehoek. De complement graaf \(\overline{G}\) is de graaf waarin twee knopen verbonden zijn dan en slechts dan als ze niet verbonden zijn in \(G\).

Heb je wel eens het gevoel dat jouw vrienden populairder zijn dan jijzelf? Dat kan zijn omdat het waar is, voor bijna iedereen dan. Dit opmerkelijke resultaat, genaamd de vriendschapsparadox, zien we bijvoorbeeld terug op social media. In 2011 had de gemiddelde Facebookgebruiker 245 vrienden, terwijl de gemiddelde vriend op Facebook 359 vrienden had. Met andere woorden, de gemiddelde persoon op Facebook heeft minder vrienden dan zijn vrienden.

Dit fenomeen zie je ook bijvoorbeeld terug in de sportschool, waar het lijkt alsof iedereen om je heen beter in vorm is dan jijzelf. Dit is niet geheel verassend als je een doorsnee lid van de sportschool bent, omdat de mensen die het meest waarschijnlijk aan om te treffen in de sportschool ook de personen zijn die daar ook veel tijd doorbrengen.

Hoe het gemiddeld aantal vrienden van vrienden wordt geteld verdient enige uitleg. Stel dat een docent twee vakken geeft: één is een groot vak met 90 leerlingen en de ander is een klein vak met 10 leerlingen. Het is intuïtief om te zeggen dat de gemiddelde groepsgrootte gelijk is aan 50, namelijk \((90 + 10) / 2 = 50\). Dit is logisch vanuit het perspectief van de docent, maar ook enigszins misleidend. Als we kijken uit het oogpunt van de leerlingen, dan zit het overgrote deel van de studenten (90 van de 100) in een groep van 90, terwijl maar 10 leerlingen een groepgrootte van 10 ervaren. Vragen we dus aan iedere leerling hoe groot zijn klas is en tellen we al deze reacties bij elkaar op, dan is dat gelijk aan \((90 \times 90) + (1+ \times 10) = 8200\). Delen we dit door het totaal aantal studenten, dan is de groepgrootte die de studenten ervaren gemiddeld \(82\). Voor het gemiddeld aantal vrienden van vrienden gaan we op een vergelijkbare manier te werk. Aan elke persoon vragen we om van ieder van zijn of haar vrienden steeds de ‘score’ door te geven van hoeveel vrienden die heeft. Al deze getallen tellen we bij elkaar op en het gemiddeld aantal vrienden van vrienden verkrijgen we dan door dit aantal te delen door het totaal aantal ‘scores’ dat is doorgegeven. Dit levert een andere waarde op dan wanneer voor ieder individu het gemiddelde aantal vrienden van vrienden zou bepalen en daar vervolgens het gemiddelde over alle individuen van zou nemen.

Een graaf van vrienden.

Afbeelding 1.5: Een graaf van vrienden.

Opgave 1.16 Bekijk het netwerk van vrienden in Afbeelding 1.5. Bereken hiervoor het gemiddeld aantal vrienden en bereken het gemiddeld aantal vrienden van vrienden.

Een verklaring voor de vriendschapsparadox is dat iemand die veel vrienden heeft, vaak een vriend van iemand is. Dus in de berekening van het gemiddelde aantal vrienden van vrienden krikt deze populaire persoon het gemiddelde omhoog. De volledig wiskundige verklaring hiervoor is als volgt.

Stel we hebben een groep van \(n\) mensen en laten we zeggen dat persoon \(i\) precies \(k_i\) vrienden heeft. Het gemiddelde aantal vrienden in het gehele netwerken rekenen we eenvoudig uit met de formule \[\mu := \frac{1}{n} \sum_{i=1}^{n} k_i.\]

Het gemiddeld aantal vrienden van een vriend kunnen we modelleren door een willekeurige lijn uit de graaf te pakken (die een vriendschap voorstelt) en één van de eindpunten van de lijn (één van de vrienden), en daarvan de graad te berekenen. Het gemiddelde aantal vrienden van vrienden is dan gewoon het totaal aantal vrienden van vrienden gedeeld door het totaal aantal vrienden. Het totaal aantal vrienden van vrienden wordt gegeven door \[\sum_{i} (k_i)^2.\]

Opgave 1.17 Verklaar waarom we bovenstaande formule krijgen voor het totaal aantal vrienden van vrienden. Hint: ga na hoevaak de term \(k_i\) voorkomt als we het aantal vrienden van vrienden tellen.

Het totaal aantal vrienden (in de noemer) is simpelweg \(\sum_{i=1}^n k_i,\) waardoor het gemiddelde aantal vrienden van vrienden gelijk is aan \[\frac{\sum_{i=1}^{n} (k_i)^2}{\sum_{i=1}^{n} k_i}.\]

We definiëren de variantie als \[\sigma^2 := \frac{1}{n}\sum_{i=1}^{n}(k_i - \mu)^2.\]

Opgave 1.18 Laat zien dat de variantie gelijk is aan \[\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (k_i)^2 - \mu^2.\]

Manipuleren we bovenstaande vergelijking nu een beetje, dan zien we dat \[\sum_{i=1}^{n} (k_i)^2 = (\mu^2 + \sigma^2)n.\] Substitueren we deze uitdrukking in het gemiddelde aantal vrienden van vrienden, dan krijgen we \[\frac{\sum_{i=1}^{n} (k_i)^2}{\sum_{i=1}^{n} k_i} = \frac{(\mu^2 + \sigma^2)n}{\mu n} = \mu + \frac{\sigma^2}{\mu}.\] Merk op dat \(\frac{\sigma^2}{\mu} \geq 0\), waardoor we concluderen dat \[\text{gemiddeld aantal vrienden} = \mu \leq \mu + \frac{\sigma^2}{\mu} = \text{gemiddeld aantal vrienden van vrienden}.\]

Deze wiskundige analyse kan slim worden toegepast. Tijdens de uitbraak van de varkensgriep in 2009 hielden wetenschappers een groep willekeurig gekozen studenten in de gaten. Daarnaast controleerden ze ook de mensen die door deze deelnemers van het onderzoek werden gezien als vrienden. Opmerkelijk, de aangewezen vrienden werden ongeveer twee weken eerder ziek dan de willekeurig gekozen personen, waarschijnlijk omdat ze gemiddeld beter verbonden zijn. Dus voor diegenen die zich slecht voelen vanwege de grote populairiteit van hun vrienden, troost jezelf met de gedachte dat je vrienden sneller ziek zullen worden dan jij.

1.3.4 Contact netwerken

Contact netwerken zijn netwerken tussen personen of dieren waarbij twee knopen verbonden zijn als de personen (of dieren) contact hebben gehad of op de zelfde plaats zijn geweest. Deze netwerken zijn erg belangrijk bij het bestuderen van de verspreiding van besmettelijke ziekten. Afhankelijk van de ziekte en hoe besmetting wordt overgebracht zijn verschillende definities van `contact’ nodig. Zo worden sommige besmettelijke ziektes alleen door direct contact overgebracht terwijl andere via vochtdruppels (hoesten en niezen) worden overgebracht. De studie van contact netwerken is een belangrijk onderwerp in het begrijpen en voorkomen van grote epidemiën.

Opgave 1.19 Kun je zelf nog meer voorbeelden van netwerken verzinnen? Geef twee andere voorbeelden.

1.4 Universele eigenschappen

Een van de redenen dat network science een erg populair onderzoeksgebied is geworden is dat ondanks het feit dat de netwerken die bestudeerd worden heel divers zijn, ze toch gemeenschappelijke eigenschappen hebben.

We zullen zien dat veel netwerken een groot aantal driehoeken bevatten, en ondanks deze eigenschap nog steeds een kleine wereld vormen. Dit betekend dat alle knopen met relatief weinig tussenstappen verbonden zijn in vergelijking met de grootte van het netwerk.

Bovendien zullen we zien dat de verdeling van het aantal buren voor de knopen in een netwerk vaak een scheve verdeling is. Er zijn meestal veel knopen met weinig buren, maar ook een paar met heel erg veel buren.

Bonusopgave 1.1 (technische uitdaging van de week)

In deze opdracht kun je moderne programmeertechnieken leren om te werken met netwerken. Wat ervaring met een programmeertaal is wenselijk. Download netwerk.txt en dolfijnen.txt hier. In deze tekstdocumenten vind je gegevens van twee verschillende netwerken.

Het netwerk in dolfijnen.txt beschrijft sociale interacties tussen een groep dolfijnen in Nieuw Zeeland. Deze dataset is genomen uit Network Repository, een website waar veel datasets van netwerken gevonden kunnen worden.

De netwerken worden beschreven door een lijst van lijnen. Op iedere regel vind je de namen (getallen) van twee knopen. Dit betekent dat de lijn tussen deze twee knopen aanwezig is in het netwerk. De knopen worden gescheiden door een tab.

Het bestand netwerk.txt komt overeen met het netwerk in Figuur 1.5.

  1. Schrijf een programma dat het netwerk in netwerk.txt laad en de adjacency matrix weergeeft.

  2. Schrijf een programma dat het netwerk in netwerk.txt laad en de graden van de knopen uitrekend. Gebruik hetzelfde programma om de graden van de knopen in dolfijnen.txt uit te rekenen.

  3. Schrijf een programma dat controleert of een netwerk samenhangend is of niet. Gebruik dit programma om te kijken of dolfijnen.txt samenhangend zijn of niet.

TIPS: je kunt een groot aantal verschillende programmeer talen en software pakketen kiezen om deze opgave te maken.

In sommige bibliotheken zijn bovenstaande functies al geïmplementeerd. Zoals bijvoorbeeld in igraph: http://igraph.org of networkx https://networkx.github.io. Als je interesse hebt om aan de slag te gaan met het python package networkx dan kan je deze Jupyter Notebook bestuderen. Om deze Notebook te openen en te bewerken je kunt Jupyter Notebook installeren op je computer of deze online openen in Google Colab bijvoorbeeld.

Probeer echter zelf code te schrijven om vraag a, b en c te beantwoorden.

Gebruik het forum om met andere leerlingen te overleggen!

Bonusopgave 1.2 (creatieve uitdaging van de week)

Visualiseer (een deel van) een netwerk naar keuze. Kijk bijvoorbeeld eens op Network Repository voor netwerk data. Of construeer zelf een netwerk zoals bijvoorbeeld je Facebook ego-netwerk (het netwerk van vriendschappen tussen je vrienden).

Ter inspiratie voor degenen die dit willen programmeren:

https://www.openprocessing.org/sketch/392394

https://christophergandrud.github.io/networkD3/

https://gephi.org