1 צביעת גרפים: הגדרה: g=(v,e) גרף בלתי מכוון. צביעת g ב-k...

22
1 םםםםם םםםםם: םםםםם:G=(V,E) ייי יייי ייייי. יייייG - יK ייייי1 < K<|V | . f: V {1, …,k} ייי ייייייי יי יייי) u,v ( E ייייייf(u)f(v) . ייי ייי יי יי ייייי- יK ייייי יייי:K יייי. םםםםם: יייי יי יייי = יייי

Post on 20-Dec-2015

229 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

1

:צביעת גרפים

הגדרה:

G=(V,E) גרף בלתי מכוון. צביעת G-ב K 1 צבעים<K<|V|.

f: V {1,…,k} היא u,v(E(פונקציה כך שלכל

.f(u)f(v)מתקיים

צבעים Kגרף שיש לו לו צביעה ב-. צביעKנקרא:

הגדרה:

דרגה של צומת = מספר הקשתות שנוגעות בצומת.

Page 2: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

2

:Gדרגה מקסימלית של

G = maxvV{deg(V)}

:דוגמה

הדרגה המקסימלית של הגרף הנ"ל .4היא

(במקרה G <|V|-1 תמיד מתקיים:ויש קדקוד המחובר לכל הקדקודים

האחרים).

Page 3: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

3

:טענה

צביע.G +1 כנ"ל הוא Gכל

:הוכחה

:Gנראה אלגוריתם לצביעת

COLOR(G)

1. S V

2. While (s )

3. pick up some v of s

4. color v (legally)

5. S S-{v}

Page 4: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

4

יש צביעה מתאימה אםם Gל-האלגוריתם לא נתקע.

4 האלגוריתם נתקע אם בשורה v. אבל אם ל-vאין צבע פנוי עבור

-G +1 ולכן n < G שכנים, nיש n < 0 כלומר תמיד יש לפחות צבע

לכן האלגוריתם vפנוי אחד עבור לא יתקע.

Page 5: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

5

ישנם גרפים עם דרגה מקסימלית גבוהה מאוד אך יכולים לצבוע

אותם במעט צבעים.

דוגמה:

הדרגה המקסימלית של הגרף היא צבעים.2 וניתן לצבוע אותו ב-8

טענה:

צביע אםם אין בו מעגל 2גרף הוא מאורך אי-זוגי.

Page 6: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

6

הוכחה:

:Gנתאר אלגוריתם לצביעת

בחר צומת כלשהי וצבע באדום.•

בחר שכן של הצומת וצבע אותו •בצבע נגדי.

סיים כשכל הצמתים צבועים.•

(צובעים את הצומת בצבע מסוים ואת כל שכניו בצבע השני ואת

השכנים של השכנים בצבע הראשון וכן הלאה).

האלגוריתם נתקע אםם יש צומת שיש לו שני שכנים הצבועים בשני

צבעים שונים.

Page 7: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

7

זה קורה אםם יש בגרף מסלול סגור (מעגל) שאורכו אי-זוגי.

2אלגוריתם לבדיקה אם גרף הוא צביע:

2-COLOR(G)

1. BFS(G)2. For each (u,v)E // של הגרף

המקורי

if(d(u) = d(v))//מס' השכבה

return FALSE

return TRUE

Page 8: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

8

סיבוכיות:

|V|+|E| = BFS

O(|V|+|E|)לכן הסיבוכיות הכללית:

הגדרה:

G אם קיימת דו צדדי כנ"ל נקרא , (יחוד של =V1V2 Vחלוקה :

קבוצות זרות), כך שכל קשת של G -מחברת צומת מ V1 עם צומת. V2מ-

צביע. 2גרף הוא דו-צדדי אםם הוא

יהיו V1(נוכל להגדיר שכל קדקודי בצבע V2 צבועים בצבע וקדקודי

צביע).2אחר וזה

Page 9: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

9

:color-3בעיית

3 כנ"ל האם הוא Gבהינתן גרף צביע?

:פתרון נאיבי

בדיקת כל הצביעות האפשריות של G-צבעים.3 ב

:סיבוכיות

O( )

:טענה

3_color NPC

||3 || EV

Page 10: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

10

:הוכחה

color NPC_3א)

צבעים, יש 3 ב-Gבהינתן צביעת לעבור על כל קשת ולבדוק שהיא

מחברת צמתים בצבעים שונים.

color NP_hard_3ב)

sat_cnf <p color

: נוסחה לוגית sat_cnf-3קלט ל-.cnfבמבנה

: color_3בנית קלט ל-

V:

.T,R,Fשלושה צמתים •

Page 11: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

11

2לכל משתנה יש •צמתים(למשתנה ולשלילתו).

5לכל פסוקית יתווספו •משתנים.

E:

.1T,R,F.מחוברים בקליק

Rכל משתנה ושלילתו ו-2.מחוברים בקליק.

Xלכל פסוקית יותאם המבנה(3.Y Z (

x

y T

z

Page 12: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

12

חייבים להיות x,y,z :הערה מאחר F או ב-Tצבועים רק ב-

וכל משתנה ושלילתו מחובר .Rבקליק ל-

:דוגמה

Page 13: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

13

:סברה

3 מטרתו לצבוע ב-1נאי ת.צבעים

אומר שכל משתנה 2תנאי ושלילתו צבועים בצבעים שונים.

מבטיח שלפחות אחד 3נאי תמשתנים בכל פסוקית יהיה המ

.Tצבוע ב-

:טענה

צבעים 3 יש צביעה ב-G-ל

סחה הלוגית בעלת סיפוק.ונה

Page 14: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

14

:הוכחה

צבעים 3 יש צביעה ב-Gל-

T,R,F)1 צבועים בצבעים שונים ( וגם כל משתנה ושלילתו צבועים

וגם בכל פסוקית יש F(2)-ב וTב-ג) (Tמשתנה אחד צבוע ב-

ת יש משתנה אחד קי בכל פסו כל Tלפחות עם ערך

לסיפוק תנתיפסוקית נ.הנוסחה ניתנת לסיפוק

יש sat_cnf_3יש פתרון ל-.color_3פתרון ל-

3_sat_cnfNP_hard

3_color NP_hard.

Page 15: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

15

אלגוריתמי רובק

אלגוריתמים -בוראלגוריתמי קשיפתרו לנו בעיות עם סיבוכיות

גבוהה בזמן פולינומיאלי.

לא יתנו את ואלגוריתמים אלהפתרון האופטימלי אלא יש

חסם מסוים על על הקרוב לפתרון(האופטימלי).

:נגדיר יחס קרוב

לי.מפתרון אופטי נסמן

C.פתרון אלגוריתם קרוב

*c

Page 16: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

16

>C>0( : (בבעיית מקסימיזציה

מגדיר פי כמה גדולה לי מהעלות של הפתרון האופטי

מעלותו של הפתרון המקורב.

> >0( : (בבעיית מינימיזציהC

מגדיר פי כמה גדולה עלותו של הפתרון המקורב

מעלותו של פתרון אופטימלי.

*c

c

c*

*c

*c

c

Page 17: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

17

לעיתים נוח יותר להשתמש השגיאה היחסיתבמדד של :

דוגמאות לאלגוריתמי 2נראה וברק :

.1VC

.2TSP

*

* ||

c

cc

Page 18: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

18

:VCב ל-ולגוריתם קרא

APPROX-VERTEX-COVER(G)

1. C 2. E’ E[G]

3. While E’ 4. do let(u,v) be an arbitrary

edge of E’

5. C C{u,v}

6. remove from E’ every edge incident on

either u or v

7. Return C

Page 19: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

19

:גמהוד

4 2

1 6

5 3

רוב יבחר את קאלגוריתם ה קדקודים).4 (סה"כ 1,2,3,4

:לגוריתם אופטימליא קדקודים).3(סה"כ 2,3,4

דוגמה ספציפית זו יחס הקרוב ב:הוא

3

4

Page 20: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

20

:משפט

) מבטיח approx vc(אלגוריתםה.2לנו יחס קרוב של לכל היותר

.)2בעל חסם יחס (

:הוכחה

בוצת הקדקודים המוחזרת ע"י קוי מאחר סם מהווה כיתהאלגורי

אלגוריתם מריץ לולאה עד הויקה.ראשר קבוצת הקשתות

Page 21: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

21

נשאר להוכיח כי החסם על ספר הקדקודים שהאלגוריתם מ

לכל היותר ממה 2מחזיר הוא פי .תם האופטימליישמחזיר האלגור

ת ו את קבוצת הקשתAנסמן ב- של 4שנבחרו בשורה

האלגוריתם.

Aקשתות זוגף אינה מכילה אשיש להן קדקודים משותפים שכן

,4ברגע שנבחרה קשת בשורה כל הקשתות האחרות הקשורות

י הקצה של קשת זו דלקדקו).6בשורה ’(Eנמחקו מ-

Page 22: 1 צביעת גרפים: הגדרה: G=(V,E) גרף בלתי מכוון. צביעת G ב-K צבעים 1

22

A מוסיף ל-5כל ביצוע של שורה שים. אולם כדי ד קדקודים ח2

כל ,Aלכסות את הקשתות ב-דקודים ובפרט הכיסוי קכיסוי

ב לכלול יהאופטימלי חילפחות קדקוד קצה אחד של כל

.Aקשת ב-

ה אף זוג ל אינה מכיAמאחר ש-קשתות שיש להן קדקודי קצה

ו נ אף קדקוד בכיסוי אי,משותפים.Aקשור ליותר מקשת אחת ב-

לכן

*c

||2|| *cc