假設我有兩個集合:(n_1,n_2,...)和(m_1,m_2,...)和一個匹配函數match(n, m)返回一個從0到1的值。我想要找到兩組之間的映射關係,以滿足以下約束條件:最大加權二分配匹配約束:每個圖的排序被保留
- 每個元素在對立集合中必須至多有一個匹配元素。
- 無與倫比的元素將與虛設的元素按成本進行配對1
- 當應用於所有元素的匹配函數的總和是最大
- 我無法正式表達這一點,但如果你一字排開各組並行彼此之間的原始順序,並在匹配的元素之間劃出一條線,這些線都不會交叉。 E.x. [n_1 < - > m_2,n_2 < - > m_3]是一個有效的映射,但[n_1 < - > m_2,n_2 < - > m_1]不是。
(我認爲前三個標準賦權的匹配約束,但我指定他們的情況下,我誤解了賦權的匹配)
這是相對簡單的,在指數時間窮舉搜索做(關於集合的大小),但我希望有一個多項式時間(理想情況下是O((| n | * | m |)^ 3)或更好)解。
我已經在「分配問題」/「加權二分配匹配」上搜索了相當數量的數據,並且看到了具有不同約束條件的變體,但沒有找到匹配的數據或者我可以減少到一個排序約束。你有什麼想法可以解決這個問題嗎?或者可能是一個粗略的證明,表明它在多項式時間內是不可解的(對於我的目的而言,減少NP-complete也是可行的)?
抱歉,排序不是簡化。你有序列作爲輸入或設置?因爲沒有命令集 – UmNyobe 2012-02-28 13:11:03
對於術語的抱歉,我認爲考慮輸入作爲序列而不是集合是合適的。 – Gibybo 2012-02-28 13:23:49