عرض درخت

در نظریه گراف، **عرض درختی** یک گراف بدون جهت، عددی‌ است که مربوط به آن گراف است. این عدد می‌تواند به طرق مختلفی تعریف شود: اندازهٔ بزرگ‌ترین راس در تجریهٔ درختی آن گراف، اندازهٔ بزرگ‌ترین خوشه در تکمیل وتری و ... .مفهوم عرض درختی یک گراف، در ابتدا توسط Umberto Bertelé و Francesco Brioschi در سال ۱۹۷۲ معرفی شد. بعدها به‌صورت جدی توسط Neil Robertson و Paul Seymour در سال ۱۹۸۴ مجدداً معرفی گردید. برای تعریف عرض درختی یک گراف، ابتدا باید تجریهٔ درختی گراف را تعریف کنیم.

## تجزیه‌ی درختی
تجزیهٔ درختی گراف G = (V, E)، درختی‌ است مانند T با رئوس X_1, X_2, ..., X_n (به این رئوس کیف یا bag می‌گویند) که در آن هر X_i یک زیرمجموعه‌ای از V است که شرایط زیر را ارضا کند:
# اجتماع تمامی X_iها، مجموعهٔ V باشد.
# تمامی رئوس (کیف‌های) درخت که شامل راس v\in V هستند، تشکیل یک زیردرخت هم‌بند بدهند.
# برای هر یال مانند (u, v) در گراف G، حداقل یک راس (کیف) مانند X_i در درخت باشد که شامل هر دو راس u و v است.
تجزیهٔ درختی یک گراف، یکتا نیست. بدیهی‌ترین تجزیهٔ درختی، قراردادن تمامی رئوس گراف در یک کیف است که در این صورت هر گراف یک تجزیه با عرض n - 1 دارد؛ بنابراین برای هر گراف تجزیه‌های درختی متعددی وجود دارد.
عرض درختی یک تجزیهٔ درختی، برابر است با سایز بزرگ‌ترین کیف آن منهای یک.
عرض درختی یک گراف نیز که با tw(G) نمایش داده می‌شود، برابرست با کم‌ترین عرض درختی میان تمامی تجریه‌های درختی آن گراف.

**مثال:**
در شکل زیر گراف G و یک تجزیهٔ درختی از آن را می‌بینید. عرض این تجزیهٔ درختی، ۲ می‌باشد.
بندانگشتی|یک گراف به همراه یک تجزیهٔ درختی از آن با عرض ۲یک گراف با هشت راس ، و یک تجزیه‌ی درختی آن با شش گره. هر یال (متشکل از دو راس) از گراف اصلی حداقل در یکی از سبدهای تجزیه‌ی درختی دیده می‌شود (به طور مثال دو راس a و b در گراف اصلی به هم وصل‌اند و بنابراین در تجزیه درختی در حداقل یکی از سبدها (سبد بالا چپ) دیده می‌شوند).از طرفی دیگر تمامی رئوس گراف (۸ راس) در حداقل یکی از سبدهای تجزیه درختی آمده‌اند. شرط سوم نیز برقرار است. بدین معنی که سبدهای حاویِ یک راس، تشکیل یک زیردرخت در تجزیه درختی می‌دهند (به طور مثال به راس G که با رنگ بنفش مشخص شده‌است، دقت کنید که در سه سبد موجود است و این سه سبد تشکیل یک مولفه هم‌بندی می‌دهند). برقراری این سه شرط نشان می‌دهد که تجزیه درختی ارائه‌شده، یک تجزیه درختی معتبر است.

**مثال:**
عرض درختی تمام درخت‌ها برابر با یک است.

### تجزیه‌ی درختی نرم
تجزیهٔ درختی ({X_i | i \in I},T(I,F)) با عرض k نرم می‌گوییم اگر:
* \forall i \quad |X_i| = k + 1
*\forall {i,j} \in F  \quad |X_i \bigcap X_j| = k
**نکته**: هر تجزیهٔ درختی را می‌توان به یک تجزیهٔ درختی نرم تبدیل کرد.

### مجموعه‌ی مستقل بر روی تجزیه‌ی درختی
فرض کنید ( {X_i | i \in I} , T(I,F))   یک تجزیهٔ درختی برای گراف G = (V,E)  باشد به طوری که عرض آن حداکثر k باشد. می‌خواهیم الگوریتمی از  O(k^24^k|V|)  ارائه دهیم تا بزرگ‌ترین مجموعهٔ مستقل این گراف را پیدا کنیم.

ابتدا درخت را از راس دلخواه r ریشه دار می‌کنیم. به ازای هر  U \subseteq X_i،   dp(i,U) را برابر با بزرگ‌ترین مجموعهٔ مستقل که می‌توان در زیر درخت i پیدا کرد به شرط آن که اشتراک راس‌های مجموعهٔ مستقل و  X_i دقیقا راس‌های U باشد تعریف می کنیم. حال الگوریتم جستجوی عمق اول را روی درخت اجرا می ‌کنیم. سپس به ازای هر راس i یکی از کارهای زیر را انجام می دهیم:
*اگر راس iیک برگ بود، به ازای هر  U \subseteq X_i  اگر U یک مجموعهٔ مستقل در گراف بود dp(i, U) = \left\vert U \right\vert در نظر می گیریم در غیر این صورت  dp(i,U) = -\infty 
* اگر راس iبرگ نبود و  c_1, c_2,\dots, c_l فرزندان راس iباشند آنگاه:

dp(i,U) = |U| + \sum_{j = 1} ^ {l} max(dp(j,W) | W \subseteq (X_{c_j} - U) \quad and \ W \cup U \ is\ independent)
جواب نیز برابر خواهد شد با:
 max(dp(r,U) | U \subseteq X_r
تعداد حالاتی که مقادیر آن‌ها را پیدا می‌کنیم برابر با 2^k|V|  است. هم‌چنین برای به دست آوردن مقدار یک خانه باید به ازای تمام زیرمجموعه از بسته‌های فرزندانش مقدار ماکسیمم حساب شود و همچنین باید بررسی شود که راس‌ها به هم یال نداشته باشند که مرتبهٔ این قسمت نیز از O(2^kk^2)  است. در نتیجه زمان اجرای الگوریتم O(k^24^k|V|)  خواهد شد.

به ازای k‌های کوچک اثبات شده‌است که گرافی که مجموعهٔ گراف‌های زیر را به عنوان  ماینور شامل نمی شود ، عرض درختی کمتر مساوی k دارد.

* k = 0 \rightarrow k_2 
* k = 1 \rightarrow k_3
* k = 2 \rightarrow k_4 
* k = 3 \rightarrow k_5, k_{2,2,2} 
*  k = 4 \rightarrow   بیش از ۷۵ نوع گراف 

## الگوریتم‌های محاسبهٔ عرض درختی یک گراف
در حالت کلی، پاسخ به این سؤال که آیا گراف G عرض درختی‌اش حداکثر k است یا نه یک مسئله NP-complete (ان‌پی کامل) است. اما برای kهای مشخص با اندازهٔ کوچک الگوریتمی با زمان اجرای خطی وجود دارد. زمان اجرای این الگوریتم بر اساس سایز ورودی خطی ولی بر اساس k نمایی‌ست و لذا فقط برای kهای ثابت و  کوچک عملی‌ است.

به بیان دقیق‌تر محسابه‌ی عرض درختی یک مساله FPT است که مخفف Fixed-Parameter Tractable می‌باشد. به مساله‌ای FPT گفته می‌شود که زمان اجرای آن به صورت f(k) n^{\mathcal{O}(1)} باشد که در آن n سایز وروردی (در این مساله ː اندازه گراف)، k یک پارامتر (در این‌ مساله ː عرض درختی) و f(\cdot) یک تابع محاسبه‌پذیر است (هر تابعی که حداقل یک ماشین تورینگ در زمان متناهی بتواند آن را محاسبه کند).
جدول زیر خلاصه‌ای از الگوریتم‌های حل مساله‌ی عرض درختی‌ست. به جز موارد ردیف اول و ردیف نهم، باقی الگورتیم‌ها همگی FPT می‌باشند که در آن‌ها ضریب تخمین، وابستگی به k در پیچیدگی زمانی یا همان f(k) و وابستگی به n در پیچیدگی زمانی در ستون‌های متفاوت ذکر شده‌اند.  

## مسئله‌ی دزد و پلیس‌ها
در این مثال در یک گراف تعدادی پلیس حضور دارند که در راس‌های مختلف گراف قرار دارند. یک دزد نیز در یکی از راس‌های گراف پنهان شده‌است. در هر مرحله اگر k پلیس داشته باشیم ، پلیس‌ها k راس را در نظر می‌گیرند و به آن می‌روند. سپس دزد یک راس را در نظر می‌گیرد که در آن پلیس نیست و از راسی که در آن حضور دارد به راس مقصد مسیری وجود داشته باشد که راس‌های این مسیر شامل راس‌های اشتراک مکان‌های قبلی پلیس‌ها و مکان‌های جدید پلیس‌ها نباشد. پلیس‌ها برنده می‌شوند اگر بعد از تعداد محدودی مرحله ، دزد راسی برای فرار کردن به آن نداشته باشد.

**قضیه** : اگر عرض درختی گراف G حداکثر k باشد ، آنگاه 1 + k پلیس می توانند دزد را دستگیر کنند.

**اثبات**: چون عرض درختی گراف حداکثر k است ، یک تجزیهٔ نرم برای آن وجود دارد.
حال تجزیهٔ نرم آن را در نظر می گیریم. ابتدا آن را از راسی ریش‌دار می کنیم. پلیس‌ها در مرحله اول در 1 + k راس در بستهٔ ریشه قرار می‌گیرند. دزد نیز در این مرحله در راسی دیگر قرار گرفته‌است. حال راسی که دزد در آن قرار گرفته را در نظر می‌گیریم. مجموعهٔ بسته‌هایی که راس دزد در آن قرار دارد یک مجموعهٔ همبند در یکی از زیر درخت‌های فرزندان ریشه است. پلیس‌ها در این مرحله آن فرزند را انتخاب می‌کنند و به راس‌های آن منتقل می‌شوند و از آن جا که اشتراک بستهٔ جدید با بستهٔ قبل k است و یک برش در گراف را تشکیل می‌دهد ، دزد نمی‌تواند از آن خارج شود. اگر پلیس‌ها به همین روند ادامه دهند در آخر دزد را در یک بسته برگ گیر می‌اندازند. 

## منابع

رده:نظریه گراف
رده:ویژگی‌های گراف