blob: b5a60cc66e09c0a34bca6f7220bff38539fd00b5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
definition module BoerZoektVrouw
:: Nr :== Int // 1..N
/* boer_zoekt_vrouw (voorkeuren_mannen,voorkeuren_vrouwen)
berekent een 'stable marriage' oplossing tussen de populatie mannen en vrouwen middels het
Gale / Shapley algoritme mits de invoer aan de volgende voorwaarden voldoet:
(1) de lengte N van voorkeuren_mannen is identiek aan de lengte van voorkeuren_vrouwen,
en is bovendien een even waarde
(2) de voorkeuren van iedere man en iedere vrouw is een permutatie van [1..N]
De oplossing is een lijst van koppels (man,vrouw) die stabiel is.
*/
boer_zoekt_vrouw :: ([[Nr]],[[Nr]]) -> [(Nr,Nr)]
|