나무의 최소 정점 커버에 대한 욕심 알고리즘의 정확성 증명


14

DFS 순회를 사용하는 트리의 최소 정점 커버를 찾기위한 탐욕스러운 알고리즘이 있습니다.

  1. 트리의 각 잎에 대해 부모를 선택하십시오 (즉, 부모가 최소 정점 덮개에 있음).
  2. 각 내부 노드에 대해 :
    하위가 선택되지 않은 경우이 노드를 선택하십시오.

이 탐욕스러운 전략이 최적의 답변을 제공한다는 것을 어떻게 증명합니까? 위의 알고리즘이 생성하는 것보다 크기가 작은 꼭지점이 없습니다?


두 번째 단계의 논리가 맞지 않다고 생각합니다. 6 개의 노드가 끝까지 내려가는 축퇴 트리를 고려한다면 (깊이에 해당하는 1-6로 레이블을 지정하십시오). 그런 다음 알고리즘의 첫 번째 단계는 것입니다 노드 5. 두 번째 단계를 선택할 것 아마도 첫 번째 노드 (루트) 다음 두 번째 노드 (아이) 또는 제 3 노드를 선택하십시오. 그러나 올바른 솔루션을 위해 노드 2와 노드 5 만 선택하기 때문에 이것은 올바르지 않습니다.
miguel.martin

@ miguel.martin 정점 표지에 숫자 2와 5의 정점이 포함되어 있으면 노드 3과 4 사이의 가장자리는 덮지 않습니다.
Laschet Jain

답변:


11

먼저 다음을 관찰합니다. 최적의 커버 가 있고 리프가 없습니다 . 최적의 커버 에서 모든 잎을 부모로 대체 할 수 있고 보다 크지 않은 정점 커버를 얻으 므로 이것은 사실 입니다.C X X XCCXXX

이제 잎이없는 최적의 덮개 를 사용하십시오. 휴가를 선택하지 않았으므로 모든 잎의 부모는 있어야합니다 . 다시 말해, 는 나뭇잎과 부모의 탐욕스러운 표지와 일치합니다. 다음으로 이미 다룬 모든 모서리를 제거합니다. 이제 동일한 인수를 다시 적용 할 수 있습니다. 나머지 트리에서는 잎을 선택할 필요가 없지만 부모를 선택해야합니다. 그리고 이것은 욕심 많은 알고리즘이하는 것입니다. (이전 단계에서 모든 자식을 선택하면 정점이 잎이됩니다.)이 주장을 반복하여 완전한 정점 표지를 결정했습니다.C CCCC


4

힌트 : 표지의 각 정점을 선택하지 않은 자식과 일치시켜 정점 표지와 동일한 크기의 일치 항목을 만듭니다. 그 증명어떠한 매칭 및 정점 커버 . 정점 커버가 최소이고 일치하는 것이 최대라는 결론을 내립니다.M C|M||C|MC

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