Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Space Complexity Non-Deterministic Space אליעזר מדבד 311692594.

Similar presentations


Presentation on theme: "1 Space Complexity Non-Deterministic Space אליעזר מדבד 311692594."— Presentation transcript:

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.


Download ppt "1 Space Complexity Non-Deterministic Space אליעזר מדבד 311692594."

Similar presentations


Ads by Google