رنگبندی بخشی گراف

رنگبندی بخشی(Fractional Coloring)
رنگ‌بندی بخشی موضوعی جدید در شاخه تئوری گراف (graph theory) است که به نام تئوری گراف بخشی (fractional graph theory) شناخته می‌شود. این موضوع تعمیمی از رنگ‌بندی گراف معمولی می‌باشد. در رنگ‌بندی گراف سنتی، هر رأس از گراف به رنگ‌های متعددی در آورده می‌شود و رأس‌های مجاور (به این معنا که به وسیلهٔ یالی به هم متصل شده‌اند) باید به رنگ‌های متمایزی در آورده شوند. در یک رنگ‌بندی بخشی، یک مجموعه خاص از رنگ‌ها به هر رأس گراف نسبت داده می‌شود. در این مسئله هم رأس‌های مجاور نباید دارای رنگ‌های مشابه باشند. رنگ‌بندی بخشی را می‌توان به عنوان راحت‌سازی برنامه‌نویسی خطی یا (linear programming relaxation) در نظر گرفت. در واقع با رویکرد برنامه‌نویسی خطی، مسائل مربوط به رنگ‌بندی بخشی نسبت به رنگ‌بندی سنتی بسیار بیشتر قابل پاسخگویی می‌باشد.

فرمول بندی برنامه نویسی خطی

یک عدد رنگی بخشی Xf(G) از یک گراف G می‌تواند به عنوان یک راه حل برای یک برنامه نویسی خطی در نظر گرفته شود. اگر (G)Ι مجموعه همه مجموعه‌های مستقل G باشد، (G,x)Ι مجموعه همه آن مجموعه‌های مستقل که شامل رأس x است باشد و برای هر مجموعه مستقل I یک متغیر غیر منفی و حقیقی xI تعریف کنیم آنگاه Xf(G)) حداقل مقدار
با توجه به برقرار بودن عبارت زیر است.
 برای هر رأس x
دوگانگی (dual) این برنامه خطی، عدد دسته بخشی (fractional clique number یا راحت سازی (relaxation) مستدلات مفهوم صحیح عدد دسته) را محاسبه می‌کند. این یک نسبت دادن وزن به رئوس است به طوری که مجموع وزن نسبت داده شده به هر مجموعه مستقل حداکثر ۱ باشد. قضیه دوگانگی قوی (strong duality) در برنامه‌نویسی خطی، تضمین می‌کند که بهینه‌ترین راه حل‌های هر دو برنامه خطی مقدار یکسان دارند؛ حال آن که ممکن است هر برنامه خطی دارای اندازه تعداد رئوس G نمایی باشند و محاسبه عدد رنگی بخشی گراف دارای سختی NP  باشد. این موضوع و مسئله رنگ‌بندی بخشی یال‌های یک گراف که می‌تواند از مرتبه نمایی باشد، متمایز هستند. این موضوع یک نتیجه‌گیری مستقیم از قضیه تطبیق پلیتپ ادموند (Edmonds’s matching polytope) می‌باشد.

کاربردها

یکی از کاربردهای رنگ‌بندی بخشی گراف شامل زمانبندی فعالیت‌‌ها می‌باشد. در این مورد، گراف G یک گراف ناسازگاری است. یک یال در G بین رئوس v و u نشان می‌دهد که v و u نمی‌توانند همزمان فعال باشند. به عبارتی دیگر، مجموعه رئوس که به صورت همزمان فعال هستند، می‌بایستی یک مجموعه مستقل در گراف G باشند.
یک رنگ‌بندی بخشی گراف بهینه در G کوتاه‌ترین زمانبندی ممکن را تولید می‌کند به طوری که هر رأس در مجموع برای حداقل ۱ واحد زمانی فعال باشد و در هر نقطه از زمان، مجموع رئوس فعال یک مجموعه مستقل باشد. اگر ما یک راه حل خطی برای برنامه خطی فوق داشته باشیم، ما به راحتی همه مجموعه‌های مستقل I را به صورت دلخواه پیمایش می‌کنیم. رئوسی که در I می‌باشند را برای مدت XI فعال در نظر می‌گیریم در حالی که رئوسی که در I نیستند را غیر فعال در نظر می‌گیریم.
یک نمونه کاربرد واضح‌تر این است که مثلاً: هر رأس G یک انتقال رادیویی بی‌سیم را در یک ارتباط شبکه نشان دهد. یال‌های G تداخل در تبادلات رادیویی را نشان می‌دهند. هر انتقال رادیویی باید در مجموع به اندازه یک واحد زمانی فعال باشد. یک رنگ‌بندی بخشی گراف بهینه، یک زمانبندی با حداقل طول و بدون تداخل را به ما می‌دهد، به عبارت دیگر یک زمانبندی با حداکثر پهنای باند را به ما می‌دهد.

مقایسه با رنگ‌بندی سنتی گراف

در مثال قبلی انتقال رادیویی، اگر لازم باشد که یک گره (رأس) از گراف به‌طور پیوسته و بدون قطع و وصل شدن، فعال باشد آنگاه رنگ‌بندی رئوس گراف به روش سنتی جواب بهینه را به ما می‌دهد. توضیح آنکه ابتدا باید رئوس با رنگ شماره ۱ به مدت ۱ واحد زمانی باید فعال باشند سپس رئوس با با رنگ شماره ۲ به مدت یک واحد زمانی فعال می‌شوند و به همین ترتیب ادامه می‌یابد. یادآور می‌شود که در هر نقطه از زمان مجموعه گره‌های فعال، یک مجموعه مستقل می‌باشد.
به‌طور کلی، رنگ‌بندی بخشی گراف یک زمانبندی کوتاهتر به ما می‌دهد تا رنگ‌بندی غیر بخشی. یافتن یک زمانبندی کوتاهتر ممکن است اما به قیمت آنکه انتقال دهنده‌های رادیویی قابلیت قطع و وصل شدن بیش از یک بار را داشته باشند.