Stabiele koppelingen (Engelse titel: Stable Matchings)

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

Download "Stabiele koppelingen (Engelse titel: Stable Matchings)"

Transcriptie

1 Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Stabiele koppelingen (Engelse titel: Stable Matchings) Verslag ten behoeve van het Delft Institute of Applied Mathematics als onderdeel ter verkrijging van de graad van BACHELOR OF SCIENCE in TECHNISCHE WISKUNDE door Pieter Kleer Delft, Nederland Juli 2013 Copyright c 2013 door Pieter Kleer. Alle rechten voorbehouden.

2

3 BSc verslag TECHNISCHE WISKUNDE Stabiele koppelingen (Engelse titel: Stable matchings) Pieter Kleer Technische Universiteit Delft Begeleider Dr. D. C. Gijswijt Overige commissieleden Dr. J.L.A Dubbeldam Dr. ing. D. Jeltsema Dr. ir. M. Keijzer Juli, 2013 Delft

4

5 Abstract In dit bachelorproject, zal het probleem van de stabiele koppelingen behandeld worden. Gegeven een groep mannen en vrouwen met voorkeurslijsten voor het tegenovergestelde geslacht, is het mogelijk om deze aan elkaar te koppelen zodat er niet twee personen zijn die elkaar leuker vinden dan hun partner in de koppeling? Dit probleem kent een aantal toepassingen, bijvoorbeeld in het koppelen van geneeskundestudenten aan opleidingsziekenhuizen (dit werd vooral gebruikt in de vorige eeuw). We zullen eerst het probleem en een aantal variaties hierop beschrijven en ook kijken naar een aantal oplosmethoden voor het vinden van een stabiele koppeling. In het tweede deel zullen we een aantal beschrijvingen geven voor de verzameling van alle stabiele koppelingen en hieruit ook toepassingen afleiden. In het laatste deel zullen we laten zien dat de verzameling van stabiele koppelingen te schrijven is als de hoekpunten van een polytoop en hieruit zullen we ook een aantal toepassingen afleiden. 4

6 Inhoudsopgave 1 Voorwoord 6 2 Introductie Stabiele koppeling Controleren van stabiliteit Er is altijd tenminste één stabiele koppeling Tegenstrijdige belangen Variaties Onvolledige voorkeurslijst Meer mannen dan vrouwen Studenten en universiteiten Een tweede algoritme voor het vinden van een stabiele koppeling Structuur binnen de verzameling van stabiele koppelingen Partiële ordening op de verzameling van stabiele koppelingen (K, ) is een distributief tralie I(K), een compacte representatie voor K Irreducibele koppelingen Bijectie tussen K en de gesloten verzamelingen van I(K) Grootte van I(K) Π(K), een tweede compacte representatie voor K Ring van verzamelingen Eigenschappen Rotaties Eigenschappen Bepalen van Π(K) Bepalen van G(K) Stabiele koppeling van maximaal gewicht Een gemiddelde koppeling Stabiele koppelingen in een stelsel van lineaire vergelijkingen Stabiele koppelingen als hoekpunten van polytoop Toepassingen Man-optimale koppeling vinden Redundantie in vergelijkingen Relatie tussen rotaties en stabiliteitspolytoop Vinden van een maximale keten Nawoord 65 7 Bijlagen Het alternatieve algoritme uit sectie Het algoritme uit sectie 5 geïmplementeerd in Matlab

7 1 Voorwoord Dit bachelorproject is uitgevoerd bij de vakgroep Optimalisering ten behoeve van de Bachelor Technische Wiskunde aan de TU Delft. Ik wil meneer Gijswijt bedanken voor de begeleiding tijdens het project en voor het geven van feedback en aanwijzingen. Pieter Kleer 6

8 2 Introductie 2.1 Stabiele koppeling Gegeven een groep van mannen en vrouwen, beide van grootte n met voorkeurslijsten voor het tegenovergestelde geslacht, is het mogelijk om deze twee groepen zodanig te koppelen, dat er niet twee personen zijn die elkaar leuker vinden dan hun partner in de koppeling? 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 Figuur 1: Instantie van grootte n = 4 met koppeling. In figuur 1 staat een instantie geschetst voor grootte n = 4. We plaatsen de mannen aan de linkerkant en de vrouwen aan de rechterkant en deze zijn van boven naar beneden genummerd met 1,..., n. We zijn eigenlijk op zoek naar een volledige koppeling (matching) in een bipartiete graaf, waarbij we nog een extra voorwaarde op de koppeling willen hebben. Allereerst zullen we definiëren wat het betekent om een persoon leuker te vinden dan een ander. We noteren de verzameling mannen met M en de verzameling vrouwen met V en een koppeling K zullen we noteren met de paren in de koppeling, ofwel K = {(m 1, v 1 ),..., (m n, v n )}. Definitie 2.1. We zeggen dat man m M vrouw v 1 V leuker vindt dan v 2 V als v 1 > v 2 in de voorkeurslijst van man m. We noteren dit met v 1 > m v 2. We zeggen dat vrouw v man m 1 leuker vindt dan man m 2 als m 1 > v m 2 op de lijst van vrouw v. De relatie > is een transitieve relatie. We zien bijvoorbeeld op de lijst van man 1 dat 1 > 2 > 3 en daaruit volgt dat 1 > 3. Er zijn ook een aantal variaties op dit probleem, bijvoorbeeld wanneer het toegestaan is dat een man niet iedere vrouw op zijn lijst heeft staan (en een vrouw niet iedere man) of dat het aantal mannen en vrouwen niet aan elkaar gelijk is. Deze variaties zullen we in de volgende sectie bespreken. Soms gebruiken we ook de notatie m 1 v m 2 wat betekent dat m 1 = m 2 of m 1 > v m 2. In de voorkeurslijsten zullen de voorkeuren altijd strikt zijn, maar in sommige bewijzen zal deze notatie beter van pas komen. Verder gebruiken we ook de notatie < en, waarvoor geldt dat m 1 < v m 2 m 2 > v m 1 en hetzelfde voor. Verder geldt dat als m en v gekoppeld zijn in een koppeling K dat we schrijven dat v = v(k, m) en m = m(k, v). Hieronder definiëren we formeel wat een stabiele koppeling is. Definitie 2.2. We noemen een koppeling K instabiel als er een ongekoppeld paar (m, v) M V is, zodanig dat v > m v(k, m) en m > v m(k, v). Er geldt dan dat m en v elkaar leuker vinden dan hun partner in de koppeling. We noemen (m, v) dan een instabiel paar in K. We noemen een koppeling stabiel als deze niet instabiel is. Voorbeeld 2.1. In Figuur 2 is een instabiele koppeling weergegeven (n = 2). Er geldt hier namelijk dat man 1 gekoppeld is aan vrouw 1, maar hij vindt vrouw 2 leuker (in het rood aangegeven) en vrouw 2 is aan man 2 gekoppeld, maar vindt op haar beurt man 1 leuker dan man 2 7

9 2 > 1 1 > 2 1 > 2 1 > 2 Figuur 2: Instabiele koppeling Voorbeeld 2.2. In Figuur 3 is voor dezelfde instantie een stabiele koppeling weergegeven. Om te controleren of een koppeling stabiel is, moeten we ieder ongekoppeld paar (m, v) M V (in dit geval dus (1, 1) en (2, 2)) aflopen en kijken of deze twee personen elkaar leuker vinden dan hun partner in de koppeling. 2 > 1 1 > 2 1 > 2 1 > 2 Figuur 3: Stabiele koppeling Controleren van stabiliteit Het stabiel zijn van een koppeling K is equivalent aan controleren of een van de volgende situaties geldt voor ieder paar (m, v) Man m en v vinden hun partner in de koppeling beide leuker dan elkaar, ofwel v(k, m) > m v en m(k, v) > v m. Als man m vrouw v leuker vindt dan zijn partner in de koppeling, dan moet gelden dat v haar partner in de koppeling leuker vindt dan m, ofwel v > m v(k, m) m(k, v) > v m. Als vrouw v man m leuker vindt dan haar partner in de koppeling, dan moet gelden dat m zijn partners in de koppeling leuker vindt dan v, ofwel m > v m(k, v) v(k, m) > m v. We moet dit controleren voor (n 1) 2 koppels. We nemen aan dat de voorkeurslijsten als input aangeleverd worden in een matrix A = (a ij ), waarvoor geldt dat a ij = plaats van vrouw j op lijst man i Het controleren van de stabiliteit per koppel kunnen we dan in constante tijd doen, want we moeten twee keer twee elementen uit A vergelijken. Dit betekent dat het controleren van de stabiliteit van een koppeling in O(n 2 ) tijd gedaan kan worden Er is altijd tenminste één stabiele koppeling Het is niet moeilijk te zien dat er voor een gegeven n, n! koppelingen mogelijk zijn (man 1 kan aan n vrouwen gekoppeld worden, man 2 dan nog aan n 1 enz...). De eerste vraag die hier gesteld kan worden, is of er altijd tenminste één stabiele koppeling bestaat. Dit blijkt zo te zijn en is bewezen door Gale en Shapley in 1962, zie [1]. Zij hebben een algoritme geformuleerd om een stabiele koppeling te vinden. In dit algoritme doen de mannen aanzoeken aan de vrouwen (een aanzoek om aan die vrouw gekoppeld te worden). We zullen in de uiteindelijke koppeling de gekoppelde paren een getrouwd stel noemen. Algoritme 2.1. Gale-Shapley Algoritme [1] 1: Iedere man doet een aanzoek aan de vrouw die bovenaan zijn lijst staat. Als een vrouw meerdere aanzoeken krijgt, accepteert ze het aanzoek welke het hoogste op haar lijst staat en de andere aanzoeken wijst ze af. We zeggen nu dat de gevormde koppels verloofd zijn (dus nog geen getrouwd stel!). Ga naar 2. 8

10 2: Alle mannen die in de vorige stap afgewezen zijn, doen nu een aanzoek aan de eerstvolgende vrouw op hun lijst. Als een vrouw nu meerdere aanzoeken heeft (dus ook de aanzoeken uit de vorige rondes meegeteld), kiest ze weer voor haar het beste aanzoek uit. Het kan dus gebeuren dat een aanzoek uit een eerdere ronde, nu alsnog afgewezen wordt (vandaar verloofd ). Ga naar 3. 3: Als we een koppeling hebben gevonden: STOP. Anders, ga terug naar 2. Voorbeeld 2.3. Hieronder hebben we een voorbeeld van het algoritme weergegeven. In iedere stap geeft een rode lijn aan dat een man in die stap is afgewezen door een vrouw. Dit geven we in de volgende stap aan door de desbetreffende vrouw op de lijst van de man in het groen weer te geven. Stap 1 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 Hier krijgt vrouw 1 twee aanzoeken en er geldt 1 > 1 2 dus vrouw 1 wijst man 2 af. Stap 2 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 Man 2 doet een aanzoek aan de eerstvolgende vrouw op zijn lijst en dat is vrouw 3. Nu heeft vrouw 3 twee aanzoeken en moet zij kiezen. Er geldt 2 > 3 3 en dus wijst ze man 3 af. Stap 3 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 Man 3 doet een aanzoek aan zijn volgende vrouw en dat is vrouw 2. We hebben nu een koppeling gevonden dus het algoritme is klaar. We zullen nu laten zien dat dit algoritme eindig is (dus dat we altijd in een eindig aantal stappen een koppeling vinden) en een stabiele koppeling oplevert, zoals bewezen in [1]. Stelling 2.1. Algoritme 1 levert een stabiele koppeling op. 9

11 Bewijs. We zullen allereerst laten zien dat algoritme 1 een koppeling oplevert in een eindig aantal stappen. Merk op dat zodra een vrouw een aanzoek heeft gehad, ze gedurende het gehele algoritme verloofd blijft (zij het met verschillende mannen). Laat v V. Zolang v nog geen aanzoek heeft gehad van een man, zijn er in iedere stap n mannen die aanzoeken doen (of verloofd zijn) met n 1 vrouwen, wat betekent dat er altijd een vrouw met minstens 2 aanzoeken is. Deze vrouw zal een man moeten afwijzen en deze zal in de volgende ronde weer een aanzoek aan een andere vrouw doen. Er is te zien dat in iedere stap er een man is, welke een aanzoek doet. Omdat de lijsten van de mannen eindig zijn, betekent dit dat er vanzelf een keer een man is welke een aanzoek zal doen aan vrouw v. Dit betekent dat alle vrouwen op den duur een aanzoek krijgen en dus gekoppeld zijn en blijven. Omdat we maar n mannen hebben, betekent dit dat we een koppeling hebben gevonden. Het algoritme eindigt als de laatste vrouw welke nog geen aanzoeken heeft gehad, haar eerste aanzoek krijgt. Noem de gevonden koppeling K. We zullen nu laten zien dat het algoritme een stabiele koppeling geeft. Stel maar eens van niet, dan zijn er een m M en een v V welke elkaar leuker vinden dan hun partner in de koppeling, ofwel v > m v(k, m). Maar dit betekent dat m een aanzoek heeft gedaan aan v per constructie en v heeft op haar beurt m afgewezen, want ze zijn uiteindelijk geen koppel. De enige reden waarom v m afwijst, is omdat ze een aanzoek krijgt van een man welke hoger op haar lijst staat (want als een vrouw eenmaal verloofd is, verlaat ze haar verloofde alleen maar wanneer ze een aanzoek krijgt van een man welke hoger op haar lijst staat). Maar dit betekent dat m(k, v) > v m wat een tegenspraak oplevert, dus de gevonden koppeling is stabiel. Het Gale-Shapley Algoritme kan in O(n 2 ) tijd uitgevoerd worden. Voor de implementatie kunnen we het algoritme iets aanpassen. We beginnen met situatie waarin er nog niemand gekoppeld is. We kiezen nu in iedere stap steeds een man welke vrijgezel is (in de eerste stap is iedere man dus nog vrijgezel). Deze man doet een aanzoek aan de vrouw bovenaan zijn lijst. Als er op een gegeven moment een vrouw is met twee aanzoeken, dan houdt ze de leukere van de twee aanzoeken. De afgewezen man is nu dan weer vrijgezel en kan in de volgende stap gekozen worden om een aanzoek te doen aan een nieuwe vrouw, welke dus de eerstvolgende op zijn lijst zal zijn. We kunnen ook steeds een vrouw verwijderen van de lijst van een man welke net is afgewezen, waardoor de leukste vrouw waaraan nog geen aanzoek is gedaan, steeds bovenaan staat. In [2] wordt bewezen worden dat iedere uitvoering van dit algoritme (dus iedere volgorde van individuele aanzoeken) dezelfde koppeling oplevert. Dit kan gedaan worden door te laten zien dat iedere uitvoering de man-optimale koppeling oplevert. Het doen van een aanzoek voor één man aan een vrouw en het bepalen van de vrouw welke man ze wil houden kan ik constante tijd gedaan worden. Omdat de voorkeurslijsten van de mannen lengte n hebben, geldt dat er maximaal n 2 aanzoeken mogelijk zijn. Dus het algoritme kan uitgevoerd worden in O(n 2 ) tijd. We zullen hieronder een worst-case voorbeeld geven, waarbij er n(n 1) + 1 aanzoeken gedaan worden. Voorbeeld 2.4. Hieronder hebben we voor n N een worst-case scenario gegeven. Voor de mannen hebben we de volgende voorkeurslijsten: { v1 > v voorkeurslijst man i = 2 > > v n m = m 1, m 2 v i 1 > v i > > v n 1 > v 1 > > v i 2 > v n m = m i, i {3,... n} en voor de vrouwen hebben we de volgende voorkeurslijsten { mi+2 > m voorkeurslijst vrouw j = i+3 > > m i+n+1 v = v i, i {1,..., n 1} m 1 > m 2 > > m n, v = v n waarbij we modulo n rekenen bij de vrouwen. Voor n = 4 levert dit de instantie op gegeven in Figuur 4 10

12 v 1 1 > v 8 2 > v 12 3 > v 4 v 4 1 > v 5 2 > v 9 3 > v 13 4 v 2 2 > v 6 3 > v 10 1 > v 4 v 3 3 > v 7 1 > v 11 2 > v 4 m 3 > m 4 > m 1 > m 2 m 4 > m 1 > m 2 > m 3 m 1 > m 2 > m 3 > m 4 m 1 > m 2 > m 3 > m 4 Figuur 4: Instantie voor worst-case scenario In de eerste drie stappen laten we mannen 1, 3 en 4 een aanzoek doen en in de vierde stap doet man 2 dan ook een aanzoek en dit levert dus de eerste stap op waarin er een vrouw is met meerdere aanzoeken. Vervolgens wordt er in iedere stap een aanzoek gedaan en het aantal aanzoeken wat uiteindelijk nodig is, is gelijk aan n(n 1) + 1 = 13. Iedereen heeft namelijk vrouw v 4 onderaan z n lijst staan en zij is de laatste vrouw welke een partner krijgt. Stap 1,2,3,4 Stap 5 Stap 6 Stap 7 Stap 8. Stap 9 Stap 10 Stap 11 Stap 12 Stap 13 Figuur 5: Gale-Shapley voor het worst-case scenario In de voorkeurslijsten staan met het superscript aangegeven welke stap in het algoritme dit is. In het algemeen geldt dat we n(n 1) + 1 aanzoeken moeten doen. Merk ook op dat n(n 1) + 1 het maximaal mogelijke aanzoeken is. Er geldt namelijk dat het algoritme stopt als iedere vrouw een aanzoek heeft gehad en als er meer dan n(n 1)+1 aanzoeken gedaan worden, dan geldt dat iedere vrouw minstens twee aanzoeken gehad zou hebben. 11

13 2.2 Tegenstrijdige belangen Het blijkt dat de koppeling gevonden met het Gale-Shapley algoritme waarin de mannen de aanzoeken doen, in zekere zin de best mogelijke koppeling voor de mannen blijkt te zijn. We verduidelijken dit met de volgende definitie. Definitie 2.3. Een stabiele koppeling K wordt man-optimaal genoemd als voor iedere stabiele koppeling K geldt dat iedere man, met verschillende partners in K en K, zijn partner in K prefereert boven die in K. Ofwel voor alle stabiele koppelingen K K geldt dat voor alle m M geldt v(k, m) m v(k, m). Het feit dat deze uniek is, is niet moeilijk te zien. Stel maar dat er twee koppelingen K en K optimaal zijn. Als deze verschillend zijn, dan is er een man m M met verschillende partners in beide koppelingen. Een van deze twee partners staat hoger in zijn lijst dan de andere, wat dus de optimaliteit van een van de twee koppelingen tegenspreekt. Definitie 2.4. Een stabiele koppeling K wordt vrouw-optimaal genoemd als voor iedere stabiele koppeling K geldt dat iedere vrouw, met verschillende partners in K en K, haar partner in K prefereert boven die in K. Voorbeeld 2.5. In Figuur 6 hebben we voor de instantie uit Figuur 1 twee stabiele koppelingen weergegeven. K 0 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 K 1 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 Figuur 6: Twee stabiele koppelingen voor de instantie uit figuur 1. Er geldt hier dat K 0 de man-optimale koppeling is en K 1 een andere stabiele koppeling. We zien dat iedere man met verschillende partners in deze twee koppelingen, koppeling K 0 prefereert boven K 1. We zullen nu laten zien dat Algoritme 1 de man-optimale koppeling oplevert, wat bewezen wordt in [1]. Stelling 2.2. Algoritme 2.1 levert de man-optimale koppeling (zeg K 0 ) op. Bewijs. Het is voldoende om voor iedere man m te laten zien dat er geen stabiele koppeling bestaat waarin m gekoppeld is aan een vrouw die hoger op zijn lijst staat dat z n partner in K 0. Dit is equivalent aan zeggen dat er geen stabiele koppeling bestaat waarin m gekoppeld is aan een vrouw waardoor hij is afgewezen. 12

14 We zullen de bewering inductief bewijzen. Beschouw allereerst het geval dat een man m in de eerste ronde van aanzoeken afgewezen wordt door vrouw v. Dan betekent dit dat vrouw v meerdere aanzoeken gehad heeft en dat de man, zeg m, waarmee ze verloofd is hoger op haar lijst staat dan man m en dat vrouw v bovenaan de lijst van man m staat. Als er nu wel een stabiele koppeling K bestaat met (m, v) K, dan betekent dit dat man m gekoppeld is aan een vrouw welke lager staat dan vrouw v op zijn lijst, ofwel v(k, m ) < m v. Maar dan vindt vrouw v man m leuker dan haar partner in K en man m vindt vrouw v leuker dan zijn partner, wat dus betekent dat we een instabiel paar hebben. Neem nu aan (inductieveronderstelling) dat we op een punt in het algoritme zijn, waarvoor geldt dat er geen stabiele koppeling bestaat voor de man/vrouw paren waarbij de vrouw de man heeft afgewezen in een eerdere stap van het algoritme. Neem nu aan dat een zekere man m in de huidige stap van het algoritme wordt afgewezen door vrouw v en stel dat er een stabiele koppeling K bestaat waarin deze man en vrouw gekoppeld zijn. Laat m de man zijn welke vrouw v kiest in de huidige stap van het algoritme. Omdat v man m kiest, geldt dat m > v m. Beschouw nu de partner v van man m in K. Dan moet gelden dat v > m v, want per inductieveronderstelling kan man m niet gekoppeld zijn aan een betere vrouw dan v, want door deze vrouwen is hij afgewezen in eerdere stappen van het algoritme. Maar dan hebben we een instabiel paar gevonden, want man m en vrouw v vinden elkaar leuker dan hun partner in K. Dit geeft een tegenspraak. We kunnen ook laten zien dat de man-optimale koppeling voor de vrouwen de slechtste koppeling is, ofwel voor een willekeurige andere koppeling geldt dat iedere vrouw met verschillende partners haar partner in de andere koppeling prefereert boven haar partner in de man-optimale koppeling. Dit kunnen we bewijzen met behulp van het volgende lemma uit [2]. Lemma 2.1. Laat K en K twee verschillende stabiele koppelingen zijn en neem aan dat m M en v V partners zijn in K, maar niet in K. Dan prefereert een van de twee K en de ander K. Bewijs. Laat M K de verzameling van mannen zijn welke K prefereren boven K en laat M K de verzameling van mannen zijn welke K prefereren boven K en definieer analoog V K en V K voor de vrouwen. Er kan geen koppel (m, v) K bestaan met m M K en v V K, want dat zou een instabiel paar geven in de koppeling K, dus voor ieder paar (m, v) geldt dat als m M K dan v V K en in het bijzonder geldt dat M K V K Analoog geldt ook dat als m M K, dan v V K, waaruit volgt dat Verder weten we ook dat M K V K M \ (M K M K ) + M K + M K = K = V = V \ (V K V K ) + V K + V K waarbij M \ (M K M K ), V \ (V K V K ) de verzameling van mannen resp. vrouwen is welke dezelfde partner hebben in beide koppelingen. Het is duidelijk dat deze twee verzamelingen even groot moeten zijn, want als een man dezelfde partner heeft in beide koppelingen, heeft zijn partner dat ook. Er volgt dat M K + M K = V K + V K Stel nu eens dat M K < V K of M K < V K, dan zouden we vinden dat V K + V K = M K + M K < V K + V K wat een tegenspraak oplevert, dus M K = V K en M K = V K en er volgt dat iedere vrouw die K prefereert, gekoppeld is aan een man die K prefereert, wat het gevraagde bewijst. Voorbeeld 2.6. Merk op dat het noodzakelijk is dat (m, v) K. Voor een willekeurige man en vrouw hoeft het niet zo te zijn dat voor twee koppelingen K en K ieder een andere prefereert. Voor de instantie uit Figuur 1 zijn in Figuur 9 (blz. 20) alle stabiele koppelingen gegeven. We zien bijvoorbeeld dat zowel man 3 als vrouw 3 de partner in K 3 prefereert boven de partner in K 2. 13

15 K 2 3 > 2 > 1 > 4 m 3 v 3 4 > 1 > 2 > 3 m 3 K 3 3 > 2 > 1 > 4 v 3 4 > 1 > 2 > 3 Figuur 7: Tegenvoorbeeld wanneer we de aanname niet hebben. We kunnen nu laten zien dat de man-optimale koppeling voor de vrouwen de slechtste koppeling is met behulp van het volgende lemma uit [2]. Lemma 2.2. De man-optimale koppeling K 0 is de slechtste koppeling voor de vrouwen, ofwel als K een willekeurige andere koppeling is, geldt dat iedere vrouw met verschillende partners haar partner in K prefereert boven die in K 0. Bewijs. Stel eens dat er een koppeling K bestaat en een vrouw v zodanig dat m(k 0, v) > v m(k, v). Dan geldt dat deze vrouw haar partner in K 0 prefereert boven die in K. Maar dan moet gelden dat m(k, v) zijn partner in K, ofwel v, prefereert boven zijn partner in K 0 wegens bovenstaande stelling. Er geldt dan dat v > m(k,v) v(k 0, m(k, v)), maar dit kan niet, omdat K 0 de man-optimale koppeling is en dus bestaat er geen stabiele koppeling waarin man m(k, v) gekoppeld is aan een betere partner dan zijn partner in K Variaties Onvolledige voorkeurslijst Het kan voorkomen dat een man absoluut niet aan een aantal vrouwen gekoppeld wil worden of andersom. Dit kunnen we weergeven door de betreffende vrouw van de lijst van de man te verwijderen. De man blijft liever alleen dan dat hij gekoppeld wordt aan een van die vrouwen. Het kan dan voorkomen we geen volledige koppeling vinden. We zullen in dit geval de definitie van stabiliteit moeten aanpassen. De huidige definitie gaat niet meer op, omdat er personen ongekoppeld kunnen blijven. We noteren de verzameling van vrouwen welke op de lijst van man m staan met N(m) en analoog voor de vrouwen met N(v). We noemen A = {(m, v) M V : m N(v) en v N(m)}, ofwel de verzameling van paren (m, v) waar man m en vrouw v elkaar op hun lijst hebben staan. Definitie 2.5. We noemen we een koppeling K stabiel als voor (m, v) A niet een van de volgende gevallen optreedt: m > v m(k, v) en v > m v(k, m) m is ongekoppeld en m > v m(k, v) v is ongekoppeld en v > m v(k, m) m en v zijn beide ongekoppeld Het Gale-Shapley Algoritme kan nog steeds gebruikt worden om een stabiele koppeling te vinden. Het algoritme eindigt nu als voor iedere man geldt dat hij of gekoppeld is, of iedere vrouw op zijn lijst een aanzoek heeft gedaan en door allemaal is afgewezen. Het bewijs gaat analoog. We kunnen ook een interessant lemma bewijzen over stabiele koppelingen in deze probleemstelling. Het blijkt namelijk dat in dit geval altijd dezelfde verzameling mannen en vrouwen gekoppeld is en dus in het bijzonder dat iedere stabiele koppeling even groot is. 14

16 Lemma 2.3. In iedere stabiele koppeling zijn dezelfde personen gekoppeld en in het bijzonder geldt dan dat alle koppelingen even groot zijn. Bewijs. Laat K en K twee koppelingen zijn en laat m 1 M zodanig dat m 1 wel gekoppeld is in K maar niet in K. Laat v 1 = v(k, m), omdat K een stabiele koppeling is, waarin m 1 niet gekoppeld is, moet gelden dat v 1 gekoppeld is K en in het bijzonder dat m 2 = m(k, v 1 ) > v1 m 1 om stabiliteit te garanderen in K. Om dan vervolgens weer stabiliteit in K te garanderen, moet gelden dat v 2 = v(k, m 2 ) > m2 v 1, ofwel man m 2 moet gekoppeld zijn in K en aan een betere vrouw dan v 1. Dit proces voortzetten geeft een rij mannen en vrouwen waarvoor geldt dat m i en v i gekoppeld zijn in K, m i+1 en v i gekoppeld in K en m i+1 > vi m i en v i > mi v i 1. Echter, omdat er maar een eindig aantal mannen en vrouwen zijn, moet op den duur weer gelden dat m j = m 1 voor een zekere j. Dit zou betekenen dat m 1 alsnog gekoppeld is in K, wat een tegenspraak geeft. Het bewijs voor de vrouwen gaat analoog. m 2 > v1 m 1 m 3 > v2 m 2 m j > vj 1 m j 1 v 1 v 2 v j m 1 m 2 m 3 m j = m 1 v 2 > m2 m 1 v 3 > m3 v 2 Figuur 8: Schets van de beschreven situatie. De zwarte lijnen zijn de gekoppelde paren in K en de rode lijnen de gekoppelde paren in K. Lemma 2.3 heeft ook een interessante toepassing. Stel dat we willen weten of er een stabiele koppeling bestaat waarin het paar (m, w ) M V zit. We kunnen dan het volgende algoritme uitvoeren. Algoritme 2.2. Het vinden van een stabiele koppeling met paar (m, v ) M V. Voor iedere m M met m > v m, verwijder v en alle vrouwen onder v van de lijst van man m. Voor iedere v V met v > m v, verwijder m en alle mannen onder m van de lijst van vrouw v. Verwijder nu ook man m en vrouw v en voer het Gale-Shapley Algoritme uit op de resterende instantie Als dit een volledige koppeling geeft, dan kunnen we (m, v ) aan deze koppeling toevoegen en dit geeft dan een stabiele koppeling in de originele instantie. Als dit geen volledige koppeling geeft, dan bestaat zo een koppeling niet. Bewijs. We willen een stabiele koppeling K vinden met (m, v ) K. Als geldt dat v > m v, dan moet gelden dat m(k, v) > v m, want anders vormt (m, v ) een instabiel paar in K. Een analoge redenatie geldt voor een man m met m > v m. Om dit te garanderen voeren we de eerste twee stappen van het algoritme uit. Het vinden van een K met (m, v ) K is nu equivalent aan het vinden van een volledige stabiele koppeling in het gereduceerde probleem. Lemma 2.3 geeft dat iedere koppeling in het gereduceerde probleem even groot is, dus het is voldoende om alleen maar het Gale-Shapley Algoritme uit te voeren. Als dit algoritme een onvolledige koppeling geeft, dan zijn alle stabiele koppelingen in het gereduceerde probleem onvolledig 15

17 en dan weten we dat zo een koppeling K niet bestaat en als dit algoritme wel een volledige koppeling geeft in het gereduceerde probleem, dan kunnen we het paar (m, v ) hieraan toevoegen en dit geeft ons dan een stabiele koppeling in het originele probleem. Er blijkt ook dat wanneer we een stabiele koppeling koppeling vinden met het paar (m, v ) met behulp van Algoritme 2.2, deze koppeling de man-optimale koppeling is voor dit paar. Dit betekent dat voor iedere andere stabiele koppeling waarin dit paar gekoppeld is, iedere man met verschillende partners zijn partner in de koppeling gevonden met Algoritme 2.2 prefereert. Het bewijs van deze bewering volgt direct uit het feit dat we het Gale-Shapley Algoritme gebruiken in het gereduceerde probleem. Voorbeeld 2.7. We beschouwen weer de instantie uit Figuur 1 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 3 > 1 > 2 2 > 4 > 1 > 3 4 > 1 > 2 > 3 3 > 2 > 1 > 4 en willen weten of er een koppeling met bestaat met het paar (1, 2). Het gereduceerde probleem ziet er als volgt uit (na het uitvoeren van de eerste drie stappen van het algoritme): 4 > 3 1 > 3 3 > 1 > 4 4 > 1 4 > 2 > 3 3 > 2 > 4 We voeren nu weer het Gale-Shapley algoritme uit en vinden dan de volgende koppeling in de gereduceerde instantie: 4 > 3 1 > 3 3 > 1 > 4 4 > 1 4 > 2 > 3 3 > 2 > 4 We kunnen dit algoritme ook uitbreiden. Stel nu eens dat we willen weten of er een stabiele koppeling bestaat met de paren uit S = {(m 0, w 0 ),..., (m r, v r )} voor een zekere r n. Laat S v de verzameling van vrouwen uit S en S m de verzameling van mannen uit S. Dan kunnen we het volgende algoritme uitvoeren: Algoritme 2.3. Het vinden van een stabiele koppeling met paren uit S. Voor iedere m M, laat V m = {v i S v : m > vi m i } en laat max V m de vrouw in V m zijn welke man m het meest prefereert. Verwijder dan max V m en alle vrouwen hieronder van de voorkeurslijst van man m. 16

18 Voor iedere v V, laat M v = {m i S m : v > mi v i } en laat max M v de man in M v zijn welke vrouw v het meest prefereert. Verwijder dan max M v en alle mannen hieronder van de voorkeurslijst van vrouw v. Verwijder nu ook mannen uit S m, de vrouwen uit S v en voer het Gale-Shapley Algoritme uit op de resterende instantie. Als dit een volledige koppeling geeft, dan bestaat er een stabiele koppeling met de paren uit S in de originele instantie. Als dit geen volledige koppeling geeft, dan bestaat zo een koppeling niet. Het bewijs dat dit algoritme correct is, gaat weer analoog aan het geval waarin S uit maar één element bestaat Meer mannen dan vrouwen We kunnen nu ook de situatie bekijken waarin we meer mannen dan vrouwen hebben. Dit is een speciaal geval van een instantie met onvolledige voorkeurslijsten, want als we meer mannen dan vrouwen hebben, kunnen we M V vrouwen toevoegen met een lege voorkeurslijst en waarvoor geldt dat geen enkele man deze vrouwen op z n lijst heeft staan. We hebben dan nu weer een instantie waarbij het aantal mannen en vrouwen gelijk is. We kunnen ook meer vrouwen dan mannen hebben en dit reduceert ook weer tot een instantie met onvolledige voorkeurslijsten Studenten en universiteiten We kunnen het probleem ook beschouwen met studenten en universiteiten die elk een voorkeurslijst voor elkaar hebben. Het verschil met de vorige instanties is dat er aan een universiteit meerdere studenten gekoppeld kunnen worden, we vinden dus niet meer een één-op-één koppeling. Het aantal studenten en universiteiten maakt nu ook niet uit. De vorige instanties zijn dus eigenlijk een speciaal geval hiervan waarbij iedere universiteit maar plek heeft voor één student. We noteren de verzameling van universiteiten met U = {U 1, U 2,..., U m } en de verzameling studenten met S = {s 1, s 2,..., s n }. Verder noteren we met q i de capaciteit van universiteit U i, ofwel het aantal studenten dat daar terecht kan. We kunnen op soortgelijke manier het algoritme van Gale-Shapley uitvoeren. Het enige verschil is dat een universiteit meerdere verzoeken (tot inschrijving) mag accepteren. Zeg dat een universiteit U i in een zekere stap k > q i aanzoeken heeft, dan wijst hij de k q i studenten af die het laagste op zijn lijst staan van de studenten die op dat moment een verzoek doen aan U i. 17

19 Voorbeeld 2.8. Hieronder hebben we een voorbeeld van het Gale-Shapley Algoritme uitgewerkt met zes studenten en drie universiteiten. 2 > 1 > 3 2 > 3 > 1 2 > 1 > 3 2 > 3 > 6 > 1 > 4 > 5 (q 1 = 2) 1 > 5 > 3 > 2 > 4 > 6 (q 2 = 3) 3 > 2 > 4 > 1 > 5 > 6 (q 3 = 1) 3 > 2 > 1 2 > 3 > 1 2 > 1 > 3 Er geldt dus dat universiteit U 2 5 verzoeken krijgt en maar drie studenten kwijt kan, dus deze wijst de laagste twee af en dat zijn in dit geval student s 2 en s 6. 2 > 1 > 3 2 > 3 > 1 2 > 1 > 3 2 > 3 > 6 > 1 > 4 > 5 (q 1 = 2) 1 > 5 > 3 > 2 > 4 > 6 (q 2 = 3) 3 > 2 > 4 > 1 > 5 > 6 (q 3 = 1) 3 > 2 > 1 2 > 3 > 1 2 > 1 > 3 Er geldt nu dat universiteit U 3 twee verzoeken heeft en maar één student kwijt kan en dus wijst hij in dit geval student s 4 af. Student s 4 zal nu een verzoek indienen bij universiteit U 2 maar daar ook door worden afgewezen omdat s 4 lager staat dan s 1, s 3 en s 5. Vervolgens dient s 4 een verzoek in bij universiteit U 1 en dan hebben we de koppeling gevonden. 2 > 1 > 3 2 > 3 > 1 2 > 1 > 3 2 > 3 > 6 > 1 > 4 > 5 (q 1 = 2) 1 > 5 > 3 > 2 > 4 > 6 (q 2 = 3) 3 > 2 > 4 > 1 > 5 > 6 (q 3 = 1) 3 > 2 > 1 2 > 3 > 1 2 > 1 > 3 We kunnen ook iedere universiteit U i = A opsplitsen in universiteiten A 1,..., A qi en deze alle dezelfde voorkeurslijst geven als A. Verder kunnen we dan ook op de lijst van iedere student, A vervangen voor 18

20 A 1 > A 2 > > A qi (dus deze voegen we ertussen). We krijgen weer een probleem equivalent aan dat van een groep mannen en vrouwen, waarbij iedereen aan hoogstens één persoon gekoppeld kan worden. De stabiele koppelingen in dit nieuwe probleem corresponderen één-op-één met die van het oorspronkelijke probleem. We kunnen dan ook bijvoorbeeld het oorspronkelijke Gale-Shapley Algoritme uitvoeren op het nieuwe probleem. 2.4 Een tweede algoritme voor het vinden van een stabiele koppeling In deze sectie zullen we een ander algoritme geven om een stabiele koppeling te vinden. Stel eens dat we n mannen en vrouwen hebben en een stabiele koppeling K tussen deze mannen en vrouwen. We kunnen nu een extra man toevoegen aan het probleem. Deze man heeft zelf ook weer een voorkeurslijstje voor alle vrouwen en iedere vrouw plaatst deze man ook ergens op haar voorkeurslijst. Er kunnen instabiele paren ontstaan, want het is mogelijk dat er vrouwen zijn welke de nieuwe man leuker vinden dan hun huidige partner. Om weer opnieuw een stabiele koppeling te vinden, kunnen we het Gale-Shapley Algoritme uitvoeren vanuit de gegeven situatie. De nieuwe man m n+1 zal een aanzoek doen aan de eerste vrouw v op zijn lijst. De desbetreffende vrouw kijkt dan of ze de nieuwe man leuker vindt dan haar huidige partner m(k, v) en kiest dan de man welke ze prefereert. Als ze de nieuwe man prefereert boven haar huidige partner, dan wordt haar huidige man m(k, v) dus vrijgezel. Deze doet nu vervolgens een aanzoek aan de eerstvolgende vrouw op zijn lijst na v. Dit proces blijven we herhalen, dus mannen die afgewezen worden, doen weer aanzoek beginnend bij de vrouw direct onder hun partner in K. De vraag is nu of dit weer een stabiele koppeling oplevert (merk op dat de mannen in de huidige koppeling K opnieuw vrijgezel worden, aanzoeken doen aan vrouwen vanaf hun huidige partner en dit is niet precies het Gale-Shapley Algoritme). Stelling 2.3. Bovenstaande procedure levert een stabiele koppeling op in een eindig aantal stappen. Bewijs. Dit proces levert na iedere stap een (onvolledige) koppeling op en in iedere stap is er een man welke een aanzoek doet. Omdat de voorkeurslijsten eindig zijn, zal er op een gegeven moment een man zijn welke door z n aanzoeken heen is. Na die stap stopt het algoritme. Stel nu eens dat de gevonden koppeling K niet stabiel is, dan bestaat er een instabiel paar (m, v) K. Merk op dat een vrouw in iedere stap van het algoritme er niet op achteruit kan gaan. Hieruit volgt dat man m niet de ongekoppelde man kan zijn. Er geldt namelijk dat m > v m(k, v) v m(k, v) en er moet dan gelden v(k, m) > m v, wegens de stabiliteit van K. Man m heeft dus een aanzoek gedaan aan v en v heeft m blijkbaar afgewezen dus zij is gekoppeld aan een betere man dan m. De man m is dus gekoppeld en er geldt dus in het bijzonder dat m > v m(k, v), ofwel v vindt m ook leuker dan haar partner in K. Dit betekent dat m zijn partner in K leuker moet vinden dan v anders vormt (m, v) ook een instabiel paar in K, ofwel v(k, m) > m v > m v(k, m), waarbij de laatste ongelijkheid geldt wegens het feit dat het een instabiel paar is. Maar hieruit volgt dat man m in de procedure een aanzoek heeft gedaan aan v en hierdoor is afgewezen en dus heeft v een partner beter dan m in K wat een tegenspraak oplevert. De gevonden koppeling K is stabiel. We hebben nu een stabiele koppeling gevonden voor n + 1 mannen en n vrouwen. We kunnen ook weer (analoog aan het toevoegen van een man) een nieuwe vrouw toevoegen. Deze vrouw heeft een voorkeurslijst voor de n+1 mannen en iedere man plaatst ook deze nieuwe vrouw op zijn lijst. Er kunnen dan ook instabiele paren ontstaan (de ongekoppelde man in K en de nieuwe vrouw bijvoorbeeld, vormen altijd een instabiel paar). De nieuwe vrouw begint weer met aanzoeken doen enzovoorts... Het feit dat K stabiel is, garandeert dat iedere vrouw in K haar huidige partner leuker vindt dan de ongekoppelde man in K. Als de vrouwen dan opnieuw aanzoeken gaan doen, krijgt de ongekoppelde man altijd een keer een aanzoek en de eerste keer dat dit gebeurt, levert dit dus weer een koppeling op. Het bewijs dat deze ook weer stabiel is, gaat analoog aan bovenstaande stelling. 19

21 We zullen nu een algoritme geven om een stabiele koppeling te vinden. Algoritme 2.4. Een tweede algoritme voor het vinden van een stabiele koppeling Kies een man m M en een vrouw v V en koppel deze, dan is dit een stabiele koppeling in de instantie waarin deze twee personen de enige twee deelnemers zijn (ofwel de geïnduceerde instantie uit de originele instantie). Voeg nu om en om steeds een man en een vrouw toe en voeg bovenstaande procedure uit Als alle mannen en vrouwen zijn toegevoegd: STOP Dit algoritme stopt na 2(n 1) stappen (dus na het toevoegen van n 1 mannen en n 1 vrouwen) en dit geeft in iedere stap dus een stabiele koppeling voor een geïnduceerde instantie. Bovenstaande implementatie geeft geen eenduidigheid over de volgorde waarin de mannen en vrouwen toegevoegd moeten worden. Het blijk ook dat verschillende volgorden van toevoegen, verschillende koppelingen op kan leveren en er geldt ook dat we niet altijd de stabiele koppelingen krijgen welke we ook kunnen vinden met het Gale-Shapley algoritme (vrouw- en man-optimale koppeling). Dit algoritme is dus een alternatief voor het Gale-Shapley algoritme en hiermee kan ook een andere koppeling gevonden worden dan de man- of vrouw-optimale koppeling (waarmee we ook laten zien dat deze procedure niet indirect hetzelfde is als het Gale-Shapley algoritme). Het is niet moeilijk om te laten zien dat dit algoritme in polynomiale tijd uitgevoerd kan worden. Grof gezegd is iedere stap van het algoritme begrensd door O(n 2 ) tijd, omdat dit gezien kan worden als een uitvoering van het Gale-Shapley algoritme. Er zijn verder 2(n 1) stappen van het algoritme nodig, wat dus laat zien dat we dit algoritme kunnen uitvoeren in O(n 3 ) tijd. In de bijlage is een implementatie van dit algoritme gegeven. 20

22 3 Structuur binnen de verzameling van stabiele koppelingen 3.1 Partiële ordening op de verzameling van stabiele koppelingen Definitie 3.1. Laat P een verzameling zijn en laat een binaire relatie zijn op P. Dan geldt dat (P, ) een partiële ordening is als deze voldoet aan a a voor alle a P [a b en b a] a = b [a b en b c] a c Voor een gegeven instantie van grootte n, noteren we de verzameling van alle stabiele koppelingen met K. Op deze verzameling kunnen we een partiële ordening definiëren door voor K, K K te zeggen dat K K als voor iedere m M geldt dat v(k, m) m v(k, m). Merk het verschil in teken op, deze keuze zal in latere secties duidelijk worden. De partiële ordening op K noteren we met (K, ). We kunnen ook voor iedere koppeling K een vector x K = (x i ) n i=1 Nn maken waarvoor geldt dat x i = positie van vrouw v(k, m i ) op lijst van man m i en dan de partiële ordening op N n gebruiken (ofwel x y als x i y i voor alle i). Op N n weten we dat deze relatie een partiële ordening geeft en dit laat direct zien dat bovenstaande ook een partiële ordening is (een vrouw welke bovenaan de lijst van een man staat, staat op plaats 1). Voorbeeld 3.1. Hieronder is de partiële ordening voor de instantie uit Figuur 1 weergegeven. Er zijn voor deze instantie in totaal n! = 4! = 24 koppelingen en vijf van deze koppelingen blijken stabiel te zijn. Deze weergave wordt een Hasse-diagram genoemd. Er geldt dat K K als er een gericht pad van K naar K bestaat. De takken geven de directe opvolgers aan in de ordening, ofwel er is een tak van K naar K als K K en er geen M bestaat zodanig dat K M K. K 4 [ ] [ ] [ K 2 K ] K 1 [ ] K 0 [ ] Koppeling Plaats partner in koppeling Figuur 9: Hasse-diagram van de instantie uit Figuur 1 We hebben in Figuur 9 naast iedere koppelingen op de eerste regel weergegeven aan welke vrouw iedere man gekoppeld is (van links naar rechts man 1 tot en met n) en op de tweede regel hebben we de bijbehorende vector in N n weergegeven zoals hierboven beschreven. 21

23 3.2 (K, ) is een distributief tralie. In de vorige sectie hebben we laten zien dat we een partiële ordening op de verzameling K kunnen definiëren. We zullen nu laten zien dat deze ordening een distributief tralie is. Definitie 3.2. We noemen een partiële ordening een tralie als deze voldoet aan: Ieder tweetal x, y heeft een grootste ondergrens, meet, genoteerd met x y, waarvoor geldt dat x y x, x y y en er is geen element z met z x, y en x y z. Ieder tweetal x, y heeft een kleinste bovengrens, join, genoteerd met x y, waarvoor geldt dat x x y, y x y en er is geen element z met x, y z en z x y. Definitie 3.3. We noemen een tralie distributief als voor ieder drietal x, y, z geldt dat x (y z) = (x y) (x z) en x (y z) = (x y) (x z) We zullen hieronder kandidaten geven voor K K en K K en daarna bewijzen dat deze kandidaten voldoen aan de eigenschappen van meet en join en laten zien dat (K, ) een distributief tralie is We beginnen met het volgende lemma uit [2]. Lemma 3.1. Laat K en K twee stabiele koppelingen zijn. Als we iedere man de betere van zijn partners in K en K geven, dan is het resultaat een stabiele koppeling, welke we noteren met K K. Bewijs. We zullen eerst laten zien dat deze procedure daadwerkelijk een koppeling oplevert. Stel eens dat er een vrouw v is welke door zowel m 1, haar partner in K als m 2, haar partner in K, wordt geprefereerd (en dat deze verschillend zijn, als ze hetzelfde zijn is er niets te bewijzen). Als nu geldt dat m 1 > v m 2 dan betekent dit dat (m 1, v) een instabiel paar vormen in K, want m 1 vindt v leuker dan zijn partner in K en ook dus andersom. Als nu geldt dat m 2 > v m 1 dan is (m 2, v) een instabiel paar in K. In beide gevallen vinden we dus een tegenspraak, dus we vinden een koppeling. We noemen deze koppeling K We zullen nu laten zien dat deze koppeling ook stabiel is. Stel dat (m, v) een instabiel paar vormt. Dan geldt dat v > m v(k, m), v(k, m) omdat m gekoppeld is aan de betere van die twee. Neem nu aan dat v gekoppeld is aan haar partner in K, dan geldt dat m > v m(k, v), maar dan geldt dat (m, v) ook een instabiel paar vormt in K, wat een tegenspraak oplevert. Als v gekoppeld is aan haar partner in K geldt dat m > v m(k, v) en levert (m, v) een instabiel paar in K, wat ook een tegenspraak geeft. v > > v(k, m) v(k, m), v(k, m) m v m > > m(k, v) Figuur 10: Schets van het bewijs 22

24 Voorbeeld 3.2. Hieronder is een voorbeeld weergegeven waarbij we iedere man de beste van zijn twee partners toewijzen en zo een nieuwe koppeling vinden, deze koppelingen komen uit het vorige voorbeeld. K 2, K 3 1 > 2 > 3 > 4 1 > 3 > 2 > 4 = K 1 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 1 > 2 > 3 Figuur 11: We wijzen aan iedere man de beste van zijn partners in K 2 en K 3 toe en vinden zo K 1 We vinden ook hier weer tegenstrijdige belangen voor de mannen en de vrouwen wat geïllustreerd wordt door de volgende twee lemma s uit [2]. Lemma 3.2. Iedere vrouw is gekoppeld aan de slechtere van haar partners in K en K. Bewijs. Dit volgt direct uit de Lemma 2.1. Anders geldt namelijk dat er een man en een vrouw zijn die gekoppeld zijn in K K en dan ook in een van de koppelingen K of K, zeg in K, en waarvoor dan geldt dat deze beide hun partner in K prefereren boven die K, wat niet kan. Lemma 3.3. Laat K en K twee stabiele koppelingen zijn. Als we iedere man de slechtere van zijn partners in K en K geven, dan is het resultaat een stabiele koppeling, welke we noteren met K K Bewijs. De lemma s hiervoor gelden uiteraard ook met de rol van man en vrouw verwisseld. Als we iedere vrouw haar beste partner geven dan levert dit een stabiele koppeling op en bovendien geldt voor deze koppeling dat iedere man gekoppeld is aan zijn slechtere partner. Voorbeeld 3.3. Hieronder een voorbeeld waarin iedere man de slechtere van zijn partners in twee koppelingen krijgt, wederom zijn de koppelingen uit het Figuur 9. K 2, K 3 1 > 2 > 3 > 4 1 > 3 > 2 > 4 = K 4 1 > 2 > 3 > 4 1 > 3 > 2 > 4 3 > 2 > 1 > 4 3 > 2 > 1 > 4 4 > 1 > 2 > 3 4 > 1 > 2 > 3 Figuur 12: We wijzen aan iedere man de slechtere van zijn partners in K 2 en K 3 toe en vinden zo K 4 In onderstaande stelling zullen laten we zien dat het gerechtvaardigd is om de koppeling uit Lemma 3.1 en Lemma 3.3 te noteren als join en meet. Stelling 3.1. De partiële ordening (K, ) is een distributief rooster waarbij K K de meet is en K K de join. Bewijs. Het bewijs van deze stelling volgt uit het feit dat deze partiële ordening een deeltralie is van de tralie N n. 23

25 3.3 I(K), een compacte representatie voor K In deze sectie zullen we een representatie voor de verzameling van stabiele koppelingen geven welke gevonden kan worden in O(n 5 ) tijd. In het algemeen kan een instantie van grootte n exponentieel veel stabiele koppelingen bevatten, dus het feit dat we een representatie voor al deze koppelingen kunnen vinden in polynomiale tijd is een mooi resultaat. Om alle onderdelen toe te lichten, zullen we eerst een nieuwe instantie introduceren welke uit [2] komt. Dit omdat het vorige voorbeeld relatief klein was en daarom geen goed beeld geeft van de beschreven theorie. Voorbeeld 3.4. We hebben nu een instantie met acht mannen en vrouwen: 5 > 7 > 1 > 2 > 6 > 8 > 4 > 3 2 > 3 > 7 > 5 > 4 > 1 > 8 > 6 8 > 5 > 1 > 4 > 6 > 2 > 3 > 7 3 > 2 > 7 > 4 > 1 > 6 > 8 > 5 7 > 2 > 5 > 1 > 3 > 6 > 8 > 4 1 > 6 > 7 > 5 > 8 > 4 > 2 > 3 2 > 5 > 7 > 6 > 3 > 4 > 8 > 1 3 > 8 > 4 > 5 > 7 > 2 > 6 > 1 5 > 3 > 7 > 6 > 1 > 2 > 8 > 4 8 > 6 > 3 > 5 > 7 > 2 > 1 > 4 1 > 5 > 6 > 2 > 4 > 8 > 7 > 3 8 > 7 > 3 > 2 > 4 > 1 > 5 > 6 6 > 4 > 7 > 3 > 8 > 1 > 2 > 5 2 > 8 > 5 > 3 > 4 > 6 > 7 > 1 7 > 5 > 2 > 1 > 8 > 6 > 4 > 3 7 > 4 > 1 > 5 > 2 > 3 > 6 > 8 Figuur 13: Instantie van grootte n = 8 Op de volgende pagina staat de partiële ordening van deze instantie weergegeven, deze is duidelijk uitgebreider dan het vorige voorbeeld, waardoor dit voorbeeld beter de theorie zal illustreren. We zullen nu eerst wat nieuwe terminologie introduceren Irreducibele koppelingen Laat (m, v) M V, dan noemen we K een (m, v) koppeling als m en v gekoppeld zijn in K. De verzameling van alle (m, v) koppelingen noteren we met K(m, v). Het kan natuurlijk zijn dat deze verzameling leeg is, maar als er K, K K(m, v) bestaan, dan volgt direct dat K K en K K ook in K(m, v) zitten en dit betekent dat K(m, v) een deeltralie is. We weten dat ieder (deel)tralie een minimaal element heeft namelijk K(m, v) := N N K(m,v) Definitie 3.4. We noemen een stabiele koppeling K irreducibel als K = K(m, v) voor een paar (m, v) M V, ofwel als K de man-optimale koppeling is waarin man m gekoppeld is aan vrouw v. De verzameling van irreducibele koppelingen noteren we met I(K). Met Algoritme 2.2 kunnen we voor ieder paar (m, v) bepalen of K(m, v) leeg is of direct K(m, v) vinden. Voorbeeld 3.5. Voor alle gekoppelde paren (m, v) in de man-optimale koppeling K 0 geldt dat K(m, v) = K 0. Ook zien we dat (m 3, v 5 ) een paar vormen in de koppelingen K 2 en K 4 en dus is K(m 3, v 5 ) = K 2. Merk op dat het niet zo hoeft te zijn dat iedere koppeling irreducibel is. Beschouw bijvoorbeeld K 4, dan is te zien dat mannen m 1, m 2, m 4, m 5, m 7 en m 8 in K 2 dezelfde partner hebben en K 2 K 4 en mannen 24

26 m 3, m 6 hebben in K 3 dezelfde partner als in K 4 en er geldt K 3 K 4 en hieruit volgt dus dat K(m, v) K 4 voor ieder paar (m, v) in K 4. Voorbeeld 3.6. Hieronder is de partiële ordening weergegeven voor de instantie Figuur 13. K 7 [ ] K 6 [ ] [ ] [ K 4 K ] [ ] [ K 2 K ] K 1 [ ] K 0 [ ] Koppeling Plaats partner in koppeling Figuur 14: Hasse-diagram van de instantie uit Voorbeeld

27 Voorbeeld 3.7. Hieronder hebben we een overzicht gegeven van de paren (m, v) M V en hun irreducibele koppelingen, als deze bestaan (de irreducibele koppeling voor paar (m, v) staat op plaats (m, v) in de matrix). Als er voor een zeker paar (m, v) geen irreducibele koppeling bestaat, dan is er geen enkele koppeling waarin (m, v) een paar vormen. K 2 K 0 K 1 K 0 K 2 K 0 K 3 K 7 K 1 K 0 K 0 K 2 K 7 K 5 K 0 K 0 K 3 K 0 K 5 K 0 Figuur 15: Overzicht van de irreducibele koppelingen voor iedere (m, v) als deze bestaat In deze tabel is te zien dat zowel K 4 en K 6 nooit een irreducibele koppeling zijn (voor K 4 hadden we het al laten zien). We zullen nu laten zien dat we iedere koppeling kunnen schrijven als de join van irreducibele koppelingen wat, grof gezegd, betekent dat als we alle irreducibele koppelingen kennnen, we ook alle stabiele koppelingen kennen. We kunnen ook de partiële ordening op K gebruiken om een ordening te induceren op I(K), dus voor K, K I(K) geldt K K precies wanneer K K in (K, ). Voor bovenstaande instantie vinden we dan de volgende ordening op I(K) Voorbeeld 3.8. De partiële ordening op I(K). K 7 K 5 K 2 K 3 K 1 K 0 Figuur 16: De ordening op I(K) voor de instantie uit Figuur 13. Definitie 3.5. We noemen de verzameling U(K) = {K(m, v) : (m, v) K} K de irreducibele drager van K, ofwel voor ieder paar (m, v) in K bepalen we K(m, v) en van al deze stabiele koppelingen nemen we de vereniging. 26

Stabiele Koppelingen

Stabiele Koppelingen Laura Brandwacht Stabiele Koppelingen Bachelorscriptie, 9 juni 2010 Scriptiebegeleider: Dr. D.C. Gijswijt Mathematisch Instituut, Universiteit Leiden Inhoudsopgave Voorwoord 3 1 Stabiele Koppelingen 5

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

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

Lijstkleuring van grafen

Lijstkleuring van grafen C.J. Meerman Lijstkleuring van grafen Bachelorscriptie 10 juni 2010 Email: cjmeerman@gmail.com Scriptiebegeleider: Dr. D. C. Gijswijt Mathematisch Instituut, Universiteit Leiden Inhoudsopgave 1 Inleiding

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen

Nadere informatie

Begrenzing van het aantal iteraties in het max-flow algoritme

Begrenzing van het aantal iteraties in het max-flow algoritme Begrenzing van het aantal iteraties in het max-flow algoritme Het oplossen van het maximum stroom probleem met behulp van stroomvermeerderende paden werkt, maar het aantal iteraties kan aardig de spuigaten

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

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

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

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 maart 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

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

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

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 2 Leo van Iersel Technische Universiteit Delft 14 september 2016 Leo van Iersel (TUD) TW2020 Optimalisering 14 september 2016 1 / 30 Modelleren van LP en ILP problemen

Nadere informatie

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur. Universiteit Utrecht Faculteit Wiskunde en Informatica Examen Optimalisering op maandag 18 april 2005, 9.00-12.00 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf

Nadere informatie

Basiskennis lineaire algebra

Basiskennis lineaire algebra Basiskennis lineaire algebra Lineaire algebra is belangrijk als achtergrond voor lineaire programmering, omdat we het probleem kunnen tekenen in de n-dimensionale ruimte, waarbij n gelijk is aan het aantal

Nadere informatie

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

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

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

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Ruud Pellikaan g.r.pellikaan@tue.nl /k 2014-2015 Lineaire vergelijking 2/64 DEFINITIE: Een lineaire vergelijking in de variabelen

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

Lineaire algebra I (wiskundigen)

Lineaire algebra I (wiskundigen) Lineaire algebra I (wiskundigen) Toets, donderdag 22 oktober, 2009 Oplossingen (1) Zij V het vlak in R 3 door de punten P 1 = (1, 2, 1), P 2 = (0, 1, 1) en P 3 = ( 1, 1, 3). (a) Geef een parametrisatie

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

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

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

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

Examenvragen Hogere Wiskunde I

Examenvragen Hogere Wiskunde I 1 Examenvragen Hogere Wiskunde I Vraag 1. Zij a R willekeurig. Gegeven is dat voor alle r, s Q geldt dat a r+s = a r a s. Bewijs dat voor alle x, y R geldt dat a x+y = a x a y. Vraag 2. Gegeven 2 functies

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Netwerkstroming Toepassingen in Logistiek Video-streaming Subroutine in algoritmen 2 Vandaag Netwerkstroming: wat was dat ook alweer? Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 5 Leo van Iersel Technische Universiteit Delft 2 oktober 206 Leo van Iersel (TUD) TW2020 Optimalisering 2 oktober 206 / 3 Dualiteit Dualiteit: Elk LP probleem heeft een

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 2 Leo van Iersel Technische Universiteit Delft 9 september 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 september 2015 1 / 23 Huiswerk Huiswerk 1 is beschikbaar op

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

III.3 Supremum en infimum

III.3 Supremum en infimum III.3 Supremum en infimum Zowel de reële getallen als de rationale getallen vormen geordende lichamen. Deze geordende lichamen zijn echter principieel verschillend. De verzameling R is bijvoorbeeld aanzienlijk

Nadere informatie

Het XOR-Netwerk heeft lokale Minima

Het XOR-Netwerk heeft lokale Minima Het 2-3- XOR-Netwerk heet lokale Minima Ida G. Sprinkhuizen-Kuyper Egbert J.W. Boers Vakgroep Inormatica RijksUniversiteit Leiden Postbus 952 2300 RA Leiden {kuyper,boers}@wi.leidenuniv.nl Samenvatting

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

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 16 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 16 november 2016 1 / 28 Vandaag Integer Linear Programming (ILP)

Nadere informatie

V.4 Eigenschappen van continue functies

V.4 Eigenschappen van continue functies V.4 Eigenschappen van continue functies We bestuderen een paar belangrijke stellingen over continue functies. Maxima en minima De stelling over continue functies die we in deze paragraaf bewijzen zegt

Nadere informatie

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 21 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 21 oktober 2015 1 / 20 Deze week: algoritmes en complexiteit

Nadere informatie

Uitwerking Puzzel 93-1, Doelloos

Uitwerking Puzzel 93-1, Doelloos Uitwerking Puzzel 93-1, Doelloos Wobien Doyer Lieke de Rooij Volgens de titel is deze puzzel zonder doel, dus zonder bekende toepassing. Het doel is echter nul en dat is zeker in de wiskunde niet niks.

Nadere informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 7 Leo van Iersel Technische Universiteit Delft 26 oktober 2016 Leo van Iersel (TUD) TW2020 Optimalisering 26 oktober 2016 1 / 28 Deze week: analyseren van algoritmes Hoe

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

Jordan normaalvorm. Hoofdstuk 7

Jordan normaalvorm. Hoofdstuk 7 Hoofdstuk 7 Jordan normaalvorm Zoals we zagen hangt de matrix die behoort bij een lineaire transformatie af van de keuze van een basis voor de ruimte In dit hoofdstuk buigen we ons over de vraag of er

Nadere informatie

Wiskundige beweringen en hun bewijzen

Wiskundige beweringen en hun bewijzen Wiskundige beweringen en hun bewijzen Analyse (en feitelijk de gehele wiskunde) gaat over het bewijzen van beweringen (proposities), d.w.z. uitspraken waaraan de karakterisering waar of onwaar toegekend

Nadere informatie

Lineaire programmering

Lineaire programmering Lineaire programmering Hans Maassen kort naar Inleiding Besliskunde van J. Potters [Pot]. en Methods of Mathematical Economics van J. Franklin [Fra]. Lineaire programmering is het bepalen van het maximum

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

Steeds betere benadering voor het getal π

Steeds betere benadering voor het getal π Wiskunde & Onderwijs 38ste jaargang (2012 Steeds betere benadering voor het getal π Koen De Naeghel Samenvatting. We bespreken een oplossing voor de (veralgemeende opgave Noot 4 uit Wiskunde & Onderwijs

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 12 Leo van Iersel Technische Universiteit Delft 7 december 2016 Leo van Iersel (TUD) TW2020 Optimalisering 7 december 2016 1 / 25 Volgende week: Study guide Vragenuurtje

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

Fundamentele Informatica

Fundamentele Informatica Fundamentele Informatica (IN3120 en IN3005 DOI nwe stijl) 20 augustus 2004, 9.00 11.00 uur Het tentamen IN3120 bestaat uit 10 meerkeuzevragen en 2 open vragen. Voor de meerkeuzevragen kunt u maximaal 65

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 9 Leo van Iersel Technische Universiteit Delft 11 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 11 november 2015 1 / 22 Mededelingen Huiswerk 2 nagekeken Terug

Nadere informatie

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Mekelweg 4 2628 CD Delft IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, 14.00-17.00 uur BELANGRIJK Beschikbare

Nadere informatie

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen Hoofdstuk 95 Orthogonaliteit 95. Orthonormale basis Definitie 95.. Een r-tal niet-triviale vectoren v,..., v r R n heet een orthogonaal stelsel als v i v j = 0 voor elk paar i, j met i j. Het stelsel heet

Nadere informatie

V.2 Limieten van functies

V.2 Limieten van functies V.2 Limieten van functies Beschouw een deelverzameling D R, een functie f: D R en zij c R. We willen het gedrag van f in de buurt van c bestuderen. De functiewaarde in c is daarvoor niet belangrijk, de

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

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

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

Optimalisering en Complexiteit, College 10. Begrensde variabelen. Han Hoogeveen, Utrecht University

Optimalisering en Complexiteit, College 10. Begrensde variabelen. Han Hoogeveen, Utrecht University Optimalisering en Complexiteit, College 10 Begrensde variabelen Han Hoogeveen, Utrecht University Begrensde variabelen (1) In veel toepassingen hebben variabelen zowel een ondergrens als een bovengrens:

Nadere informatie

Stelsels lineaire vergelijkingen

Stelsels lineaire vergelijkingen Een matrix heeft een rij-echelon vorm als het de volgende eigenschappen heeft: 1. Alle nulrijen staan als laatste rijen in de matrix. 2. Het eerste element van een rij dat niet nul is, ligt links ten opzichte

Nadere informatie

3.2 Vectoren and matrices

3.2 Vectoren and matrices we c = 6 c 2 = 62966 c 3 = 32447966 c 4 = 72966 c 5 = 2632833 c 6 = 4947966 Sectie 32 VECTOREN AND MATRICES Maar het is a priori helemaal niet zeker dat het stelsel vergelijkingen dat opgelost moet worden,

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

Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312

Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312 Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312 Je mag de syllabus en aantekeningen gebruiken, maar geen rekenmachine. Je mag opgaven 2.46, 2.49 en 8.13

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.3 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 6 J.Keijsper (TUE)

Nadere informatie

Leeswijzer bij het college Functies en Reeksen

Leeswijzer bij het college Functies en Reeksen Leeswijzer bij het college Functies en Reeksen Erik van den Ban Najaar 2012 Introductie eze leeswijzer bij het dictaat Functies en Reeksen (versie augustus 2011) heeft als doel een gewijzigde opbouw van

Nadere informatie

Deel 2. Basiskennis wiskunde

Deel 2. Basiskennis wiskunde Deel 2. Basiskennis wiskunde Vraag 26 Definieer de functie f : R R : 7 cos(2 ). Bepaal de afgeleide van de functie f in het punt 2π/2. (A) f 0 ( 2π/2) = π (B) f 0 ( 2π/2) = 2π (C) f 0 ( 2π/2) = 2π (D)

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

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

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

IMO-selectietoets III zaterdag 3 juni 2017

IMO-selectietoets III zaterdag 3 juni 2017 IMO-selectietoets III zaterdag 3 juni 017 NEDERLANDSE W I S K U N D E OLYMPIADE Uitwerkingen Opgave 1. Gegeven is cirkel ω met middellijn AK. Punt M ligt binnen de cirkel, niet op lijn AK. De lijn AM snijdt

Nadere informatie

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 = 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

Bilineaire Vormen. Hoofdstuk 9

Bilineaire Vormen. Hoofdstuk 9 Hoofdstuk 9 Bilineaire Vormen In dit hoofdstuk beschouwen we bilineaire vormen op een vectorruimte V nader. Dat doen we onder andere om in het volgende hoofdstuk de begrippen afstand en lengte in een vectorruimte

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

Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010)

Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010) Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010) Johan de Ruiter, johan.de.ruiter@gmail.com 27 april 2010 1 De stelling van Fermat over de som

Nadere informatie

Lineaire Algebra (2DD12)

Lineaire Algebra (2DD12) Lineaire Algebra (2DD12) docent: Ruud Pellikaan - Judith Keijsper email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/ ruudp/2dd12.html Technische Universiteit Eindhoven college 1 J.Keijsper

Nadere informatie

Ruimtewiskunde. college. De determinant en lineaire afbeeldingen. Vandaag. De determinant van een matrix. Toepassing: oppervlakte en inhoud

Ruimtewiskunde. college. De determinant en lineaire afbeeldingen. Vandaag. De determinant van een matrix. Toepassing: oppervlakte en inhoud college 6 en lineaire collegejaar college build slides Vandaag : : : : 6-7 6 9 juni 27 3 2 3 van een matrix Toepassing: oppervlakte en inhoud.6-7[6] vandaag van de 2 2-matrix a b c d is gelijk aan ad bc.

Nadere informatie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen

Nadere informatie

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING TENTAMEN Basismodellen in de Informatica vakcode: 211180 datum: 2 juli 2009 tijd: 9:00 12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Sudkamp, van de

Nadere informatie

Oplossing van opgave 6 en van de kerstbonusopgave.

Oplossing van opgave 6 en van de kerstbonusopgave. Oplossing van opgave 6 en van de kerstbonusopgave. Opgave 6 Lesbrief, opgave 4.5 De getallen m en n zijn verschillende positieve gehele getallen zo, dat de laatste drie cijfers van 1978 m en 1978 n overeenstemmen.

Nadere informatie

Lenstra s wonderlijke kaartspel

Lenstra s wonderlijke kaartspel Lenstra s wonderlijke kaartspel Een generalisatie van de Chinese Reststelling voor niet-commutatieve ringen Birgit van Dalen dalen@math.leidenuniv.nl 11 mei 2005 Inhoudsopgave 1 Inleiding 3 2 De Chinese

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

Containers stapelen. M.L. Koning april 2013

Containers stapelen. M.L. Koning april 2013 Technische Universiteit Eindhoven 2WH03 - Modelleren C Containers stapelen L. van Hees 0769244 M.L. Koning 0781346 2 april 2013 Y.W.A Meeuwenberg 0769217 1 Inleiding De NS vervoert dagelijks grote hoeveelheden

Nadere informatie

Netwerkstroming. Algoritmiek

Netwerkstroming. Algoritmiek Netwerkstroming Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede Maximum Stroming Stelling Variant: Edmonds-Karp Toepassing: koppelingen

Nadere informatie

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie Ruud Pellikaan g.r.pellikaan@tue.nl /k 205-206 Definitie opspansel 2/35 Stel S = {v,..., v n } is een deelverzameling van de vectorruimte

Nadere informatie

Unitaire en Hermitese transformaties

Unitaire en Hermitese transformaties Hoofdstuk 11 Unitaire en Hermitese transformaties We beschouwen vervolgens lineaire transformaties van reële en complexe inproductruimten die aan extra eigenschappen voldoen die betrekking hebben op het

Nadere informatie

Hoofdstuk 13: Integer Lineair Programmeren

Hoofdstuk 13: Integer Lineair Programmeren Hoofdstuk 13: Integer Lineair Programmeren Vandaag: Wat is Integer Lineair Programmeren (ILP)? Relatie tussen ILP en LP Voorbeeld 1: Minimum Spanning Tree (MST) Voorbeeld 2: Travelling Salesman Problem

Nadere informatie

Uitwerkingen Sum of Us

Uitwerkingen Sum of Us Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.

Nadere informatie

NATUURLIJKE, GEHELE EN RATIONALE GETALLEN

NATUURLIJKE, GEHELE EN RATIONALE GETALLEN II NATUURLIJKE, GEHELE EN RATIONALE GETALLEN Iedereen ent getallen: de natuurlije getallen, N = {0,1,2,3,...}, gebruien we om te tellen, om getallen van elaar af te unnen treen hebben we de gehele getallen,

Nadere informatie

III.2 De ordening op R en ongelijkheden

III.2 De ordening op R en ongelijkheden III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.

Nadere informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

Uitwerkingen tentamen Algebra 3 8 juni 2017, 14:00 17:00

Uitwerkingen tentamen Algebra 3 8 juni 2017, 14:00 17:00 Uitwerkingen tentamen Algebra 3 8 juni 207, 4:00 7:00 Je mocht zoals gezegd niet zonder uitleg naar opgaven verwijzen. Sommige berekeningen zijn hier weggelaten. Die moest je op je tentamen wel laten zien.

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds6 Technische Universiteit Eindhoven college 2 J.Keijsper

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten

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

Driehoeksongelijkheid en Ravi (groep 1)

Driehoeksongelijkheid en Ravi (groep 1) Driehoeksongelijkheid en Ravi (groep 1) Trainingsdag 3, april 009 Driehoeksongelijkheid Driehoeksongelijkheid Voor drie punten in het vlak A, B en C geldt altijd dat AC + CB AB. Gelijkheid geldt precies

Nadere informatie

Het duivenhokprincipe

Het duivenhokprincipe Tijdens de sneeuwstormen van 5 november j.l. hebben duizenden leerlingen zich gebogen over de opdracht in het kader van de wiskunde B-dag. Op het Jac P Thijsse College worden de werkstukken beoordeeld

Nadere informatie

Examen Datastructuren en Algoritmen II

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

Nadere informatie

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort) College 7 Zevende college complexiteit 7 maart 2017 Mergesort, Ondergrens sorteren (Quicksort) 1 Inversies Definitie: een inversie van de permutatie A[1],A[2],...,A[n] is een paar (A[i],A[j]) waarvoor

Nadere informatie

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2 Lesbrief 3 Polynomen 1 Polynomen van één variabele Elke functie van de vorm P () = a n n + a n 1 n 1 + + a 1 + a 0, (a n 0), heet een polynoom of veelterm in de variabele. Het getal n heet de graad van

Nadere informatie

Radboud Universiteit Nijmegen

Radboud Universiteit Nijmegen Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Kubische grafen met integraal spectrum Naam: Studentnummer: Studie: Begeleider: Tweede lezer: Daan van Rozendaal

Nadere informatie