תיאור אוכלוסיית בית הספר ילדים ונוער בסיכון גבוה עם בעיות התנהגות וקשיים רגשיים.
בעיות פער Gap Problems
description
Transcript of בעיות פער Gap Problems
בעיות פערGap Problems
אנחנו לא יודעים להכריע )בזמן פולינומיאלי( האם קיים פתרון מדויק לבעית אופטימיזציה
)למשל - בבעית הקליקה,
?(α האם קיימת קליקה בגודל
בין המקרים בהם קיים פתרון להפרידאנחנו כן יודעים מדויק, לבין המקרים בהם לא קיים אפילו פתרון מקורב
)למשל, להפריד בין:
αא. קיימת קליקה בגודל
...()α)1-εב. לא קיימת קליקה בגודל
בעיות פערGap Problems
:Gap[a,b]מכונה שפותרת בעיית
bתחזיר 'כן' אם הפתרון המקסימלי ≤ •
aתחזיר 'לא' אם הפתרון המקסימלי > •
?b ל-aומה אם הפתרון המקסימלי בין •
בעיות פערGap Problems
:Gap[a,b]מכונה שפותרת בעיית
bתחזיר 'כן' אם הפתרון המקסימלי ≤ •
aתחזיר 'לא' אם הפתרון המקסימלי > •
...b ל-aומה אם הפתרון המקסימלי בין •
aכל פלט של המכונה הוא חוקי עבור פתרון מקסימלי בין bל-
a bM)x( = Reject M)x( = Accept
M)x( = ? f)x(
חתך מקסימליMaximum Cut
G
α = 11/13
-שלמה...NP היא MAXCUTבעית
:gap-MAXCUT[α/2,α]נראה אלגוריתם לפתרון של
מפריד בין:
αא. קיים חתך בגודל
α/2ב. לא קיים חתך בגודל
gap-MAXCUT[α/2,α]
ניתוח:
-צביעה של הגרף...2אם היינו מגרילים
:e=)u,v(ϵEלכל קשת
Pr[eϵCUT] = Pr[Color)u(≠Color)v(] = 1/2
לכן אנחנו מצפים לקבל לפחות חצי מהקשתות בגרף...
G
gap-MAXCUT[α/2,α]
ניתוח:
-צביעה של הגרף...2אם היינו מגרילים
:e=)u,v(ϵEלכל קשת
Pr[eϵCUT] = Pr[Color)u(≠Color)v(] = 1/2
ז"א:
E[|CUT|] = eE Pr[eϵCUT] / |E| = 1/2
ולכן:
|MAXCUT| ≥ E[|CUT|] = 1/2
G
gap-MAXCUT[α/2,α]
אלגוריתם להכרעת
gap-MAXCUT[α/2,α]:
α ≥ 1קבל אמ"ם
נאותות – אם קבלנו, אז:
α/2 ≥ 1/2 ≥ |MAXCUT|
שלמות – אם דחינו, אז:
|MAXCUT| ≥ 1 < α
G
צביעת צמתיםVertex Coloring
)Chromatic Number(
Gקלט: גרף בלתי מכוון
מינימליk עם Vפלט: צביעה של כך שאין צמתים שכנים עם אותו צבע
Gk=2
קירוב לצביעת צמתיםgap-kCOL
-קשה, ולכן היינו NPבעיית צביעת הצמתים היא רוצים לקרב אותה...
gap-kCOL[3,4]נתבונן בבעית הפער:
קירוב לצביעת צמתיםgap-kCOL
-שלמה, ולכן היינו רוצים NPבעיית צביעת הצמתים היא לקרב אותה, אבל...
-קירוב לבעיית צביעת (3/4)מסקנה: חישוב -שלמהNPצמתים היא בעיה
-NP)למעשה, גם קירובים הרבה יותר חלשים הם קשים...(
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
בזמן פולינומיאלי.gap-kCOL[3,3√|V|]המטרה: לפתור את |V√|3-צביע בעזרת 3האמצעי: נראה אלגוריתם לצביעה של גרף
צבעים.
√|3, האלגוריתם יצליח לצבוע אותו ב--צביע3אם הגרף שלמות: V|.צבעים, ולכן נקבל
√|3, לא נצליח לצבוע אותו ב--צביע|V√|3אם הגרף אינו נאותות: V|.צבעים, ולכן נדחה
...)O)|V|0.2111הערה: קיים אלגוריתם הצובע ב-
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
היא דרגת המקסימום של גרף d: אם 1אלגוריתם עזר G נצבע את G-ב d+1:צבעים בזמן פולינומיאלי
נעבור על כל הצמתים ובכל פעם שנגיע לצמת נצבע אותו בצבע ששונה מהשכנים הצבועים שלו.
d צבעים, ולכל היותר d+1תמיד קיים צבע כזה כי יש שכנים.
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
-צביע נצבע את כל 3 בגרף v: עבור צמת 2אלגוריתם עזר צבעים בזמן פולינומיאלי:2 ב-vהשכנים של
.vנתבונן בגרף המושרה ע"י קבוצת השכנים של
(.v-צביע )כי אף אחד מהם לא צבוע בצבע של 2זהו גרף
.u מאחד הצמתים BFSבכל רכיב קשירות נבצע
נצבע את השכבות הזוגיות בכחול, ואת האי-זוגיות בירוק.
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
.u מאחד הצמתים BFSבכל רכיב קשירות נבצע
נצבע את השכבות הזוגיות בכחול, ואת האי-זוגיות בירוק.
uuv
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
צבעים:|V√|3 בעזרת G-צביע 3אלגוריתם לצביעת גרף
לולאה:
.1 בעזרת אלג' עזר G צבע את |degmax)G(<√|Vאם 1.
.|deg )v(≥√|V המקיים: vאחרת, קיים צמת 2.
צבעים )חדשים( בעזרת אלג' 2נצבע את כל שכניו ב- ונסיר אותם מהגרף.2עזר
קירוב לצביעת צמתיםgap-kCOL[3,3√|V|]
לולאה:
.1 בעזרת אלג' עזר G צבע את |degmax)G(<√|Vאם 1.
.|deg )v(≥√|V המקיים: vאחרת, קיים צמת 2.
2 צבעים )חדשים( בעזרת אלג' עזר 2נצבע את כל שכניו ב-ונסיר אותם מהגרף.
ניתוח:
צבעים|V√| – מתבצע לכל היותר פעם אחת - 1שלב
צבעים|V√|2 פעמים - |V√| – מתבצע לכל היותר 2שלב
צבעים|V√|3סה"כ -
SUBSET-SUM
Instance: A multi-set of numbers denoted S and a target number t.
Problem: To decide if there exists a subset YS, s.t yYy=t.
SUBSET-SUM
דוגמא:•
S = {3,4,8,8,11}, t = 19:
Y = {3,8,8}… 3+8+8 = 19
:2דוגמא •
S = {3,4,8,8,11}, t = 13:
SUBSET-SUM
דוגמא:•S = {3,4,8,8,11}, t = 19:Y = {3,8,8}… 3+8+8 = 19
:2דוגמא •S = {3,4,8,8,11}, t = 13:
לא בשפה(>S,t>אין פתרון )
gap-Subset Sum[)1-ε(,1]
-שלמהNP היא Subset Sumבעיית ה-•
נרצה למצוא פתרון מקורב•yYy = t במקום:–
t ≥ yYy ≥ t(ε-1) נדרוש:–
gap-Subset Sum[)1-ε(,1]
yYy = t במקום:–
t ≥ yYy ≥ t(ε-1) נדרוש:–
:1דוגמא
S = {3,4,8,8,11}, t = 19, ε = 0.1
)0.9(19 ≥ )11+3+4( ≥ 19
gap-Subset Sum[)1-ε(,1]
yYy = t במקום:–t ≥ yYy ≥ t(ε-1) נדרוש:–
:1דוגמא S = {3,4,8,8,11}, t = 19, ε = 0.1)0.9(19 ≥ )11+3+4( ≥ 19
:2דוגמא S = {3,4,8,8,11}, t = 13, ε = 0.1)0.9(13 ≥ )8+4( ≥ 13
gap-Subset Sum[)1-ε(,1]
yYy = t במקום:–t ≥ yYy ≥ t(ε-1) נדרוש:–
:1דוגמא S = {3,4,8,8,11}, t = 19, ε = 0.1)0.9(19 ≥ )11+3+4( ≥ 19
:2דוגמא S = {3,4,8,8,11}, t = 13, ε = 0.1)0.9(13 ≥ )8+4( ≥ 13
:3דוגמא S = {3,4,8,8,11}, t = 10, ε = 0.1...אין פתרון
gap-Subset Sum[)1-ε(,1]
yYy = t במקום:–
t ≥ yYy ≥ t(ε-1) נדרוש:–
רעיון: במקום להסתכל על כל תתי-הסכומים, נתעלם -קרובים...|εt/|Sמתתי סכומים שהם
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
רעיון: במקום להסתכל על כל תתי-הסכומים, נתעלם
-|εt/|Sמתתי סכומים שהם קרובים...
R קבוצת תתי סכומים של – S
לולאה חיצונית – בכל איטרציה נאפשר הוספת
משתנה אחד לכל תת-סכום
לולאה פנימית – ננפה את תתי-סכומים קרובים מדי כדי לשמור על מספר קטן
של אפשרויות
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
εt/|S| = )0.3(*)19(/5 = 1.14 < 1
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
R = {0,3}
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
R = {0,3}
R = {0,3,4,7}
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
R = {0,3}
R = {0,3,4,7}
R = {0,3,7,8,11,15}
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
R = {0,3}
R = {0,3,4,7}
R = {0,3,7,8,11,15}
R = {0,3,7,8,11,11,15,15,19,23}
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
דוגמת הרצה:S = {3,4,8,8,11}, t = 19, ε = 0.3
R = {0}
R = {0,3}
R = {0,3,4,7}
R = {0,3,7,8,11,15}
R = {0,3,7,8,11,11,15,15,19,23}
R = {0,3,7,11,11,14,15,18,19,22,… 26,30}
)0.7(19 ≥ 18 = 3 + 4 + 11 ≥ 19
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
סיבוכיות:
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
סיבוכיות: )מיזוג...()|R – O)|Rמיון של
)|O)|Rלולאה פנימית –
)R – O)|S|/εגודל מקסימלי של
gap-Subset Sum[)1-ε(,1]
R}→0{אתחול: :S ב-xלולאה - לכל
.1x+R union R→R
Rמיין את 2.
.3min)R(→y
:R ב-zלולאה - לכל 4.:y+εt/|S| < z ≥ tאם –
z→yאחרת:
R\{z} → R)max)Rהחזר את
סיבוכיות: )מיזוג...()|R – O)|Rמיון של
)|O)|Rלולאה פנימית –
)R – O)|S|/εגודל מקסימלי של
| איטרציותSלולאה חיצונית – |
)O)|S|2/εסה"כ –
gap-Subset Sum[)1-ε(,1]
(yYy = t המקיימת Yשלמות: )אם קיימת קבוצה
i עליהם עברנו ב-Y את קבוצת האיברים מ-)Y)iנסמן ב-האיטרציות הראשונות של הלולאה החיצונית
המקיים:R ב-z קיים iטענת האינדוקציה – באיטרציה ה- yY)i(y-iεt/|S| ≥ z ≥ yY)i(y
gap-Subset Sum[)1-ε(,1]
(yYy = t המקיימת Yשלמות: )אם קיימת קבוצה
המקיים:R ב-z קיים iטענת האינדוקציה – באיטרציה ה- yY)i(y-iεt/|S| ≥ z ≥ yY)i(y
בסיס – טריוויאלי
gap-Subset Sum[)1-ε(,1]
(yYy = t המקיימת Yשלמות: )אם קיימת קבוצה
המקיים:R ב-z קיים iטענת האינדוקציה – באיטרציה ה- yY)i(y-iεt/|S| ≥ z ≥ yY)i(y
צעד – ,Y שייך ל-xא. אם המשתנה הנוכחי
R נמצא ב-z=zi-1+xלפני הניפוי yY)i(y-)i-1(εt/|S| ≥ z ≥ yY)i(yומאינדוקציה מתקיים ש-
, אז מתקיים:’z הוצא בניפוי בגלל קרבה ל-zאם yY)i(y-)i-1(εt/|S| ≥ z ≥ z’+εt/|S| ≥ yY)i(y+εt/|S|
yY)i(y-iεt/|S| ≥ z-εt/|S| ≥ z’ ≥ yY)i(y
gap-Subset Sum[)1-ε(,1]
(yYy = t המקיימת Yשלמות: )אם קיימת קבוצה
המקיים:R ב-z קיים iטענת האינדוקציה – באיטרציה ה- yY)i(y-iεt/|S| ≥ z ≥ yY)i(y
צעד – ,Y לא שייך ל-xב. אם המשתנה הנוכחי
R נמצא ב-z=zi-1לפני הניפוי yY)i(y-)i-1(εt/|S| ≥ z ≥ yY)i(yומאינדוקציה מתקיים ש-
, אז מתקיים:’z הוצא בניפוי בגלל קרבה ל-zאם yY)i(y-)i-1(εt/|S| ≥ z ≥ z’+εt/|S| ≥ yY)i(y+εt/|S|
yY)i(y-iεt/|S| ≥ z-εt/|S| ≥ z’ ≥ yY)i(y