2014-02-21 124 views
0

這個問題讓人感到很熟悉,但我不記得解決方案(或者它是否有用)。爲N個請求者和M個資源提供了足夠的資源

另一種方法來說明,你有N個可能的匹配和他們可能在的M個位置 - 每個N只能匹配M個位置的一個子集 - 這個配置是否有足夠的位置。

最好通過圖表來證明。將N設置爲3(沿着頂)和M爲4,用1來表示,其資源(M)請求者(N)的需要 - 實施例情況,其中將有足夠的資源:

0 1 2 
0 1 1 1 
1 1 1 1 
2 0 0 0 
3 0 0 0 

    0 1 2 
0 1 X X 
1 X 1 X 
2 0 0 0 
3 0 0 0 

一旦0和1已被分配,2的子集中沒有剩餘資源。另一方面,這種情況將允許足夠的資源分配。

0 1 2 
0 1 1 1 
1 1 1 1 
2 0 0 0 
3 0 1 0 

    0 1 2 
0 1 X X 
1 X X 1 
2 0 0 0 
3 0 1 0 

我真的只關心分配是否可以滿足。不一定是滿足它的配置。

如果沒有簡單的方法來獲得是或否,那麼我首先想到的是將行和列定位到最少的可能性。我認爲這會迅速縮小範圍。同樣,確定不可滿足的情況可能是一個很好的消除手段。

我的問題給你,是否有任何數學,一個好的算法,或一類問題,我應該看看這個?這似乎是來自實時編程或sodoku的東西。即使只是一個術語谷歌將不勝感激。

謝謝!

+1

這是線性規劃分配問題(或最大二分配匹配問題)的特例。谷歌爲它。你將能夠應用它在你的情況 –

回答

0

因爲沒有「成本」,我最終使用了[Hall's Theorem] [1]。

編輯:我將最終使用雙向匹配。