새끼 고양이 입양 문제의 복잡성


14

이것은 Wiring Length Minimization 에서이 질문에 대답하려고하는 동안 나타났습니다 . 나는 이것을 "일부 다처제 결혼"문제라고 부르려고했지만 인터넷은 새끼 고양이였습니다. 예이!

명이 채택해야하는 고양이 , 이 있다고 가정 합니다. 각각의 고양이, 및 각 사람 ( )에 대해 비용 . 모든 새끼 고양이를 입양시키는 데 드는 총 비용을 최소화하고 싶습니다. 제약 조건도 있습니다. 각 사람 는 새끼 고양이 만 입양 할 수 있습니다.j u jMNM>Nijcijjuj

제약이 없다면 문제는 쉽다. 각 고양이 인물 어울려 되는 최소이다. 제약 조건 으로이 문제에 대한 효율적인 알고리즘이 있습니까, 아니면 NP-hard입니까?j c 나는 jijcij

답변:


5

이것은 최소 비용 최대 흐름 문제입니다.

그래프 . 여기서 는 새끼 고양이 세트이고 는 사람들 세트입니다.A BG=(AB{s,t},E)AB

하자 는 모서리의 용량이고 c : E R + 는 모서리의 비용입니다. 우리는 확인C:ER+c:ER+

  1. 사이에 에지가 I , B의 J , IB의 JB , 및 C ( I , B의 j는 ) = 1 , C ( I , B 형 J ) = C I , J는 .ai,bjaiAbjBC(ai,bj)=1c(ai,bj)=ci,j
  2. 이들 사이의 에지 인 IA는 , 및 C ( S , I ) = 1 , C ( S , I ) = 0 .saiAC(s,ai)=1c(s,ai)=0
  3. t 사이의 모서리가 있으며 C ( b j , t ) = u j , c ( b j , t ) = 0 입니다.bjBtC(bj,t)=ujc(bj,t)=0

최대 흐름이 이면 해결책이 있음을 알 수 있습니다. 최소 비용 최대 흐름에서 최소 비용 솔루션을 구성 할 수 있습니다.M


4

이것은 다항식 인 최소 가중치 완벽 일치 문제입니다. 완전한 이분 그래프 고려 되는, L은 노드 포함 L I 각 새끼 용 난을 , R은 구성 U j 개의 노드 사본 R의 J 각각의 사람에 대한 J 및 에지 전자 I JE 사이 L I 과 각 복사 R의 J 무게, C I J .(L,R,E)LliiRujrjjeijElirjcij

우리는 그것을 알고 그렇지 않으면 모든 새끼 고양이를 사람에게 할당 할 수있는 것은 아닙니다.|L||R|

완벽한 일치는 모든 노드와 일치해야하므로 더미 노드를 에 추가하고 ( | L | = | R | 를 얻기 위해 ) 가중치가 0 인 가장자리를 R의 모든 노드에 연결해야합니다 .L|L|=|R|R


2

파티션을이 문제의 변형으로 줄일 수 있다는 관찰이 흥미로울 것입니다. 감안할 요소와 파티션의 인스턴스입니다 Q 우리가 부분 집합의 선택에도있는 S { 1 , ... , Q } 로를 | S | = q / 2 와 같이 i S x i = i S x i = K{x1,,xq}qS{1,,q}|S|=q/2iSxi=iSxi=K. (요소의 정확히 절반을 선택해야하는 요구 사항은 일반적인 형태는 아니지만이 형태는 여전히 NP-hard입니다.) 각 고양이는 세트의 요소가되어야합니다. 두 사람이있게하십시오. 가중치하자 C I 2 = - X I ; u 1 = u 2 = q / 2 이라고하자 . 이어서 고양이 채택 인스턴스가 갖는 최대0 파티션의 인스턴스가 솔루션을 IFF에.ci1=xici2=xiu1=u2=q/20

CCq

나는 이것이 원래 문제의 복잡성에 대해 무엇을 말하는지 확신하지 못하지만 조합 최적화 문제에 대해 자주 나타나는 "최소화 / 최대화 중 하나는 NP-hard이고 다른 하나는 P에 있습니다"라는 설정을 고려할 때 효율적인 알고리즘.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.