All stable matchings in the stable roommates problem with incomplete lists
All stable matchings in the stable roommates problem with incomplete lists
Finds all stable matchings (if one exists) in the stable roommates problem with incomplete lists using the Prosser (2014) constraint encoding based on either given or randomly generated preferences.
prefs: valuation matrix of dimension nAgents x nAgents that gives column-players' ranking over other players in decreasing order of preference (i.e. most preferred first).
nAgents: integer that gives the number of players in the market.
seed: integer setting the state for random number generation.
p.range: range of two intergers p.range = c(p.min, p.max), where p.min < p.max. Produces incomplete preference lists with the length of each player's list randomly sampled from the range [p.min, p.max]. Note: interval is always too small because non-permissible matches are automatically deleted.
Returns
sri returns a list with the following items. - prefs: agents' preference list.
matching: edgelist of matched pairs, inculding the number of the match (matching).
Examples
## Roommate problem with 10 players, given preferences: prefs <- matrix(rep(1:10,10),10,10) sri(prefs=prefs)## Roommate problem with 10 players, random preferences: sri(nAgents=10, seed=1)## Roommate problem with no equilibrium matching: sri(nAgents=10, seed=2)## Roommate problem with 3 equilibria: sri(nAgents=10, seed=3)
References
Gusfield, D.M. and R.W. Irving (1989). The Stable Marriage Problem: Structure and Algorithms, MIT Press.
Prosser, P. (2014). Stable Roommates and Constraint Programming. Lecture Notes in Computer Science, CPAIOR 2014 Edition. Springer International Publishing, 8451: 15--28.
Irving, R.W. (1985). An efficient algorithm for the "stable roommates" problem. Journal of Algorithms, 6(4): 577--595.
Irving, R.W. and S. Scott (2007). The stable fixtures problem: A many-to-many extension of stable roommates. Discrete Applied Mathematics, 155: 2118--2129.