Vertex Cover Problem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 8 maj 2020; kontroller kräver 3 redigeringar .

Problemet med vertextäckning  är ett NP-komplett datavetenskapligt problem inom området grafteori . Används ofta i komplexitetsteori för att bevisa NP-fullständighet av mer komplexa problem.

Definition

Hönstäcket för en oriktad graf  är uppsättningen av dess hörn , så att, för varje kant av grafen, åtminstone en av ändarna går in i vertexen från .


Storleken på ett vertexskydd är antalet hörn som det innehåller.

Exempel: Grafen till höger har ett vertextäcke av storlek 4. Detta är dock inte det minsta vertextäcket, eftersom det finns mindre vertextäckare, som och .

Problemet med vertextäcket är att hitta den minsta storleken på vertextäcket för en given graf (denna storlek kallas grafens vertextäckningsnummer ).

Entré: Räkna . Resultat: uppsättningen  är det minsta vertextäcket i grafen .

Frågan kan också ställas som ett likvärdigt lösningsproblem :

Indata: En graf och ett positivt heltal . Fråga: Finns det ett vertexskydd för en graf med högst storlek ?

Problemet med vertextäckning liknar problemet med oberoende uppsättningar . Eftersom en uppsättning av hörn är ett vertextäcke om och endast om dess komplement är en oberoende uppsättning, minskar problemen till varandra.

NP-komplett

Eftersom vertextäckningsproblemet är NP-komplett , så finns det tyvärr inga kända algoritmer för att lösa det i polynomtid. Det finns dock approximationsalgoritmer som ger en "ungefärlig" lösning på detta problem i polynomtid - du kan hitta ett vertextäcke där antalet hörn inte är mer än dubbelt så mycket som möjligt.

En av de första metoderna för att lösa problemet som kommer att tänka på är approximation genom den giriga algoritmen : Det är nödvändigt att lägga till hörn med det maximala antalet grannar till vertextäcket tills problemet är löst, men en sådan lösning har ingen -approximation för någon konstant .

En annan lösning är att hitta den maximala matchningen på den givna grafen och välja uppsättningen som vertextäcke . Riktigheten av en sådan algoritm bevisas genom motsägelse: If är inte ett vertextäcke (inte nödvändigtvis det minsta), d.v.s. , då är det inte en maximal matchning. Approximationsfaktorn bevisas enligt följande: Låt , där är grafens oberoende nummer , och är den största matchningen av grafen . Då är approximationsfaktorn .

Generellt kan problemet med vertextäckning approximeras med en faktor .

Problemet med vertextäckning i tvådelade grafer

I tvådelade grafer är vertextäckningsproblemet lösbart i polynomtid, eftersom det reduceras till det största matchningsproblemet ( Königs sats ).

Länkar

Litteratur