پوشش گرهی

در نظریه گراف ، **پوشش راسی** ( **پوشش گره‌ای** ) در یک گراف ، زیرمجموعه ای از رئوس است که که همهٔ یال‌های این گراف را می‌پوشاند. در این جا پوشش یک یال یعنی آن که دست کم یکی از گره‌های دو سر یال در این زیرمجموعه باشد. اندازهٔ پوششی گره‌ای برابر است با شمار گره‌های درون این مجموعه. برای نمونه، شکل زیر دارای یک پوشش گره‌ای ، به اندازهٔ ۲ است.

پرسمان یافتن ** پوشش گره‌ای کمینه ** به یافتن پوششی گره‌ای می‌پردازد که کم‌ترین شمار گره‌ها را دربرداشته باشد. این پرسمان ان‌پی کامل است، از این روی رایانش چنین زیرمجموعه‌ای دشوار است .این مسئله در علوم کامپیوتر ، یک مسئله بهینه سازی کلاسیک است. پس این پرسمان NP-سخت است درنتیجه اگر P ≠ NP باشد، نمی توان آن را با یک الگوریتم زمان چند جمله ای حل کرد. علاوه بر این، تخمین زدن آن دشوار است - اگر حدس بازی های منحصر به فرد درست باشد، نمی توان آن را تا ضریب کوچکتر از 2 تقریب زد.

## تعریف
برای گرافی بی‌سو مانند G=(V,E)، زیرمجموعه‌ای V' \subseteq V پوشش گره‌ای است اگر برای هر یال (u,v) \in E یا گره  v \in V' یا گرهٔ u \in V' یا \{u,v\} \subseteq V^'  باشد. دو پوشش گره‌ای با رنگ قرمز در شکل‌های زیر نمایانیده شده‌اند.

پوشش گره‌ای

اندازهٔ پوششی گره‌ای مانند V^'  برابر است با شمار گره‌های این زیرمجموعه که با |V^'|  نمایش داده می‌شود. پوشش گره‌ای کمینه پوششی است که دارای کم‌ترین گره‌ها باشد. گره‌های سرخ در در دو شکل زیر پوشش گره‌ای کمینه را برای نمونه‌های بالا می‌نمایانند.
alt=Minimum-vertex-cover.svg

### نمونه‌ها
* مجموعهٔ همهٔ گره‌ها پوشش گره‌ای است.
* گره‌های تطابق (گراف) بیشینه‌ای یک پوشش گره‌ای را می‌سازند.
* گراف دوبخشی کامل K_{m,n}  دارای پوششی گره‌ای کمینه با اندازه \min(m,n)  است.

### ویژگی‌ها
* مجموعه‌ای از گره‌ها پوششی گره‌ای است اگر و تنها اگر اُسپُران (مکمل) آن مجموعه ناوابسته باشد.
* شمار گره‌های گرافی برابر است با اندازهٔ پوشش گره‌ای کمینه و اندازهٔ مجموعهٔ ناوابسته بیشینهٔ این گراف (Gallai).

## پرسمان‌های رایانشی
پرسمان پوشش گره‌ای کمینه پرسمانی بهینه‌سازی است که به یافتن پوششی گره با کمترین اندازه برای یک گراف می‌پردازد. اگر گره‌ها وزن‌دار باشند، پوشش گره‌ای وزن‌دار کمینه زیرمجموعه‌ای از گره‌هاست که کمترین وزن را روی-هم-رفته داشته باشند.

پرسمان پوشش گره‌ای پرسمانی تصمیم‌گیری است: آیا پوشش گره‌ای با اندازه‌ای دست بالا k در گرافی هست.

پرسمان پوشش گرهٔ ان‌پی کامل و یکی از پرسمان‌های ۲۱ پرسمان ان‌پی-کامل کارپ است.

### برنامه‌نویسی درست
برای برنامه‌نویسی درست، اگر هر گرهٔ v \in V در گراف G(V,E) وزن c(v) \geq 0 دربرداشته باشد، پرسمان پوشش گره‌ای مانند برنامهٔ درست (integer program) زیر نوشته می‌شود:

\min{
    \sum_{v \in V}{
        c(v) x_v
    }
}


بنداشت‌ها:

\forall \{u,v\} \in E: x_{u} + x_{v} \geq 1 

\forall v \in V: x_v \in \{0,1\} 

گافِ دُرُست (integral gap) برای این برنامه، ۲ است؛ بنابراین، واهلش این برنامه تقریبی با کروند (فاکتور)-۲ برای پرسمان پوشش گره‌ای کمینه به دست خواهد داد. هم‌چنین، واهلش برنامهٔ درست بالا نیم-دُرُست (half integral) است؛ از این روی، در یک پاسخ بهین، هر درآیهٔ x_v ارزش 0 یا \frac{1}{2} یا 1 (optimal) خواهد داشت.

### الگوریتم رزین
پرسمان پوشش گره‌ای ان‌پی کامل است. از این روی، الگوریتمی دقیق با زمانی بهینه برای این پرسمان نخواهیم داشت. ریچارد کارپ ان‌پی کامل بودن این پرسمان را با کاهش از پرسمان گروهک نشان داده است. پرسمان پوشش گره‌ای حتی برای گراف مکعبی و گراف مسطح با درجهٔ کم‌تر از ۳ ان‌پی کامل می‌ماند.

کونیگ نشان داده است که پوشش گره‌ای کمینه و جورسازی بیشینه در گرافی دوبخشی هم‌ارز هستند. از این روی می‌توان پاسخ بهین را در زمانی چندجمله‌ای به دست آورد.

هم‌چنین، پاسخ بهین را برای درخت‌ها می‌توان در زمانی چندجمله‌ای یافت.

### الگوریتم تقریب
البته در ادامه الگوریتم تقریب زیر را برای این مسئله بیان می‌داریم. الگوریتم، گراف بدون جهت G را به عنوان ورودی می‌گیرد و یک پوشش گرهٔ را برمی‌گرداند که تضمین می‌شود اندازه آن بیش از دو برابر پوشش گرهٔ بهینه نیست:

Approx-Vertex-Cover

C \leftarrow \varnothing

E' \leftarrow E \left [ G \right ]

While E' \neq \varnothing

\quad do\,let\,(u,v)\,be\,an\,arbitary\,edge\,of\,E'

\quad C \leftarrow C \cup \left \{ u , v \right \} 

\quad remove\,from\,E'\,every\,edge\,incident\,on\,either\,u\,or\,v

return\,C

## الگوریتم
شکل ۲ عملکرد- Approx-Vertex-Cover را تشریح می‌کند. متغیر C حاوی پوشش گرهٔ در حال ساخت است. خط ۱، C را برابر با مجموعه تهی قرار می‌دهد. خط ۲ ، E' را برابر با کپی مجموعه یال E \left [ G \right ] گراف قرار می‌دهد. حلقه در خطوط ۳ تا ۶ مکرراً یال(u,v) را از E' انتخاب می‌کند، نقاط انتهای آن u و v را به C اضافه می‌کند، و تمام یال‌هایی را از E' حذف می‌کند که توسط u یا v پوشش می‌شود. زمان اجرای الگوریتم O(V+E) است که از لیست همجواری برای نمایش E' استفاده می‌شود.

پرونده:Vertex-problem1.PNG

## بازبُردها

* معرفی بر الگوریتم‌ها :en:CLRS
* معرفی بر الگوریتم‌ها ترجمه: جعفرنژاد قمی
* Subexponential parameterized algorithms on bounded-genus graphs and H-minor-free graphs، author: Demaine

رده:مسئله‌های ان‌پی کامل
رده:مسئله‌های محاسباتی در نظریه گراف
رده:نظریه گراف