algorithm


Maximum median weight matching


Finding a maximum total weight matching for a graph is a well studied problem.
Is there any name and/or well defined algorithm for finding a maximal matching that maximizes its median weight instead ? (generalized to any other percentile).
This problem got me when looking into matters of fairness of assignments.
My lines of thought for possible solutions:
Perhaps the weights can be somehow mapped to use the maximum total weight matching algorithm ? I find this unlikely
Perhaps the maximum weight matching algorithm can be used repeteadly on different subgraphs in some fashion ?
Solving the problem as an assignment problem using integer programming. But I wouldn't know how to express the median of the weights of the chosen set.
In the case of bipartite graphs, this paper offers ways to find all maximal, maximum and perfect matchings. Then, if problem size allows, we can choose the matching with the desired properties with any kind of cost function.
But I'm interested in the non-bipartite case. So, of course a biproduct of this question is: Do you know any implementation/algorithm that enumerates all maximal matchings of a graph ?
Suppose first of all that I know the maximum median possible. If I set all weights above or equal to the median value to 1 and all other weights to zero then there is an answer for which at least 1/2 the weights used by the matching are 1 - this is the one produced by taking the maximum median weight matching. If I retrieve that, fine. If I retrieve some other matching it must have at least this many 1s. Each 1 corresponds to a weight of at least the maximum median value, so on the original graph it has a median weight of at least the maximum possible, so it must be equivalent to the maximum.
If I now try guessing the maximum median and guess too high I must then find that the maximum matching produced has less than 1/2 the weights set equal to 1. If I guess too low, I will find that at least 1/2 the weights are set equal to 1, because I can achieve this using the matching for the correct maximal median.
So I can binary chop on the guessed maximum median, looking for the highest value that still allows me to retrieve 1/2 of weights that I set equal to 1, and this gets me the matching with maximum median weight.

Related Links

Algorithm to determine the maximum number of points placeable in a surface
Rabin Karp Algorithm - How is the worst case O(m*n) for the given input?
Algorithm for optimal packing with known inventory
Why space complexity of heap sort is O(1)?
Sorting root nodes for trees algorithm
Recursion with random numbers
Building trees starting from a list of symbols
Number of Integer Composition with the number which is in a specific list
“Lengthless” fast sorting algorithm
Strange behavior when gaussian blurring an image using big radius / standard deviation
Improve A star algorithm to search multiple goals in a maze
Scheduling packet delivery with rate limits and max throughput
Big O complexity in algorithms
proving upper bound complexity for prim's algorithm
Algorithm to assign best value between points based on distance
Making sure that two lists have same elements

Categories

HOME
shell
turing-machines
nunit
sitecore
opendj
babeljs
polling
android-json
jax-ws
odoo-8
openpyxl
startup
dimensional-modeling
git-extensions
undertow
blade
jquery-callback
beautifier
jquery-multiselect
entity-relationship-model
errbot
jaws
userdefaults
aws-codecommit
testbed
jett
html-encode
sharepoint-workflow
latitude-longitude
mongoose-schema
opensmpp
signals-slots
resolution
skylink
preloader
dbnull
glm-math
apollostack
apache-directory
memory-mapping
facebook-social-plugins
pom.xml
trojan
check-mk
libjpeg
monkey
rackspace-cloud
android-instrumentation
juice-ui
cronexpression
pytables
custom-lists
latin
async.js
resourcemanager
windows-azure-queues
android-dateutils
avspeechsynthesizer
firebase-security
swizzling
uiactionsheet
mobiledoc-kit
ascii-art
state-restoration
wiredep
rpart
liquid-layout
canvg
dot.js
apache-spark-1.3
variadic-templates
iso-prolog
cuba
android-framework
unit-of-work
inappsettingskit
kogrid
facebook-timeline
booksleeve
window-decoration
fitbounds
convention
role
promotion-code
android-holo-everywhere
automationelement
diagrams
addchild
web-garden
blind
cardspace
pnrp

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App