Dada una función submodular on donde y son disjuntos . Aquí y son submodulares en y respectivamente.Ω = X 1 ∪ X 2 X 1 X 2 f ( S ) = f 1 ( S ∩ X 1 ) + f 2 ( S ∩ X 2 ) f 1 f 2 X 1 X 2
Aquí son desconocidos y solo se proporciona un acceso de consulta de valor a . Entonces hay un algoritmo de polytime que encuentra . Si hay varias opciones para cualquiera de ellas debería estar bien. f X 1 X 1
Algunos pensamientos. Si podemos encontrar dos elementos modo que ambos pertenezcan a X 1 o pertenezcan a X 2, entonces podemos fusionarlos y proceder recursivamente. Pero no está claro cómo implementar tal paso.
ds.algorithms
submodularity
Ashwinkumar BV
fuente
fuente
Respuestas:
Tome un elemento arbitrario . Si f ( e ) = f Ω - e ( e ) entonces e no se ve afectado por el resto de los elementos, por lo que podemos elegir X 1 = { e } y X 2 = Ω - { e } . De lo contrario, dejemos que X sea un subconjunto mínimo de inclusión de Ω - e tal que f ( e ) > f Xe∈Ω f(e)=fΩ−e(e) e X1={e} X2=Ω−{e} X Ω−e . Entonces X ∪ { e } debe estar en la misma partición. Si X ∪ { e } = Ω llegamos a la conclusión de que no hay una partición deseada, de lo contrario, reducimos este conjunto en un solo elemento y recurrimos.f(e)>fX(e) X∪{e} X∪{e}=Ω
fuente