Кіріспе
Графтың төбелерінің ішкі жиыны, әрбір қабырғаның кем дегенде бір соңғы нүктесін қамтиды. Графтар теориясында, графтың төбелік жабыны (кейде түйіндік жабын) – графтың әрбір қабырғасының кем дегенде бір соңғы нүктесін қамтитын төбелер жиыны. Компьютерлік ғылымда, ең кішкентай төбелік жабынды табу мәселесі – классикалық оптимизация мәселесі болып табылады. Бұл NP-қиын мәселе, сондықтан егер P ≠ NP болса, оны полиномиалдық уақыт алгоритмімен шешу мүмкін емес. Сонымен қатар, егер бірегей ойындар туралы болжам дұрыс болса, оны 2-ден кіші коэффициентке дейін жуықтау қиын. Алайда, оның бірнеше қарапайым 2 коэффициенттік жуықтамалары бар. Бұл NP-қиын оптимизация мәселесінің әдеттегі мысалы, ол жуықтау алгоритміне ие. Оның шешімдік нұсқасы, төбелік жабын мәселесі, Карптың 21 NP-толық мәселесінің бірі болды және демек, есептеу күрделілігі теориясындағы классикалық NP-толық мәселе болып табылады. Бұдан әрі, төбелік жабын мәселесі параметрлік тұрақты және параметрленген күрделілік теориясының маңызды мәселесі болып табылады. Ең кішкентай төбелік жабын мәселесін жартылай бүтін, сызықтық бағдарлама ретінде қоюға болады, ал оның қосарлы сызықтық бағдарламасы – максималды сәйкестік мәселесі. Төбелік жабын мәселелері гиперграфтарға кеңейтілді, гиперграфтардағы төбелік жабын бөлімін қараңыз.
In graph theory, a vertex cover (sometimes node cover) of a graph is a set of vertices that includes at least one endpoint of every edge of the graph. In computer science, the problem of finding a minimum vertex cover is a classical optimization problem. It is NP hard, so it cannot be solved by a polynomial time algorithm if P ≠ NP. Moreover, it is hard to approximate – it cannot be approximated up to a factor smaller than 2 if the unique games conjecture is true. On the other hand, it has several simple 2 factor approximations. It is a typical example of an NP hard optimization problem that has an approximation algorithm. Its decision version, the vertex cover problem, was one of Karp's 21 NP complete problems and is therefore a classical NP complete problem in computational complexity theory. Furthermore, the vertex cover problem is fixed parameter tractable and a central problem in parameterized complexity theory. The minimum vertex cover problem can be formulated as a half integral, linear program whose dual linear program is the maximum matching problem. Vertex cover problems have been generalized to hypergraphs, see Vertex cover in hypergraphs.
Анықтама
Формальды түрде, бағытталмаған графтың төбелік жабыны – бұл , яғни әр қабырғасының кем дегенде бір ұшы төбелік жабында болатын төбелер жиыны. Мұндай жиын графтың қабырғаларын жабатын деп айтылады. Жоғарыдағы суретте төбелік жабынның екі мысалы көрсетілген, ал кейбір төбелік жабындар қызыл түспен белгіленген. Ең кішкентай төбелік жабын – мүмкін болатын ең кішкентай өлшемдегі төбелік жабын. Төбелік жабын саны – ең кішкентай төбелік жабынның өлшемі, яғни төменгі суретте бұрынғы графтардағы ең кішкентай төбелік жабын мысалдары көрсетілген.
Мысалдар
Барлық төбелер жиыны төбелік қаптама болып табылады. Кез келген максималды жұптастырудың соңғы нүктелері төбелік қаптама құрайды. Толық екі бөлікті графтың ең кішкентай төбелік қаптамасы өлшемі бар.
Қасиеттері
Төбелер жиыны, оның толықтыруы тәуелсіз жиын болса және тек сонда ғана төбелік қаптама болып табылады. Осыдан келіп, графтың төбелерінің саны, оның ең кіші төбелік қаптама саны мен ең үлкен тәуелсіз жиынның мөлшерінің қосындысына тең.
Дұрыс бағалау
Төбелік жабу мәселесінің шешімдік түрі NP-толық, яғни кез келген граф үшін оны дәл шешуге тиімді алгоритмнің болуы ықтимал емес. NP-толықтығын 3-қанағаттандырудан немесе, Карп жасағандай, толық граф мәселесінен азайту арқылы дәлелдеуге болады. Төбелік жабу кубикалық графтарда және ең көп дегенде 3 дәрежелі жазық графтарда да NP-толық болып қалады. Екі бөлікті графтар үшін Кёниг теоремасымен сипатталған төбелік жабу мен максималды сәйкестік арасындағы эквиваленттілік, екі бөлікті төбелік жабу мәселесін полиномиалдық уақытта шешуге мүмкіндік береді. Ағаш графтары үшін алгоритм ағаштағы бірінші жапырақты тауып, оның ата-анасын ең кішкентай төбелік жабуға қосу арқылы, содан кейін жапырақты, ата-ананы және барлық байланысты қабырғаларды жою арқылы және ағашта қабырғалар қалмайынша қайта-қайта жалғастыру арқылы полиномиалдық уақытта ең кішкентай төбелік жабуды табады.
Белгілі параметрлік өңдеуге қабілеттілік
Толық іздеу алгоритмі 2knO(1) уақытында мәселені шеше алады, мұнда k – төбелік қаптаманың мөлшері. Сондықтан төбелік қаптама – тұрақты параметрлік шешімге ие, және егер біз кішкентай k-ға ғана қызығушылық танытсақ, мәселені полиномиалдық уақытта шеше аламыз. Бұл жерде қолданылатын алгоритмдік техникалардың бірі – шектелген іздеу ағашы алгоритмі. Оның идеясы – кейбір төбелерді қайта-қайта таңдап, екі жағдай бойынша рекурсивті түрде тармақтану: ағымдағы төбені немесе оның барлық көршілерін төбелік қаптамаға қосу. Параметрге ең жақсы асимптотикалық тәуелділікті қамтамасыз ететін төбелік қаптаманы шешу алгоритмі уақытпен жұмыс істейді. Бұл уақыт шегінің Klam мәні (нақты уақытта шешілетін ең үлкен параметр мәнінің бағасы) шамамен 190-ға тең. Яғни, қосымша алгоритмдік жақсартулар табылмайынша, бұл алгоритм тек төбелік қаптама саны 190 немесе одан аз болатын жағдайлар үшін ғана қолданылады. Ақылға қонымды күрделілік теориясының болжамдарына сәйкес, атап айтқанда экспоненциалдық уақыт гипотезасына сүйенсек, оның жұмыс уақытын 2o(k) дейін жақсарту мүмкін емес, тіпті егер ол болса да. Дегенмен, жазық графиктер үшін және жалпы алғанда, белгілі бір графиктерді кіші график ретінде жоққа шығаратын графиктер үшін, k мөлшеріндегі төбелік қаптаманы уақыт ішінде табуға болады, яғни мәселе субэкспоненциалдық тұрақты параметрлік шешімге ие. Бұл алгоритм де оңтайлы болып табылады, себебі экспоненциалдық уақыт гипотезасы бойынша, ешқандай алгоритм жазық графиктердегі төбелік қаптаманы уақыт ішінде шеше алмайды.
However, for planar graphs, and more generally, for graphs excluding some fixed graph as a minor, a vertex cover of size k can be found in time , i. e., the problem is subexponential fixed parameter tractable. This algorithm is again optimal, in the sense that, under the exponential time hypothesis, no algorithm can solve vertex cover on planar graphs in time .
Тарату бағасы
2-ге жуық шаманы жиектің екі ұшын қайта-қайта төбелік қаптамаға қосып, содан кейін оларды графтан алып тастау арқылы табуға болады. Басқаша айтқанда, ашкөз алгоритммен максималды сәйкестік M-ді табамыз және M-дегі жиектердің барлық ұштарынан тұратын C төбелік қаптамасын құраймыз. Төмендегі суретте максималды сәйкестік M қызыл түспен, ал төбелік қаптама C көк түспен белгіленген. Осылай құрылған C жиыны – төбелік қаптама: егер жиек e, C-мен қапталмаса, онда M ∪ {e} сәйкестік болады және e ∉ M, бұл M максималды деген болжаммен қайшы келеді. Сонымен қатар, егер e = {u, v} ∈ M болса, онда кез келген төбелік қаптама – оңтайлы төбелік қаптаманы қоса алғанда – u немесе v (немесе екеуі де) қамтуы керек; әйтпесе жиек e қапталмайды. Яғни, оңтайлы қаптамада M-дегі әрбір жиектің кем дегенде бір ұшы болады; жалпы алғанда, C жиыны оңтайлы төбелік қаптамадан 2 есеге артық болмайды. Бұл қарапайым алгоритмді Фанька Гавриль және Михалис Яннакакис тәуелсіз түрде ашты. Күрделірек әдістер аздап жақсырақ жуықтау коэффициентіне ие жуықтау алгоритмдерінің бар екенін көрсетеді. Мысалы, жуықтау коэффициенті бар жуықтау алгоритмі белгілі. Тығыз графтарда мәселені жуықтау коэффициентімен жуықтауға болады.
Қатынасу мүмкін еместігі
Жоғарыда келтірілгеннен артық тұрақты факторлы жуықтау алгоритмі белгілі емес. Ең кішкентай төбелік жабын мәселесі APX-толық, яғни P = NP болмаса, оны кез келген дәрежеде жақсы жуықтау мүмкін емес. PCP теоремасының әдістерін пайдалана отырып, Динур мен Сафра 2005 жылы P = NP болмаса, кез келген жеткілікті үлкен төбелік дәрежесі үшін ең кішкентай төбелік жабынды 1.3606 коэффициентінен жақсы жуықтауға болмайтынын дәлелдеді. Кейіннен бұл коэффициент жақсартылды. Сонымен қатар, егер бірегей ойындар туралы болжам дұрыс болса, онда ең кішкентай төбелік жабынды 2-ден артық кез келген тұрақты фактормен жуықтау мүмкін емес. Ең кішкентай өлшемді төбелік жабынды табу, жоғарыда сипатталғандай, ең үлкен өлшемді тәуелсіз жиынды табуға эквивалент болғанымен, екі мәселе жуықтау сақтайтын жағынан эквивалентті емес: Тәуелсіз жиын мәселесі P = NP болмаса, тұрақты факторлы жуықтауға ие емес.
Қолданбалар
Vertex қаптамасын оңтайландыру көптеген нақты және теориялық проблемалардың моделі болып табылады. Мысалы, бір қабаттағы барлық бөлмелерді (түйіндерді) байланыстыратын барлық дәліздерді (қабырғаларды) қамтитын, мүмкіндігінше аз жабық контурлы камераларды орнатуға мүдделі коммерциялық мекеме, мақсатты vertex қаптамасын азайту проблемасы ретінде модельдей алады. Бұл проблема сондай-ақ синтетикалық биология және метаболикалық инженерия салаларында қайталанатын ДНК тізбектерін жоюды модельдеу үшін қолданылған.