Constructie van veralgemeende fusenen

Maat: px
Weergave met pagina beginnen:

Download "Constructie van veralgemeende fusenen"

Transcriptie

1 MASTERTHESIS Constructie van veralgemeende fusenen Auteur: Promotor: Pieter Goetschalckx Gunnar Brinkmann ACADEMIEJAAR

2

3 Inhoudsopgave Inhoudsopgave i 1 Inleiding 1 1 Grafen Vlakke grafen Fusenen en benzenoïden Het homomorfisme principe De canonical construction path methode Veralgemeende fusenen Kekulé structuur Constructie 9 1 Definities en eigenschappen Constructie van binnendualen Constructie van top-gelabelde binnendualen Constructie van hoek-gelabelde binnendualen Perfecte matchings Implementatie 23 1 Datastructuren Grotermakende randsegmenten Isomorfie Labeling Perfecte matchings Resultaten 29 1 Controle Uitvoeringstijd Aantallen Perfecte matchings Bibliografie 39 Index 41 i

4

5 HOOFDSTUK 1 Inleiding Het doel van deze thesis is de ontwikkeling en implementatie van een efficiënt algoritme voor de constructie van veralgemeende fusenen. In Hoofdstuk 1 wordt eerst een korte introductie in de grafentheorie gegeven. Daarna worden de bestaande resultaten, toepassingen en methodes voor fusenen besproken, en worden veralgemeende fusenen geïntroduceerd. In Hoofdstuk 2 wordt het eigenlijke algoritme gegeven aan de hand van theoretische resultaten, en wordt de correctheid bewezen. Daarna worden er in Hoofdstuk 3 meer details gegeven over de implementatie van het algoritme in de programmeertaal C. Tenslotte worden de kwantitatieve resultaten besproken in Hoofdstuk 4 aan de hand van enkele grafieken en tabellen. 1 Grafen We voeren eerst enkele essentiële begrippen uit de grafentheorie in. Definitie 1. Een graaf G = (V, E) bestaat uit een eindige toppenverzameling V, en een verzameling E V 2 van deelverzamelingen van V met twee elementen. Een element {v, w} E noemen we een boog. De graad van een top v V is het aantal bogen e E met v e. Een graaf kan geïnterpreteerd en getekend worden als toppen die worden verbonden door de bogen. In sommige gevallen is het nodig om meerdere bogen tussen dezelfde toppen toe te staan. Definitie 2. Een multigraaf G = (V, E, f ) bestaat uit een eindige toppenverzamelingen V en een eindige bogenverzameling E met V E =. De functie f : E V 2 kent de eindpunten toe aan de bogen. Als G = (V, E) en G = (V, E ) grafen zijn met V V en E E, dan noemen we G G een deelgraaf. Een pad is een graaf P = (V, E) met V = {v 0,..., v n } (waarbij alle v i verschillend zijn), en E = { {v i, v i+1 } 0 i < n }. Als een pad een 1

6 1. INLEIDING deelgraaf is van een graaf G, dan noemen we P een pad in G van v 0 naar v n. Een verzameling toppen {v 0,..., v n } (die niet allemaal verschillend moeten zijn) en bogen { {v i, v i+1 } 0 i < n } noemen we een wandeling van v 0 naar v n. Definitie 3. Een graaf G = (V, E) heet samenhangend als er voor alle v, w V een pad van v naar w bestaat. Een graaf heet k-samenhangend als G samenhangend is, V > k, en de graaf nog steeds samenhangend is als er minder dan k toppen worden verwijderd 1. Wat de elementen van de toppenverzameling V juist zijn is meestal niet belangrijk. Het is vooral de structuur die ons interesseert, en daarom is isomorfie van grafen een onmisbaar begrip. Definitie 4. We zeggen dat twee grafen G = (V, E) en G = (V, E ) isomorf zijn als er een bijectieve afbeelding f : V V bestaat zodat {v, w} E {f (v), f (w)} E. We noemen f een isomorfisme, en als G = G dan is f een automorfisme. 2 Vlakke grafen Vanaf nu zullen we vooral met georiënteerde bogen werken. Een georiënteerde boog is een paar [v, w], waarvoor {v, w} E. De inverse boog is [v, w] 1 = [w, v]. Definitie 5. Een ingebedde graaf G = (V, E, opv) is een graaf (V, E) en een opvolgerfunctie opv() die een georiënteerde boog afbeeldt op een georiënteerde boog met dezelfde begintop zodat [v, w], opv([v, w]), opv 2 ([v, w]),..., opv deg(v) 1 ([v, w]) = { [v, y] {v, y} E } voor alle georiënteerde bogen [v, w]. We zeggen dat ([v, w], [w, x]) een hoek vormen als opv([w, v]) = [w, x]. Een vlak is een opeenvolging van georiënteerde bogen [v 0, v 1 ], [v 1, v 2 ],..., [v n 2, v n 1 ], [v n 1, v 0 ] zodat elke twee opeenvolgende bogen een hoek vormen. Meer specifiek noemen we dit vlak een n-hoek. Een ingebedde graaf kan getekend worden door de bogen rond een top in wijzerzin te tekenen in de volgorde die de opvolgerfunctie aangeeft. Wat we juist als hoeken en vlakken hebben gedefinieerd komt dan overeen met de intuïtieve betekenis [5]. Het is echter niet mogelijk om elke ingebedde graaf in het vlak te tekenen. Omdat ingebedde grafen meer structuur hebben dan gewone grafen, hebben we een nieuwe definitie van isomorfie nodig. 1 Daarbij moeten natuurlijk ook de bijbehorende bogen worden verwijderd. 2

7 3. Fusenen en benzenoïden Definitie 6. We zeggen dat twee ingebedde grafen G = (V, E, opv) en G = (V, E, opv ) oriëntatiebewarend isomorf zijn als ze isomorf zijn als grafen met isomorfisme f, en opv([v, w]) = [v, x] opv ([f (v), f (w)]) = [f (v), f (x)]. We zeggen dat ze oriëntatieomkerend isomorf zijn als opv([v, w]) = [v, x] opv ([f (v), f (x)]) = [f (v), f (w)]. We zeggen dat twee ingebedde grafen isomorf zijn als ze oriëntatiebewarend of oriëntatieomkerend isomorf zijn. De Euler-karakteristiek van een ingebedde graaf G = (V, E, opv) met E > 0 en F de verzameling van vlakken is ek(g) = V E + F. Zonder bewijs vermelden we nog dat de Euler-karakteristiek niet veranderd door een boog met één nieuwe top toe te voegen, of door twee bestaande toppen in hetzelfde vlak met een nieuwe boog te verbinden 2. Definitie 7. Een vlakke graaf is een samenhangende ingebedde graaf G met Euler-karakteristiek ek(g) = 2. Tenslotte definiëren we nog de duale graaf. Definitie 8. De duale graaf van een vlakke graaf G = (V, E, opv) met vlakkenverzameling F is de ingebedde multigraaf G = (V, E, f, opv ) met V = F, E = E, en f (e) geeft de twee vlakken die aan de twee kanten van e liggen. De opvolgerfunctie opv geeft de volgorde van de bogen rond de top f 0 van G in de volgorde waarin ze in G in het vlak f 0 voorkomen. 3 Fusenen en benzenoïden Fusenen en benzenoïden zijn vlakke grafen met bepaalde eigenschappen. Definitie 9. Een fuseen is een vlakke graaf, waarbij één van de vlakken wordt aangeduid als het buitenvlak en de rest als interne vlakken, en 1. de graaf is 2-samenhangend; 2. alle toppen hebben graad 2 of 3; 3. toppen die niet in het buitenvlak liggen hebben graad 3; 4. alle interne vlakken zijn zeshoeken. 2 Ook de opvolgerfuncties moeten dan natuurlijk worden aangepast, zodat de nieuwe boog tussen de hoeken van het desbetreffende vlak komt. 3

8 1. INLEIDING Een benzenoïde is een fuseen dat een deelgraaf is van een zeshoekig rooster. In de chemie komen fusenen en benzenoïden voor als polycyclische aromatische koolwaterstoffen. De toppen komen overeen met koolstofatomen (C), de bogen zijn de bindingen, en de toppen van graad 2 in de buitenrand hebben nog een extra binding met een waterstofatoom (H). In Figuur 1.1 wordt een voorbeeld gegeven van een benzenoïde waar de waterstofatomen zijn weergegeven in het blauw. In Figuur 1.2 is een fuseen afgebeeld dat geen benzenoïde is, omdat deze graaf niet kan ingebed worden in een regelmatig rooster. H H H C C H C C C C H C C C C H C C C C H H H H Figuur 1.1: Voorbeeld van een benzenoïde. Figuur 1.2: Voorbeeld van een fuseen dat geen benzenoïde is. In [3] werd een constructief algoritme gegeven voor fusenen en benzenoïden met een gegeven aantal zeshoeken. Daarbij worden alle fusenen op isomorfie na geconstrueerd. Het is relatief eenvoudig om een algoritme te geven dat alle fusenen construeert, maar dan moeten de isomorfe structuren er achteraf nog uitgefilterd worden. Deze aanpak is niet alleen inefficiënt omdat er veel te veel 4

9 4. Het homomorfisme principe fusenen geconstrueerd worden, maar ook omdat het filteren op isomorfie veel tijd en geheugen nodig heeft. Daarom is het een betere aanpak om al tijdens de constructie isomorfe structuren te vermijden. Daarvoor wordt een combinatie van het homomorfisme principe en de canonical construction path methode gebruikt. 4 Het homomorfisme principe Bij het homomorfisme principe [6] wordt er eerst een onderliggende ruwere structuur geconstrueerd (in het geval van fusenen de binnendualen). Deze ruwe structuur heeft als eigenschap dat elk isomorfisme tussen twee structuren een isomorfisme tussen de ruwe structuren induceert. De binnenduaal van een fuseen is de duale graaf, waarbij de top die correspondeert met het buitenvlak werd weggelaten. Verschillende fusenen kunnen dezelfde binnenduaal hebben. Deze kunnen van elkaar onderscheiden worden door de hoeken van de binnenduaal te labelen met het aantal bogen in de gewone duale graaf die in die hoek verwijderd werden. In Figuur 1.3 wordt hiervan een voorbeeld gegeven. Er is een bijectie tussen de gelabelde binnendualen en de fusenen, dus als we de gelabelde binnendualen kunnen construeren, hebben we ook de fusenen geconstrueerd Figuur 1.3: Twee fusenen met dezelfde binnenduaal, maar andere labeling. Volgens het homomorfisme principe construeren we dus eerst de verzameling van alle isomorfie-vrije binnendualen. Daarna kunnen de binnendualen op alle mogelijke manieren gelabeld worden. Daarbij moeten isomorfe fusenen vermeden worden, maar omdat fusenen enkel isomorf kunnen zijn als de onderliggende binnendualen isomorf zijn, moeten we daarvoor enkel naar de labeling kijken. Door het probleem op deze manier op te splitsen, wordt het dus al een stuk minder complex. 5

10 1. INLEIDING 5 De canonical construction path methode We kunnen het homomorfisme principe natuurlijk pas gebruiken wanneer we de binnendualen kunnen construeren. Daarvoor maken we gebruik van de canonical construction path methode [7] om isomorfie te vermijden. Daarbij worden alle binnendualen met een depth-first algoritme geconstrueerd door stap voor stap toppen toe te voegen, maar wordt bij elke stap voorkomen dat er isomorfe kopieën worden geconstrueerd. In plaats van effectief de isomorfie van de binnenduaal te controleren, wordt de manier waarop hij geconstrueerd is (het construction path) gecontroleerd. Daarvoor wordt er gebruik gemaakt van een keuzefunctie die voor elke binnenduaal een orbit van een canonieke top kiest. De keuzefunctie zal voor isomorfe binnendualen dezelfde orbit kiezen. Enkel wanneer de canonieke top de top is die laatst werd toegevoegd, wordt de binnenduaal geaccepteerd. We kunnen de manier waarop binnendualen worden geconstrueerd zelf als een gerichte graaf voorstellen, met de binnenduaal die bestaat uit één top als wortel, waarbij elke gerichte boog een constructiestap voorstelt (het toevoegen van een nieuwe top dus). Er zijn dan verschillende paden naar eenzelfde binnenduaal, wat betekent dat deze binnenduaal meerdere keren geconstrueerd zal worden in een gewoon depth-first algoritme. De canonical construction path methode kiest voor elke binnenduaal een orbit van toppen, die overeenkomt met een gerichte boog naar die binnenduaal. Door enkel die bogen te accepteren, krijgen we dus een constructieboom waarbij elke binnenduaal uit een op isomorfie na unieke voorganger wordt geconstrueerd. We kunnen echter per inductie aannemen dat exact één van deze isomorfe voorgangers wordt geconstrueerd. Daaruit volgt dat van elke binnenduaal exact één isomorfe kopie wordt geconstrueerd. Het is natuurlijk ook mogelijk om met deze methode ineens de fusenen te construeren in plaats van de binnendualen. Het resultaat zou echter een stuk trager zijn. Nu kunnen voor elke binnenduaal tegen heel hoge snelheid alle bijbehorende fusenen worden geconstrueerd gewoon door de binnenduaal te labelen. In Hoofdstuk 4 wordt uitgebreider ingegaan op de snelheidswinst van deze methode. 6 Veralgemeende fusenen Fusenen kunnen worden veralgemeend door de eis dat alle interne vlakken zeshoeken zijn te laten vallen. Het onderzoek naar de chemische eigenschappen hiervan is nog maar net begonnen, wat meteen ook de reden is waarom het interessant is om deze grafen te kunnen construeren. Als we voor elke i het aantal gewenste i-hoeken n i geven, willen we alle niet-isomorfe veralgemeende fusenen met deze aantallen construeren. Dit algoritme zal minder geoptimaliseerd zijn voor het specifieke geval van de fusenen, maar kan wanneer er vlakken van verschillende grootte zijn wel gebruik 6

11 7. Kekulé structuur maken van de hogere graad van asymmetrie om een snelheidswinst te bekomen. In Figuur 1.4 wordt een voorbeeld gegeven met bijbehorende binnenduaal. 7 Kekulé structuur Een probleem dat zich voordoet bij fusenen, en bij veralgemeende fusenen nog meer, is dat het aantal fusenen heel snel stijgt voor elk extra vlak. Dat maakt het praktisch onmogelijk om zelfs heel eenvoudige testen uit te voeren op alle geconstrueerde fusenen. Bovendien is een groot deel van de geconstrueerde (veralgemeende) fusenen niet interessant omdat ze niet chemisch stabiel zijn. Een mogelijke oplossing is om een beperking op te leggen tijdens de constructie die structuren waarvan al op voorhand duidelijk is dat ze instabiel zullen zijn vermijdt. Een nodige voorwaarde voor stabiele benzenoïde koolwaterstoffen is dat de onderliggende graaf een perfecte matching heeft. In de chemie wordt dit een Kekulé structuur genoemd. Definitie 10. Een matching in een graaf G = (V, E) is een verzameling M E zodat voor alle e, e M met e e geldt dat e e =. We noemen een top v gesatureerd als er een boog v M bestaat met v e. Als elke top gesatureerd is, dan is M een perfecte matching Figuur 1.4: Voorbeeld van een veralgemeende fuseen met de bijbehorende gelabelde binnenduaal en een perfecte matching. 7

12

13 HOOFDSTUK 2 Constructie In dit hoofdstuk zullen we de constructie van de veralgemeende fusenen beschrijven. Het algoritme is analoog aan het algoritme voor fusenen dat in Hoofdstuk 1 kort beschreven werd. We zullen dus gebruik maken van het homomorfisme principe en de canonical construction path methode. Een belangrijk verschil is dat we hier het homomorfisme principe een keer extra zullen toepassen, door met twee soorten gelabelde binnendualen te werken. We beginnen met enkele theoretische resultaten te bewijzen, waarop het algoritme gebaseerd is. Daarna construeren we de binnendualen met de canonical construction path methode, die we daarna in twee stappen zullen labelen. 1 Definities en eigenschappen Om de notatie te vereenvoudigen zullen we de rij (n 0, n 1,..., n i,... ) vanaf nu noteren als (n i ). Definitie 11. Een veralgemeende fuseen of (n i )-graaf is een enkelvoudige vlakke graaf met i=0 n i <, n i = 0 voor i < 3, en 1. de graaf is 2-samenhangend; 2. alle toppen hebben graad 2 of 3; 3. toppen die niet in het buitenvlak liggen, hebben graad 3; 4. er zijn juist n i interne vlakken met i zijden voor alle i. De binnenduaal van een ingebedde graaf G is de duale graaf met de top voor het buitenvlak verwijderd. De hoek-gelabelde binnenduaal van G is de binnenduaal waarbij elke hoek (e 0, e 1 ) gelabeld is met het aantal bogen dat in de duale graaf van G tussen e 0 en e 1 zitten. De top-gelabelde binnenduaal van G is de binnenduaal waarbij elke top gelabeld is met het aantal bogen dat deze top meer heeft in 9

14 2. CONSTRUCTIE de gewone duale graaf. Dit is dus de som van de labels van de hoeken in de hoek-gelabelde binnenduaal van G. Ook voor top-gelabelde en hoek-gelabelde binnendualen hebben we een aangepaste definitie van isomorfie. Definitie 12. We zeggen dat twee hoek-gelabelde binnendualen isomorf zijn als ze isomorf zijn als ingebedde grafen met isomorfisme f, en het label van (e 0, e 1 ) gelijk is aan het label van (f (e 0 ), f (e 1 )) voor alle hoeken (e 0, e 1 ). We zeggen dat twee top-gelabelde binnendualen isomorf zijn als ze isomorf zijn als ingebedde grafen met isomorfisme f, en het label van v gelijk is aan het label van f (v) voor alle toppen v. De minimale graad mindeg(v) van een top v in een vlakke graaf is de som van de graad en het aantal keer dat deze top in de buitenrand voorkomt. De totale graad totdeg(v) in een top-gelabelde graaf is de som van de graad en het label van v. De totale graad in een hoek-gelabelde graaf is de som van de graad en de som van de labels van de hoeken in v. De binnenduaal van een (n i )-graaf noemen we een (n i )-duaal. Opmerking 13. De labels van de toppen in de binnenduaal bepalen de totale graad, die gelijk is aan de grootte van het corresponderende vlak in de (n i )-graaf. Voor fusenen zou het weinig zin hebben om de toppen te labelen, omdat alle vlakken zeshoeken zijn. Vervolgens bepalen de labels van de hoeken met welke zijden deze vlakken aan elkaar hangen. Omdat we alle (n i )-dualen willen construeren, hebben we eenvoudig te controleren eigenschappen nodig die de (n i )-dualen karakteriseren. We beginnen met de eigenschappen van de hoek-gelabelde (n i )-dualen. Lemma 14. Een ingebedde graaf G met gelabelde hoeken is een hoekgelabelde (n i )-duaal van een (n i )-graaf H als en slechts als 1. het aantal toppen met totale graad i is n i ; 2. G is samenhangend; 3. alle interne vlakken zijn driehoeken; 4. hoeken (e, e ) met het buitenvlak tussen e en e hebben een strikt positief label, alle andere hoeken hebben label 0; 5. de som van alle labels is tenminste 3. Bewijs. We bewijzen eerst dat deze eigenschappen noodzakelijk zijn Een (n i )-graaf heeft n i interne vlakken van grootte i en een buitenvlak. De binnenduaal heeft juist één top van graad i voor elk intern vlak van grootte i.

15 1. Definities en eigenschappen 2. Kies twee willekeurige toppen u en v van G. Er bestaat dan een pad w 0,..., w k+1 in H tussen een top w 0 in het vlak corresponderend met u, en een top w k in het vlak corresponderend met v. Elke boog in dit pad grenst aan een intern vlak omdat H 2-samenhangend is. Twee opeenvolgende vlakken w i en w i+1 hebben een gemeenschappelijke top in hun rand. We kunnen dan interne vlakken w i,0,..., w i,li +1 kiezen met w i,0 = w i en w i,li +1 = w i+1 die rond deze top liggen, zodat opeenvolgende vlakken w i, j en w i,j+1 een gemeenschappelijke boog hebben. Ook dit is mogelijk omdat H 2-samenhangend is. Al deze vlakken w 0,0,..., w 0,l0,..., w k,0,..., w k,lk, w k+1 vormen een wandeling in G van u naar v. Het is eenvoudig in te zien dat er dan ook een pad bestaat, dus is G samenhangend. 3. Omdat toppen van H die niet in de buitenrand voorkomen graad 3 hebben, zijn de overeenkomstige interne vlakken driehoeken. 4. Dit is een rechtstreeks gevolg van de constructie van de hoek-gelabelde binnenduaal. 5. Omdat een (n i )-graaf enkelvoudig is, heeft het buitenvlak minstens 3 bogen. Het aantal bogen in de buitenrand is de som van alle labels. Als G een hoek-gelabelde vlakke graaf is met eigenschappen 1 5, kan een (n i )-graaf worden geconstrueerd door één top toe te voegen voor het buitenvlak, en k bogen tussen deze nieuwe top en een hoek met label k. Deze graaf G is de duale graaf van H. We bewijzen dat H voldoet aan de eigenschappen van Definitie We bewijzen eerst dat er in H geen splitsende bogen zijn. Dit zijn bogen die aan twee kanten aan hetzelfde vlak grenzen. Als dit een intern vlak is, zou de splitsende boog overeenkomen met een boog in G die begint en eindigt in dezelfde top, wat onmogelijk is volgens de definitie van een graaf. Als dit vlak het buitenvlak is, zou de splitsende boog overeenkomen met een boog in G die begint en eindigt in de top voor het buitenvlak. Maar omdat de enige bogen naar deze top afkomstig zijn van gelabelde hoeken in G, en dus verbonden zijn met andere toppen, is ook dit onmogelijk. Stel nu dat er een splitsende top v bestaat in H. Deze top verdeelt de graaf in partities, en er zit tenminste één intern vlak in elke partitie. Elke partitie bevat namelijk minstens één boog, die niet aan twee kanten aan het buitenvlak grenst. In G kunnen de toppen die overeenkomen met deze interne vlakken niet door een pad verbonden worden. Omdat G samenhangend is, kan H dus geen splitsende top hebben, dus is H 2-samenhangend. 2. De toppen in de buitenrand van H zijn tenminste van graad 2, want H is 2-samenhangend. Als er een top v voorkomt in de buitenrand met graad hoger dan 3, dan heeft G een vlak met meer dan 3 bogen en de top b die overeen komt met het buitenvlak van H als een van de toppen. Dit vlak heeft dan ook een top w die geen buur is van b. In de hoek-gelabelde (n i )-duaal G is b verwijderd, en is er dus een hoek (e, e ) in b met het buitenvlak tussen e 11

16 2. CONSTRUCTIE en e. Bijgevolg moet deze hoek een van nul verschillend label hebben, terwijl er in de duale graaf geen bogen tussen e en e zijn. Dit is onmogelijk, dus hebben de toppen in de buitenrand graad 2 of De toppen van H die niet voorkomen in de buitenrand hebben graad 3, want de overeenkomstige vlakken in G zijn driehoeken. 4. Dit is een rechtstreeks gevolg van de constructie. Tenslotte moeten we nog aantonen dat H enkelvoudig is, dus dat er geen vlakken kleiner dan 3 zijn. De interne vlakken komen overeen met toppen van G die totale graad 3 of hoger hebben. De grootte van het buitenvlak van H is de som van alle labels van G, die tenminste 3 is. We kunnen hier nu gebruik van maken om ook voor top-gelabelde (n i )-dualen karakteriserende eigenschappen te vinden. Lemma 15. Een ingebedde graaf G met gelabelde toppen is een top-gelabelde (n i )-duaal van een (n i )-graaf H als en slechts als 1. het aantal toppen met totale graad i is n i ; 2. G is samenhangend; 3. alle interne vlakken zijn driehoeken; 4. toppen die voorkomen in de buitenrand hebben een label groter of gelijk aan het aantal keer dat de top voorkomt in het buitenvlak, alle andere toppen hebben label 0; 5. de som van alle labels is tenminste 3. Bewijs. De top-gelabelde binnenduaal kan geconstrueerd worden door eerst een hoek-gelabelde binnenduaal te construeren, en de toppen te labelen met de som van de labels van de hoeken in een top. Eigenschappen 1 5 zijn dan een onmiddellijk gevolg van Lemma 14. Als G een top-gelabelde ingebedde graaf G met de gegeven eigenschappen is, kan een hoek-gelabelde binnenduaal geconstrueerd worden door het label van elke top te verdelen over de hoeken (e, e ) met het buitenvlak tussen e en e. Dankzij eigenschap 4 is dit mogelijk zodat ook aan eigenschap 4 van Lemma 14 is voldaan. De andere eigenschappen zijn equivalent, dus is G een (n i )-duaal. Tenslotte bewijzen we de karakteriserende eigenschappen van (n i )-dualen. Lemma 16. Een ingebedde graaf G is een (n i )-duaal van een (n i )-graaf H als en slechts als G heeft i=0 n i toppen; 2. G is samenhangend;

17 1. Definities en eigenschappen 3. alle interne vlakken zijn driehoeken; 4. er zijn ten hoogste n i toppen van graad i die niet in de buitenrand voorkomen; 5. met m j het aantal toppen van minimale graad j, geldt i m j i j=0 j=0 n j voor i. 6. met d i het aantal toppen van graad i, geldt n i i d i i + 3. i=0 Bewijs. Het is duidelijk dat eigenschappen 1 tot 4 noodzakelijke eigenschappen zijn dankzij Lemma s 14 en 15. Het is mogelijk dat toppen van G die voorkomen in de buitenrand een minimale graad hebben die kleiner is dan het aantal zijden van het overeenkomstige vlak in H. Dat betekent dat voor elk van de i j=0 n j interne vlakken in H met ten hoogste i zijden, de overeenkomstige top in G één van de i j=0 m j toppen met minimale graad ten hoogste i is. Daarom is i m j j=0 i=0 i n j. Het label van een top is gelijk aan het verschil van de totale graad en de graad. De som van alle labels is dus gelijk aan i=0 n ii i=0 d ii, en omdat die tenminste 3 is volgt hieruit eigenschap 6. De toppen van G kunnen zo gelabeld worden dat ze de eigenschappen van Lemma 15 hebben. j=0 Doe voor alle i met n i 0 in stijgende volgorde: 1. label de k i toppen die niet voorkomen in de buitenrand met label 0; 2. kies n i k i ongelabelde toppen met mindeg(v) i en label deze met label (i deg(v)). Omdat k i n i dankzij eigenschap 4, is n i k i altijd positief in stap 2. We bewijzen nu dat voor elke i juist n i toppen gelabeld worden. Het aantal toppen met mindeg(v) i is i j=0 m j. We nemen per inductie aan dat i 1 j=0 n j daarvan reeds gelabeld zijn. Omdat i j=0 m j i j=0 n j volgens eigenschap 5, is i i 1 m j n j n i. j=0 j=0 Daardoor is het mogelijk om n i k i ongelabelde toppen te kiezen. Uiteindelijk zullen er i=0 n i toppen gelabeld zijn en dat zijn alle toppen van G volgens eigenschap 1. 13

18 2. CONSTRUCTIE 2 Constructie van (n i )-dualen Om de (n i )-dualen te construeren, zullen we beginnend met één enkele top achtereenvolgens nieuwe toppen toevoegen. Deze intermediaire grafen zullen dus geen (n i )-dualen kunnen zijn omdat ze te weinig toppen hebben, maar moeten wel aan gelijkaardige eigenschappen voldoen om te kunnen garanderen dat de uiteindelijke graaf wel een (n i )-duaal is. Definitie 17. Een partiële (n i )-duaal G met tekort d 0 is een ingebedde graaf waarvoor geldt: 1. G heeft i=0 n i d toppen; 2. G is samenhangend; 3. alle interne vlakken zijn driehoeken; 4. er zijn ten hoogste n i toppen van graad i die niet in de buitenrand voorkomen; 5. met m j het aantal toppen van minimale graad j, geldt i i m j n j d j=0 j=0 voor i. 6. met d i het aantal toppen van graad i, geldt n i i d i i + 3. i=0 We merken op dat 6 voor partiële (n i )-dualen met tekort d > 0 volgt uit de andere eigenschappen. Enkel voor d = 0 moet deze eigenschap dus gecontroleerd worden. Een partiële (n i )-duaal met tekort 0 is dus een (n i )-duaal. Nu moeten we natuurlijk nog een manier vinden om toppen toe te voegen zodat deze eigenschappen behouden blijven. We zullen de nieuwe top verbinden met de toppen van een (n i )-grotermakend randsegment. Definitie 18. Een randsegment (e, l) van een partiële (n i )-duaal met tekort d bestaat uit een boog e in de buitenrand en een getal l > 0 met l ten hoogste één meer dan de lengte van de buitenrand. De toppen van het randsegment zijn de eindtop van e en de volgende l 1 toppen in de volgorde van het buitenvlak. We noemen deze l toppen v 0,..., v l 1. Het is mogelijk dat een top meerdere keren voorkomt in een randsegment. We zeggen dat een top in het randsegment verschillend van v 0 en v l 1 die buiten het randsegment niet voorkomt in de buitenrand, door dit randsegment voltooid wordt. De andere toppen noemen we onvoltooid. i=0 14

19 2. Constructie van binnendualen We noemen een randsegment (n i )-grotermakend als 1. met k i het aantal toppen van graad i die niet voorkomen in de buitenrand, en b i het aantal voltooide toppen van graad i b die b keer voorkomen in het randsegment, geldt k i + b i n i 2. als en dan mindeg(v) als v / {v 0, v l 1 } d(v) = mindeg(v) + 1 als v {v 0, v l 1 } en v 0 v l 1, of l = 1 mindeg(v) + 2 als v = v 0 = v l 1 en l > 1 d i = het aantal toppen v met d(v) = i als i l het aantal toppen v met d(v) = i als i = l + 1 i d j j=0 i n j d + 1 j=0 3. met d i het aantal toppen van graad i, geldt n i i d i i + 2l + 3 i=0 i=0 voor i We kunnen een top v verbinden met een randsegment door voor elke top in het randsegment een nieuwe boog tussen deze top en v toe te voegen. Wanneer een top meerdere keren voorkomt, worden er meerdere bogen toegevoegd, en de volgorde van de bogen in v zal de volgorde van de overeenkomstige toppen in het randsegment zijn. De toppen die door dit randsegment voltooid werden, zullen nu niet meer voorkomen in de buitenrand. Wanneer een nieuwe top wordt verbonden met een (n i )-grotermakend randsegment, zegt de voorgaande definitie eigenlijk gewoon dat de resulterende graaf een partiële (n i )-duaal zal zijn. De volgende drie lemma s maken duidelijk dat de (n i )-grotermakende randsegmenten een goede manier leveren om partiële (n i )-dualen uit te breiden. Lemma 19. Een top toevoegen aan een partiële (n i )-duaal met tekort d > 0, en deze top verbinden met een (n i )-grotermakend randsegment, geeft een partiële (n i )-duaal met tekort d 1. Bewijs. We bewijzen eigenschappen 1 6 van Definitie G heeft een top meer dan G. Het aantal toppen is dus n i d + 1 = n i (d 1). i=0 i=0 15

20 2. CONSTRUCTIE 2. De nieuwe top is verbonden met toppen van G, dus is G samenhangend. 3. De nieuwe vlakken zijn duidelijk driehoeken. 4. De k i toppen van graad i die niet in de buitenrand van G voorkomen, hebben in G dezelfde graad en komen niet in de buitenrand voor. De enige andere toppen die niet voorkomen in de buitenrand van G zijn de voltooide toppen van het (n i )-grotermakend randsegment. Er zijn b i zo n toppen van graad i b die b keer voorkomen in de buitenrand, en dus graad i hebben in G. Het totale aantal toppen van graad i dat niet voorkomt in de buitenrand van G is dus k i + b i n i. 5. De minimale graad van een top verandert enkel in de eerste en laatste top van het randsegment, die daarom afzonderlijk behandeld worden in de definitie van d(v). De minimale graad van de nieuwe top is l + 1, waar ook rekening mee wordt gehouden, dus m j = d j en i m j = j=0 i d j j=0 i n j (d 1). 6. Dit volgt onmiddellijk uit de eigenschappen van een (n i )-grotermakend randsegment. j=0 Opmerking 20. Het is helaas niet zo dat elke partiële (n i )-duaal een (n i )-grotermakend randsegment heeft. Een eenvoudig voorbeeld is het geval n 3 = 3, n 4 = 1, waarvoor er geen (n i )-dualen bestaan, maar wel twee partiële (n i )-dualen met tekort 1. Lemma 21. Verwijderen van een top die slechts één keer voorkomt in de buitenrand van een partiële (n i )-duaal G met tekort d, geeft een partiële (n i )-duaal G met tekort d + 1, waarbij de voormalige buren van de verwijderde top de toppen van een (n i )-grotermakend randsegment (e, l) zijn. Bewijs. De minimale graad van toppen in G is kleiner of gelijk aan de minimale graad van dezelfde toppen in G. Dus voor elk van de i j=0 m j toppen in G met minimale graad ten hoogste i, is dezelfde top in G één van de i j=0 m j toppen met minimale graad ten hoogste i. Er is tenslotte nog één top meer in G, dus i m j j=0 i m j 1 j=0 i n j (d + 1), j=0 en G is een partiële (n i )-duaal met tekort d + 1. Als e 0 de boog is in de buitenrand van G met als eindtop de te verwijderen top, dan is e de boog daar net voor, en l is de graad van de verwijderde top. De toppen 16

21 2. Constructie van binnendualen van het randsegment (e, l) zijn dan juist de voormalige buren van de verwijderde top. Het aantal toppen dat niet voorkomt in de buitenrand van G is b i + k i, en de getallen d i van Definitie 17 zijn gelijk aan de getallen m i van G. Dus het randsegment (e, l) is inderdaad (n i )-grotermakend. Lemma 22. Alle (n i )-dualen kunnen geconstrueerd worden beginnend van één enkele top, door achtereenvolgens toppen toe te voegen en te verbinden met de toppen van een (n i )-grotermakend randsegment, tot er i=0 n i toppen zijn. Bewijs. We bewijzen eerst dat elke partiële (n i )-duaal met tekort d en minstens 2 toppen ten minste één top heeft die juist één keer in de buitenrand voorkomt. Daarvoor kiezen we een willekeurige top v 0 in de buitenrand. Als v 0 slechts één keer voorkomt in de buitenrand zijn we al klaar. Stel dus dat v 0 meerdere keren voorkomt. Er bestaat dan een wandeling P 0 langs de buitenrand die begint en eindigt in v 0, en waarin nog minstens één van v 0 verschillende top v 1 voorkomt. Als v 1 slechts één keer voorkomt in de buitenrand, zijn we klaar. We veronderstellen dus dat ook v 1 meerdere keren voorkomt, en er bestaat dus een wandeling P 1 P 0 die begint en eindigt in v 1, en minstens één van v 0 en v 1 verschillende top v 2 bevat. Als er geen top bestaat die slechts één keer voorkomt in de buitenrand, kunnen we op deze manier toppen v i vinden voor alle i die onderling verschillend zijn. Omdat het aantal toppen eindig is, is dit echter onmogelijk. Er bestaat dus een top v die exact één keer voorkomt in de buitenrand. Volgens Lemma 21 kan top v verwijderd worden, en krijgen we dan een partiele (n i )-duaal G met tekort d+1, waarbij de voormalige buren van v de toppen van een (n i )-grotermakend randsegment zijn. Met andere woorden, G kan verkregen worden uit G door een top toe te voegen en deze te verbinden met de toppen van een (n i )-grotermakend randsegment. We nemen per inductie aan dat G op deze manier geconstrueerd kan worden uit één enkele top, waaruit volgt dat dit ook voor G geldt. Omdat een (n i )-duaal een partiële (n i )-duaal met tekort 0 is, kunnen alle (n i )-dualen zo geconstrueerd worden. Dankzij Lemma 19 zullen er geen andere grafen geconstrueerd worden. Om McKay s canonical construction path method te gebruiken, is er een keuzefunctie f van de verzameling van (n i )-dualen met toppen 1,..., n naar de verzameling 2 {1,...,n} nodig, zodat 1. Voor elke (n i )-duaal G, is f (G) een orbit van toppen onder de symmetriegroep van G, bestaande uit toppen die juist één keer in de buitenrand voorkomen. 2. Voor elk paar van isomorfe (n i )-dualen G, G, beeldt elk isomorfisme van G naar G ook f (G) op f (G ) af. 17

22 2. CONSTRUCTIE Voor een element γ van de automorfismegroep van een (n i )-duaal, en een (n i )-grotermakend randsegment (e, l), stel e γ de boog γ(e) als γ oriëntatiebewarend is, en anders de boog die l bogen voor de inverse boog van γ(e) ligt in de buitenrand. De actie van γ op (e, l) definiëren we als γ(e, l) = (e γ, l). Het algoritme om alle (n i )-dualen te construeren begint met de partiële (n i )-duaal bestaande uit één enkele top, en breid de partiële (n i )-dualen met tekort d > 0 uit als volgt: 1. Bereken de orbits van de (n i )-grotermakende randsegmenten. 2. Construeer voor elke orbit een nieuwe partiële (n i )-duaal met tekort d 1, door een nieuwe top v te verbinden met één randsegment in de orbit. 3. Bereken voor elk van de resulterende partiële (n i )-dualen G de orbit f (G), en accepteer G als v in deze orbit zit. De geaccepteerde partiële (n i )-dualen met tekort 0 zijn de (n i )-dualen. Stelling 23. Het zojuist beschreven algoritme accepteert juist één element van elke isomorfieklasse van (n i )-dualen. Bewijs. We bewijzen eerst dat er tenminste één isomorfe kopie van elke partiele (n i )-duaal geaccepteerd wordt. Voor de partiële (n i )-duaal bestaande uit één top is dit duidelijk. We nemen dus per inductie aan dat het waar is voor alle (n i )-dualen met ten hoogste n 1 toppen. Stel G een (n i )-duaal met n toppen en tekort d. Als v een top in de orbit f (G) is, dan krijgen we volgens Lemma 21 een partiele (n i )-duaal G met n 1 toppen en tekort d + 1 door v te verwijderen. Er is dus een isomorfe kopie van G die geaccepteerd is, en we kunnen zonder verlies van algemeenheid aannemen dat dit G zelf is. We weten ook dat er dan een (n i )-grotermakend randsegment (e, l) van G is dat gebruikt kan worden om G te construeren. Eén van de (n i )-grotermakende randsegmenten, (e, l), in de orbit van (e, l), wordt in het algoritme gebruikt om een partiële (n i )-duaal G te construeren door een nieuwe top n toe te voegen en te verbinden met de toppen van (e, l). Als we het isomorfisme dat (e, l) op (e, l) afbeeldt uitbreiden door v op n af te beelden, krijgen we een isomorfisme tussen G en G. Omdat v in de orbit f (G) zit, is n in de orbit f (G), dus G wordt geaccepteerd. Veronderstel nu dat twee verschillende isomorfe partiële (n i )-dualen G en G allebei worden geaccepteerd. Dan zitten de laatst toegevoegde toppen n G en n G dus in de orbits f (G) en f (G ), die aan elkaar isomorf zijn dankzij de eigenschappen van de keuzefunctie f. Dat betekent dat er een isomorfisme γ: G G bestaat dat n G op n G afbeeldt, dus γ {1,...,n 1} is een automorfisme van G {n G } = G {n G }, die isomorf en dus per inductie uniek zijn. Bovendien zullen de grotermakende randsegmenten waarmee n G en n G verbonden zijn dan in dezelfde orbit zitten. Dat zou betekenen dat er twee keer een element uit dezelfde orbit van randsegmenten is gebruikt in de constructie, wat onmogelijk is. 18

23 3. Constructie van top-gelabelde binnendualen Algoritme 1 Constructie van de binnendualen. function EXTENDGRAPH(G) for (e, l) randsegment van G do if (e, l) representant en grotermakend then verbind nieuwe top v met randsegment (e, l) if v CANONICALCHOICE 1 (G) then if G heeft i=0 n i toppen then LABELVERTICES(G, 0) else EXTENDGRAPH(G) end if end if verwijder top v end if end for end function 3 Constructie van top-gelabelde (n i )-dualen De top-gelabelde (n i )-dualen kunnen geconstrueerd worden door eerst de ongelabelde (n i )-dualen te construeren en hier op alle mogelijke manieren labels aan te geven. Dit kan bijvoorbeeld gebeuren met backtracking. De enige mogelijke manier waarop twee op deze manier geconstrueerde top-gelabelde grafen isomorf zijn, is als ze een andere labeling zijn van dezelfde (n i )-duaal. We kiezen een vaste boog e 0 in de buitenrand van elke (n i )-duaal, en stellen E 0 de verzameling van alle koppels (e, o) met e in de orbit van e 0, en o = 0 als e het beeld is van e 0 onder een oriëntatiebewarend automorfisme en o = 1 bij een oriëntatieomkerend isomorfisme. Soms kunnen zowel (e, 0) als (e, 1) in E 0 zitten. We associëren een code met elke (e, o) in E 0. Voor (e, 0) zetten we de labels van alle toppen in de buitenrand achter elkaar, beginnend bij e, en dan verder in wijzerzin. Voor (e, 1) doen we hetzelfde, maar dan in tegenwijzerzin. Het is duidelijk dat deze codes enkel gelijk kunnen zijn wanneer de top-gelabelde (n i )-dualen isomorf zijn. We accepteren de top-gelabelde (n i )-duaal dus wanneer er geen koppel in E 0 is met een lexicografisch kleinere code dan (e 0, 0). Details over het algoritme kunnen gevonden worden in Hoofdstuk 3. Wanneer de symmetriegroep van de (n i )-duaal triviaal is, zal E 0 enkel (e 0, 0) bevatten, en dan moet er geen enkele code berekend worden. Dit is meestal het geval. 1 In Hoofdstuk 3 worden meer details over de gebruikte keuzefunctie gegeven. 19

24 2. CONSTRUCTIE Algoritme 2 Labelen van de toppen. function LABELVERTICES(G, n) if n < aantal toppen in buitenrand van G then v n-de top in buitenrand van G if v ongelabeld then for l mogelijk label van v do label v met l LABELVERTICES(G, n + 1) end for end if else if CANONVERTEXLABELING(G) then LABELANGLES(G, 0) end if end function function CANONVERTEXLABELING(G) e 0 eerste boog in buitenrand van G c code(e 0, 0) for boog e in orbit van e 0 do o oriëntatie van isomorfisme if code(e, o) < c then return false end if end for return true end function 4 Constructie van hoek-gelabelde (n i )-dualen Nu we een top-gelabelde (n i )-duaal hebben, is het niet meer moeilijk om hier een hoek-gelabelde (n i )-duaal van te maken. De buitenhoeken van elke top moeten nu op elke mogelijke manier gelabeld worden zodat de som van de labels gelijk is aan het label van de top. Voor toppen die slechts één keer voorkomen in de buitenrand is er maar één mogelijkheid. We bekijken dus enkel de toppen die meerdere keren voorkomen in de buitenrand. We gebruiken dezelfde manier van coderen als in de vorige sectie, maar nu met de labels van hoeken horende bij toppen die meerdere keren in de buitenrand voorkomen. De symmetriegroep van de hoek-gelabelde binnenduaal is een deelgroep van de symmetriegroep van de hoek-gelabelde binnenduaal. Wanneer die al triviaal was, zal dat dus zo blijven, en anders zal de symmetriegroep in veel gevallen triviaal worden na het labelen van de hoeken. In deze gevallen moeten er dus geen codes berekend worden. 20

25 5. Perfecte matchings Algoritme 3 Labelen van de hoeken. function LABELANGLES(G, n) if n < aantal bogen in buitenrand van G then e n-de boog in buitenrand van G for l mogelijk label van hoek (e 1, opv(e)) do label (e 1, opv(e)) met l LABELANGLES(G, n + 1) end for else if CANONANGLELABELING(G) then output G end if end function function CANONANGLELABELING(G) e 0 eerste boog in buitenrand van G c code(e 0, 0) for boog e in orbit van e 0 do o oriëntatie van isomorfisme if code(e, o) < c then return false end if end for return true end function Stelling 24. Elke isomorfieklasse van hoek-gelabelde (n i )-dualen bevat exact één element dat door het algoritme geconstrueerd wordt. Bewijs. Omdat alle mogelijke labelingen worden geconstrueerd, is ook die met minimale code erbij, en die zal geaccepteerd worden. Er is dus al minstens één element van elke isomorfieklasse dat geaccepteerd wordt. Stel nu dat de isomorfe hoek-gelabelde (n i )-dualen G 0 en G 1 allebei geaccepteerd worden. Deze hebben dan verschillende codes voor (e 0, 0), en we nemen aan dat die van F 0 de kleinste is. Het isomorfisme dat F 0 afbeeldt op F 1, moet (e 0, 0) dan afbeelden op een zekere (e 1, o). Maar dan is de code voor (e 1, o) in F 1 kleiner dan die voor (e 0, 0), waardoor F 1 niet geaccepteerd kan zijn. 5 Perfecte matchings De eenvoudigste manier maar ongetwijfeld niet de snelste om enkel de (n i )-grafen met een perfecte matching te behouden, is om ze allemaal te construeren en 21

26 2. CONSTRUCTIE daarna pas te filteren. Dat is dan ook wat we zullen doen, op een kleine maar heel belangrijke optimalisatie na. Lemma 25. Een graaf G = (V, E) waarvoor een perfecte matching M bestaat, heeft een even aantal toppen. Bewijs. Stel dat M een perfecte matching is van G. Dan zit elke top v V in juist één boog e M, en elke boog e bevat twee toppen. Dus het aantal toppen is 2 M, wat even is. Het aantal toppen van een (n i )-graaf is onafhankelijk van de labeling van de binnenduaal. Lemma 26. Het aantal toppen van een (n i )-graaf H met (n i )-duaal G is gelijk aan n i i B 2F, i=0 met B de lengte van de buitenrand van G en F het aantal interne vlakken van G. Bewijs. We tellen eerst voor elk intern vlak van H het aantal toppen, en krijgen zo i=0 n ii. De toppen die deel uitmaken van twee of drie interne vlakken zijn nu dubbel resp. driedubbel geteld. Voor elke boog in de buitenrand van G is er juist één top in H die deel uitmaakt van twee interne vlakken. Voor elk intern vlak van G is er juist één top van H die deel uitmaakt van drie interne vlakken. Dit geeft ons dus de te bewijzen formule. Dankzij Lemma s 25 en 26 kunnen we wanneer er een (n i )-duaal is geconstrueerd onmiddellijk controleren of de (n i )-grafen een even aantal toppen gaan hebben. Als dat niet zo is, moet deze (n i )-duaal dus niet gelabeld worden. Wanneer de (n i )-graaf volledig geconstrueerd is, kunnen we gebruik maken van Berge s lemma [1] om een maximale matching te vinden. Lemma 27 (Berge s lemma). Een matching M van een graaf G is maximaal als en slechts als er geen grotermakend pad bestaat. Een grotermakend pad is een pad in G dat bestaat uit bogen die afwisselend wel en niet in M zitten, en begint en eindigt met bogen die niet in M zitten. We beginnen dus met een matching M 0 van G = (V, E). Vervolgens gaan we op zoek naar een grotermakend pad. Wanneer we een grotermakend pad P hebben gevonden, nemen we M 1 = (M P) (P M). Dan zal M 1 ook een matching van G zijn met M 1 = M Dit blijven we herhalen tot er geen grotermakende paden meer zijn. Als voor de resulterende matching M geldt dat M = V /2, dan is dit een perfecte matching. Het moeilijke deel van dit algoritme is het vinden van de grotermakende paden. In Hoofdstuk 3 worden hierover meer details gegeven. 22

27 HOOFDSTUK 3 Implementatie Het algoritme dat in het vorige hoofdstuk werd beschreven, is in C geimplementeerd. In dit hoofdstuk worden enkele details van de implementatie besproken. 1 Datastructuren Een graaf bestaat uit een verzameling toppen die genummerd zijn met {1,..., n}, en bogen tussen die toppen. De toppen moeten dus niet worden bewaard in een speciale datastructuur, maar worden voorgesteld door een int. Omdat bij ingebedde grafen de oriëntatie van de bogen belangrijk is, wordt er met gerichte bogen gewerkt. Een boog wordt voorgesteld door een struct met volgende velden: start end prev next inverse label het nummer van de begintop van de boog. het nummer van de eindtop van de boog. een pointer naar de in wijzerzin vorige boog met dezelfde begintop. een pointer naar de in wijzerzin volgende boog met dezelfde begintop. een pointer naar de inverse boog. het label van de hoek met deze boog als eerste been. Tabel 3.1: De datastructuur voor een boog. Dankzij deze datastructuur kan de graaf efficiënt doorlopen worden en is het eenvoudig om alle zijden van een vlak te vinden. Het label wordt gebruikt in de hoek-gelabelde (n i )-dualen. Door er ook voor ongelabelde grafen voor te zorgen dat enkel hoeken in de buitenrand een van 0 verschillend label hebben, kan dit gebruikt worden om te bepalen of een boog zich in de buitenrand bevindt, wat op verschillende plaatsen in het algoritme nodig is. 23

28 3. IMPLEMENTATIE In het vorige hoofdstuk wordt er over verschillende grafen gesproken, wat de indruk wekt dat deze allemaal afzonderlijk moeten geconstrueerd worden in het geheugen. In de praktijk is dat echter niet nodig en wordt er gedurende het hele algoritme maar met één graaf gewerkt. Hieraan worden toppen toegevoegd, die daarna terug worden verwijderd zoals in een backtracking algoritme. Het toevoegen en verwijderen van toppen is helaas minder eenvoudig bij deze datastructuur. Daarvoor moeten er namelijk nieuwe bogen worden aangemaakt en verwijderd, waarbij alle nodige pointers in beide richtingen moeten worden aangepast. De graden van de toppen en het aantal keer dat ze in het buitenvlak voorkomen worden bijgehouden in lijsten met de nummers van de toppen als index. Ook het aantal toppen met een gegeven minimale graad (de som van deze twee getallen) wordt bijgehouden in een lijst, met de minimale graad als index. 2 Grotermakende randsegmenten In Definitie 18 worden de eigenschappen van een (n i )-grotermakend randsegment gegeven. In plaats van deze eigenschappen eerst te controleren, en dan pas een nieuwe top te verbinden met dit grotermakende randsegment, is het gemakkelijker om dit te combineren. De lijsten met de graden en het aantal toppen voor elke minimale graad worden dus al aangepast alsof de top al is toegevoegd. Daarna kunnen de eigenschappen eenvoudig gecontroleerd worden aan de hand van deze lijsten, en als het inderdaad om een grotermakend randsegment ging, wordt een nieuwe top toegevoegd. Wanneer een randsegment niet grotermakend blijkt te zijn, worden de wijzigingen terug ongedaan gemaakt. Het kan echter nog iets efficiënter, op voorwaarde dat de randsegmenten in de juiste volgorde worden gecontroleerd. Wanneer een randsegment gelijk is aan het vorige randsegment met één extra top, moeten er namelijk maar enkele waarden worden aangepast. 3 Isomorfie De keuzefunctie die nodig is voor de canonical construction path methode is dezelfde als die in plantri [4]. Deze functie kiest niet alleen een orbit, maar berekent ook ineens de symmetriegroep van de binnenduaal. De toppen in de gekozen orbit noemen we canonieke toppen. We bepalen de canonieke top als volgt: Bepaal de verzameling V 0 van toppen die exact één keer voorkomen in de buitenrand. 2. Neem hiervan de deelverzameling V 1 van toppen met minimale graad.

29 3. Isomorfie 3. Bepaal nu voor elke top in V 1 de boog naar de buur met de hoogste graad, en stel E de verzameling van bogen waarvoor deze maximaal is. 4. Bereken voor elke boog e in E de bijbehorende code als volgt. a) Label de begintop van e met nummer 1. b) Label de andere toppen in breadth-first volgorde, waarbij de buren van een top in wijzerzin of tegenwijzerzin bezocht worden, beginnend met de top die als eerste gelabeld werd. c) Construeer de code door de lijsten van buren voor elke bezochte top achter elkaar te plakken, gescheiden door een De canonieke toppen zijn de begintoppen van de bogen in E waarvoor deze code lexicografisch minimaal is. In plaats van eerst de canonieke toppen te berekenen, en dan te controleren of de top v 0 die we laatst hebben toegevoegd hierbij zit, is het efficiënter om ineens te controleren of v 0 een canonieke top kan zijn. Daarvoor zoeken we eerst de bogen vertrekkend in v 0 met maximale eindtop. Vervolgens zoeken we alle andere bogen met een begintop die juist één keer voorkomt in de buitenrand, met dezelfde graden. Wanneer we zo een boog tegenkomen met een begintop van kleinere graad, of een begintop van gelijke graad en eindtop van hogere graad, is v 0 geen canonieke top. Het is in dat geval dus niet meer nodig om op zoek te gaan naar een echte canonieke top. Anders hebben we zo de verzameling E gevonden van bogen met minimale graad voor de begintop en maximale graad voor de eindtop. Vervolgens kan voor alle bogen in E de bijbehorende code worden berekend. Ook daarbij is het mogelijk om het algoritme vroegtijdig te stoppen. We berekenen eerst de minimale code c 0 voor de bogen vertrekkend in v 0. Nu kan er tijdens het berekenen van een code voor boog e al vanaf de eerste afwijking van c 0 (wat meestal al heel snel zal zijn) bepaald worden of de code lexicografisch kleiner of groter gaat worden. Bij een kleinere code zal v 0 weeral geen canonieke top zijn, en kunnen we het algoritme stoppen. Bij een grotere code kunnen we onmiddellijk doorgaan met de volgende code. Enkel wanneer de code gelijk is aan c 0, moet deze volledig berekend worden. In dat geval hebben we een automorfisme γ e gevonden. Omdat verder in het algoritme enkel de orbits van bogen in de buitenrand nodig zijn, volstaat het om voor elk automorfisme γ e een lijst L e te maken van bogen in de buitenrand, beginnend met e. Ook de oriëntatie van het automorfisme moet worden bewaard. De orbits zijn dan alle bogen met dezelfde index in de verschillende lijsten. In elke orbit van randsegmenten wordt het randsegment waarvoor de in wijzerzin eerste boog lexicografisch minimaal is als representant gekozen. Wanneer we van alle randsegmenten (e, l) willen controleren of ze (n i )-grotermakend zijn, kunnen we voor e elke boog in de buitenrand proberen, en controleren of deze minimaal 25

Een combinatorische oplossing voor vraag 10 van de LIMO 2010

Een combinatorische oplossing voor vraag 10 van de LIMO 2010 Een combinatorische oplossing voor vraag 10 van de LIMO 2010 Stijn Vermeeren (University of Leeds) 16 juni 2010 Samenvatting Probleem 10 van de Landelijke Interuniversitaire Mathematische Olympiade 2010vraagt

Nadere informatie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

Nadere informatie

Grenzen voor het aantal Hamiltoniaanse cykels in triangulaties

Grenzen voor het aantal Hamiltoniaanse cykels in triangulaties Faculteit Wetenschappen Vakgroep Toegepaste Wiskunde, Informatica en Statistiek Grenzen voor het aantal Hamiltoniaanse cykels in triangulaties Annelies Cuvelier Promotor: prof. dr. Gunnar Brinkmann Copromotor:

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

Eigenschappen en Axioma s van de E 6 -meetkunde

Eigenschappen en Axioma s van de E 6 -meetkunde Faculteit Wetenschappen Vakgroep Wiskunde Eigenschappen en Axioma s van de E 6 -meetkunde Magali Victoor Promotor: Prof. dr. Hendrik Van Maldeghem Masterproef ingediend tot het behalen van de academische

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Grafen met weinig hamiltoniaanse cykels

Grafen met weinig hamiltoniaanse cykels Grafen met weinig hamiltoniaanse cykels Barbara Meersman Studentennummer: 01105248 Promotoren: Dr. Jan Goedgebeur Dr. Carol T. Zamfirescu Masterproef ingediend tot het behalen van de academische graad

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica L(,1)-labeling van grafen Naam: Studentnummer: Studie: Begeleider: Myrte klein Brink 4166140 Bachelor Wiskunde Dr.

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende

Nadere informatie

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.

Nadere informatie

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel. Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee

Nadere informatie

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Week 1 20-02-2013. Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Combinatorische Optimalisatie, 2013 Week 1 20-02-2013 Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren. Opgave 1.16 Bewijs dat elke graaf een even aantal punten

Nadere informatie

Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n

Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Hoofdstuk 1 Inleidende begrippen 1.1 Definities Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Voor het tellen van het aantal

Nadere informatie

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element.

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Hoofdstuk 5 Cyclische groepen 5.1 Definitie Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Als G wordt voortgebracht door a en a n = e, dan noteren we de groep als C n = a.

Nadere informatie

Enige informatie over groepen ten bate van het college Topologie en Meetkunde (Jaap van Oosten, Juni 2003)

Enige informatie over groepen ten bate van het college Topologie en Meetkunde (Jaap van Oosten, Juni 2003) Enige informatie over groepen ten bate van het college Topologie en Meetkunde (Jaap van Oosten, Juni 2003) Een groep is een verzameling G met daarop een operatie : G G G (die we schrijven als g, h g h),

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen

Nadere informatie

Doorzoeken van grafen. Algoritmiek

Doorzoeken van grafen. Algoritmiek Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2016

Uitgebreide uitwerking Tentamen Complexiteit, juni 2016 Uitgebreide uitwerking Tentamen Complexiteit, juni 016 Opgave 1. (3+10++7+6) a. De hoogte van de beslissingsboom (lengte van het langste pad) stelt het aantal arrayvergelijkingen in de worst case voor.

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Tentamen Discrete Wiskunde

Tentamen Discrete Wiskunde Discrete Wiskunde (WB011C) 22 januari 2016 Tentamen Discrete Wiskunde Schrijf op ieder ingeleverd blad duidelijk leesbaar je naam en studentnummer. De opgaven 1 t/m 6 tellen alle even zwaar. Je hoeft slechts

Nadere informatie

Getallensystemen, verzamelingen en relaties

Getallensystemen, verzamelingen en relaties Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,

Nadere informatie

Lights Out. 1 Inleiding

Lights Out. 1 Inleiding Lights Out 1 Inleiding Het spel Lights Out is een elektronisch spel dat gelanceerd werd in 1995 door Tiger Electronics. Het originele spel heeft een bord met 25 lampjes in een rooster van 5 rijen en 5

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

Morenaments Ornamenten met symmetrie. Werkblad vooraf met begeleidende tekst en oplossingen

Morenaments Ornamenten met symmetrie. Werkblad vooraf met begeleidende tekst en oplossingen Morenaments Ornamenten met symmetrie Fien Aelter, Liesje Knaepen en Kristien Vanhuyse, studenten SLO wiskunde KU Leuven Werkblad vooraf met begeleidende tekst en oplossingen Dit werklad is een voorbereiding

Nadere informatie

Geldwisselprobleem van Frobenius

Geldwisselprobleem van Frobenius Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme

Nadere informatie

5 Inleiding tot de groepentheorie

5 Inleiding tot de groepentheorie 5 Inleiding tot de groepentheorie Oefening 5.1. Stel de Cayleytabel op voor de groep van de symmetrieën van een vierkant. Bewijs dat deze groep de viergroep van Klein bezit als deelgroep van index 2. Oplossing

Nadere informatie

OPLOSSINGEN VAN DE OEFENINGEN

OPLOSSINGEN VAN DE OEFENINGEN OPLOSSINGEN VAN DE OEFENINGEN 1.3.1. Er zijn 42 mogelijke vercijferingen. 2.3.4. De uitkomsten zijn 0, 4 en 4 1 = 4. 2.3.6. Omdat 10 = 1 in Z 9 vinden we dat x = c 0 +... + c m = c 0 +... + c m. Het getal

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

Nadere informatie

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

Hoofdstuk 6. Dihedrale groepen. 6.1 Definitie

Hoofdstuk 6. Dihedrale groepen. 6.1 Definitie Hoofdstuk 6 Dihedrale groepen 6.1 Definitie Definitie 6.1. De dihaeder groep is de symmetriegroep van een regelmatige n-hoek. Dit is de verzameling van alle transformaties in het vlak die de regelmatige

Nadere informatie

Hoofdstuk 1. Afspraken en notaties

Hoofdstuk 1. Afspraken en notaties Hoofdstuk 1 Afspraken en notaties In deze tekst onderzoeken we een eenvoudig dobbelspel: twee spelers hebben een dobbelsteen, gooien deze, en wie het hoogst aantal ogen gooit wint. Er blijken setjes dobbelstenen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

Eenheden in groepsringen

Eenheden in groepsringen Eenheden in groepsringen 2 Hoofdstuk 1 Bicyclische eenheden 1.1 Definitie Veronderstel dat R een willekeurige ring is met eenheidselement. Een belangrijk onderzoeksproject is het zoeken naar eenheden.

Nadere informatie

Automaten en Berekenbaarheid 2016 Oplossingen #4

Automaten en Berekenbaarheid 2016 Oplossingen #4 Automaten en Berekenbaarheid 2016 Oplossingen #4 28 oktober 2016 Vraag 1: Toon aan dat de klasse van context vrije talen gesloten is onder concatenatie en ster. Antwoord Meerdere manieren zijn mogelijk:

Nadere informatie

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4

Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth

Nadere informatie

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

Nadere informatie

Projectieve Vlakken en Codes

Projectieve Vlakken en Codes Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

1 Groepen van orde 24.

1 Groepen van orde 24. 1 1 Groepen van orde 24. Als G een groep van orde 24 is, dan zeggen de stellingen van Sylov: Het aantal 2-Sylow-groepen van G is 1 modulo 2 en bovendien een deler van 24, dus bedraagt 1 of 3. Het aantal

Nadere informatie

Aanvullingen bij Hoofdstuk 6

Aanvullingen bij Hoofdstuk 6 Aanvullingen bij Hoofdstuk 6 We veralgemenen eerst Stelling 6.4 tot een willekeurige lineaire transformatie tussen twee vectorruimten en de overgang naar twee nieuwe basissen. Stelling 6.4. Zij A : V W

Nadere informatie

Hoofdstuk 1. Inleiding. Het binomiaalgetal ( n

Hoofdstuk 1. Inleiding. Het binomiaalgetal ( n Hoofdstuk 1 Inleiding Het binomiaalgetal ( n berekent het aantal -combinaties van n elementen; dit is het aantal mogelijkheden om elementen te nemen uit n beschikbare elementen Hierbij is herhaling niet

Nadere informatie

Stelling. SAT is NP-compleet.

Stelling. SAT is NP-compleet. Het bewijs van de stelling van Cook Levin zoals gegeven in het boek van Sipser gebruikt niet-deterministische turing machines. Het is inderdaad mogelijk de klasse NP op een alternatieve wijze te definiëren

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Aanvullingen bij Hoofdstuk 8

Aanvullingen bij Hoofdstuk 8 Aanvullingen bij Hoofdstuk 8 8.5 Definities voor matrices De begrippen eigenwaarde eigenvector eigenruimte karakteristieke veelterm en diagonaliseerbaar worden ook gebruikt voor vierkante matrices los

Nadere informatie

Velduitbreidingen. Hector Mommaerts

Velduitbreidingen. Hector Mommaerts Velduitbreidingen Hector Mommaerts 2 Hoofdstuk 1 Basisbegrippen 1.1 Definities Definitie 1.1. Een veld L is een uitbreiding van het veld K als het ontstaat door aan K één of meerdere elementen toe te voegen.

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TUE) en Centrum Wiskunde & Informatica (CWI) 3 en 6 februari 2014 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Optimaliseren in Netwerken

Optimaliseren in Netwerken Optimaliseren in Netwerken Kees Roos e-mail: C.Roos@tudelft.nl URL: http://www.isa.ewi.tudelft.nl/ roos Kaleidoscoop college Zaal D, Mekelweg 4, TU Delft 11 October, A.D. 2006 Optimization Group 1 Onderwerpen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

II.3 Equivalentierelaties en quotiënten

II.3 Equivalentierelaties en quotiënten II.3 Equivalentierelaties en quotiënten Een belangrijk begrip in de wiskunde is het begrip relatie. Een relatie op een verzameling is een verband tussen twee elementen uit die verzameling waarbij de volgorde

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der natuurwetenschappen, wiskunde en informatica juli 07 Matchingtheorie op grafen Jorrit Bastings S6556 Begeleider: Wieb Bosma Inhoudsopgave Het huwelijksprobleem

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

3 De stelling van Kleene

3 De stelling van Kleene 18 3 De stelling van Kleene Definitie 3.1 Een formele taal heet regulier als hij wordt herkend door een deterministische eindige automaat. Talen van de vorm L(r) met r een reguliere expressie noemen we

Nadere informatie

Fractale dimensie. Eline Sommereyns 6wwIi nr.9

Fractale dimensie. Eline Sommereyns 6wwIi nr.9 Fractale dimensie Eline Sommereyns 6wwIi nr.9 Inhoudstabel Inleiding... 3 Gehele dimensie... 4 Begrip dimensie... 4 Lengte, breedte, hoogte... 4 Tijd-ruimte... 4 Fractale dimensie... 5 Fractalen... 5 Wat?...

Nadere informatie

Ter Leering ende Vermaeck

Ter Leering ende Vermaeck Ter Leering ende Vermaeck 15 december 2011 1 Caleidoscoop 1. Geef een relatie op Z die niet reflexief of symmetrisch is, maar wel transitief. 2. Geef een relatie op Z die niet symmetrisch is, maar wel

Nadere informatie

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere informatie

Discrete modellen in de toegepaste wiskunde (WISB136) Uitwerkingen proeftentamen.

Discrete modellen in de toegepaste wiskunde (WISB136) Uitwerkingen proeftentamen. Discrete modellen in de toegepaste wiskunde (WISB6) Uitwerkingen proeftentamen. Docent: Rob H. Bisseling april 202. Begin met een matching M = {x y, x y, x 6 y 6 } aangegeven door de vette lijnen. x De

Nadere informatie

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding: Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen

Nadere informatie

Lijst-kleuringen in de grafentheorie

Lijst-kleuringen in de grafentheorie Lijst-kleuringen in de grafentheorie Berrie Bottelier 16 juli 2014 Bachelorscriptie Begeleiding: dr. Guus Regts 4 5 6 1 2 3 Korteweg-de Vries Instituut voor Wiskunde Faculteit der Natuurwetenschappen,

Nadere informatie

Discrete Wiskunde 2WC15, Lente Jan Draisma

Discrete Wiskunde 2WC15, Lente Jan Draisma Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt

Nadere informatie

Ruimtemeetkunde deel 1

Ruimtemeetkunde deel 1 Ruimtemeetkunde deel 1 1 Punten We weten reeds dat Π 0 het meetkundig model is voor de vectorruimte R 2. We definiëren nu op dezelfde manier E 0 als meetkundig model voor de vectorruimte R 3. De elementen

Nadere informatie

Stelsels Vergelijkingen

Stelsels Vergelijkingen Hoofdstuk 5 Stelsels Vergelijkingen Eén van de motiverende toepassingen van de lineaire algebra is het bepalen van oplossingen van stelsels lineaire vergelijkingen. De belangrijkste techniek bestaat uit

Nadere informatie

Grafen. Grafen, toppen en bogen

Grafen. Grafen, toppen en bogen Grafen Het zijn configuraties van knoppen en verbindingen, waar we de knoppen toppen noemen en de verbindingen tussen 2 toppen noemen we een boog. Toppen en bogen kunnen bijkomende attributen hebben, zoals

Nadere informatie

Platypus grafen: structuur en generatie

Platypus grafen: structuur en generatie THESIS Platypus grafen: structuur en generatie Auteur: Addie NEYT Promotoren: Dr. Jan GOEDGEBEUR Dr. Carol T. ZAMFIRESCU Masterproef voorgedragen tot het behalen van het diploma van Master in de wiskunde

Nadere informatie

Definitie 8.1. De groep van alle permutaties van een gegeven verzameling X is de symmetriegroep op n elementen, genoteerd als Sym(X).

Definitie 8.1. De groep van alle permutaties van een gegeven verzameling X is de symmetriegroep op n elementen, genoteerd als Sym(X). Hoofdstuk 8 Werking van een groep 8.1 Permutatiegroepen Een permutatie van een verzameling X is een bijectie van die verzameling op zichzelf. Een verzameling X met n elementen heeft juist n! permutaties.

Nadere informatie

Les 4 Zetten, ribben, passen

Les 4 Zetten, ribben, passen Les 4 Zetten, ribben, passen Ribben kleuren In les 1 hebben we kennis gemaakt met het spel Brussels sprouts van John H. Conway. We hebben toen ontdekt, dat het aantal zetten dat het spel duurt slechts

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:

Nadere informatie

De huwelijksstelling van Hall

De huwelijksstelling van Hall Thema Discrete wiskunde In de vorige twee afleveringen heb je al kennis kunnen maken met het begrip graaf en hoe grafen worden gebruikt door Google s zoekmachine en door de NS bij het maken van een optimale

Nadere informatie

Congruentie deelgroepen

Congruentie deelgroepen Congruentie deelgroepen 2 Definities Congruentie deelgroepen zijn deelgroepen van matrixgroepen met gehele elementen die bepaald worden door congruentie relaties. De eenvoudigste omgeving om die congruentie

Nadere informatie

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is

Nadere informatie

Permutoëders en Hamiltoniaanse paden

Permutoëders en Hamiltoniaanse paden Permutoëders en Hamiltoniaanse paden Daniel von Asmuth Inleiding Samenvatting We bestuderen het plain changes algoritme met behulp van geometrie en grafentheorie. Waarschuwing 1. Dit is een vlottend document

Nadere informatie

Lesbrief GeoGebra. 1. Even kennismaken met GeoGebra (GG)

Lesbrief GeoGebra. 1. Even kennismaken met GeoGebra (GG) Lesbrief GeoGebra Inhoud: 1. Even kennismaken met GeoGebra 2. Meetkunde: 2.1 Punten, lijnen, figuren maken 2.2 Loodlijn, deellijn, middelloodlijn maken 2.3 Probleem M1: De rechte van Euler 2.4 Probleem

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Uitleg van de Hough transformatie

Uitleg van de Hough transformatie Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een

Nadere informatie

RSA. F.A. Grootjen. 8 maart 2002

RSA. F.A. Grootjen. 8 maart 2002 RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 10 en 13 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules. I.3 Functies Iedereen is ongetwijfeld in veel situaties het begrip functie tegengekomen; vaak als een voorschrift dat aan elk getal een ander getal toevoegt, bijvoorbeeld de functie fx = x die aan elk

Nadere informatie

Inleiding tot groepentheorie

Inleiding tot groepentheorie Hoofdstuk Inleiding tot groepentheorie 1 Basisdefinities Een algebraïsche structuur bestaat meestal uit een verzameling waarop één of meerdere bewerkingen gedefinieerd zijn. Definitie Een inwendige bewerking

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Automaten en Berekenbaarheid

Automaten en Berekenbaarheid Automaten en Berekenbaarheid Bart Demoen KU Leuven 2016-2017 Les 3: 36-54 Myhill-Nerode relaties; regulier pompen Myhill-Nerode equivalentieklassen in Σ I 2/10 belangrijk te verstaan: een equivalentie-relatie

Nadere informatie

Definitie 4.1. Als H en K normaaldelers zijn van een groep G en H K = {e} en HK = G dan noemt men G het direct product van

Definitie 4.1. Als H en K normaaldelers zijn van een groep G en H K = {e} en HK = G dan noemt men G het direct product van Hoofdstuk 4 Groepsconstructies 4.1 Direct product We gaan nu bestuderen hoe we van 2 groepen een nieuwe groep kunnen maken of hoe we een groep kunnen schrijven als een product van 2 groepen met kleinere

Nadere informatie

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015 Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen

Nadere informatie

Sum of Us 2014: Topologische oppervlakken

Sum of Us 2014: Topologische oppervlakken Sum of Us 2014: Topologische oppervlakken Inleiding: topologische oppervlakken en origami Een topologisch oppervlak is, ruwweg gesproken, een tweedimensionaal meetkundig object. We zullen in deze tekst

Nadere informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse

Nadere informatie

De stelling van Borsuk. Auteurs: Michiel Tel en Merlijn Koek

De stelling van Borsuk. Auteurs: Michiel Tel en Merlijn Koek De stelling van Borsuk Auteurs: Michiel Tel en Merlijn Koek 18 juni 2011 1 Inleiding (Wat is het vermoeden van Borsuk?) De Poolse wiskundige Karol Borsuk stelde in de jaren dertig de volgende vraag; Hierna

Nadere informatie

Dualiteit. Raymond van Bommel. 6 april 2010

Dualiteit. Raymond van Bommel. 6 april 2010 Dualiteit Raymond van Bommel 6 april 2010 1 Inleiding Op veel manieren kan meetkunde worden bedreven. De bekendste en meest gebruikte meetkunde is de Euclidische meetkunde. In dit artikel gaan we kijken

Nadere informatie

Riemann-Roch voor grafen

Riemann-Roch voor grafen T.J. Sijpesteijn Riemann-Roch voor grafen Bachelorscriptie Scriptiebegeleider: dr. T.C. Streng Datum bachelorexamen: juni 2016 Mathematisch Instituut, Universiteit Leiden Inhoudsopgave 1 Inleiding 2 1.1

Nadere informatie

3 De duale vectorruimte

3 De duale vectorruimte 3 De duale vectorruimte We brengen de volgende definitie in de herinnering. Definitie 3.1 (hom K (V, W )) Gegeven twee vectorruimtes (V, K) en (W, K) over K noteren we de verzameling van alle lineaire

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

Combinatoriek groep 1 & 2: Recursie

Combinatoriek groep 1 & 2: Recursie Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie

Nadere informatie

EEN CONSTRUCTIEF ALGORITME

EEN CONSTRUCTIEF ALGORITME Faculteit Wetenschappen Vakgroep Toegepaste Wiskunde, Informatica en Statistiek EEN CONSTRUCTIEF ALGORITME VOOR UNION CLOSED SETS door Robin DEKLERCK Promotor: Prof. Dr. Gunnar BRINKMANN Masterproef ingediend

Nadere informatie

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen Hoofdstuk 3 Equivalentierelaties SCHAUM 2.8: Equivalence Relations Twee belangrijke voorbeelden van equivalentierelaties in de informatica: resten (modulo rekenen) en cardinaliteit (aftelbaarheid). 3.1

Nadere informatie

Bespreking van het examen Complexe Analyse (tweede zittijd)

Bespreking van het examen Complexe Analyse (tweede zittijd) Bespreking van het examen Complexe Analyse (tweede zittijd) Bekijk ook de bespreking van het examen van de eerste zittijd (op Toledo). Het valt hier op dat de scores op sommige vragen wel heel slecht zijn.

Nadere informatie