VBTL 4 D - Leerwerkboek Grafen - inkijk methode

Page 1

LEERWERKBOEK

Grafen D-finaliteit

Philip Bogaert

Filip Geeurickx

Marc Muylaert

Roger Van Nieuwenhuyze

Erik Willockx

CARTOONS

Dave Vanroye

Hoe gebruik je VBTL ?

Dit boek bevat zes hoofdstukken. Elk hoofdstuk is opgebouwd uit verschillende paragrafen met aan het einde een handige samenvatting.

Definities vind je op een rode achtergrond. Eigenschappen vind je op een groene achtergrond.

Methodes, algoritmes en formules vind je op een zachtblauwe achtergrond.

Wiskunde is een eeuwenoude wetenschap. De geschiedenis van de wiskunde en de herkomst van bepaalde begrippen worden zachtpaars afgedrukt.

8 Grafen 1.1 Terminologie Inleidend voorbeeld  9 Planaire, gerichte en gewogen graaf  Speciale types van grafen  Wandelingen en paden  6 Samenvatting  14 7 Oefeningen  15 1.2 Eulercircuits, hamiltoncykels en bomen Hamiltoncykels  4 Tweedelingsgrafen  30 5 Samenvatting  31 6 Oefeningen  32 Minimaal opspannende bomen Probleemstelling  Het algoritme van Kruskal  Het algoritme van Prim  4 Het algoritme van Prim (computationele vorm)  48 5 Minimaal opspannende bomen tekenen met GeoGebra  50 6 De stelling van Euler bij planaire grafen  Samenvatting  Oefeningen  1.4 Kortste paden Het kortste pad  86 2 Probleemstelling  87 3 De lengte van een pad met een gegeven beginpunt  Het algoritme van Dijkstra  Kortste paden tekenen met GeoGebra  7 Samenvatting  93 8 Oefeningen  94 1.5 Toepassingen Het Chinese postbodeprobleem  103 Het handelsreizigersprobleem  Het handelsreizigersprobleem met GeoGebra  5 Samenvatting  107 6 Oefeningen  108 1.6 Knoopkleuring van grafen Probleemstelling  Algoritme starten met het laatste punt  4 Algoritme 2 starten met het eerste punt  123 5 Toepassing radiofrequenties  124 6 Toepassing 2 planningsproblemen  125 7 Toepassing 3 kleuring van De vierkleurenstelling  Samenvatting  Oefeningen  Extra’s Herhalingsoefeningen  143
1
1 De zeven bruggen van Koningsbergen en Leonhard Euler (Bazel 1707 Sint-Petersburg 1783) Zoals je al kon lezen in de inleiding valt het ontstaan van de grafentheorie samen met het probleem van de bruggen van Koningsbergen. Dat probleem werd in de achttiende eeuw opgelost door de Zwitserse wiskundige Leonhard Euler. Op de tekening zie je hoe de Pregel door Koningsbergen stroomt. De rivier omringt er het eiland Kneiphof (A) en splitst zich dan op in twee armen. Om de verschillende stadsdelen met elkaar te verbinden, zijn er zeven bruggen over de rivier. De hamvraag is: is het mogelijk om zó te lopen dat je precies één keer over elke brug komt. Om een eulerspoor of eulercircuit (waarbij je precies één keer over elke brug of boog loopt) mogelijk te maken, moeten er nul of twee knopen met een oneven graad zijn. Zijn er twee knopen met een oneven graad, dan moet de wandeling starten in het ene oneven punt en eindigen in het andere oneven punt. Zijn er geen punten van een oneven graad, dan kan de wandeling overal beginnen en eindigt de wandeling waar hij begonnen is. Geen van beide is in Koningsbergen mogelijk omdat er meer dan twee knopen een oneven graad hebben. Het is dus onmogelijk om een wandeling te maken waarbij je precies één keer over elke brug komt. Een eulercircuit is genoemd naar Leonhard Euler. Met meer dan 900 publicaties op zijn naam is hij de meest productieve wiskundige van de 18e eeuw. Euler studeerde aan de universiteit van Bazel, waar hij les kreeg van Johann Bernoulli (1667–1748). Toen hij achttien was, publiceerde hij zijn eerste wiskundige bijdrage, een verhandeling over het aanbrengen van masten op (zeil)schepen. In 1727 vertrok Euler op vraag van Catharina (keizerin van Rusland) naar Sint-Petersburg om daar adjunctprofessor te worden aan de academie van wetenschappen. Daniel Bernoulli (een zoon van Johann) was er toen hoofd van de leerstoel wiskunde, een functie die Euler van hem overnam in 1733. In dat jaar trouwde hij met Katharina Gsell. Samen kregen ze dertien kinderen, waarvan er maar vijf de volwassen leeftijd bereikten. Euler beweerde een deel van zijn beste werk te hebben gemaakt als er kinderen rondom hem speelden. In 1741 verhuisde hij naar Berlijn, waar hij professor in de wiskunde werd aan de nieuwe academie voor wetenschap. Hij was toen bijna blind aan zijn rechteroog, maar dat belette hem niet om fenomenaal werk te leveren. In 1766 keerde Euler terug naar Sint-Petersburg, waar hij na een ziekte volledig blind werd. Hij bleef echter onvermoeid doorwerken dankzij zijn uitzonderlijk geheugen en publiceerde bijna de helft van zijn totale werk in die periode. Hij overleed er in 1783 aan een hersenbloeding. Euler was niet alleen belangrijk voor de wiskunde, maar ook voor de fysica, de mechanica en de astronomie. Hij hielp ook heel wat praktische problemen oplossen op allerlei gebieden, zoals cartografie, magnetisme, machines, scheepsbouw en topologie (de zeven bruggen van Koningsbergen). De notatie f(x) voor een functie, e voor het grondtal van de natuurlijke logaritme, voor de wortel uit – 1, π voor pi, ∑ voor het sommatieteken ... we hebben het allemaal te danken aan Euler. Ook beroemd is zijn formule
1 We kunnen ook spreken over de buren van een knoop Dat zijn de knopen die rechtstreeks verbonden zijn met die knoop. Het aantal buren dat een knoop heeft, noemen we graad van de knoop. In het voorbeeld van de busdienst kun je het volgende stellen De buren van A zijn C en E. Daarom is de graad van A gelijk aan 2. deg ) De buren van E zijn A, B, C en D. Daarom is de graad van E gelijk aan 4. deg KNOOP BUREN AANTAL BUREN of GRAAD A C, E B D, E grootste graad die in G voorkomt, noteren we als De kleinste graad die in G voorkomt, noteren we als δG. (Beide tekens zijn de Griekse letter delta is de hoofdletter, δ de kleine letter.) In het voorbeeld van de busdienst geldt δG 2 buren aantal buren Voor een knoop X van een graaf G zijn de buren de knopen waarmee X rechtstreeks verbonden is. De graad deg X is het aantal buren van X in G. Merk op De som van alle graden van de knopen (in het voorbeeld) is 12. Het aantal bogen (AC, AE, BD, BE, CE en DE) is 6. KNOOP BUREN AANTAL BUREN of GRAAD C, E B, E A, B, C, D eigenschap In een graaf G met orde en grootte geldt in woorden De som van alle graden van alle knopen is gelijk aan het dubbel van het aantal bogen. in symbolen deg X )= N A B E C

De nummers van de oefeningen hebben een gele kleur.

Een sterretje duidt op een extra uitdaging.

Achteraan in dit boek vind je de oplossingen

Als ICT een ideaal hulpmiddel is, zie je dit icoontje.

Bij dit boek hoort een webpagina van GeoGebra, gevuld met heel wat digitale oefeningen en applets.

Die vind je terug via www.polpo.be.

Wat moet je kennen en kunnen ?

Achteraan zie je een handig overzicht van wat je moet kennen en kunnen. Kleur de smileys in de eerste kolom als je de leerstof herhaalde voor een grote toets. Kleur de smileys in de laatste kolom als je de leerstof beheerst voor je examen. Het boek sluit af met vier pagina’s herhalingsoefeningen

143 WAT MOET JE KENNEN EN KUNNEN dit moet leren pagina ken het oké voor examen ❒ Ik ken de betekenis van een graaf, knopen en bogen.   ❒ Ik weet wat een planaire graaf is en wat bedoeld wordt met een gerichte graaf en een gewogen graaf. 10   ❒ Ik weet wat buren zijn en kan de graad bepalen van een knoop in een graaf. 11   ❒ Ik weet dat de som van alle graden van alle knopen gelijk is aan het dubbele van het aantal bogen. 11   ❒ Ik weet wat bedoeld wordt met een volledige graaf en een multigraaf.   ❒ Ik ken de betekenis van een (open of gesloten) wandeling. 12   ❒ Ik weet wat een pad is en dat een cykel een gesloten pad is. 13   ❒ Ik weet wat een spoor is en dat een circuit een gesloten spoor is. 13   ❒ Ik ken de betekenis van een eulerspoor, -circuit en -graaf. 26   ❒ Ik ken het probleem van de zeven bruggen van Koningsbergen. 27   ❒ Ik ken de betekenis van een hamiltonspoor, -circuit en -graaf.   ❒ Ik weet dat een boom een graaf is die alle knopen met elkaar verbindt en geen cykels heeft.   ❒ Ik ken de betekenis van een tweedelingsgraaf.   ❒ Ik weet wat minimaal opspannende bomen zijn.   ❒ Ik kan het algoritme van Kruskal en/of het algoritme van Prim toepassen.   ❒ Ik kan het kortste pad bepalen op gewogen grafen. 86   ❒ Ik kan het algoritme van Dijkstra toepassen. 89   ❒ Ik ken enkele beroemde toepassingen op de grafentheorie (zoals het Chinese postbodeprobleem en het handelsreizigersprobleem). 103   ❒ Ik kan het 2-opt-algoritme toepassen. 106   ❒ Ik ken de betekenis van een knoopkleuring van een graaf en kan ze toepassen bij problemen. 121   ❒ Ik kan voor de kleuring van landkaarten knoopkleuringen toepassen. 126   ❒ Ik ken de vierkleurenstelling. 127   Grafen
1
93 1 6 Kortste pad tekenen met GeoGebra Ook met GeoGebra kun je het kortste pad bepalen als volgende knopen en bogen gegeven zijn Het kortste pad van A naar C is hierboven in het blauw aangeduid. Stappenplan Teken vijf punten A, B, C, D en E. Teken de lijnstukken [ Geef in het algebravenster het commando l1 f, g, h, j, k, l, m in. Bemerk dat dit de namen zijn van de getekende lijnstukken. Geef in het algebravenster het commando KortsteAfstand(l1,beginpunt,eindpunt,true) 7 Samenvatting Je kunt het kortste pad bepalen op gewogen grafen. Je kent het algoritme van Dijkstra.
18 Gegeven een groep van 10 personen is het mogelijk dat elke persoon precies vijf andere personen b Gegeven een groep van 9 personen is het mogelijk dat elke persoon precies vijf andere personen de hand drukt Gegeven een groep van 7 personen is het mogelijk dat elke persoon precies vier andere personen Bewijs dat in een graaf G het aantal knopen met een oneven graad even is. Teken een volledige graaf met 6 knopen. Hoeveel bogen telt die graaf b Wat is de grootte van een volledige graaf van orde 10 Wat is de graad in elke knoop van deze graaf Hoeveel bogen heeft een volledige graaf met knopen? 6 7 8
1 2 *

Discrete wiskunde is wiskunde waarbij een eindige structuur herkenbaar is of een zekere regelmaat aanwezig is.

In dit boek worden grafen behandeld, of het schematiseren (en algoritmiseren) van problemen met knopen en bogen.

Het ontstaan van de grafentheorie wordt vaak gelinkt aan het probleem van de zeven bruggen van Koningsbergen. Die stad maakte vroeger deel uit van Pruisen, maar heet nu Kaliningrad en ligt dus in Rusland. Het bruggenprobleem werd in de achttiende eeuw opgelost door de Zwitserse wiskundige Leonhard Euler.

Door de stad stroomt de Pregel (of Pregolja), die het eiland Kneiphof omringt en nadien in twee armen opsplitst. Om de verschillende stadsdelen met elkaar te verbinden zijn er zeven bruggen over de rivier.

De vraag die de inwoners van Koningsbergen zich stelden, was of het mogelijk is om zó door de stad te lopen dat je precies één keer over elke brug komt. Ga snel naar pagina 25 om het zelf uit te proberen.

De Hongaarse wiskundige Dénes Kőnig publiceerde in 1936 het eerste handboek over de grafentheorie : Theorie der endlichen und unendlichen Graphen.

Inhoud

Grafen

2

6
1 Terminologie 1 Inleidend voorbeeld  7 2 Planaire, gerichte en gewogen graaf  8 3 Definities  8 4 Speciale types van grafen  10 5 Wandelingen en paden  10 6 Samenvatting  12 7 Oefeningen  13
Eulercircuits, hamiltoncykels
bomen 1 Eulercircuits  24 2 Hamiltoncykels  26 3 Bomen  27 4 Tweedelingsgrafen  28 5 Samenvatting  29 6 Oefeningen  30 3 Minimaal opspannende bomen 1 Probleemstelling  40 2 Het algoritme van Kruskal  42 3 Het algoritme van Prim  44 4 Het algoritme van Prim (computationele vorm)  46 5 Minimaal opspannende bomen tekenen met GeoGebra  48 6 De stelling van Euler bij planaire grafen  49 7 Samenvatting  50 8 Oefeningen  52 4 Kortste paden 1 Het kortste pad  84 2 Probleemstelling  85 3 De lengte van een pad met een gegeven beginpunt  86 4 Het algoritme van Dijkstra  87 5 Een tweede voorbeeld  90 6 Kortste pad tekenen met GeoGebra  91 7 Samenvatting  91 8 Oefeningen  92 5 Toepassingen 1 Het Chinese postbodeprobleem  101 2 Efficiënte strooiservice  102 3 Het handelsreizigersprobleem  103 4 Het handelsreizigersprobleem met GeoGebra  105 5 Samenvatting  105 6 Oefeningen  106 6 Knoopkleuring van grafen 1 Probleemstelling  119 2 Definities  119 3 Algoritme 1 : starten met het laatste punt  120 4 Algoritme 2 : starten met het eerste punt  121 5 Toepassing 1 : radiofrequenties  122 6 Toepassing 2 : planningsproblemen  123 7 Toepassing 3 : kleuring van landkaarten  124 8 De vierkleurenstelling  125 9 Samenvatting  125 10 Oefeningen  126 Wat moet je kennen en kunnen?  141 Herhalingsoefeningen  142 Oplossingen  146 Trefwoordenregister  153
en

1 Terminologie

1 Inleidend voorbeeld

In een klein stadje ergens in Zuid-Europa rijdt een busdienst volgens onderstaand schema. De stopplaatsen hebben we gemakshalve vervangen door letters.

Die schematische voorstelling van de busdienst, met punten en lijnen, noemen we een graaf.

Een graaf bestaat uit knopen en bogen. De knopen (ook punten of knooppunten genoemd) worden door middel van bogen (lijnstukken, ribben, kanten, takken, wegen of verbindingen) met elkaar verbonden.

Merk op :

• Grafentheorie is geen meetkunde. De plaats van de knopen in het vlak, de lengte en de vorm van de bogen hebben geen belang. Hier zie je twee andere voorstellingen van de busdienst uit het inleidende voorbeeld.

• Twee grafen zijn gelijk als ze dezelfde knopen hebben en als ze tussen (dezelfde) knopen bogen hebben.

7 1 Terminologie
A B C D E
A B C D E A B D E C

2 Planaire, gerichte en gewogen graaf

Een planaire graaf is een graaf die in het platte vlak kan worden getekend zonder dat bogen elkaar kruisen. De graaf van de busdienst van de vorige bladzijde is dus planair.

Duiden we in het schema van de busdiensten de richting aan waarin de bussen rijden, dan krijgen we een graaf waarin de bogen een richting hebben. We spreken van een gerichte graaf.

Duiden we in het schema van de busdiensten het aantal kilometers aan dat de stopplaatsen van elkaar verwijderd zijn, m.a.w. staan er naast de bogen getallen, dan spreken we van een gewogen graaf

3 Definities

Een graaf G bestaat uit een eindige verzameling van punten (knopen genoemd) en een eindige verzameling van paren van knopen (bogen genoemd).

Elke boog van een graaf ‘verbindt’ twee knopen, die de eindpunten van de boog worden genoemd.

Bij het inleidende voorbeeld zijn :

• de knopen : A, B, C, D en E;

• de bogen : AC, AE, BD, BE, CE en DE.

Het aantal knopen in een graaf G is de orde ( n ) van de graaf.

Het aantal bogen is de grootte ( m ) van de graaf.

Bij het inleidende voorbeeld geldt dus :

• orde n = 5 ;

• grootte m = 6.

8
graaf
A B D E C A B D E C A B D E C 2 6 4 5 7 8

Er bestaan ook grafen waarbij er meer dan één boog tussen twee knopen mogelijk is. Dergelijke grafen noemen we multigrafen

Een enkelvoudige graaf of gewone graaf is een graaf die geen multibogen bevat. De graaf van de busdienst is er een voorbeeld van.

Voorbeeld 1:

Voorbeeld 2:

multigraaf gewogen graaf

graad van een knoop

De graad van een knoop in een graaf G is het aantal bogen dat uit die knoop vertrekt (of erin toekomt).

In voorbeeld 1 is de graad van A dus 4.

Notatie: deg( A) = 4

buren van een knoop

In voorbeeld 2 is de graad van B dus 2.

Notatie: deg( B) = 2

De buren van een knoop zijn knopen die rechtstreeks verbonden zijn met die knoop.

De graaf van een knoop in een gewone graaf is dus het aantal buren van die knoop.

We vatten het samen in volgende tabellen:

∆G is de hoogste graad die in G voorkomt.

δG is de kleinste graad die in G voorkomt.

Voorbeeld 1: ∆G = 4

Merk op :

Voorbeeld 2: ∆G = 4

G = 2 δG = 2

• Het aantal bogen van de graaf in voorbeeld 1 is 8. De som van alle graden van de knopen is 16.

• Het aantal bogen van de graaf in voorbeeld 2 is 6. De som van alle graden van de knopen is 12. eigenschap

In een graaf G met orde n en grootte m geldt : in woorden : De som van alle graden van alle knopen is gelijk aan het dubbel van het aantal bogen. in symbolen : n i = 1 deg(Xi )= 2m met m ∈ N0

9 1 Terminologie
A B D E C A B C D E
KNOOP BUREN BOGEN GRAAD KNOOP BUREN GRAAD A B, C, E 4 4 A C, E 2 B A, C 4 4 B D, E 2 C A, B, D 4 4 C A, E 2 D C, E 2 2 D B, E 3 E A, D 2 1 E A, B, C, D 4 16 12
δ

4 Speciale types van grafen

Een graaf waarin alle knopen dezelfde graad hebben, is een reguliere graaf. Als die graad gelijk is aan k noemen we het een k -reguliere graaf

Een graaf is volledig als elke knoop in de graaf verbonden is met alle andere knopen in de graaf. Hieronder zie je een volledige graaf van orde 4 en van orde 5.

Een volledige graaf met n knopen is ( n – 1)-regulier.

Een graaf G is samenhangend als elke knoop van de graaf bereikbaar is via een pad vanuit elke andere knoop van de graaf.

Hiernaast zie je een voorbeeld van een niet-samenhangende graaf :

5 Wandelingen en paden

Gegeven is de graaf G.

Omdat de knopen A en B en de knopen B en C door meer dan één boog zijn verbonden, is deze graaf een multigraaf Een enkelvoudige graaf is een graaf die geen multibogen bevat.

Een wandeling tussen twee knopen X en Y van een graaf is een opeenvolging van bogen die begint in X en eindigt in Y.

W = ( A, AB, B, BC, C, CA, A, AE, E, ED, D) is een wandeling van A naar D, ook wel een A–D-wandeling genoemd. Als er geen verwarring mogelijk is, gebruiken we de verkorte notatie W = ( A – B – C – A – E –

10
D A B C A B C D E
A B C D E A B C D E
D)

Wanneer de wandeling begint en eindigt in dezelfde knoop, dan spreken we van een gesloten wandeling ; in het andere geval wordt de wandeling een open wandeling genoemd.

W = ( A, AB, B, BC, C, CA, A) is een gesloten wandeling van A naar A.

Een pad tussen twee knopen X en Y is een wandeling waarbij elke knoop maximaal één keer doorlopen wordt (behalve eventueel het begin- en eindpunt).

W = ( A, AC, C, CD, D, DE, E) is een pad van A naar E.

Een spoor tussen twee knopen X en Y is een wandeling waarbij elke boog maximaal één keer wordt doorlopen.

W = ( A, AB, B, BA, A, AE, E, ED, D) kan een spoor zijn tussen A en D als de boog AB en BA verschillend zijn. Hier is het dus noodzakelijk dat je specificeert over welke boog de wandeling loopt.

Een gesloten pad wordt een cykel genoemd.

W = ( A, AB, B, BC, C, CA, A) is een cykel van A naar A.

Een gesloten spoor wordt een circuit genoemd.

W = ( A, AB, B, BC, C, CA, A) is een circuit van A naar A.

11 1 Terminologie
D E A B C
A B C D E D E A B C B C A D E D E A B C

6

Samenvatting

• Je kunt een graaf interpreteren als een model van een concrete situatie.

Een graaf G bestaat uit een eindige verzameling van punten (knopen) en een eindige verzameling van paren van knopen (bogen).

Het aantal knopen in een graaf G is de orde n van de graaf.

Het aantal bogen is de grootte m van de graaf.

• Je weet dat twee grafen gelijk zijn als ze dezelfde knopen hebben en als ze tussen dezelfde knopen bogen hebben.

• Je weet dat de buren van een knoop X van een graaf G de knopen zijn waarmee X rechtstreeks verbonden is. De graad deg( X) is het aantal bogen dat uit X vertrekt (of erin toekomt) in G. De graad van een knoop X in een gewone of enkelvoudige graaf is het aantal buren van X in G.

Eigenschap :

In een graaf 6 met orde n en grootte m is de som van alle graden van alle knopen is gelijk aan het dubbel van het aantal bogen.

n i = 1 deg(Xi )= 2m met m ∈ N0

• Je kent de betekenis van enkele speciale types van grafen.

Een reguliere graaf is een graaf waarin alle knopen dezelfde graad hebben.

Een volledige graaf is een graaf waar elke knoop verbonden is met alle andere knopen van de graaf.

Een volledige graaf met n knopen is ( n – 1)-regulier.

• Je kent de betekenis van een multigraaf, een enkelvoudige graaf, een (open of gesloten) wandeling, een pad, een cykel, een spoor en een circuit.

Een multigraaf is een graaf waarbij bepaalde knopen door meer dan één boog met elkaar verbonden zijn.

Is dat niet het geval, dan is de graaf een enkelvoudige graaf.

Een wandeling tussen twee knopen X en Y van een graaf is een opeenvolging van bogen die begint in X en eindigt in Y.

Een gesloten wandeling is een wandeling die begint en eindigt in dezelfde knoop.

Is dat niet het geval, dan wordt de wandeling een open wandeling genoemd.

Een pad tussen twee knopen is een wandeling waarbij elke knoop maximaal één keer doorlopen wordt (behalve eventueel het begin- en eindpunt).

Een cykel is een gesloten pad.

Een spoor tussen twee knopen is een wandeling waarbij elke boog maximaal één keer wordt doorlopen. Een circuit is een gesloten spoor.

Een graaf G is samenhangend als elke knoop van de graaf bereikbaar is via een pad vanuit elke andere knoop van de graaf.

12

7 Oefeningen

Gegeven is de graaf G.

a Bepaal de knopen en de bogen door opsomming.

b Bepaal de orde n en de grootte m van de graaf.

c Bepaal de graad van elke knoop.

d Bepaal ∆G en δG.

e Is dit een planaire graaf, m.a.w. kun je de graaf hertekenen zodat er geen bogen zijn die elkaar snijden ?

1 13 Grafen
1 A B C D E F

Teken de graaf G met als knopen K, L, M, N, O, P en Q en als bogen KL, KM, KN, KP, KQ, QL, QN, NM, MO, OP en PL

a Bepaal de orde n en de grootte m van de graaf.

b Bepaal de graad van elke knoop.

c Bepaal ∆G en δG.

14
2

Teken de planaire graaf G waarvoor geldt:

– De buren van P zijn Q, S, T en U. – De buren van T zijn P, Q en W.

– De buren van Q zijn P, R, T, U, V en W. – De buren van U zijn P, Q, R en S.

– De buren van R zijn Q, S, U en V. – De buren van V zijn Q, R en W.

– De buren van S zijn P, R en U. – De buren van W zijn Q, T en V.

a Teken een graaf G van orde 4 waarbij de graad van elke knoop gelijk is aan 2.

b Hoeveel bogen telt die graaf ?

Waarom kun je geen graaf tekenen van orde 7 waarbij de graad van elke knoop gelijk is aan 3 ?

1 15 Grafen
3 4 5

a Gegeven een groep van 10 personen : is het mogelijk dat elke persoon precies vijf andere personen de hand drukt ?

b Gegeven een groep van 9 personen : is het mogelijk dat elke persoon precies vijf andere personen de hand drukt ?

c Gegeven een groep van 7 personen : is het mogelijk dat elke persoon precies vier andere personen de hand drukt ?

Bewijs dat in een graaf G het aantal knopen met een oneven graad even is.

a Teken een volledige graaf met 6 knopen. Hoeveel bogen telt die graaf ?

b Wat is de grootte van een volledige graaf van orde 10 ? Wat is de graad in elke knoop van deze graaf ?

c Hoeveel bogen heeft een volledige graaf met n knopen ?

16
6 7 8

Op een feestje begroet iedereen iedereen met een elleboogtik.

In totaal worden er 276 elleboogtikjes uitgewisseld. Hoeveel personen zijn er aanwezig op het feestje ?

Hoeveel bogen heeft een 5-reguliere graaf met 10 knopen ?

a Hoeveel samenhangende 2-reguliere grafen kun je tekenen met 4 knopen?

b Hoeveel samenhangende 2-reguliere grafen kun je tekenen met 5 knopen?

c Hoeveel samenhangende 3-reguliere grafen kun je tekenen met 5 knopen?

d Hoeveel samenhangende 3-reguliere grafen kun je tekenen met 6 knopen?

1 17 Grafen
9 10 11

Een graaf bestaat uit 16 knopen en 27 bogen zodat elke knoop graad 3 of 4 heeft. Hoeveel knopen hebben als graad 4 ?

Een graaf bestaat uit 19 knopen en 41 bogen. Drie knopen hebben graad 6, de andere knopen hebben graad 3 of 5. Hoeveel knopen hebben graad 5 ?

18
12 13

Tussen zes vrienden (Arin, Benoît, Cedric, Djenna, Ella en Farid) werd gisteren heel wat gechat. In totaal waren er 10 chatsessies tussen twee vrienden :

• Farid chatte met iedereen, behalve met Djenna.

• Benoît chatte met iedereen, behalve met Ella.

• Arin chatte met slechts twee personen.

• Cedric chatte met vier personen.

Stel de onderlinge chatsessies grafisch voor d.m.v. een graaf. Met hoeveel personen chatte Djenna ?

1 Grafen 19
14

Acht steden zijn via een spoornetwerk onderling verbonden. Vanuit elke stad vertrekken er minstens drie spoorlijnen. In totaal zijn er 14 spoorwegverbindingen tussen twee steden.

• Stad E is verbonden met de steden D, F en G.

• Stad F is verbonden met de steden B, C, D, E en H.

• Stad H is verbonden met de steden A, B, C, F en G.

• Vanuit B kun je o.a. naar stad A.

• Vanuit C kun je o.a. naar stad D.

a Stel deze situatie grafisch voor d.m.v. een graaf.

b Met welke steden is stad G verbonden ?

In een gebied van de Rocky Mountains bevinden zich zeven berghutten die via wandelpaden met elkaar verbonden zijn. De berghutten hebben elk een eigen naam : Aibo, Baco, Chuck, Dax, Eddo, Falco en Goa.

In totaal zijn er 9 wandelpaden.

• Vanuit Aibo, Baco, Chuck, Falco en Goa vertrekken telkens 3 paden.

• Vanuit Aibo kun je rechtstreeks naar Baco, Chuck of Dax.

• Vanuit Goa kun je rechtstreeks naar Chuck, Dax of Falco.

• Eddo kun je enkel bereiken vanuit Baco.

a Stel de situatie grafisch voor d.m.v. een graaf.

b Met welke berghutten is Falco rechtstreeks verbonden ?

20
15 16

Drie van volgende vier grafen zijn gelijk. Welke ?

1 21 Grafen
a c b d 17

Welke van volgende grafen zijn gelijk ? (Tip: als je een graaf tekent met GeoGebra kan je de knopen verschuiven.)

Toon aan dat volgende grafen gelijk zijn. Deze graaf staat bekend onder de naam Petersengraaf

22
a c e b d f
18 19

Hieronder zie je zes wandelingen. Welke zijn paden, welke zijn sporen, welke zijn cykels en welke zijn circuits ?

a W1 = ( A – B – C – G – D)

b W2 = ( A – B – C – D – G – C – A)

c W3 = ( D – G – C – A – F – D)

d W4 = ( C – D – G – F – G)

e W5 = ( E – F – A – C – G – D – E)

f W6 = ( F – A – C – G – F – D – E – F)

1 23 Grafen
20 B A C D E F G

2Eulercircuits, hamiltoncykels en bomen

1 Eulercircuits

Instap :

Luka bezoekt een dierenpark. De wandelpaden in het park zijn voorgesteld op deze graaf. Hij wil echt alles zien : hij wil dus alle wegen (= bogen) bewandelen, maar wil graag eenzelfde boog slechts één keer passeren.

Een eulerspoor (of eulerwandeling) in een graaf G is een spoor dat elke boog van G bevat. Een eulercircuit (of eulertour) is een circuit dat elke boog van G bevat. Een eulergraaf is een graaf die een eulercircuit bevat.

Bij het voorbeeld van Luka in het dierenpark is dit een oplossing :

Voorbeelden :

• De weersvoorspelling kondigt vriestemperaturen aan. De strooidiensten rukken uit. Zij willen alle wegen in de stad bestrooien en dat het liefst door zo weinig mogelijk omwegen te maken.

• De reinigingsdienst wil zijn wekelijkse huisvuilronde maken met zo weinig mogelijk omwegen.

• Een postbode wil zijn ronde uitstippelen zonder omwegen.

eigenschap

Een multigraaf G bevat een eulerspoor als en slechts als G precies twee knopen met een oneven graad heeft of als de graad van elke knoop even is.

• Heeft de graaf twee knopen van een oneven graad, dan begint het eulerspoor in een van de knopen met een oneven graad en eindigt het in de andere knoop met een oneven graad.

• Is de graad van alle knopen even, dan kan het eulerspoor starten in om het even welke knoop en zal het daar dan ook eindigen.

24
A B C D E

De zeven bruggen van Koningsbergen en Leonhard Euler (Bazel 1707 – Sint-Petersburg 1783)

Zoals je al kon lezen in de inleiding valt het ontstaan van de grafentheorie samen met het probleem van de bruggen van Koningsbergen. Dat probleem werd in de achttiende eeuw opgelost door de Zwitserse wiskundige Leonhard Euler.

Op de tekening zie je hoe de Pregel door Koningsbergen stroomt. De rivier omringt er het eiland Kneiphof (A) en splitst zich dan op in twee armen. Om de verschillende stadsdelen met elkaar te verbinden, zijn er zeven bruggen over de rivier. De hamvraag is: is het mogelijk om zó te lopen dat je precies één keer over elke brug komt.

Om een eulerspoor of eulercircuit (waarbij je precies één keer over elke brug of boog loopt) mogelijk te maken, moeten er nul of twee knopen met een oneven graad zijn. Zijn er twee knopen met een oneven graad, dan moet de wandeling starten in het ene oneven punt en eindigen in het andere oneven punt. Zijn er geen punten van een oneven graad, dan kan de wandeling overal beginnen en eindigt de wandeling waar hij begonnen is. Geen van beide is in Koningsbergen mogelijk omdat er meer dan twee knopen een oneven graad hebben. Het is dus onmogelijk om een wandeling te maken waarbij je precies één keer over elke brug komt.

Een eulercircuit is genoemd naar Leonhard Euler. Met meer dan 900 publicaties op zijn naam is hij de meest productieve wiskundige van de 18e eeuw.

Euler studeerde aan de universiteit van Bazel, waar hij les kreeg van Johann Bernoulli (1667–1748). Toen hij achttien was, publiceerde hij zijn eerste wiskundige bijdrage, een verhandeling over het aanbrengen van masten op (zeil)schepen.

In 1727 vertrok Euler op vraag van Catharina I (keizerin van Rusland) naar Sint-Petersburg om daar adjunctprofessor te worden aan de academie van wetenschappen. Daniel Bernoulli (een zoon van Johann) was er toen hoofd van de leerstoel wiskunde, een functie die Euler van hem overnam in 1733. In dat jaar trouwde hij met Katharina Gsell. Samen kregen ze dertien kinderen, waarvan er maar vijf de volwassen leeftijd bereikten. Euler beweerde een deel van zijn beste werk te hebben gemaakt als er kinderen rondom hem speelden.

In 1741 verhuisde hij naar Berlijn, waar hij professor in de wiskunde werd aan de nieuwe academie voor wetenschap. Hij was toen bijna blind aan zijn rechteroog, maar dat belette hem niet om fenomenaal werk te leveren.

In 1766 keerde Euler terug naar Sint-Petersburg, waar hij na een ziekte volledig blind werd. Hij bleef echter onvermoeid doorwerken dankzij zijn uitzonderlijk geheugen en publiceerde bijna de helft van zijn totale werk in die periode. Hij overleed er in 1783 aan een hersenbloeding.

Euler was niet alleen belangrijk voor de wiskunde, maar ook voor de fysica, de mechanica en de astronomie. Hij hielp ook heel wat praktische problemen oplossen op allerlei gebieden, zoals cartografie, magnetisme, machines, scheepsbouw en topologie (de zeven bruggen van Koningsbergen).

De notatie f(x) voor een functie, e voor het grondtal van de natuurlijke logaritme, i voor de wortel uit – 1, π voor pi, ∑ voor het sommatieteken ... we hebben het allemaal te danken aan Euler. Ook beroemd is zijn formule eπi + 1 = 0.

25 2 Eulercircuits,
en bomen
hamiltoncykels

2 Hamiltoncykels

Instap :

Luka bezoekt de dag erna een attractiepark. Hij houdt van rollercoasters en wil graag de 5 rollercoasters in het park eenmaal beleven. Hij wil dus elke knoop juist eenmaal aandoen.

Een hamiltoncykel in een graaf G is een cykel die elke knoop van G bevat.

Een graaf die een hamiltoncykel bevat, noemen we een hamiltongraaf

Voor het voorbeeld van Luka in het attractiepark is dit een oplossing :

Voorbeelden :

• Een transportfirma moet een aantal pakjes leveren in verschillende steden.

• Een robotarm moet verschillende punten lassen van een elektronisch circuit.

stelling van Dirac

Als in een graaf G van orde n groter of gelijk aan 3 geldt dat deg(X) ⩾ n 2 voor alle knopen X van G, dan is G een hamiltongraaf.

Voorbeeld 1 :

Onderstaande graaf is van orde n = 8. De graad van elke knoop is groter dan of gelijk aan 4 = n 2 , dus moet deze graaf volgens de eigenschap een hamiltoncykel bevatten.

Dat klopt.

De wandeling W = ( A – B – D – H – G – C – E – F – A) is een hamiltoncykel.

Voorbeeld 2 :

De voorwaarde is voldoende en niet nodig.

Onderstaande graaf is van orde n = 7.

De graad van B is 2, kleiner dan 3,5 = n 2

Toch is de graaf een hamiltongraaf.

De wandeling W = ( A – B – F – G – E – C – D – A) is een hamiltoncykel.

26
A B C D G E H F A B C D E F G A B C D E A B C D E

3 Bomen

Een boom is een graaf die alle knopen met elkaar verbindt en geen cykels bevat.

Voorbeelden :

• Verbind een aantal computers met elkaar d.m.v. een zo goedkoop mogelijk netwerk.

• Ontwerp het kortste rioleringsnetwerk dat een aantal steden met elkaar verbindt.

• Hieronder zie je verschillende bomen op zes punten. Figuren 2 en 4 zijn gelijk.

eigenschappen

Een boom op n knopen telt n – 1 bogen.

Wanneer je een boog weglaat uit een boom, is de graaf niet langer samenhangend.

Sir William Rowan Hamilton (Dublin 1805 – 1865)

Deze Ierse natuurkundige, astronoom en sterrenkundige leverde belangrijke bijdragen aan de ontwikkeling van de optica, dynamica en algebra.

Dankzij de taallessen van zijn oom kon Hamilton op zevenjarige leeftijd al Latijn, Grieks, Frans en Duits lezen. In 1824 ging hij studeren aan het Trinity College in Dublin, waar hem in 1827 de leerstoel Astronomie werd aangeboden. Hamilton is vooral bekend voor zijn ontdekking van de quaternionen in 1843. Na een zoektocht van vele jaren kwam het idee van de quaternionenvermenigvuldiging plots bij hem op tijdens een wandeling met zijn vrouw in Dublin. Hij grifte de onderstaande formule op een steen van de Broughambrug : i2 = j2 = k2 = ijk = 1

In 1857 vond hij het wiskundig spel The icosian game uit (zie oef 7 blz. 33).

27 2 Eulercircuits, hamiltoncykels en bomen

4 Tweedelingsgrafen

tweedelingsgraaf

Een tweedelingsgraaf (of een bipartiete graaf) is een graaf waarvan je de knopen in twee groepen kunt verdelen op zo’n manier dat elke boog van de graaf een knoop van groep 1 verbindt met een knoop van groep 2. Tussen de knopen van dezelfde groep mogen er dus geen bogen zijn.

Voorbeeld :

Een tweedelingsgraaf met zes knopen.

De knopen van groep 1 : (B, D, E) zijn rood.

De knopen van groep 2 : (A, C, F) zijn zwart.

Taak : Zijn de volgende grafen tweedelingsgrafen ? Verklaar.

Toepassing : de huwelijksstelling van Hall

Gegeven : zes vrouwen en zes mannen.

De zes vrouwen vallen elk op een aantal mannen (voorgesteld door de zwarte strepen die van A naar B lopen). Kunnen de zes vrouwen met de zes mannen worden gekoppeld zodat elke vrouw een man van haar keuze trouwt ?

De Engelse wiskundige Philip Hall (1904-1982) stelde in 1935 de nodige en voldoende voorwaarde op om een matching te vinden. Hij gebruikte hierbij bipartiete grafen.

Wil je er meer over weten, ga dan naar www.wiskundemagie.be of www.wiskundemeisjes.nl

28
A B C D E F G A B C D E F G
A B C D E F a b c d e f 1 2 3 4 5 6 A vrouwen B mannen

5 Samenvatting

• Je kent de betekenis van een eulerspoor, een eulercircuit en een eulertour en de bijbehorende eigenschappen.

EIGENSCHAPPEN

EULERCIRCUIT Een eulerspoor (of eulerwandeling) in een graaf G is een spoor dat elke boog van G bevat.

Een eulercircuit (of eulertour) is een circuit dat elke boog van G bevat.

Een eulergraaf is een graaf die een eulercircuit bevat.

Een multigraaf G bevat een eulerspoor als en slechts als G precies twee knopen met een oneven graad heeft of als de graad van elke knoop even is.

• Heeft de graaf twee knopen van een oneven graad, dan begint de eulerwandeling in een van de knopen met een oneven graad en eindigt ze in de andere knoop met een oneven graad.

• Is de graad van alle knopen even, dan kan het eulerspoor starten in om het even welke knoop en zal het daar dan ook eindigen.

• Je kent de betekenis van een hamiltoncykel en een hamiltonpad.

HAMILTONCYKEL Een hamiltoncykel in een graaf G is een cykel die elke knoop van G bevat.

Een hamiltongraaf is een graaf die een hamiltoncykel bevat.

EIGENSCHAPPEN

Als in een graaf G van orde n groter dan of gelijk aan 3 geldt dat deg(X) ⩾ n 2 voor alle knopen X van G, dan is G een hamiltongraaf.

• Je kent de betekenis van enkele speciale types van grafen zoals bomen en tweedelingsgrafen.

EIGENSCHAPPEN

BOOM Een boom is een graaf die alle knopen met elkaar verbindt en geen cykels bevat.

TWEEDELINGSGRAAF

Een tweedelingsgraaf (of een bipartiete graaf) is een graaf waarvan je de knopen in twee groepen kunt verdelen op zo’n manier dat elke boog van de graaf een knoop van groep 1 verbindt met een knoop van groep 2. Tussen de knopen van dezelfde groep mogen er dus geen bogen zijn.

Een boom op n knopen telt n – 1 bogen.

Wanneer je een boog weglaat uit een boom, is de graaf niet langer samenhangend.

29 2
Eulercircuits, hamiltoncykels en bomen

Oefeningen

Zoek een eulercircuit in de volgende twee grafen.

In een grottenstelsel in Azië zijn twee speologen vermist. De tijd dringt want het water in de grotten stijgt.

De reddingsdiensten willen de volledige grotten doorzoeken. Kun je een route uitstippelen voor de hulpdiensten startend in A (ingang van de grotten) en eindigend in Z (uitgang van de grotten) zodat ze elke gang slechts eenmaal moeten passeren ?

30 6
a b A B C D E B C A F E G H D I J
A B C G H I E J F D T S U V W R Z 1 2

Zoek een eulercircuit in volgende graaf.

Maak een wandeling door deze kamers. Telkens als je een deur passeert, slaat die onherroepelijk dicht. Je start bij de ingang en wandelt naar de uitgang, en je moet alle deuren doorlopen (kijk goed : vaak zitten er meerdere deuren in één muur).

Tip : herteken deze kamers als een graaf en vervang elke kamer door een knoop en elke deur door een boog.

2 31 Eulercircuits, hamiltoncykels en bomen
A B C D E F G H I J K L M N O P Q R S
3 4 In Uit

a Kun je deze figuur tekenen zonder je potlood op te heffen ? Je mag elk lijnstuk slechts één keer tekenen.

b Is dit een eulercircuit of een hamiltongraaf ?

Gegeven is de volgende graaf.

a Waarom is een eulercircuit in deze graaf niet mogelijk ?

b Hoeveel bogen moet je minstens bijtekenen om van de graaf een eulergraaf te maken ?

c Hoeveel bogen moet je minstens schrappen om van de graaf een eulergraaf te maken ?

32
5 6 A B C D E F G H I J K L

De icosian game is een wiskundig spel uitgevonden in 1857 door William Rowan Hamilton. Het doel is een hamiltoncykel te vinden langs de bogen van een dodecaëder, zodat elke knoop één keer wordt bezocht en het eindpunt gelijk is aan het beginpunt. Zoek een hamiltoncykel in deze dodecaëder.

Dit spel is trouwens ook bekend als Reis rond de wereld. Hierbij stellen de knopen grote steden voor verspreid over de wereld. Het is de bedoeling alle steden één keer te bezoeken.

a Hoeveel hamiltoncykels zijn er mogelijk in een volledige graaf met 4 knopen ?

b Hoeveel hamiltoncykels zijn er mogelijk in een volledige graaf met 5 knopen ?

c Hoeveel hamiltoncykels zijn er mogelijk in een volledige graaf met n knopen ?

2 33 Eulercircuits,
hamiltoncykels en bomen
7 F E H G L I A B C D J K M N P Q R S T U 8

Zoek een hamiltoncykel in de graaf opgespannen door de ribben van een kubus. Toon aan met GeoGebra dat de twee grafen gelijk zijn.

In een bos werd een kabouterpad aangelegd voor kleuters dat op elk kruispunt een leuke legende bevat in verband met de plaatselijke kabouters.

Als een kleuterjuf de wandeling start in A en die wil eindigen in B zonder dat ze een kruispunt tweemaal aandoet, hoe moet ze dan wandelen ?

34
A B C D E F G H A B C D E F G H
9 10 A B C D E F G H

Onderstaande graaf stelt de oude rioleringskanalen van een stad voor. De knopen zijn de oude riooldeksels.

a Is het mogelijk een tocht te maken door de riolen zodat je elk putdeksel precies eenmaal passeert ?

b Is het mogelijk een tocht te maken door de riolen zodat je elk rioleringskanaal precies één keer bewandelt ?

De figuur hiernaast is de plattegrond van een huis.

a Is het mogelijk een tocht te maken in de woning startend en eindigend in de hal waarbij je elke kamer slechts eenmaal doorloopt ?

b Is het mogelijk een tocht te maken in de woning startend en eindigend in de hal waarbij je elke deur precies eenmaal passeert ?

2 35 Eulercircuits,
hamiltoncykels en bomen
11 A B C D E F G H I J K L M N 12 Hal

Deze graaf stelt de plattegrond van een pretpark voor. De bogen zijn de wandelpaden van het park, de knopen zijn de plaatsen waar de vuilnisbakken staan. Bij volgende vragen vertrekken en eindigen de ijsverkoper en de jobstudent bij de receptie.

a De ijsverkoper moet elke middag een tochtje door het park rijden zodat hij alle baantjes precies één keer aandoet. Bepaal een mogelijk traject voor de man.

b Een jobstudent moet ’s avonds alle vuilnisbakken legen. Bepaal een route voor de jobstudent zodat hij alle plaatsen precies één keer aandoet.

In een gezelschap van 12 personen kent iedereen minstens 6 anderen uit de groep. Is er een tafelschikking aan een ronde tafel mogelijk waarbij iedereen naast twee personen zit die hij of zij kent ?

Teken een graaf met vijf knopen die zowel een eulergraaf als een hamiltongraaf is.

36
13 receptie A B C D E F G H I J R 14 15

Is een hamiltoncykel mogelijk in deze graaf ?

Waarom (niet) ?

Hoeveel bogen moet je minimaal bijtekenen om er een hamiltongraaf van te maken ?

a De herschelgraaf is een niet-hamiltongraaf, m.a.w. je kunt in deze graaf geen hamiltoncykel vinden. Ga dit na.

b De herschelgraaf is hypohamiltoniaans, d.w.z. dat elke graaf die ontstaat door het verwijderen van om het even welke knoop hamiltoniaans is. Ga dit na.

2 37 Eulercircuits, hamiltoncykels en bomen
16 A B C D E F G H I J K L M N 17

Hieronder zie je drie tweedelingsgrafen. Kleur de knopen van groep 1 in het blauw, de knopen van groep 2 laat je in het groen.

Kan een tweedelingsgraaf met een oneven aantal knopen een hamiltongraaf zijn ? Verklaar.

38
a b A B C D E F G A B C D E F G H I J K c A B C D E F G H I J K L M N O P Q
18 19

VWO 2021 tweede ronde, vraag 30 © Vlaamse Wiskunde Olympiade vzw 20

Eulercircuits, hamiltoncykels en bomen

Een hamiltoncircuit van een octaëder (een regelmatig achtvlak) bestaat uit zes ribben die achtereenvolgens op elkaar aansluiten en waarvan de zesde ribbe aansluit op de eerste, zodat elk hoekpunt van de octaëder op precies twee van die ribben ligt. Hoeveel niet-congruente hamiltoncircuits heeft een octaëder ?

(A) 0 (B) 1 (C) 2 (D) 3 (E) 6

2 39

Minimaal opspannende bomen

1 Probleemstelling

Een IT’er wil zeven computers in een netwerk plaatsen en dat met zo weinig mogelijk kosten. De kostprijs voor de verbinding tussen twee computers staat naast het lijnstuk vermeld. We hebben dus een gewogen graaf. Om praktische redenen zijn sommige verbindingen tussen twee computers niet rechtstreeks mogelijk.

In een nieuwe verkaveling wil een bouwpromotor zeven huizen aansluiten op een nieuw aan te leggen rioleringsnetwerk. De verbinding tussen de huizen onderling moet zo goedkoop mogelijk gebeuren. De kostprijs voor elke verbinding staat naast het lijnstuk vermeld. Sommige rechtstreekse verbindingen tussen twee huizen zijn niet realiseerbaar.

Grafische voorstelling van het probleem :

Om dit probleem op te lossen zijn er een aantal algoritmen ontworpen:

• het algoritme van Kruskal ;

• het algoritme van Prim (dat wordt ook vaak het algoritme van Prim-Dijkstra genoemd ; Dijkstra komen we opnieuw tegen in het hoofdstuk over de kortste paden).

Het nadeel van het eerste algoritme (dat er het eerst was) is dat het moeilijk programmeerbaar is. In de praktijk gaat het immers vaak over tientallen computers of huizen in de plaats van zeven.

40
3
A B C D E F G 6 4 4 4 6 7 8 3 3 5 5 2

Edsger Dijkstra (Rotterdam 1930 – Nuenen 2002)

Edsger Dijkstra was een Nederlandse wiskundige en informaticus, die een belangrijke bijdrage heeft geleverd op het gebied van gestructureerd programmeren. Dankzij hem werd programmeren een wetenschap.

Zijn vader was een scheikundige en zijn moeder een wiskundige. Dijkstra studeerde wiskunde en theoretische natuurkunde aan de universiteit van Leiden. Tijdens een zomercursus in 1954 aan de universiteit van Cambridge maakte de jonge Dijkstra kennis met zijn toekomstige passie: programmeren. Hij promoveerde in 1958 aan de universiteit van Amsterdam in de informatica en ging daarna als programmeur aan de slag bij het CWI in Amsterdam.

Later werd hij hoogleraar wiskunde aan de technische universiteit van Eindhoven (1962 – 1984) en hij eindigde zijn academische loopbaan als hoogleraar computerwetenschappen aan de universiteit van Texas (1984 – 1999).

Voor zijn bijdragen in de informatica in de jaren vijftig kreeg Dijkstra in 1972 de A.M. Turing Award, de hoogste onderscheiding in de informatica. Ook nu nog wordt elk jaar een Dijkstraprijs uitgereikt voor ‘distributed computing’ : die award had eerst een andere naam maar toen Dijkstra winnaar was in 2002 kreeg die prompt zijn naam.

Dijkstra staat bekend om zijn wiskundig en logisch inzicht en wordt beschouwd als de grondlegger van het hedendaagse gestructureerd programmeren. Hij was een grote tegenstander van de GOTO-opdracht (een bepaald soort instructie in de programmeertaal). Hij schreef er ooit een open brief over, getiteld ‘GOTO statement considered harmful’, die een klassieker werd in de geschiedenis van de informatica : gedaan met wilde sprongen met GOTO-instructies, vanaf nu moesten WHILE, DO en UNTIL de klus klaren.

Ook was Dijkstra een graag geziene leerkracht. Hij had een vleugelpiano in plaats van een tv, zijn vulpen was zijn favoriete tekstverwerker en hij was gekend om zijn bijzondere uitspraken. Enkele voorbeelden : ‘je moet de wereld niet geven waar ze om vraagt, maar wat ze nodig heeft’ en ‘het testen van een programma is een effectieve manier om de aanwezigheid van fouten aan te tonen, maar het is volkomen inadequaat om hun afwezigheid te bewijzen.’

In de strijd om het oplossen van het zogenaamde handelsreizigersprobleem ontwikkelde Dijkstra in 1959 het ‘kortstepadalgoritme’, waarmee de kortste weg berekend kan worden die een handelsreiziger moet afleggen om een willekeurig aantal steden te bezoeken. Dat vind je in dit boek terug op pagina 105. Hiermee ontwikkelde hij eigenlijk de routeplanner van nagenoeg alle navigatiesystemen.

Edsger Dijkstra (links) met twee collega’s van het CWI in Amsterdam : Bram Loopstra, een andere computerpionier, en Ria Debets, met wie hij in 1957 in het huwelijksbootje stapte.

41 3 Minimaal opspannende bomen
Bron : wikipedia

2 Het algoritme van Kruskal

Dit algoritme werd in 1956 ontdekt door de Amerikaanse wiskundige en statisticus Joseph Kruskal (New York 1928 – 2010).

Stap 1 & 2

Stap 1

Kies de boog met het kleinste gewicht. Hier is dat de boog FG.

Stap 2

Kies nu weer de boog met het kleinste gewicht (op FG na dus) en voeg die toe.

We kunnen kiezen: AG of DE.

We kiezen de boog DE.

Stap 3

Kies een volgende boog met de kleinste waarde (op FG en DE na), maar zorg dat hierbij geen cykels ontstaan. Dat is de boog AG.

Stap 4

We gaan volgens hetzelfde principe verder.

We kunnen kiezen uit de bogen AC, FD en FE.

We kiezen FE.

42
A B C D E F G 2
A B C D E F G 2 Stap
3
2
A B C D E F G 2 Stap 3 3 3
A B C D E F G 2 Stap 4 3 3 4

Stap 5

De boog FD kunnen we niet kiezen, anders ontstaat de cykel FDEF. Boog AC is de enige mogelijkheid.

Stap 6

Ten slotte volgt de boog AB.

Het totale gewicht van de boom is 22.

Je bekomt nu de minimaal opspannende boom met een totaal gewicht van 22.

minimaal opspannende boom

De minimaal opspannende boom is de graaf die binnen een verbonden, gewogen graaf met het kleinste gewicht alle punten verbindt.

Algoritme van Kruskal

• Kies de boog met het kleinste gewicht.

• Kies de boog met het kleinste gewicht die nog niet tot de boom behoort zodat de nieuwe graaf geen cykel bevat.

• Herhaal de vorige stap totdat er geen nieuwe boog gekozen kan worden, m.a.w. totdat alle knopen tot de boom behoren.

43 3 Minimaal opspannende bomen
A B C D E F G 2 Stap 5 3 3 4 4
A B C D E F G 2 Stap 6 3 3 4 4 6

3 Het algoritme van Prim

Dit algoritme werd in 1930 ontdekt door de wiskundige Vojtˇech Jarník en in 1957 onafhankelijk herontdekt door de informaticus Robert C. Prim. In 1959 werd het ook door Dijkstra ontdekt.

Waar het algoritme van Kruskal vertrekt van bogen, vertrekt het algoritme van Prim van knopen.

Stap 2

Stap 1

Kies een willekeurige knoop, bijvoorbeeld A.

Stap 2

Neem vanuit A de boog met het kleinste gewicht, de kleinste getalwaarde. Dat is de boog AG. Stap 3

Stap 3

Neem vanuit de knopen A en G de boog met het kleinste gewicht. Dat is de boog GF.

Stap 4

Neem vanuit knopen A, G en F de boog met het kleinste gewicht die verschilt van de aanwezige bogen en zorg dat de boog geen cykel vormt met de bogen die je al koos.

We hebben blijkbaar de keuze: boog AC, boog FD of boog FE. We kiezen bv. boog FD.

44
A B C D E F 3 G
A B C D E F 3 2 G
Stap 4 A B C D E F 3 2 4 G

Minimaal opspannende bomen

5

Neem vanuit A, G, F en D de boog met het kleinste gewicht die verschilt van de aanwezige bogen en zorg dat de boog geen cykel vormt met de bogen die je al koos. Dat is boog DE.

6

Neem vanuit A, G, F, D en E de boog met het kleinste gewicht die verschilt van de aanwezige bogen en zorg dat de boog geen cykel vormt met de bogen die je al koos. Boog FE mogen we dus niet nemen (FEDF vormen een cykel), we nemen boog AC.

Stap 7

Neem vanuit A, G, F, D, E en C de boog met het kleinste gewicht die verschilt van de aanwezige bogen en zorg dat de boog geen cykel vormt met de bogen die je al koos. Dat is boog AB.

We hebben nu de minimaal opspannende boom gecreëerd met een totaal gewicht van 22.

Opmerking:

Start je met een andere knoop of neem je onderweg een andere keuze als er meerdere mogelijkheden zijn (zoals in stap 4 boog FE), dan krijg je een andere boom. Het totale gewicht van de boom verandert echter niet.

Algoritme van Prim

• Kies een willekeurige knoop in de graaf als begin van de boom.

• Als de boom nog niet alle knopen bevat, bepaal dan de boog in de graaf met als eerste eindpunt een knoop die al aanwezig is in de boom en het tweede eindpunt een knoop die nog niet aanwezig is in de boom, en waarvoor het gewicht minimaal is. Zijn er meerdere mogelijkheden, dan kies je er één willekeurig.

• Het algoritme stopt als de boom alle knopen bevat.

45 3
Stap 5 A B C D E F 3 2 4 3 G Stap
Stap 6 A B C D E F 3 2 4 4 3 G Stap
Stap 7 A B C D E F 3 2 4 6 4 3 G

4 Het algoritme van Prim (computationele vorm)

Stap 1 Maak een tabel van alle bogen en hun gewicht tussen de verschillende knopen.

Stap 2 Kies een willekeurige knoop, bijvoorbeeld A.

Stap 3 Verwijder rij A uit de tabel en zoek in kolom A de kleinste waarde.

Stap 4 Kijk welke knoop bij die kleinste waarde hoort. Hier is dat G. Voeg boog AG aan de boom toe.

Stap 5 Verwijder rij G uit de tabel en zoek in de kolommen A en G naar de kleinste waarde.

Stap 6 Kijk welke knoop bij die kleinste waarde hoort. Hier is dat F (in kolom G). Voeg de boog GF aan de boom toe.

Stap 7 Verwijder rij F uit de tabel en zoek in de kolommen A, G en F naar de kleinste waarde.

46
A B C D E F G A – 6 4 – – 8 3 B 6 – 7 – – – –C 4 7 – 5 – – 5 D – – 5 – 3 4 6 E – – – 3 – 4 –F 8 – – 4 4 – 2 G 3 – 5 6 – 2 –
A B C D E F G B 6 – 7 – – – –C 4 7 – 5 – – 5 D – – 5 – 3 4 6 E – – – 3 – 4 –F 8 – – 4 4 – 2 G 3 – 5 6 – 2 –
A B C D E F G B 6 – 7 – – – –C 4 7 – 5 – – 5 D – – 5 – 3 4 6 E – – – 3 – 4 –F 8 – – 4 4 – 2
A B C D E F G B 6 – 7 – – – –C 4 7 – 5 – – 5 D – – 5 – 3 4 6 E – – – 3 – 4 –

Minimaal opspannende bomen

Stap 8 Kijk welke knoop bij die kleinste waarde hoort. Hier is dat C, D of E. Kies bijvoorbeeld D. Voeg de boog FD aan de boom toe.

Stap 9 Verwijder rij D uit de tabel en zoek in de kolommen A, G, F en D naar de kleinste waarde.

B 6 – 7 – – – –

C 4 7 – 5 – – 5

E – – – 3 – 4 –

Stap 10 Kijk welke knoop bij die kleinste waarde hoort. Hier is dat E. Voeg de boog DE aan de boom toe.

Stap 11 Verwijder rij E uit de tabel en zoek in de kolommen A, G, F, D en E naar de kleinste waarde.

B 6 – 7 – – – –

C 4 7 – 5 – – 5

Stap 12 Kijk welke knoop bij die kleinste waarde hoort. Hier is dat C. Voeg de boog AC aan de boom toe.

Stap 13 Verwijder rij C uit de tabel en zoek in de kolommen A, G, F, D, E en C naar de kleinste waarde. A B

B 6 – 7 – – – –

Stap 14 Voeg de boog AB aan de boom toe. Je bekomt de minimaal opspannende boom. Het totale gewicht van de boom is 22.

47 3
A B C D E F G
A B C D E F G
C D E F G
A B C G F D E 4 6 3 2 4 3

5 Minimaal opspannende bomen tekenen met GeoGebra

Probleemstelling

Net buiten de stad wordt een nieuw bedrijventerrein aangelegd. Er is plaats voor zeven bedrijven. De kavels zijn mooi op schaal getekend in onderstaande figuur.

De zeven bedrijven moeten worden aangesloten op een centraal nutsvoorzieningspunt.

Bepaal de kortst mogelijke opspannende boom tussen de zeven bedrijven en het centrale punt.

Stappenplan:

• Zoek eerst passende afbeeldingen van bedrijven.

• Voer de afbeeldingen in. Klik hiervoor in GeoGebra classic 6 op het voorlaatste icoontje en kies voor afbeelding

• Voer de nodige punten A, B, C … in. Klik hiervoor op de werkbalk op het tweede icoontje en kies voor punt. Klik dan 8 maal in het tekenvenster.

• Geef in het algebravenster volgend commando in: l1 = { A,B,C,D,E,F,G,H}. Zo maken we een lijst van al die punten.

• Geef in het algebravenster het volgende commando in: MinimaalOpspannendeboom(l1)

48

6 De stelling van Euler bij planaire grafen

Gegeven een boom bestaande uit n knopen en n – 1 bogen.

Er is geen enkel gebied omsloten door bogen, het aantal gebieden is dus 1.

v = # knopen = n

e = # bogen = n – 1

f = # gebieden = 1

v – e + f = n – ( n – 1) + 1 = 2

We tekenen een extra boog, maar wel zodanig dat de graaf planair blijft, m.a.w. dat er geen twee bogen zijn die elkaar snijden.

Het aantal bogen stijgt met één, maar ook het aantal gebieden stijgt met één.

v = # knopen = n

e = # bogen = n

f = # gebieden = 2

v – e + f = n – n + 2 = 2

We tekenen nog twee extra bogen, maar wel zodanig dat de graaf planair blijft, m.a.w. dat er geen twee bogen zijn die elkaar snijden.

Het aantal bogen stijgt met twee, maar ook het aantal gebieden stijgt met twee.

v = # knopen = n

e = # bogen = n + 2

f = # gebieden = 4

v – e + f = n – n + 2 = 2

49 3 Minimaal opspannende bomen
A B D E F H G1 C G A B D E F H G1 G2 C G A B C D E F G H G1 G2 G3 G4

We tekenen in totaal x extra bogen, maar wel zodanig dat de graaf planair blijft, m.a.w. dat er geen twee bogen elkaar snijden.

Het aantal bogen stijgt met x , maar ook het aantal gebieden stijgt met x .

v = # knopen = n

e = # bogen = n – 1 + x

f = # gebieden = 1 + x

v – e + f = 2

Besluit

Dit is de stelling van Euler voor planaire grafen :

In een planaire graaf geldt : v – e + f = 2

waarbij : v = # knopen

e = # bogen

f = # gebieden

7 Samenvatting

• Je weet wat minimaal opspannende bomen zijn. De minimaal opspannende boom is de graaf die binnen een verbonden, gewogen graaf met het kleinste gewicht alle punten verbindt.

• Je kent het algoritme van Kruskal.

– Kies de boog met het kleinste gewicht.

– Kies de boog met het kleinste gewicht dat nog niet tot de boom behoort zodat de nieuwe graaf geen cykel bevat.

– Herhaal de vorige stap totdat er geen nieuwe boog gekozen kan worden, m.a.w. totdat alle knopen tot de boom behoren.

• Je kent het algoritme van Prim.

– Kies een willekeurige knoop in de graaf als begin van de boom.

– Als de boom nog niet alle knopen bevat, bepaal dan de boog in de graaf met als eerste eindpunt een knoop die al aanwezig is in de boom en als tweede eindpunt een knoop die nog niet aanwezig is in de boom en waarvan het gewicht minimaal is. Zijn er meerdere mogelijkheden, dan kies je er één willekeurig.

– Het algoritme stopt als de boom alle knopen bevat.

• Je kent de stelling van Euler voor planaire grafen :

v – e + f = 2 waarbij v = #knopen

e = #bogen

f = #gebieden

50
A B C D E F G H G1 G2 G3 G4

Platonische lichamen, grafen en de formule van Euler

De formule van Euler voor veelvlakken legt een verband tussen het aantal hoekpunten (v), het aantal ribben (e) en het aantal zijvlakken (f) van een ruimtelijke figuur waarvan de vlakken veelhoeken zijn. Er geldt steeds:

v – e + f = 2

Een veelvlak is een figuur die wordt begrensd door een aantal zijvlakken die veelhoeken zijn. In een regelmatig veelvlak zijn die zijvlakken congruente regelmatige veelhoeken. Er zijn precies 5 regelmatige veelvlakken :

tetraëder hexaëder (kubus) octaëder dodecaëder icosaëder

v : aantal hoekpunten

e : aantal ribben

f : aantal zijvlakken

Merk op dat v – e + f steeds gelijk is aan 2 (Euler).

Vlakke voorstelling van enkele platonische lichamen :

octaëder

dodecaëder

tetraëder kubus

De 5 regelmatige veelvlakken zijn al heel lang bekend. De studie ervan begon in 480 voor Christus door Hippasos. Plato gebruikte ze als symbool voor het universum (dodecaëder) en voor de 4 elementen waaruit het heelal is opgebouwd : vuur (tetraëder), aarde (hexaëder), lucht (octaëder) en water (icosaëder). Daarom noemen we die 5 lichamen ook de platonische lichamen. De lichamen voldoen aan volgende kenmerken : – alle zijvlakken zijn even grote regelmatige veelhoeken ; – in elk hoekpunt komen evenveel vlakken samen ; – je kunt ze in een bol stoppen en dan is de afstand van elk hoekpunt tot het centrum van de bol steeds dezelfde. In de natuur kom je deze vormen frequent tegen. Het ijzerertskristal (FeS2) is bijvoorbeeld een dodecaëder.

51 3 Minimaal opspannende bomen
4 8 6 20 12 v 4 6 8 12 20 f 6 12 12 30 30 e

8 Oefeningen

Maak gebruik van het algoritme van Kruskal om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

52
A B C F E D 8 6 5 4 2 5 3 4 1

Minimaal opspannende bomen

Maak gebruik van het algoritme van Kruskal om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

3 53
A B C D E F G H I J 2 3 4 5 6 7 8 2 2 3 3 4 4 5 5 6 6 7 2

Maak gebruik van het algoritme van Prim om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

54
7 4 4 2 3 6 5 8 A B C D E 3

Minimaal opspannende bomen

Maak gebruik van het algoritme van Prim om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

3 55
A B C D E F G H I 4 4 4 4 3 3 3 2 2 5 5 5 6 6 6 7 8 4

Maak gebruik van het algoritme van Prim om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

56
A B C D E F G 7 8 8 6 6 5 5 4 4 4 3 3 5
3 57 Minimaal opspannende bomen

Maak gebruik van het algoritme van Prim om de minimaal opspannende boom in volgend netwerk te bepalen.

Bepaal ook zijn waarde.

58
A B C D E F G H 4 4 7 7 2 5 5 5 6 6 6 6 8 8 3 3 9 10 6
3 59 Minimaal opspannende bomen
60

Minimaal opspannende bomen

Bepaal de minimaal opspannende boom en zijn waarde in dit netwerk.

3 61
A B C D E F G H I 5 5 5 7 7 7 3 3 3 8 8 2 6 6 4 4 9 7
62
3 63 Minimaal opspannende bomen

Welk gewicht heeft de boog AE als je weet dat de waarde van de minimaal opspannende boom in dit netwerk gelijk is aan 69 ?

64
A B C D E F G ? 8 8 10 17 15 19 12 17 23 16 11 8

Welk gewicht (geheel getal) kan de boog AG maximaal hebben als je weet dat deze boog zeker deel uitmaakt van de minimaal opspannende boom in het netwerk ?

3 65 Minimaal opspannende bomen
A B C D E F G H 12 11 10 17 17 15 19 20 24 14 18 14 21 17 ? 9

Bij de aanleg van een nieuw bedrijventerrein moeten alle bedrijven via een netwerk verbonden worden met de hoofdverbinding (Q). De mogelijke verbinding met de daaraan verbonden kosten vind je terug in volgende graaf.

Zoek het goedkoopste verbindingsnetwerk zodat alle bedrijven verbonden zijn met de hoofdverbinding.

66
10 A B C D E F G H I J K L Q hoofdverbinding 8 9 9 9 9 8 8 11 11 11 7 7 7 6 5 5 12 12 14 14 9 10 15 17 16 19 19 10
3 67 Minimaal opspannende bomen

In een bergachtige streek in Azië wil het provinciebestuur 19 dorpen via wegen verbinden waarop ook vrachtwagens kunnen rijden. De kosten voor de aanleg van een mogelijke verbinding tussen twee dorpen staan aangegeven in miljoenen euro’s.

Wegens de onherbergzaamheid van de streek zijn sommige rechtstreekse verbindingen tussen twee dorpen zelfs onmogelijk.

Zoek het goedkoopste verbindingsnetwerk dat alle dorpen onderling verbindt.

68
11 * A B C D E F G H I J K L M N O P Q R S 4 5 5 5 5 7 2 1 6 4 6 3 3 7 1 9 8 8 8 5 5 5 4 4 4 4 4 6 2 7 2 2 8 7 9 6 6 5 5 3 1 3
3 69 Minimaal opspannende bomen
70
3 71 Minimaal opspannende bomen
72
3 73 Minimaal opspannende bomen
74
3 75 Minimaal opspannende bomen

Teken de graaf die hoort bij de volgende tabel en bepaal de minimaal opspannende boom.

76
A B C D E F G H A – 12 – – 9 – – 16 B 12 – – 14 10 – – –C – – – 7 11 10 14 D – 14 7 – 9 – 8 7 E 9 10 – 9 – – – 8 F – – 11 – – – 9 6 G – – 10 8 – 9 – –H 16 – 14 7 8 6 – –A B C D E H G F 12

Teken de graaf die hoort bij de volgende tabel en bepaal de minimaal opspannende boom.

3 77 Minimaal opspannende bomen
A B C D E F G H I J A – 4 3 – – 8 – – 5 3 B 4 – 6 – – – – – – –C 3 6 – 5 – – – 7 5 –D – – 5 – 5 7 – 6 5 –E – – – 5 – 6 – – – –F 8 – – 7 6 – 5 4 – –G – – – – – 5 – 4 – –H – – 7 6 – 4 4 – 3 –I 5 – 5 5 – – – 3 – 7 J 3 – – – – – – – 7 –A B C D E F G H I J 13
78
3 79 Minimaal opspannende bomen
80

Minimaal opspannende bomen

Teken de graaf die hoort bij de volgende tabel en bepaal de minimaal opspannende boom.

F G H I J K L M N O P

A – – – 2 7 – – – – 4 – – – – – –

B – – 6 3 – – – 5 – – – – – – – –

C – 6 – 2 – – – 4 – – – – – – – –

D 2 3 2 – 6 5 4 – – – – – – – – –

E 7 – – 6 – 4 – – – 2 – – – – – –

F – – – 5 4 – 5 – 6 – 3 – – – – –

G – – – 4 – 5 – 4 – – 4 – – – – –

H – 5 4 – – – 4 – – – 3 7 8 – – –

I – – – – – 6 – – – 3 7 – – 5 – –

J 4 – – – 2 – – – 3 – – – – 6 5 –

K – – – – – 3 4 3 7 – – 3 – 2 – 8

L – – – – – – – 7 – – 3 – 4 – – 6

M – – – – – – – 8 – – – 4 – – – –

N – – – – – – – – 5 6 2 – – – 3 5

O – – – – – – – – – 5 – – – 3 – 7

P – – – – – – – – – – 8 6 – 5 7 –

3 81
A B C D E
A E F I J N O P K L H G D C B M 14
82
3 83 Minimaal opspannende bomen

Kortste paden

1 Het kortste pad

Inleidend voorbeeld :

Als we vertrekken in A en aankomen in A, dan zijn er 6 mogelijke wegen.

A B C D A A C B D A

A B D C A A D B C A

A C D B A A D C B A

Sommige van die wegen zijn dezelfde.

Na eliminatie zijn dit de drie paden die verschillend zijn :

Taak : verklaar meetkundig waarom het eerste pad het kortste pad is.

84
4
A D
B C
A D B C A B C D A A B D C A A B D C A C B D A A B D C

2 Probleemstelling

Joris moet morgen met de wagen naar Dinant. Hij vraagt zich af welke weg hij zal nemen. Hij kijkt naar de vele mogelijke reisroutes en kiest wellicht tussen : – de kortste weg in afstand ; – de kortste weg in tijd.

Pieter zoekt informatie over Joseph Kruskal op het internet. Blijkbaar komt de gevonden informatie vanuit Amerika op zijn scherm terecht. Welke weg volgde die digitale stroom aan informatie ? De informatie zocht zich een korte weg via alle mogelijke verbindingen van computer tot computer.

Laten we het principe van het kortsterouteprobleem even bekijken bij een eenvoudig voorbeeld.

Veronderstel dat Joris van A naar H moet en dat hij deze mogelijkheden heeft :

Naargelang van de gekozen voorkeur kunnen de getallen naast de lijnstukken afstanden of tijdseenheden voorstellen. Het is logisch dat de kortste weg in afstand in een ander model niet automatisch de kleinste waarde in tijd oplevert.

85 4 Kortste paden
A B C D E F G H 2 6 3 3 8 1 5 3 4 1 8 4 5

3 De lengte van een pad met een gegeven beginpunt

Het gewicht van een boog KL is de getalwaarde die naast de boog staat. We noteren dit als g ( KL).

Voorbeelden :

g ( AC) = 6

g ( DH) = 8

Als de boog niet bestaat, dan noteren we het gewicht met een symbool ∞.

Voorbeelden :

g ( AF) = ∞

g ( BD) = ∞

De lengte van een pad met gegeven beginpunt knoop A en eindpunt knoop K is een bovengrens voor de mogelijke kortste route tussen het beginpunt en het eindpunt. We noteren dit als l ( AK)

Voorbeelden :

W = A – B – F

l ( AF) = 10 want g ( AB) + g ( BF) = 10

Zolang we niet weten of er een pad naar een gegeven knoop K bestaat of geen idee hebben van een mogelijke bovengrens, stellen we dat : l ( WAK) = ∞

De bovengrens, de lengte van het kortste pad, ook wel de afstand tussen knoop A en knoop K genoemd, stellen we voor door d ( AK)

86
A B C D E F G H 2 6 3 3 8 1 5 3 4 1 8 4 5

4 Het algoritme van Dijkstra

Stap 1 Bepaal het beginpunt X.

Stel l ( XX) = d ( XX) = 0 ; l ( XY) is voorlopig onbepaald voor elk ander punt Y en wordt voorgesteld met het symbool ∞

In tabelvorm geeft dat voor het voorbeeld van de vorige pagina’s :

Stap 2 Als l ( XY) > g ( XY), stel dan l ( XY) = g ( XY).

g ( AB) = 2 ⟹ l ( AB) = 2

g ( AC) = 6 ⟹ l ( AC) = 6

g ( AD) = 4 ⟹ l ( AD) = 4

g ( AE) = 3 ⟹ l ( AE) = 3

Stap 3 Bepaal het punt K met de laagste waarde, d ( AK) = k

d ( AB) = 2

Stap 4 Als l ( XY) > l ( XK) + g ( KY), stel dan l ( XY) = l ( XK) + g ( KY)

l ( AB) + g ( BC) = 2 + 3 = 5 < l ( AC) ⟹ l ( AC) = 5

l ( AB) + g ( BF) = 2 + 8 = 10 < l ( AF) ⟹ l ( AF) = 10

87 4 Kortste paden
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 2 6 4 3 ∞ ∞ ∞
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ 5 4 3 10 ∞ ∞ A B C D E F H G 3 4 6 2 A B C D E F H G 3 4 5 2 10

Stap 5 Herhaal stappen 3 en 4 totdat d ( XZ) met Z het gevraagde eindpunt gekend is.

d ( AE) = 3

l ( AE) + g ( ED) = 3 + 1 = 4 = l ( AD)

l ( AE) + g ( EG) = 3 + 5 = 8 < l ( AG) ⟹ l ( AG) = 8

d ( AD) = 4

l ( AD) + g ( DH) = 4 + 8 = 12 < l ( AH) ) ⟹ l ( AH) = 12

d ( AC) = 5

l ( AC) + g ( CF) = 5 + 3 = 8 < l ( AF) ⟹ l ( AF) = 8

l ( AC) + g ( CH) = 5 + 5 = 10 < l ( AH) ⟹ l ( AH) = 10

88
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ 5 4 10 8 ∞
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ D 5 4 10 8 ∞ 5 10 8 12
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ D 5 4 10 8 ∞ C 5 10 8 12 8 8 10 A B C D E F H G 3 4 5 2 10 8 A B C D E F H G 3 4 5 2 10 8 12 A B C D E F H G 3 4 5 2 8 8 10

We hebben nu twee laagste waarden ; we kiezen een van de twee, bijvoorbeeld d ( AG) = 8.

l ( AG) + g ( GH) = 8 + 4 = 12 > l ( AH)

d ( AF) = 8

l ( AF) + g ( FH) = 8 + 1 = 9 < l ( AH) ⟹ l ( AH) = 9

d ( AH) = 9

We kennen nu de lengte van het kortste pad tussen A en H, namelijk d ( AH) = 9. Het pad zelf moeten we nu nog bepalen.

Stap 6 Het pad zelf vind je door in de gevonden tabel terug te redeneren. Vertrek bij het eindpunt. Telkens als er zich een verandering van waarde van l ( K) voordoet, ga je naar het punt dat verantwoordelijk is voor die verandering en voeg je dat aan het pad toe. Uiteindelijk kom je bij het beginpunt terecht.

De laatste verandering van l ( AH) was afkomstig van knoop F. De laatste verandering van l ( AF) was afkomstig van knoop C. De laatste verandering van l ( AC) was afkomstig van knoop B. De laatste verandering van l ( AB) was afkomstig van knoop A.

De kortste route of het kortste pad is dus : W = ( A – B – C – F – H) met een totaal gewicht (lengte) van 9.

89 4 Kortste paden
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ D 5 4 10 8 ∞ C 5 10 8 12 G 8 8 10 8 10
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ D 5 4 10 8 ∞ C 5 10 8 12 G 8 8 10 F 8 10 9
A B C D E F G H A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ B 2 6 4 3 ∞ ∞ ∞ E 5 4 3 10 ∞ ∞ D 5 4 10 8 ∞ C 5 10 8 12 G 8 8 10 F 8 10 H 9
A B C D E F H G 3 4 5 2 8 8 9

5 Een tweede voorbeeld

Bepaal in dit netwerk de kortste route van A naar K.

Stap 1 t.e.m. 5 We bepalen de lengte van een kortste route.

De lengte van de kortste route is d ( AK) = 17

Stap 6 We bepalen de lengte van een kortste route.

Kortste route : W = ( A – C – G – I – K)

Merk op dat het pad W = ( A – E – H – G – I – K) ook een lengte van 17 heeft en dus ook een kortste route is.

90
A B C D E F G H I J K A 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 4 6 5 3 ∞ ∞ ∞ ∞ ∞ ∞ B 4 6 5 ∞ ∞ 8 ∞ ∞ ∞ D 6 5 10 ∞ 8 ∞ ∞ ∞ C 6 10 11 8 ∞ ∞ ∞ H 9 10 8 ∞ ∞ ∞ F 9 10 ∞ 13 ∞ G 10 16 13 ∞ J 13 12 18 I 13 18 K 17
A B C D E F G H I J K A 0 – ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ E 4 6 5 3 ∞ ∞ ∞ ∞ ∞ ∞ B 4 6 5 ∞ ∞ 8 ∞ ∞ ∞ D 6 5 10 ∞ 8 ∞ ∞ ∞ C 6 10 11 8 ∞ ∞ ∞ H 9 10 8 ∞ ∞ ∞ F 9 10 ∞ 13 ∞ G 10 16 13 ∞ J 13 12 18 I 13 18 K 17
A B C D E F G H I J K 4 4 4 4 6 6 6 6 3 3 3 3 2 2 5 5 8 5 7

6 Kortste pad tekenen met GeoGebra

Ook met GeoGebra kun je het kortste pad bepalen als volgende knopen en bogen gegeven zijn :

Het kortste pad van A naar C is hierboven in het blauw aangeduid.

Stappenplan :

• Teken vijf punten A, B, C, D en E.

• Teken de lijnstukken [ AB], [ BC], [ CD], [ DA]

• Geef in het algebravenster het commando l1= { f, g, h, i, j, k, l, m} in. Bemerk dat dit de namen zijn van de getekende lijnstukken.

• Geef in het algebravenster het commando KortsteAfstand(l1,beginpunt,eindpunt,true) in.

7 Samenvatting

• Je kunt het kortste pad bepalen op gewogen grafen.

• Je kent het algoritme van Dijkstra.

91 4 Kortste paden

8 Oefeningen

Bepaal in dit netwerk de kortste route van A naar J. Hoelang is het kortste pad ?

92
A B C D E F G H I J 4 4 4 2 2 2 2 1 1 3 3 3 3 5 5 6 6 7 1

Bepaal in dit netwerk de kortste route (en noteer de lengte) van :

a A naar D ;

b E naar A ;

c F naar C.

4 93 Kortste paden
A B C D E F G H I J 6 6 3 3 1 2 2 4 4 4 5 5 5 5 5 7 2
94

Bepaal in dit netwerk de kortste route (en noteer de lengte) van :

a A naar M ;

b A naar N ;

c E naar I ;

d B naar L ;

e D naar J. A

4 95 Kortste paden
B C D E F G H I J K L M N 2 2 2 2 3 3 3 3 4 4 4 4 4 1 1 5 5 5 5 6 6 6 6 3
96
4 97 Kortste paden

Bepaal in dit netwerk de kortste route van A naar P. Hoe lang is het kortste pad ?

98
A B C D E F G H I J K L M N O P 4 5 6 23 12 14 22 17 10 20 16 11 18 15 24 8 7 8 11 17 29 23 31 17 33 10 7 25 27 6 43 18 14 15 4

Bepaal in onderstaand netwerk de kortste route (en noteer de lengte) van :

a A naar P ;

b M naar D.

4 99 Kortste paden
A B C D E F G H I J K L M N O P 1 2 3 4 5 6 7 8 9 1 2 2 2 2 3 3 3 3 4 4 4 5 6 6 7 7 7 7 8 8 9 9 9 5
100

5 Toepassingen

1 Het Chinese postbodeprobleem

Het Chinese postbodeprobleem is een veelgebruikte benaming om een bekende probleemstelling in de grafentheorie duidelijk te maken.

Een postbode moet brieven bezorgen in een bepaalde wijk. Hij vertrekt hierbij vanuit een punt A, doorloopt alle straten in de wijk om vervolgens weer in A te eindigen. Hierbij is het de bedoeling om de totaal afgelegde afstand (of tijd) minimaal te houden.

Zoek dus de kortst mogelijke route in een graaf die alle bogen bevat en start en eindigt in dezelfde knoop (A).

Of ook : zoek het kortste eulercircuit.

Veronderstel dat onze postbode de volgende wijk moet doorlopen :

Merk op dat een eulercircuit niet mogelijk is omdat de graad van twee knopen (C en F) oneven is. Bepaalde bogen (straten in de wijk) zullen dus meer dan eens doorlopen moeten worden.

We lossen dit op door de twee oneven knopen te verbinden via een kortste pad ; dat pad is de wandeling die de postbode tweemaal zal doorlopen.

Het kortste pad tussen C en F is (ga dit na)

W = ( C – A – D – F) d ( CF) = 10

We plaatsen nu een extra ‘fictieve’ boog tussen C en F met gewicht 10.

Elke knoop heeft nu een even graad zodat een eulercircuit mogelijk is.

De wandeling van de postbode

101 5 Toepassingen
Het eulercircuit : W = ( A – B – D – A – E – D – F – B – H – F – C – E – H – G – C – A)
: W = ( A – B – D – A – E – D – F – B – H – F – D – A – C – E – H – G – C – A) l ( W) = 56 A B C D E F G H 2 2 3 4 5 1 3 3 3 3 3 4 5 5 A B C D E F G H 2 2 3 4 5 1 3 3 3 3 3 4 5 5

2 Efficiënte strooiservice

Het heeft deze nacht geijzeld.

De strooidiensten moeten de straten uit onderstaand schema ijsvrij maken op een zo efficiënt mogelijke manier. Starten en stoppen gebeurt in knoop A.

Merk op dat in deze graaf vier knopen een oneven graad hebben, namelijk B, D, H en K.

We bepalen de kortste paden tussen die punten onderling.

TUSSEN PAD

en

en K

D en H

= ( B – I – K)

= ( D – J – K – I – H) d ( DH) = 10 D en K

en K

= ( D – J – K) d ( DK) = 5

= ( H – I – K) d ( HK) = 5

Dit zijn de mogelijke ‘fictieve’ paden om de graad van elke knoop even te maken : tussen B en D en tussen H en K : lengte : d ( BD) + d ( HK) = 9 + 5 = 14

tussen B en H en tussen D en K : lengte : d ( BH) + d ( DK) = 7 + 5 = 12

tussen B en K en tussen D en H : lengte : d( BK) + d ( DH) = 6 + 10 = 16

De beste (kortste) optie is tussen B en H en tussen D en K.

102
B
W
9 B
W
7 B
W
6
W
W
W
LENGTE
D
= ( B – C – J – D) d ( BD) =
en H
= ( B – I – H) d ( BH) =
d ( BK) =
H
Het
W = ( A – B – C – I – B – H – I – K – J – C – D – J – E – D – K – G – E – F – G – H – A) De route van de strooidienst: W = ( A – B – C – I – B – I – H – I – K – J – C – D – J – E – D – J – K – G – E – F – G – H – A) l ( W) = 83 A B C D E F G H I J K 3 3 3 3 4 4 4 4 4 2 2 2 2 5 6 6 7 7 A B C D E F G H I J K 3 3 3 3 4 4 4 4 4 2 2 2 2 5 6 6 7 7
eulercircuit:

3 Het handelsreizigersprobleem

Het handelsreizigersprobleem, vaak ook TSP genoemd (Travelling Salesman Problem), is een probleem uit de grafentheorie. Het doel : het kortste pad vinden dat alle knopen aandoet.

Een handelsreiziger vertrekt uit stad A, moet vijf steden bezoeken en ten slotte weer huiswaarts keren naar A. Zoek de kortst mogelijke route (in tijd of afstand, in functie van het probleem) voor de handelsreiziger. De opdracht die met dit probleem gepaard gaat, kun je ook als volgt formuleren : zoek de kortste hamiltoncykel.

Het handelsreizigersprobleem is zo complex dat er geen algoritme bestaat dat de kortste route kan bepalen op een snelle, efficiënte manier. Er bestaan enkele algoritmes die een aanvaardbare oplossing opleveren.

a Het bestebuuralgoritme

Bestebuuralgoritme

Ga naar de dichtstbijzijnde knoop (stad) die je nog niet bezocht hebt.

Als alle knopen zijn bezocht, ga dan vanuit die knoop terug naar het beginpunt.

starten in knoop A

van A naar F d ( AF) = 7

van F naar E d ( FE) = 6

van E naar C d ( EC) = 9

van C naar D d ( CD) = 11

van D naar B d ( DB) = 14

van B naar A d ( BA) = 12

route W = ( A – F – E – C – D – B – A) l ( W) = 59

Opmerking :

Dit is niet de kortste route, maar een route die aanvaardbaar kort genoeg is. Er is een kortere route, welke ?

103 5 Toepassingen
A B C D E F 12 10 8 7 6 15 14 13 9 11 12 10 8 9 16
A B C D E F 12 14 9 11 7 6

b Het 2-optimaliseringsalgoritme (2-opt-algoritme)

In het 2-opt-algoritme starten we met een gegeven rondreis.

We nemen bv. de route

W = ( A – B – C – D – E – F – A) met lengte l ( W) = 61.

We wisselen in de gegeven route twee knopen, bv. B en C. Dat levert volgende route op :

W = ( A – C – B – D – E – F – A) met lengte l ( W) = 60

2-opt-algoritme

• Start met een gegeven rondreis.

• Probeer alle 2-knoopwisselingen tot je er één vindt die de reisafstand verkleint.

• Als je een verbeterende wijziging vindt, pas die dan toe.

• Herhaal het algoritme tot je geen verbeteringen meer vindt.

Dit algoritme is wegens de vele combinaties manueel bijna ondoenbaar maar wel vlot programmeerbaar. De optimalisatie gebeurt dan bijna altijd via een computersysteem.

We krijgen in ons voorbeeld achtereenvolgens :

Wisseling van D en F : Wisseling van B en E : Kortste route :

W = ( A – C – B – F – E – D – A)

met l ( W) = 59

=

(

= 57

104
W
( A – C – E – F – B – D – A)
met
A B C D E F 6 12 7 10 10 8 13 14 A B C D E F 6 12 10 8 13 14 9 10 A B C D E F 6 10 8 14 9 10 A B C D E F 7 6 12 13 11 12 A B C D E F 7 6 12 13 11 12 14 8
l
W)

4 Het handelsreizigersprobleem met GeoGebra

Een pakjesdienst moet vandaag vanuit Edingen pakjes bezorgen in volgende steden : Doornik, Ronse, Oudenaarde, Zottegem, Brakel, Geraardsbergen, Lessen en Ath. De afstand tussen de steden vind je in volgende tabel :

• Voer een passende kaart in door op afbeelding te klikken.

• Voer de 8 steden in op de kaart (door te kiezen voor punt en nadien op de juiste plaatsen te klikken).

• Maak een lijst l1 van de verschillende steden (neem de punten op in de lijst).

• Geef het volgende commando in : Handelsreizigersprobleem(l1).

Opmerking:

GeoGebra rekent met de vogelvluchtafstand, niet met de werkelijke afstand of de eventuele tijdsduur van het traject. Als de steden ver genoeg uit elkaar liggen, komt het voorgestelde traject meestal wel overeen met de optimale route.

5 Samenvatting

• Je kent enkele beroemde toepassingen op de grafentheorie : – het Chinese postbodeprobleem; – het handelsreizigersprobleem.

• Je kunt het 2-opt-algoritme toepassen.

105 5 Toepassingen
Edingen Ath Brakel Doornik Geraardsbergen Lessen Oudenaarde Ronse Zottegem Edingen – 21 28 51 18 19 42 40 31 Ath – 25 30 19 12 39 28 32 Brakel – 38 11 13 16 15 12 Doornik – 46 39 36 25 49 Geraardsbergen – 9 25 24 15 Lessen – 28 19 22 Oudenaarde – 12 19 Ronse – 26 Zottegem –bron afbeelding : Google Maps

6 Oefeningen

Help de postbode aan de meest efficiënte route in volgende wijk. Hoelang is zijn fietstocht ?

106
A B C D E F G H 6 6 6 4 4 4 5 5 5 7 7 8 9 12 9 1 © bpost

Een Chiroafdeling wil bij haar jaarlijkse wafelverkoop alle straten aandoen. Stippel een kortste weg voor hen uit. Hoelang is die kortste weg ?

5 107 Toepassingen
5 6 8 3 2 4 7 11 12 A B C D E F G H I J K L 5 5 5 5 6 6 8 6 3 3 4 7 7 12 8 2

Als het huisvuil in alle straten in onderstaande wijk moet worden opgehaald, welke route volg je dan het best ? Hoelang is die route ?

108
A B C D E F G H I J K L 7 7 8 8 8 4 4 4 5 5 5 5 5 6 2 2 1 3 3 3 10 10 3

Een wijkagent wil op haar fietsroute alle straten zeker doorlopen. Welke fietsroute is het kortst ? Hoelang is die route ?

5 109 Toepassingen
A B C D E F G H I J K L M N 7 7 7 5 5 5 5 6 6 6 6 4 4 4 4 4 3 3 3 3 2 7 8 8 4 4

a Hoeveel kortste paden moeten er worden bereden bij een Chinees postbodeprobleem waarbij acht knopen een oneven graad hebben ?

b Hoeveel ‘fictieve bogen’ moeten er geplaatst worden ? Hoeveel mogelijkheden hebben we hiervoor ?

110
5

Een handelsreiziger moet onderstaande steden bezoeken.

Wat is een mogelijke kortste route ?

De route start en eindigt in A.

Hoelang is die route ?

5 111 Toepassingen
A B C D E F 9 13 11 5 12 7 8 10 7 7 8 6 6 13 15 6

Een pakjesdienst uit Amersfoort moet pakjes leveren in Apeldoorn, Arnhem, Ede, Nijmegen en Utrecht. De onderlinge afstanden (in km langs de weg) vind je in onderstaand schema.

Bereken een optimale route voor de chauffeur uit Amersfoort. Hoe lang is die route ?

112
Apeldoorn Arnhem Nijmegen Ede Utrecht Amersfoort 48 55 78 34 25 Apeldoorn 35 58 32 67 Arnhem 20 19 65 Nijmegen 43 89 Ede 48
7

Een toerist logeert in een hotel (A) en wil een aantal bezienswaardigheden (punten B t.e.m. G) bezoeken. Stippel een mogelijke wandelroute uit. Hoelang is die route ?

Dit is de onderlinge afstand tussen de verschillende bezienswaardigheden en het hotel.

5 113 Toepassingen
B C D E F G A 5 10 6 15 12 6 B 6 7 13 12 10 C 7 7 10 13 D 9 5 6 E 8 16 F 9 8 A B C D E F G

Een transportfirma in Geel moet goederen leveren in Aarschot, Diest, Genk, Mol, Peer en Tienen. De onderlinge afstanden (in km langs de weg) vind je in onderstaand schema.

Bereken een optimale route voor de transportfirma. Hoelang is die optimale route ?

114
Aarschot Diest Genk Mol Peer Tienen Geel 29 24 52 11 36 63 Aarschot 17 55 59 61 24 Diest 39 27 45 22 Genk 51 22 57 Mol 27 62 Peer 63
Tervuren Lokeren Aalst Grimbergen Tienen Sint-Truiden Tongeren Hasselt Genk Peer Maaseik Turnhout
Mol Geel
Herentals Lier
9
Geraardsbergen Diest Aarschot

Een uitgeverij gevestigd in Brugge moet boeken leveren in Ieper, Kortrijk, Oostende, Roeselare, Torhout, Veurne en Waregem.

De onderlinge afstanden (in km langs de weg) vind je in onderstaand schema.

Bereken de optimale route voor de chauffeur uit Brugge. Hoelang is die route ?

5 115 Toepassingen
Brugge Ieper Kortrijk Oostende Roeselare Torhout Veurne Waregem Brugge – 71 55 29 36 21 51 53 Ieper – 32 53 27 40 32 50 Kortrijk – 66 24 39 63 18 Oostende – 50 26 34 67 Roeselare – 18 40 28 Torhout – 38 41 Veurne – 78 Waregem –
10
116

Volgens de regels van het schaakspel bestaat de zet van een paard uit twee plaatsen horizontaal of verticaal gevolgd door één zet loodrecht daarop. Is het mogelijk om met een paard een schaakbord rond te gaan, waarbij elk vakje precies eenmaal bezocht wordt en waarbij het paard terugkeert naar zijn oorspronkelijke positie ?

Vanuit de haven van Genua moet een transportfirma goederen leveren in Bologna, Firenze, Milaan, Parma, Pisa, Ravenna, Turijn, Venetië en Verona.

Bereken een mogelijk optimaal traject. Hoelang is dat traject ? Herken je alle namen op de Italiaanse kaart ?

5 117 Toepassingen
Ravenna Turijn Venetië Verona Genua – 302 244 148 203 157 374 172 400 291 Bologna – 118 214 99 176 79 331 154 145 Firenze – 305 190 86 160 412 258 236 Milaan – 129 281 293 143 279 168 Parma – 180 176 244 246 147 Pisa – 257 328 327 304 Ravenna – 410 145 187 Turijn – 401 293 Venetië – 120 Verona –11 12
Genua Bologna
Firenze Milaan Parma Pisa
118

Knoopkleuring van grafen

1 Probleemstelling

Een bioloog heeft zeven soorten vissen. Die soorten stellen we voor het gemak voor door de letters A, B, C, D, E, F en G.

Sommige vissoorten kunnen wel niet samenleven in één aquarium. In deze tabel zie je welke :

vissoort A B C D E F G

kan niet samen met F, G C, D, F, G B, D B, C, E, G D, F, G A, B, E, G A, B, D, E, F

Wat is het kleinste aantal aquaria dat onze bioloog moet aanleggen om de zeven soorten te kunnen houden ?

Om dit probleem op te lossen, stellen we het gegeven eerst voor door een graaf.

Vissoorten die via een boog verbonden zijn, mogen niet samen in eenzelfde aquarium.

We lossen dit probleem op door de knopen met zo weinig mogelijk kleuren te kleuren zodat geen enkele kleur via een boog met dezelfde kleur verbonden is.

Dat noemen we een knoopkleuring van de graaf, of kortweg kleuring van de graaf

Oplossing :

• aquarium 1 : vissoorten A, B en E ;

• aquarium 2 : vissoorten C en G;

• aquarium 3 : vissoorten D en F.

2 Definities

knoopkleuring van een graaf

Een knoopkleuring van een graaf G is een toekenning van kleuren aan de knopen van G zodat elke knoop één kleur krijgt en buren verschillende kleuren krijgen.

Wanneer k kleuren worden gebruikt, noemen we dat een k-kleuring.

chromatisch getal

Het chromatisch getal χ( G) is het kleinste aantal kleuren waarvoor een graaf G een kleuring heeft.

In het voorbeeld is het chromatisch getal χ( G) = 3.

119 6 Knoopkleuring van grafen 6
A B C D E F G

3 Algoritme 1 : starten met het laatste punt

Probleemstelling

Kleur volgende graaf met zo weinig mogelijke kleuren.

1 Bepaal de graad van elk punt uit de graaf.

deg( A) = 4 deg( E) = 3

deg( B) = 3 deg( F) = 3

deg( C) = 2 deg( G) = 2

deg( D) = 3

2 Bepaal de volgorde van de te kleuren punten. Het laatste punt dat we gaan kleuren, is het punt met de grootste graad. In dit geval is dat A. Verwijder nu A en alle verbindingslijnen naar en uit A uit de graaf. Bepaal in die nieuwe graaf van elk punt de graad.

deg( B) = 2 deg( E) = 2

deg( C) = 2 deg( F) = 2

deg( D) = 3 deg( G) = 1

Het voorlaatste punt dat we gaan kleuren, is het punt dat nu de grootste graad heeft. In dit geval is dat D. Verwijder nu D en alle verbindingslijnen naar en uit D uit de graaf. Bepaal in die nieuwe graaf van elk punt de graad.

(Zijn er meerdere punten met de hoogste graad, dan mag je willekeurig een van die punten kiezen).

deg( B) = 1 deg( F) = 2

deg( C) = 1 deg( G) = 1

deg( E) = 1

Verwijder nu F en ga zo verder.

Zo krijgen we een rijtje G-E-C-B-F-D-A dat de volgorde voor het bepalen van een kleuring aangeeft.

3 Kleur de knopen van de graaf.

• We beginnen met knoop G ; die krijgt kleur 1

• Vervolgens kijken we naar E ; omdat E geen buur is van G, krijgt ook E kleur 1.

• We kijken nu naar C ; omdat C geen buur is van G of E, krijgt ook C kleur 1

• B is een buur van C en krijgt kleur 2.

• F is een buur van E en G maar niet van B, en kan dus ook kleur 2 krijgen.

• Omdat D een buur is van C en E (kleur 1) en van B (kleur 2) krijgt D kleur 3

• A is een buur van E en G (kleur 1) en van B en F (kleur 2) maar niet van D, en kan dus ook kleur 3 krijgen.

120
A B C D E F G A B C D E F G

4 Algoritme 2 : starten met het eerste punt

1 Bepaal de graad van elk punt uit de graaf.

deg( A) = 4 deg( E) = 3

deg( B) = 3 deg( F) = 3

deg( C) = 2 deg( G) = 2

deg( D) = 3

2 Bepaal de volgorde van de te kleuren punten.

Het eerste punt dat we gaan kleuren is het punt met de kleinste graad.

In dit geval is dat (bijvoorbeeld) C.

Verwijder nu C en alle verbindingslijnen naar en uit C uit de graaf. Bepaal in die nieuwe graaf van elk punt de graad.

Het tweede punt dat we gaan kleuren, is het punt dat nu de kleinste graad heeft. Dat is (bijvoorbeeld) B.

Verwijder nu B en alle verbindingslijnen naar en uit B uit de graaf. Bepaal in deze nieuwe graaf van elk punt de graad en ga zo verder.

We krijgen nu een rijtje C-B-D-E-A-F-G dat de volgorde voor het bepalen van een kleuring aangeeft.

3 Kleur de knopen van de graaf

• C krijgt kleur 1.

121 6 Knoopkleuring van grafen
• • • • • A B C D E F G

5 Toepassing 1: radiofrequenties

Bij het toewijzen van frequenties aan radiostations (of voor mobiele telefonie) mogen radiostations die dicht bij elkaar liggen, elkaar niet storen. Liggen ze in elkaars buurt, dan moeten ze een verschillende frequentie krijgen. Anderzijds moet het aantal toe te wijzen frequenties, zo laag mogelijk liggen.

Gegeven : Zeven zendmasten A, B, C, D, E, F en G met een zendbereik zoals aangegeven in volgend schema :

Gevraagd : Bepaal het minimale aantal frequenties dat nodig is om overlappende zenders een verschillende frequentie te geven.

Oplossing : Dit is een probleem op knoopkleuringen van grafen. De zendmasten stellen we voor als knopen en als twee zendmasten een overlappend zendbereik hebben, verbinden we ze met een boog.

Knoopkleuring (algoritme 1) :

Volgorde van kleuren : A –

Oplossing volgens algoritme 1 (4-kleuring) : Optimale oplossing χ( G) = 3 (3-kleuring)

122
start B E G C deg( A) 2 1 1 0 0 deg( B) 5 –deg( C) 2 1 1 1 –deg( D) 3 2 1 1 0 deg( E) 4 3 –deg( F) 2 2 1 0 0 deg( G) 4 3 2 –
F
C
G
E
B
D –
A B C D E F G A B C D E F G A B C D E F G A B C D E F G

6 Toepassing 2 : planningsproblemen

Gegeven : Voor een symposium in Delft konden de deelnemers zich inschrijven voor één of twee workshops uit een aanbod van zes. De keuze van de 20 deelnemers was als volgt.

Workshop A Workshop B Workshop C Workshop D Workshop E Workshop F

Alexander Antoine

Emmanuel

John-John

Antoine Felix Loic

Tanguy

Gevraagd : Als iedereen zijn keuze moet kunnen volgen, hoe moeten ze dan de workshops organiseren als ze zo veel mogelijk workshops op hetzelfde ogenblik willen laten plaatsvinden ?

Oplossing : We stellen de workshops voor als knopen van een graaf en verbinden ze door een boog als een of meerdere deelnemers die workshops willen volgen. Daarna kunnen we dit probleem omzetten tot een knoopkleuringsprobleem.

Knoopkleuring (algoritme 1) :

Volgorde van kleuren : F – B – E – C – D – A.

Oplossing volgens algoritme 1 (4-kleuring) :

Optimale oplossing (3-kleuring) :

Antwoord : tijdstip 1 : workshops B & E

tijdstip 2 : workshops A & F

tijdstip 3 : workshops C & D

123 6 Knoopkleuring van grafen
Nicolas
Thomas
Simon
Arthur Emmanuel Felix Florent Tom Augustin Gauthier Maxime Tanguy Thomas Augustin Cédric John-John
Victor Cédric Florent Gauthier Sébastien Vincent
start A D C E deg( A) 4 –deg( B) 3 2 1 0 0 deg( C) 3 2 2 –deg( D) 4 3 –deg( E) 3 2 1 1 –deg( F) 3 3 2 1 0
A B C D E F A B C F D E A B C F D E

7 Toepassing 3 : kleuring van landkaarten

Gegeven : de landkaart van Zuid-Amerika, met aanduiding van de landsgrenzen

Gevraagd : Kleur de landkaart van Zuid-Amerika met zo weinig mogelijk kleuren en zorg ervoor dat aaneengrenzende landen een verschillende kleur hebben. Aaneengrenzende landen zijn landen die een grens gemeen hebben. Landen die elkaar in één punt raken, zijn niet aaneengrenzend.

Oplossing : Stel de landen voor als knopen. Hebben ze een grens gemeen, verbind ze dan door een boog.

Knoopkleuring (algoritme 1):

124
Br Ur Ar Ch Pa Bo Pe Ec Co Ve Gu Su FG
start Br Pe Ar Su Ve Bo Co Br 10 –FG 2 1 1 1 0 0 0 0 Su 3 2 2 2 –Gu 3 2 2 2 1 0 0 0 Ve 3 2 2 2 2 –Co 4 3 2 2 2 1 1 –Ec 2 2 1 1 1 1 1 0 Pe 5 4 –Bo 5 4 3 2 2 2 –Ch 3 3 2 1 1 1 0 0 Pa 3 2 2 1 1 1 0 0 Ar 5 4 4 –Ur 2 1 1 0 0 0 0 0 Br Ur Ar Ch Pa Bo Pe Ec Co Ve Gu Su FG

8 De vierkleurenstelling

Een landkaart kleuren is een speciaal geval van het vierkleurenprobleem. Wanneer je een landkaart omzet in een graaf, krijg je altijd een planaire graaf. Dat is een graaf die in het vlak kan worden getekend zonder dat twee bogen elkaar snijden.

vierkleurenstelling in woorden : Elke planaire graaf kan gekleurd worden met ten hoogste vier verschillende kleuren. in symbolen : G is planair ⟹ χ( G) ⩽ 4.

9 Samenvatting

• Je kent de betekenis van een knoopkleuring van een graaf en kunt problemen oplossen door knoopkleuring. Een knoopkleuring van een graaf G is een toekenning van kleuren aan de knopen van G zodat elke knoop één kleur krijgt en buren verschillende kleuren krijgen. Wanneer k kleuren worden gebruikt, noemen we dit een k -kleuring.

• Je kent de vierkleurenstelling.

Elke planaire graaf kan gekleurd worden met ten hoogste vier verschillende kleuren. G is planair ⟹ χ( G) ⩽ 4.

De vierkleurenstelling

Deze eigenschap werd in 1852 geformuleerd door de Engelsman Francis Guthrie. Omdat hij de stelling niet kon bewijzen, was deze eigenschap eerder een vermoeden dan een zekerheid. In 1890 bewees Percy John Heawood dat je elke planaire graaf kan kleuren met ten hoogste vijf kleuren, maar daarmee was Guthries kous nog niet af. Pas in 1976, meer dan 120 jaar later dus, bewezen de Amerikanen Kenneth Appel en Wolfgang Haken met behulp van een computer dat vier kleuren volstaan. Sommigen beschouwen dit wel niet als een sluitend bewijs omdat een computer niet te controleren is.

125 6 Knoopkleuring van grafen
Br Ur Ar Ch Pa Bo Pe Ec Co Ve Gu Su FG
Volgorde van kleuren: FG – Gu – Ec – Ch – Pa – Ur – Co – Bo – Ve – Su – Ar – Pe – Br.

10 Oefeningen

Bepaal een zo optimaal mogelijke kleuring voor volgende grafen.

126
a A B C D E F G H I J K L M N O P 1
6 127 Knoopkleuring van grafen b A B C D E F G H I J K
128 c A B C D E F G
6 129 Knoopkleuring van grafen d A B C D E F G H I
130 e A B C D E F G H I J K L

Bepaal een knoopkleuring voor volgende cykelgrafen.

Bij een cykelgraaf is elke knoop verbonden met twee andere knopen. Een dergelijke graaf heeft de vorm van een cirkel en er komen evenveel knopen als bogen voor.

Vul aan :

a Is G een cykelgraaf met een even aantal knopen, dan is χ( G) = …

b Is G een cykelgraaf met een oneven aantal knopen, dan is χ( G) =

6 131 Knoopkleuring van grafen
A B C D E F G A B C D E F G H
2

Bepaal een knoopkleuring voor volgende volledige grafen.

Vul aan : is G een volledige graaf met n knopen, dan is χ( G) =

Zijn volgende uitspraken waar of onwaar ? Verklaar.

a Elke tweedelingsgraaf kun je kleuren met slechts twee kleuren.

b Als je een samenhangende graaf kunt kleuren met slechts twee kleuren, dan is dat een tweedelingsgraaf.

132
A B D C A E B D C
3 4

Een bioloog wil een tiental soorten padden bestuderen.

Gemakshalve stellen we ze voor door de letters

Q, R, S, T, U, V, W, X, Y en Z. Om bepaalde redenen (temperatuur, vochtigheid, onderlinge agressiviteit) kunnen bepaalde soorten niet binnen eenzelfde biotoop samenleven.

We kunnen dit samenleven (of niet-samenleven) weergeven in een tabel :

paddensoort Q R S T

mag niet samen met R, W, X Q, S, X, Y R, T, U, Y, Z S, U, Z S, T, V, W, Z U, W, Z Q, U, V, X, Y Q, R, W, Y R, S, W, X, Z S, T, U, V, Y

a Stel de gegevens grafisch voor met behulp van een graaf.

b Wat is het kleinste aantal biotopen dat de bioloog moet aanleggen ?

6 133 Knoopkleuring van grafen
U V W X Y Z
5

Een opvangcentrum voor exotische vogels heeft momenteel 11 soorten vogels. Niet alle soorten kun je zomaar bij elkaar in een volière steken. In onderstaand schema zie je welke soorten niet samen mogen zitten : vogelsoort A B C D E F G H I J K mag niet samen met B, I A, C, H, I, J B, D, I, J, K C, E, J, K D, F, K E, J, K I, J, K B, I A, B, C, G, H, J B, C, D, F, G, I C, D, E, F, G

a Stel de gegevens grafisch voor met behulp van een graaf. b Wat is het kleinste aantal volières dat het opvangcentrum moet voorzien ?

134
6

Gegeven : een schematische weergave van een aantal zenders en hun bereik

Gevraagd : a Stel de gegevens grafisch voor met behulp van een graaf.

b Bepaal het minimale aantal frequenties dat nodig is voor de zenders als we overlappende zenders verschillende frequenties willen geven.

6 135 Knoopkleuring van grafen
C B D E A F G H K I J
7

Gegeven : een schematische weergave van een aantal zenders en hun bereik

Gevraagd : a Stel de gegevens grafisch voor met behulp van een graaf.

b Bepaal het minimale aantal frequenties dat nodig is voor de zenders als we overlappende zenders verschillende frequenties willen geven.

136
A B C D E F G H I J K L M N O P
8

Voor het behalen van een instructeurbrevet moeten deelnemers twee opleidingen naar keuze volgen die telkens een volledig weekend duren. De keuze van de deelnemers vind je in volgende tabel :

CURSUS A CURSUS B CURSUS C CURSUS D CURSUS E CURSUS F CURSUS G CURSUS H

Aagje

De organisatie wil het aantal weekends beperken. In minimaal hoeveel weekends kunnen ze de opleidingen organiseren?

Een bouwbeurs wil een aantal workshops aanbieden. Per workshop hebben ze wel een bepaald aantal van de 14 verschillende bouwdozen nodig. In de volgende tabel zie je welke workshop welke bouwdoos nodig heeft :

De organisatie wil de tijdstippen van de workshops beperken. Hoe kunnen ze de workshops het best groeperen ?

6 137 Knoopkleuring van grafen
Ellen Debby Sarah Aagje Babet Doris Laure Babet Hanne Gitte Britt Ellen Doris Hanne Elsie Ineke
Maike Laure Gitte Elsie Farah Jenna Debby Maike Sarah Ineke Nicky Jenna Kiara Britt Farah Kiara Nicky
WS A WS B WS C WS D WS E WS F WS G WS H bd-01 bd-07 bd-08 bd-14 bd-2 bd-7 bd-9 bd-14 bd-6 bd-8 bd-11 bd-13 bd-2 bd-3 bd-12 bd-13 bd-3 bd-10 bd-1 bd-4 bd-5 bd-12 bd-4 bd-9 bd-10 bd-11 bd-5 bd-6
9 10

Tien vrienden gaan naar de kermis, maar hebben niet bijster veel tijd. Ze kunnen elk op drie van de negen attracties (attracties A tot I).

Hoe gaan ze het best op de attracties zonder al te veel tijdverlies ?

138
A B C D E F G H I Otis Otis Vic Liam Mohamed Sofia Noor Otis Bilal Mohamed Mila Vic Bas Noor Mila Liam Noor Bilal Mila Bas Bilal Vic Gilles Mohamed Sofia Bas Gilles Gilles Liam Sofia
11

Kleur deze schilderijen met zo weinig mogelijk kleuren zodanig dat twee aaneengrenzende vakjes een verschillende kleur hebben.

Kleur de kaart van België met zo weinig mogelijk kleuren zodat twee aaneengrenzende gebieden een verschillende kleur hebben.

6 139 Knoopkleuring van grafen
12 13

Kleur onderstaande kaart van Slovakije met zo weinig mogelijk kleuren zodat twee aaneengrenzende gebieden een verschillende kleur hebben.

140
14

Grafen 1

dit moet ik leren

❒ Ik ken de betekenis van een graaf, knopen en bogen.

❒ Ik weet wat een planaire graaf is en wat bedoeld wordt met een gerichte graaf en een gewogen graaf.

❒ Ik weet wat buren zijn en kan de graad bepalen van een knoop in een graaf.

❒ Ik weet dat de som van alle graden van alle knopen gelijk is aan het dubbele van het aantal bogen.

❒ Ik weet wat bedoeld wordt met een volledige graaf en een multigraaf.

❒ Ik ken de betekenis van een (open of gesloten) wandeling.

weet wat een pad is en dat een cykel een gesloten pad is.

❒ Ik weet wat een spoor is en dat een circuit een gesloten spoor is.

ken de betekenis van een eulerspoor, -circuit en -graaf.

ken het probleem van de zeven bruggen van Koningsbergen.

ken de betekenis van een hamiltonspoor, -circuit en -graaf.

weet dat een boom een graaf is die alle knopen met elkaar verbindt en geen cykels heeft.

ken de betekenis van een tweedelingsgraaf.

weet wat minimaal opspannende bomen zijn.

❒ Ik kan het algoritme van Kruskal en/of het algoritme van Prim toepassen.

kan het kortste pad bepalen op gewogen grafen.

kan het algoritme van Dijkstra toepassen.

Ik ken enkele beroemde toepassingen op de grafentheorie (zoals het Chinese postbodeprobleem en het handelsreizigersprobleem).

kan het 2-opt-algoritme toepassen.

ken de betekenis van een knoopkleuring van een graaf en kan ze toepassen bij problemen.

kan voor de kleuring van landkaarten knoopkleuringen toepassen.

ken de vierkleurenstelling.

141 WAT MOET JE KENNEN EN KUNNEN ?
pagina ik ken het ! oké voor examen
7  
8  
9  
9  
10  
10  
11  
Ik
11  
Ik
24  
Ik
25  
Ik
26  
Ik
27   ❒ Ik
28  
Ik
40  
42  
Ik
84   ❒ Ik
87   ❒
101  
Ik
104  
Ik
119  
Ik
124   ❒ Ik
125  

Grafen 1

a Deze graaf is geen eulergraaf. Verklaar.

b Als je in de graaf één boog wegneemt en één boog bijplaatst is die graaf wel een eulergraaf.

Welke boog nemen we weg ?

Welke boog plaatsen we bij ?

142 HERHALINGSOEFENINGEN Naam Totaal Orde / Stiptheid Punten Correctheid Klas Datum Nummer
1 / 3 A B C D E F J K H I G

Bepaal de minimaal opspannende boom en zijn waarde in dit netwerk.

143 Herhalingsoefeningen
B C D E F G H I J K L M N 12 32 32 18 34 24 14 20 38 40 26 16 28 28 18 14 10 12 36 22 40 24 18 30 38 34 2 / 2
A

Bepaal in onderstaand netwerk de kortste route van A naar Q.

144
I A B C D E F G H J K L M N O P Q 30 22 32 24 20 16 26 40 28 18 16 34 40 44 22 32 24 26 26 18 22 28 24 18 26 20 32 36 16 22 3 / 2

Bepaal een zo optimaal mogelijke kleuring voor volgende graaf.

145 Herhalingsoefeningen
A B C D E F G H I J L K 4 / 2

Oplossingen

1 Terminologie (blz. 13)

1 a knopen : A, B, C, D, E, F

bogen : AD, AE, AF, BC, BE, BF, CE, CF, DE, DF

b orde n = 6

grootte m = 10

d DG = 4

dG = 3

e planair

a n = 7 ; m = 11

146
c knoop
A 3 B 3 C 3 D 3 E 4 F 4
graad
2 L M K Q P O N
b knoop graad K 5 L 3 M 3 N 3 O 2 P 3 Q 3 c DG =
dG = 2 3 T P S U Q W V R 4 a A B D C b 4 6 a ja b neen c ja
5

b Baco, Chuck en Goa.

17 a, c en d

18 a, e en d zijn gelijk, net als c, b en f.

20 a pad & spoor

b circuit

c cykel & circuit

d geen pad en geen spoor

e cykel & circuit

f circuit

147 Oplossingen 8 a 15 A B C D F E b 45 ; 9 c n (n 1) 2 9 24 10 25 11 a 3 b 12 c geen d 70 12 6 13 8 14 3 B A F E D C 15 a B C F D E G H A b A, E en H 16 a E B A C D G F

2 Eulercircuits, hamiltoncykels en bomen (blz. 30)

1 a Er zijn meerdere oplossingen mogelijk.

bv. W = ( A – B via bovenste boog – C – A – B via onderste boog – E – C – D – E – A)

b Er zijn meerdere oplossingen mogelijk.

bv. W = ( A – B – J – C – A – D – C – E – F – J –

G – F – D – I – E – G – H – I – A)

2 Er zijn meerdere oplossingen mogelijk.

bv. W = (A – B – C – D – E – F – C – H – J – F – I –

E – G – I – H – G – C – B – R – S – T – R – U – T –W – U – V – W – Z)

3 Er zijn meerdere oplossingen mogelijk.

bv. W = (A –B – C – D – E – F – G – H – I – J – K – L –

A – M – K – I – F – S – E – Q – S – I – Q – D – P – Q – R

– O – P – B – O – N – R – M – N – A)

Er zijn meerdere oplossingen mogelijk.

bv. W = ( A – B – C – B – E – D – A – D – E – F – C – F)

5 a ja

b een eulercircuit

6 a In zes knopen (E, F, G, H, I en J) komen een oneven aantal bogen samen.

b Om een eulercircuit (eulergraaf) te maken moet de graad van elke knoop even zijn, je moet dus minstens drie bogen toevoegen, bv. EF, GJ en HI.

c De graad in elke knoop moet even zijn. De graaf moet ook nog samenhangend blijven. Dat kan door de bogen EJ, JF, IJ en GH te schrappen. Antwoord: minstens vier bogen.

7 Er zijn meerdere oplossingen mogelijk.

bv. W = ( S – H – F – U – T – Q – D – R – C – E – L – G – M – J – I – A – B- K – N – P – S)

8 a 6 b 24

c ( n – 1)!

9 Er zijn meerdere oplossingen mogelijk.

bv. W = ( A – B – C – D – H – G – F – E – A)

10 Er zijn meerdere oplossingen mogelijk.

bv. W = (A – H – C – D – F – E – G – B)

11 a bv. W = ( A – C – B – L – K – H – I – J – D – E –F – G – M – N – A)

b bv. W = ( A – C – B – D – E – F – G – H – I – J –K – D – J – F – G – M – N – L – M – H – K – L – N –A – L – B – A)

12 A B C D

F G H I

a bv. W = ( B – A – E – G – F – H – I – D – C – B)

b bv. W = ( B – A – E – G – E – F – B – F – G – H –F – H – I – H – D – I – D – C – B)

13 a bv. W = (R – A – B – C – D – E – F – G – R – I –H – J – I – F – A – J – C – R)

b bv. W = ( R – I – H – J – A – B – C – D – E – F –G – R)

ja

A B

E

16 Je moet de bogen FB en IL bijvoegen.

18 a blauw : B, E, D, G ; groen : A, C, F

b blauw : D, B, I, K, G, C ; groen : A, F, E, H, J

c blauw : H, B, M, P, D, L, C, I, J, K ; groen : A, N, O, F, E, Q, G

20 C

148
4 F E D A B C
E
14
15
C D

3 Minimaal opspannende bomen (blz. 52) 1

149 Oplossingen
gewicht : 19 A B C F E D 6 4 2 3 4 2 gewicht : 27 A B C D E F G H I J 2 3 4 2 2 3 3 4 4
14 4 2 3 5 A B C D E 4 gewicht : 27 A B C D E F G H I 4 4 3 3 3 2 2 6 5 gewicht : 23 A B C D E F G 5 4 4 4 3 3 6 gewicht : 26 A B C D E F G H 4 4 2 5 5 3 3
3 gewicht :
150 7 gewicht : 29 A B C D E F G H I 5 5 3 3 3 2 4 4 8 14 A B C D E F G x = 14 8 8 12 16 11 9 13 A B C D E F G H 12 11 10 15 14 17 x = 13 10 103 A B C D E F G H I J K L Q hoofdverbinding 8 9 8 8 7 7 7 6 5 5 14 19 11 53 A B C D E F G H I J K L M N O P Q R S 4 5 2 1 4 3 3 1 5 4 4 4 2 2 2 3 1 3 12 55 A B C D E H G F 10 9 8 6 8 7 7 13 A B C D E F G H I J 6 5 5 6 5 4 4 7 6 5 7 5 4 8 5 3 7 3 3 totaal gewicht : 36 A B C D E F G H I J 5 5 4 4 4 5 3 3 3

14 gewicht : 47

4 Kortste paden (blz. 92)

1 W = ( A – B – F – I – J) d ( AJ) = 10

2 a W = ( A – B – C – D) d ( AD) = 12

(opmerking : er zijn meerdere oplossingen mogelijk)

b W = ( E – J – G – A) d ( EA) = 11

c W = ( F – E – D – C) d ( FC) = 11

3 a W = ( A – B – F – K – M) d ( AM) = 13

b W = ( A – B – F – K – N) d ( AN) = 14

c W = ( E – B – A – D – I) d ( EI) = 12

d W = ( B – F – G – H – L) d ( BL) = 12

e W = ( D – H – G – F– J) d ( DJ) = 13

4 W = ( A – B – F – J – L – P) d ( AP) = 65

5 a W = ( A – E – J – O – K – P) d ( AP) = 15

b W = ( M – J – O – K – L – H – D) d ( MD) = 14

5 Toepassingen (blz. 106)

Er zijn steeds meerdere oplossingen mogelijk.

1 W = ( A – B – D – A – E – D – H – B – C – H – G – C –

H – D – E – F – G – E – F – A)

l ( W) = 116

2 W = ( A – B – C – G – B – D – G – J – K – D – H – I – D

– C – G – J – L – I – K – L – J – F – L – E – A – F –

G – A)

l ( W) = 159

3 W = ( A – G – C – B – K – L – D – K – I – F – B – A –

F – A – G – H – E – D – I – J – E – D – L – C – F –J – A)

l ( W) = 132

4 W = ( A – B – E – I – N – M – I – H – M – H – E – H – B

– D – H – L – D – A – G – L – K – J – F – K – F – C – F –

G – C – A)

l ( W) = 144

5 a 28 b 4; 105

6 W = ( A – D – B – C – E – F – A)

l ( W) = 42

7 W = ( Amersfoort – Utrecht – Ede – Arnhem –Nijmegen – Apeldoorn – Amersfoort)

l ( W) = 218 km

8 W = ( A – B – C – E – F – D – G – A)

l ( W) = 43

9 W = ( Geel – Diest – Aarschot – Tienen – Genk –Peer – Mol – Geel)

l ( W) = 182 km

10 W = ( Brugge – Torhout – Roeselare – Waregem –Kortrijk – Ieper – Veurne – Oostende – Brugge)

l ( W) = 212 km

11 ja

12 W = ( Genua – Turijn – Milaan – Parma – Verona –Venetië – Ravenna – Bologna – Firenze – Pisa –Genua)

l ( W) = 1296 km

151 Oplossingen
A E F I J N O P K L H G D C B M A E F I J N O P K L H G D C B M

6 Knoopkleuring van grafen (blz. 126)

a 2

3

n

a waar

4

3

9 weekend 1: cursus A, C & G

weekend 2: cursus B, F & H

weekend 3: cursus D

weekend 4: cursus E

10 tijdstip 1 : workshop A, D, G & H

tijdstip 2 : workshop B, C, E & F

11 tijdstip 1 : workshop A, E & G

tijdstip 2 : workshop B, F & H

tijdstip 3 : workshop C, D & I

152
2
b
3
4
b
5
S X V T Q Y U R Z W b 4 6 a G H A E K B C F I D J b
7 a C B D E A F G H K I J b 3 8 a A B C D E F G H I J K L M N O P b
waar
a

Trefwoordenregister

2-opt-algoritme 104

A

aantal buren 9

algoritme van Dijkstra 87

algoritme van Kruskal 42

algoritme van Prim 44

B

bestebuuralgoritme 103

bipartiete graaf 28

boog 7

boom 27

buren van een knoop 9

C

Chinees postbodeprobleem 101

chromatisch getal 119

circuit 11

cykel 11

D

Dijkstra 41

E

eindpunten 8

enkelvoudige graaf 10

eulercircuit 24

eulergraaf 24

eulerspoor 24

eulertour 24

eulerwandeling 24

G

gerichte graaf 8

gesloten wandeling 11

gewicht van een boog 86

gewogen graaf 8

gewone graaf 9

graad van een knoop 9

graaf 7

grootte 8

H Hamilton 27 hamiltoncykel 26 hamiltongraaf 26

handelsreizigersprobleem 103

I

icosian game 33

K

knoop 7

knoopkleuring van een graaf 119 kortste pad 84

L lengte van een pad 86

M minimaal opspannende boom 48 multigraaf 10

O open wandeling 11 orde 8

P pad 11 planaire graaf 8

R reguliere graaf 10

S

samenhangende graaf 10 spoor 11 stelling van Euler 49

T

tweedelingsgraaf 28

153 Trefwoordenregister

V

vierkleurenstelling 125

volledige graaf 10

W wandeling 10

Z

zeven bruggen van Koningsbergen 25

154
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.