Download presentation
Presentation is loading. Please wait.
1
1 Space Complexity Non-Deterministic Space אליעזר מדבד 311692594
2
2 לשם ניתוח של מחלקה Nspace נשתמש במכונת טיורינג “ משופרת ” הגדרה : מכונת טיורינג לא דטרמיניסטית עם 3 סרטים - NDTM * סרט קלט, קריאה בלבד * סרט פלט, קריאה בלבד * סרט עבודה, קריאה וכתיבה * פנקציית מעבר לא דטרמיניסיטית קלט מתקבל ע ” י המכונה אם היא עוברת למצב מקבל סימון : M N אנחנו נמדוד אורך סרט עבודה שהיה בשימוש של מכונת טיורינג מ ” ט עם מס ’ סרטים ניתן לסמלץ ע ” י מ ” ט רגילה כך שאורך סרט עבודה יגדל בצורה פולינומית
3
3 הגדרה : מ ” ט לא דטרמיניסטית online NDTM - online * סרט קלט, רק קריאה * סרט פלט, רק כתיבה * סרט עבודה, קריאה וכתיבה * סרט נביא, התוכן מתקבל בצורה לא דטרמיניסטית, רק קריאה, חד כיווני * פנקציית מעבר דטרמיניסיטית קלט מתקבל ע ” י המכונה אם קיים תוכן של “ נביא “ כך שהמכונה עוברת למצב מקבל. סימון : M on הגדרה : מ ” ט לא דטרמיניסטית offline NDTM - offline הגדרת מ ” ט לא דטרמיניסטית offline זהה להגדרה של online עם הבדל אחד : סרט נביא הוא דו - כיווני סימון : M off
4
4 הגדרות : M - מכונת טיורינג, x - קלט כלשהו W M (x) = אורך מקסימלי של סרט עבודה שהיה בשימוש של מ ” ט S M (n) = max |x|=n W M (x) L (x) = 1 if x L, 0 otherwise. Nspace(S(n)) = {L| NDTM M, x M(x)= L (x) and n S M (n) S(n)} Nspace on (S(n)) = {L| online NDTM M on, x M on (x)= L (x) and n S M on (n) S(n)} Nspace off (S(n)) = {L| offline NDTM M off, x M off (x)= L (x) and n S M off (n) S(n)}
5
5 הגדרה : קונפיגורציה קונפיגורציה של מ ” ט M זה תיאור מלא של מצב שלה בנקודה מסוימת התיאור כולל : מצב של M תוכן של סרט עבודה מיקום של ראש על סרט קלט מיקום של ראש על סרט עבודה M מס ’ כל הקונפיגורציות האפשריות של - #conf(M) : סימון |Q M |* 2 s(n) * n * s(n) = #conf(M), M Nspace(s(n)) עבור מס ’ מצביםתוכן של סרט עבודה מיקום בסרט קלט מיקום בסרט עבודה
6
6 משפט : מ ” ט NDTM זהה ל -online NDTM שיטה כללית להוכחת משפטים על יחס בין סיבוכיות של מ ” ט מסוגים שונים : סימלוץ של מכונה אחד ע ” י שניה נסמן Q M - קבוצת מצבים של מ ” ט M סימלוץ M N ע ” י M on : יהיה Q M on = Q M N. סרט נביא של M on יראה מצב הבא של M N. M on בכל שלב תבצע מעבר מצבים לפי הנביא ותתקדם לתא הבא בסרט נביא.
7
7 משפט : מ ” ט NDTM זהה ל -online NDTM סימלוץ M on ע ” י M N : Q M N = Q M on X G h, G - אלף בת של סרט נביא של M on תהי f on פוקציית מעבר של M on, י f on : q on,g -> q on ’, g’g, q’, q Q g, g’ G - תו בסרט נביא תו הבא אחריו, אם אין התקדמות g’ = g אז נגדיר f N - פונקציית מעבר של M N f N : q N = ( q on, g ) -> { q N ‘ = ( f on (q on, g ), x ) | x G } לפי הגדרת f N ב -M N קיים מסלול זהה ל - M on.
8
8 Nspace(S) Ntime(2 S ) משפט מס ’ כל קונפיגורציות האפשריות של M Nspace(S) k שווה ל -2 O(S)k. יהי t 1 … t i … t k ….t l ast סדרת קונפיגורציות נניח שקונפיגורציה מסוימת חוזרת על עצמה, t k = t k. אזי סדרה t 1 … t i-1 … t k+1 ….t l ast מהווה חישוב זהה לקודם ללא קונפיגורציות חוזרות. לכן ניתן להניח שבחישוב של כל מ ” ט אין קונפיגורציות חוזרות. ולכן מס ’ צעדים של M מוגבל ע ” י מס ’ קונפיגורציות שלה = 2 O(S)k, כלומר M Ntime(2 O(S) ) k.
9
9 Nspace on (S) Nspace off (log(S)) משפט לפי המשפט הקודם מספיק להראות ש - M off יכול לסמלץ M N תוך שימוש ב -(log(S מקום. סרט נביא של M off יראה סדרה של קונפיגורציות עוקבות של M N. M off יבדוק שהסדרה תקינה ( עבור כל קונפיגורציה ניתן לעבור ממנה לקונפיגורציה הבאה ), מתחילה במצב התחלתי ומסתיימת במצב מקבל. אם התנאים מתקיימים זאת אומרת ש - M N מקבלת את הקלט ואז גם M off תקבל אותו.
10
10 Nspace on (S) Nspace off (log(S)) משפט חישוב מקום דרוש ל - M off : תוך בדיקות תקינות M off משווה בין שני קונפיגורציות. שני הקונפיגורציות נמצאות בסרט נביא (*), אבל כדי להשוות ביניהם M off חייבת להחזיק בסרט עבודה מונה המצביע על התאים הנוכחיים בסרט נביא. אורך קונפיגורציה שווה ל -O(S) h ולכן המונה דורש log(O(S))h מקום. (*) בלי אפשרות לחזור אחורה בסרט נביא היה צורך להעתיק אחד משני קונפיגורציות עקבות לסרט עבודה וזה דורש O(S)b מקום.
11
11 Nspace off (S) Nspace on (2 O(S) ) משפט נבנה M on שיסמלץ M off תוך שימוש ב -2 O(S) f מקום. הרעיון של הסימלוץ : נביא של M on יראה סרט נביא של M off עם קונפיגורציות של M off לפי סדר הזזות ראש סרט נביא. לשם ניתוח מקום הנדרש ננסה להגביל אורך של סרט נביא של M off.
12
12 א ) למה : יהי V - סדרת ביקורים של ראש סרט נביא בתא מסוים ב - M off. |V| <= #conf( M off ) נוכיח בשלילה., |V|> #conf( M off ) אם אז ראש סרט נביא מבקר בתא זה פעם שניה עם אותה קונפיגורתיה. פונקציית מעבר של M off דטרמיניסטית, לכן M off חוזרת על אותו מסלול ונכנסת ללולאה אין סופית. Nspace off (S) Nspace on (2 O(S) ) משפט
13
13 Nspace off (S) Nspace on (2 O(S) ) משפט ב ) למה : יהי L - אורך סרט נביא של M off, ח A - אלף - בת של נביא אז L <= |A| * #conf(M off ) #conf( M off ) = 2 2 O(S) יהיו a n... a k... a i... a 1 תאים בסרט נביא V a - סדרת קונפיגורציות של מ ” ט בכל ביקור של הראש נביא בתא a. אם a k = a i ו - V a i = V a k אז ניתן לבטל את כל תת סדרה ai+1... aj-1. |V a | <= #conf( M off ) לפי למה א ) ח ולכן מס ’ אפשרויות שונות שווה ל -A| * #conf(M off ) #conf( M off ) i |
14
14 הוכחת המשפט : סרט נביא של M on יראה סדרה של ( a i, V a i ), כאשר { a i } - תאים של סרט נביא של M off, V a i - סדרת קונפיגורציה של M off בכל ביקור ב - a i. M on תקבל קלט אם נביא מראה סדרה תקינה והקונפיגורציה האחרונה של אחד התאים מכילה מצב מקבל. כדי לודא תקינות יש לבדוק : - הקונפיגורתיה הראשונה של V a 1 מהווה קונפיגורציה התחלתית של M off - כל שני קונפיגורציות עוקבות תואמות זו לזו. ( לשם זיהוי קונפיגורציות עוקבות נביא של M on יראה עבור כל קונפיגורציה מאיזו כיוון הגיעו לתא שלה ) Nspace off (S) Nspace on (2 O(S) ) משפט
15
15 נחשב מקום הדרוש ל - M on M on צריכה לאחסן ( a i, V a i ) ו - ( a i+1, V a i+1 ) בסרט עבודה לשם בדיקת תואמות. לפי למה ב ) V a | <= 2 O(S) h |. Nspace off (S) Nspace on (2 O(S) ) משפט
16
16 Nspace(S) Dspace(S 2 ) משפט נסמלץ מ ” ט M N ע ” י M מ ” ט דטרמיניסטית. לשם כך נשתמש בגרף קונפיגורציות הגדרה : גרף קונפיגורציות של מ ” ט M על קלט מסוים x זה גרף מכוון שקודקודים שלו הם כל קונפיגורציות אפשריות של M וקיימת קשר בין שני קודקודים אם ורק אם M יכולה לעבור מקונפיגורציה של קודקוד אחד לקונפיגורציה של השני. כדי לדעת האם M מקבל x צריך לברר האם קיים מסלול מקודקוד שמייצג קונפיגורציה התחלתית לקודקוד שמייצג קונפיגורציה עם מצב מקבל. כבר ראינו שניתן להגביל את המסלול ע ” י מס ’ כל קונפיגורציות אפשריות. למה : יהי גרף (G=(V,E, ה x, y - קודקודים. ניתן לברר האם קיים מסלול מ -x ל -y באורך קטן מ -l תוך כדי שימוש ב -O( log(|V|) * log l ) k
17
17 M יכולה לבנות גרף קונפיגורציות של M N עבור קלט x ואז לפי למה היא תדע האם M N מקבלת את x או לא תוך שימוש ב -O(S 2 )h מקום. ( l ע = |G| = מס ’ קונפיגורציות של M N = ל O(2 O(S) ) k ) אמנם, כדי להחזיק את הגרף כולו יידרש הרבה יותר מקום, אבל אין צורך בכך. M יכולה לבנות קטע מהגרף, לעבוד אליו ואחרי כן לבנות קטע נוסף באותו מקום. Nspace(S) Dspace(S 2 ) משפט
18
18 הגדרה : NL = Nspace( log(n))k הגדרה : L ניתנת לרדוקציה במקום לוגוריטמי ל -’L אם קיימת פונקציה f הניתנת לחישוב במקום לוגוריטמי כך שלכל קלט x מתקיים x L f(x) L’k משפט : אם L’ NL ו - L ניתנת לרדוקציה במקום לוגוריטמי ל -’L אז גם L NL יהיו ‘M - מ ” ט המקבלת L’j, נ f - פונקציית רדוקציה נבנה M - מ ” ט המקבלת L. עבור כל קלט M, x תחשב f(x)h ותסמלץ את ‘M עם קלט f(x)h. לפי הגדרת רדוקציה M מקבלת L. לחישוב f ולסימולציית M דרוש מקום לוגריטמי. NL
19
19 הגדרה : L NL-Complete אם - L NL - לכל N NL, קיימת רדוקציה במקום לוגוריטמי מ -N ל -L NL
20
20 הגדרה : בעיית CONN עבור גרף מכוון G(V,E)k ושני קודקודים v, u צריך לענות האם קיים מסלול מ -v ל -u. נוכיח ש -CONN NL. לשם כך נבנה מ ” ט לא דטרמיניסטית M שמקבלת CONN. משפט CONN NL-Complete
21
21 משפט CONN NL-Complete להלן אלגוריתם של M : v x מונה |V| תבצע עד ש - x=u מונה מונה - 1 נביא יראה y G אם x,y) V ) אז y x אחרת תדחה סוף לולאה אם x = u תקבל אחרת תדחה
22
22 משפט CONN NL-Complete עבור מונה דרוש log |V|k מקום, עבור שאר משתנים דרוש מקום בגודל קבוע. כלומר M משתמש log |V|k מקום. נוכיח שעבור כל L NL, L ניתנת לרדוקציה במקום לוגריתמי ל -CONN. יהי M מ ” ט המקבלת את L. נבנה גרף מכוון G(V,E)k ו - v,u V לפי M וקלט x, כך ש - x L אמם קיים מסלול מ - v ל - u. יהי E = { כל הקונפיגורצית האפשריות של M } עבור כל a,b E,חk ( a,b ) V אמם M יכולה לעבור מקונפיגורציה a ל - b בצעד אחד. יהיו v - קונפיגורציה עם מצב התחלתי, u - עם מצב מקבל. קיבלנו קלט של בעיית CONN. את הבנייה ניתן לבצע במקום O( log(|x|) ) m.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.