نظریه گراف مدرس :امین هاشمی دانشگاه لرستان 0 رنگ آمیزی گراف:4 فصل 1 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University مقدمه • در نظریه گراف ،رنگ آمیزی گراف یکی از حالت های خاص مسأله های برچسب گذاری در گراف است. • رویکرد کلی آن استفاده از نظیر کردن رنگ هایی به یال ها یا رأس هاست که این رنگ آمیزی محدودیت خاصی را رعایت کند. • در ساده ترین حالت ،رنگ آمیزی مورد نظر است که در آن هیچ دو رأس مجاوری هم رنگ نباشند (رنگ آمیزی رأس ها). • رنگ آمیزی یال ها نیز به همین صورت تعریف می شود. • رنگ آمیزی گراف کاربردهای زیادی در زمینه های عملی و تئوری گوناگون دارد .عالوه بر مسأله های کالسیک تعریف شده در این زمینه ،با درنظر گرفتن محدودیت های مختلفی روی نوع گراف ها ،روش رنگ آمیزی و حتی تعداد و رنگ عناصر گراف مسأله های متنوعی با کابردهای وسیع در صنعت و علوم تعریف و حل می شود. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 2 مسئله رنگ آمیزی • فرض کنید یک گراف Gبا nرأس داده شده است و از شما درخواست می شود که رئوس آن را طوری رنگ آمیزی کنید که هیچ دو رأس مجاور در آن دارای رنگ مشابه نباشد .حداقل تعداد رنگ های مورد نیاز چه خواهد بود؟ • این مسئله یک مسئله رنگ آمیزی را شکل می دهد. • با رنگ آمیزی رئوس ،شما می توانید آن ها را در مجموعه های متفاوت ،مثال یک مجموعه شامل تمامی رئوس قرمز و مجموعه دیگر شامل رئوس آبی و غیره گروه بندی کنید. • رنگ آمیزی تمام رئوس یک گراف به طوری که هیچ دو رأس مجاور آن با یکدیگر همرنگ نباشند ،رنگ آمیزی درست (یا به طور ساده رنگ آمیزی) یک گراف نامیده می شود. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 3 مسئله رنگ آمیزی • نمونه ای از رنگ آمیزی صحیح یک گراف 4 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University عدد رنگی • -Kرنگ آمیزی های ( )k-coloringsگراف Gعبارت است از رنگ آمیزی گراف Gبا kرنگ .اگر گراف Gرا بتوان با kرنگ ،رنگ آمیزی کرد ،آنگاه به گراف ،Gیک گراف قابل رنگ آمیزی با kرنگ گفته می شود. • به این گونه گراف ها ،گراف های -kرنگی یا -kکروماتیک گفته می شود. • عدد رنگی یک گراف Gمعموال با نماد 𝐺 𝜒 نمایش داده می شود. • تعدادی از قوانین در این مورد را بیان می کنیم: • 𝑉 ≤ 𝐺 𝜒 می باشد که در آن 𝑉 تعداد رئوس گراف Gمی باشد. • به طور کلی 𝑛 = 𝑛𝐾 𝜒 می باشد که در آن 𝑛𝐾 گراف کامل با nرأس می باشد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 5 عدد رنگی • -3اگر بعضی از زیرگراف های Gنیازمند kرنگ باشند ،آنگاه 𝑘 ≥ 𝐺 𝜒 می باشد. • -4اگر 𝑑 = 𝑣 𝑔𝑒𝑑 باشد ،آنگاه حداکثر dرنگ جهت رنگ آمیزی رئوس مجاور با vنیاز است. • -5هر گراف -kکروماتیک دارای حداقل kرأس مانند vمی باشد به طوری که 𝑑𝑒𝑔 𝑣 ≥ 𝑘 − 1است. • -6برای هر گراف ،Gداریم 𝐺 ∆ 𝜒 𝐺 ≤ 1 +که در آن 𝐺 ∆ بزرگترین درجه ی هر رأس از گراف Gمی باشد. • -7اگر 𝐺 𝛿 ،حداقل درجه ی هر رأس از گراف Gباشد ،آنگاه داریم− 𝛿 𝐺 : 𝑉 𝑉 ≥ 𝐺 𝜒 که در آن 𝑉 تعداد رئوس گراف Gمی باشد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 6 چند جمله ای رنگی • یک گراف مفروض Gبا nرأس می تواند به روش های مختلفی با استفاده از تعداد رنگ های به اندازه کافی زیاد به درستی رنگ آمیزی شود .این ویژگی از یک گراف به زیبایی توسط یک چند جمله ای بیان می شود .این چند جمله ای ،چندجمله ای رنگی گراف Gنامیده می شود. • مقدار چندجمله ای رنگی 𝜆 𝑣𝑃 از یک گراف با vرأس ،تعداد روش هایی را که می توان گراف را با 𝜆 یا تعداد کمتری رنگ به درستی رنگ آمیزی کرد ،نشان می دهد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 7 چند جمله ای رنگی • فرض کنید می خواهیم یک چندجمله ای رنگی برای گراف کامل زیر بدست آوریم. • می خواهیم ببینیم که با داشتن 𝜆 رنگ ،به چند طریق می توان گراف باال را رنگ آمیزی کرد .در واقع چندجمله ای رنگی آن را محاسبه کنیم. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 8 چند جمله ای رنگی • حال اگر از رأس Pشروع کنیم ،همه رنگ را در اختیار داریم .بنابراین تعداد انتخاب های ممکن • برای رأس Pبرابر با 𝜆 است .برای رأس Qاین مقدار 𝜆 − 1است .برای Sبرابر 𝜆 − 2است. • این فرآیند به همین صورت ادامه می یابد و در نهایت آخرین رأس به تعداد 𝜆 − 𝑣 + 1رنگ می تواند انتخاب کند. • با استفاده از اصل ضرب ،در یک گراف کامل 𝑣𝐾 λ 𝜆 − 1 𝜆 − 2 𝜆 − 3 … 𝜆 − 𝑣 + 1 ،روش برای رنگ آمیزی گراف با 𝜆 رنگ وجود دارد .پس داریم: 𝑃𝑣 𝜆 = λ 𝜆 − 1 𝜆 − 2 𝜆 − 3 … 𝜆 − 𝑣 + 1 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 9 چند جمله ای رنگی • مثال )1چندجمله ای رنگی و عدد رنگی گراف نشان داده شده در شکل زیر را بیابید. • با توجه به این که گراف داده شده یک گراف کامل با 3رأس است پس چند جمله ای رنگی برابر است با: 𝜆𝑃3 𝜆 = λ 𝜆 − 1 𝜆 − 2 = 𝜆3 + 3𝜆2 + 2 • حال که چند جمله ای رنگی را بدست آوردیم ،به دنبال عدد رنگی می رویم .عدد رنگی برابر با کمترین مقدار 𝜆 در چند جمله ای رنگی است به طوری که مقدار چندجمله ای رنگی را بزرگتر از صفر کند .بنابراین عدد رنگی یا عدد کروماتیک گراف باال برابر 3 است .پس گراف داده شده یک گراف -3کروماتیک است. 𝜒 𝐺 =3 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 10 چند جمله ای رنگی • مثال )1چندجمله ای رنگی و عدد رنگی گراف نشان داده شده در شکل زیر را بیابید. • از رأس v1شروع می کنیم که می تواند 𝜆 رنگ بگیرد. • رأس v3و v4هر کدام 𝜆 − 1رنگ می گیرند. • رئوس v2و v5نیز هر کدام 𝜆 − 2رنگ می گیرند .پس داریم: 2 𝜆−2 2 𝑃5 𝜆 = λ 𝜆 − 1 • در رابطه باال 3اولین عددی است که موجب مثبت شدن معادله می شود .پس گراف یک -3کروماتیک است. 𝜒 𝐺 =3 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 11 حذف یال ( )Edge Deletion • اگر یک گراف مانند Gداشته باشیم و eیک یال از این گراف باشد ،آنگاه گراف G-eبرابر است با همه گراف Gبه غیر از یال .e • به عنوان مثال در شکل زیر ،اگر قسمت aنشان دهنده گراف Gباشد ،آنگاه قسمت دوم گراف 𝐺 − 1,3را نشان می دهد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 12 اختصار یا انقباض یال ( )Edge Contraction • اگر یک گراف مانند Gداشته باشیم و eیک یال از این گراف باشد که به رئوس xو yمتصل است𝑒: 𝑥,𝑦 : • آنگاه ما یک گراف G/eمعرفی می کنیم که به صورت زیر تعریف می شود. • همه رئوس گراف به غیر از xو yرا قرار می دهیم. • رئوس xو yرا به یک رأس zتبدیل می کنیم. • همه یال ها به غیر از آنهایی که به xو yمتصل هستند را به همان صورت قرار می دهیم. • اگر یالی بین یک رأس و رأس xیا yوجود داشته باشد ،آنگاه یک یال بین آن رأس و رأس zرسم می کنیم. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 13 اختصار یا انقباض یال ( )Edge Contraction • در شکل زیر عمل اختصار بر روی یال 1,4انجام شده است. • از دو تعریف گفته شده می توان برای محاسبه چندجمله ای رنگی یک گراف استفاده کرد .که به نام قضیه تجزیه معروف است. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 14 قضیه تجزیه • اگر Gیک گراف ساده و eیالی از آن باشد ،آنگاه رابطه زیر برقرار است: • به این معنی که چند جمله ای رنگی گراف Gرا می توان از تفریق بین چند جمله رنگی گراف G-eو G/eبدست آورد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 15 قضیه تجزیه . از یال برای کاهش استفاده کنید. چندجمله ای رنگی را با استفاده از قضیه تجزیه محاسبه کنید،• مثال) در گراف زیر 16 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University قضیه تجزیه • مثال) در گراف زیر ،چندجمله ای رنگی را با استفاده از قضیه تجزیه محاسبه کنید .از یال برای کاهش استفاده کنید. • ابتدا گراف های G-eو G/eرا بدست می آوریم. G/e G-e Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 17 قضیه تجزیه • مثال) در گراف زیر ،چندجمله ای رنگی را با استفاده از قضیه تجزیه محاسبه کنید .از یال برای کاهش استفاده کنید. • در نهایت خواهیم داشت: G/e G-e Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 18 چندجمله ای رنگی در گراف های حلقه .• چند جمله ای رنگی در گراف های حلقه را می توان بر اساس رابطه زیر محاسبه کرد 19 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University قضیه تجزیه • مثال) در گراف زیر ،چندجمله ای رنگی را با استفاده از قضیه تجزیه محاسبه کنید .از یال برای کاهش استفاده کنید. • در نهایت خواهیم داشت: Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 20 قضیه • برای هر گراف ،Gجمله ثابت در چندجمله ای رنگی برابر با صفر است. • اثبات :برای هر گراف عدد رنگی بزرگتر از صفر است .زیرا تعداد رئوس تهی نیستند. • بنابراین اگر داشته باشیم که در جمله ثابت aباشد ،آنگاه 𝑃 𝐺,0 = 𝑎 ≠ 0می باشد. • این رابطه بیان می دارد که روش هایی برای رنگ آمیزی درست گراف Gبا صفر رنگ وجود دارد که یک تناقض است. • به عنوان مثال چند جمله ای 𝜆3 + 5𝜆2 − 𝜆 + 5 = 0یک چند جمله ای رنگی نیست چرا که جمله ثابت آن برابر با 5است. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 21 مسئله زمان بندی امتحانات پایانی • چگونه امتحانات پایانی در یک دانشگاه می توانند به گونه ای زمانبندی شوند به طوری که هیچ دانشجویی ،در یک روز دو امتحان نداشته باشد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 22 مسئله زمان بندی امتحانات پایانی • چگونه امتحانات پایانی در یک دانشگاه می توانند به گونه ای زمانبندی شوند به طوری که هیچ دانشجویی ،در یک روز دو امتحان نداشته باشد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 23 قضایا • -1یک گراف -2 ،Gکروماتیک است اگر و تنها اگر دوبخشی باشد. • -2قضیه کونیگز :یک گراف با حداقل یک یال -2کروماتیک است اگر و تنها اگر هیچ دوری به طول فرد نداشته باشد. • -3یک گراف nرأسی ،یک درخت است اگر و تنها اگر چندجمله ای رنگی آن به صورت 𝑛−1 𝜆 𝜆 − 1باشد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 24 قصیه تطابق • در یک گراف بدون جهت ،تطابق برابر با مجموعه ای از یال ها است به طوری که هیچ دو یالی رأس مشترک نداشته باشند. • به عبارت دیگر تطابق یک گراف برابر یک زیرگراف است که هر گره از آن دارای صفر یا یک یال است. • هر رأس منطبق یا اشباع شده نامیده می شود اگر یال متصل به آن در مجموعه تطابق گراف وجود داشته باشد. • در گراف کامل زیر چند تطابق را می بینیم. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 25 تطابق کامل . هستندG دو تطابق کامل از گرافM2 وM1 در شکل زیر.• تطابق کامل حالتی است که هر رأس دقیقا به یک یال متصل باشد 26 Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University تطابق بیشینه • تطابق بیشینه تطابقی با حداکثر تعداد یال های ممکن است .به این معنا که در صورت اضافه کردن یک یال دیگر به آن تطابق از دست می رود. • هر تطابق کامل یک تطابق بیشینه است. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 27 تطابق در گراف های دوبخشی • تطابق در گراف های دوبخشی به این صورت است که هیچ دو یالی دارای رأس مشترک در Xیا Yنباشد .در صورتی که Xو Yدو مجموعه رئوس گراف دوبخشی هستند. • تطابق کامل در گراف دو بخشی :تطابق کامل در حالتی رخ می دهد که همه رئوس Xدارای دقیقا یک یال باشند .یعنی رئوس سمت چپ همگی به آنها یال متصل باشد ولی اگر به برخی رئوس سمت راست هیچ یالی متصل نبود ،مشکلی ایجاد نمی شود. • اگر تعداد رئوس سمت چپ بزرگتر از تعداد رئوس سمت راست باشد ،تطابق کامل وجود ندارد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 28 مثال • گراف زیر را در نظر بگیرید: • یال bcیک تطبیق است .که رئوس bو cدر آن اشباع شده هستند. • مجموعه } {bc,bdیک تطبیق نمی باشد زیرا رأس bمتعلق به دو یال است. • مجموعه } {ab,cdیک تطابق کامل است چون هر رأس دقیقا به یک یال متصل است. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 29 مثال • گراف زیر را در نظر بگیرید: • مجموعه 𝑢1 𝑣2 ,𝑢2 𝑣4 ,𝑢3 𝑣1یک تطابق غیرکامل می باشد. • در گراف زیر نمی توان یک تطابق کامل داشت چون که تعداد رئوس در دو بخش گراف با هم برابر نیست و یکی از رئوس بدون یال باقی می ماند. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 30 قضیه هال • فرض کنید ) G=(V,Eیک گراف دوبخشی بوده که مجموعه رئوس آن یعنی Vبه صورت 𝑌 ∪ 𝑋 افراز شده است .یک تطبیق کامل از Xبه Yموجود است اگر و تنها اگر برای هر زیرمجموعه از Xداشته باشیم : 𝐴 𝑅 ≤ 𝐴 که در آن 𝐴 Rبرابر است زیرمجموعه ای از Yکه متشکل از رئوسی است که هر یک با حداقل یک رأس در Aمجاور می باشند .به عنوان مثال در شکل زیر داریم: • 𝐴 = 𝑥1 ,𝑥2 ,𝑥3و } 𝑅 𝐴 = {𝑦1 ,𝑦3 • در این حالت = 2 𝐴 𝑅 و 𝐴 = 3است که با قضیه هال 𝐴 𝑅 ≤ 𝐴 در تناقض است. • پس نتیجه می گیریم که تطابق کاملی بین رئوس این گراف وجود ندارد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University • برای این که تطابق کامل وجود داشته باشد باید رابطه باال برای هر زیرمجموعه از Xصدق کند. 31 قضیه • فرض کنید ) G=(V,Eیک گراف دوبخشی بوده که مجموعه رئوس آن یعنی Vبه صورت 𝑌 ∪ 𝑋 افراز شده است .اگر یک عدد صحیح و مثبت mوجود داشته باشد که در شرط 𝑑𝑒𝑔𝐺 𝑣1 ≥ 𝑚 ≥ 𝑑𝑒𝑔𝐺 𝑣2به ازای تمامی رئوس 𝑣1 ∈ 𝑉1و 𝑣2 ∈ 𝑉2 صدق کند ،آنگاه یک تطبیق کامل از 𝑉1به 𝑉2وجود دارد. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 32 پوشش ها • یک رأس و یال یکدیگر را می پوشانند اگر آنها با هم مجاور باشند: • پوشش رأسی :پوشش رأسی یک گراف شامل زیرمجموعه ای از رئوس است که همه یال های گراف را می پوشانند .یعنی همه یال های گراف به آن متصل هستند. • در گراف روبرو مجموعه های پوشش رأسی نشان داده شده اند. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 33 پوشش ها • پوشش رأسی مینیمال :مجموعه ای از رئوس پوششی است که نتوان هیچ عضوی را از آن حذف کرد. • در گراف زیرK1 ،مینیمال هستند ولی K3 ,K2مینیمال نیست .چون می توان رأس dو aرا از آن حذف کرد و همچنان یک مجموعه پوشش رأسی داشته باشیم. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 34 پوشش ها • پوشش رأسی مینیمم :مجموعه ای از رئوس پوششی است که کمترین عضو ممکن را از میان تمام مجموعه های پوشش رأس داشته باشد. • در گراف زیر K1 ،مینیمم است ولی K2,K3مینیمم نیستند. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 35 پوشش ها • یک رأس و یال یکدیگر را می پوشانند اگر آنها با هم مجاور باشند: • پوشش یال :پوشش یال یک گراف شامل زیرمجموعه ای از یال ها است که همه رئوس گراف را می پوشانند .یعنی یال هایی که همه رئوس گراف به آن ها متصل هستند. • در گراف روبرو مجموعه های پوشش یال نشان داده شده اند. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 36 پوشش ها • پوشش یال مینیمم :پوشش یال یک گراف شامل زیرمجموعه ای از یال ها است که همه رئوس گراف را می پوشانند به صورتی که تعداد اعضای زیرمجموعه حداقل باشد. • در گراف روبرو مجموعه های پوشش یال نشان داده شده اند. • زیرمجموعه های M1و M2مینیمم هستند. Introduction to Algorithms: Presented by Amin Hashemi Department of Computer Engineering, Lorestan University 37 پایان فصل 4 سالم و شاد باشید امین هاشمی 38