220 likes | 420 Views
Space Complexity Non-Deterministic Space. אליעזר מדבד 311692594. לשם ניתוח של מחלקה Nspace נשתמש במכונת טיורינג “משופרת ”. הגדרה : מכונת טיורינג לא דטרמיניסטית עם 3 סרטים - NDTM * סרט קלט , קריאה בלבד * סרט פלט , קריאה בלבד
E N D
Space ComplexityNon-Deterministic Space אליעזרמדבד 311692594
לשם ניתוח של מחלקה Nspaceנשתמש במכונת טיורינג “משופרת” הגדרה : מכונתטיורינגלא דטרמיניסטית עם 3 סרטים - NDTM * סרט קלט , קריאה בלבד * סרט פלט , קריאה בלבד * סרט עבודה , קריאה וכתיבה * פנקציית מעבר לאדטרמיניסיטית קלט מתקבל ע”י המכונה אם היא עוברת למצב מקבל סימון : MN אנחנו נמדוד אורך סרט עבודה שהיה בשימוש של מכונת טיורינג מ”ט עם מס’ סרטים ניתן לסמלץ ע”י מ”ט רגילה כך שאורך סרט עבודה יגדל בצורה פולינומית
הגדרה : מ”ט לא דטרמיניסטיתonline NDTM - online * סרט קלט , רק קריאה * סרט פלט , רק כתיבה * סרט עבודה , קריאה וכתיבה * סרט נביא , התוכן מתקבל בצורה לא דטרמיניסטית , רק קריאה , חד כיווני * פנקציית מעברדטרמיניסיטית קלט מתקבל ע”י המכונה אם קיים תוכן של “נביא“ כך שהמכונה עוברת למצב מקבל . סימון : Mon הגדרה : מ”ט לא דטרמיניסטיתoffline NDTM - offline הגדרת מ”ט לא דטרמיניסטית offlineזהה להגדרה של online עםהבדלאחד : סרט נביא הוא דו-כיווני סימון : Moff
הגדרות : M - מכונתטיורינג , x - קלט כלשהו WM(x) = אורך מקסימלי של סרט עבודה שהיה בשימוש של מ”ט SM(n) = max|x|=n WM(x) cL(x) = 1 if xL, 0 otherwise. Nspace(S(n)) = {L| NDTM M, x M(x)= cL(x) and n SM(n) S(n)} Nspaceon(S(n)) = {L| online NDTM Mon , x Mon(x)= cL(x) and n SMon(n) S(n)} Nspaceoff(S(n)) = {L| offline NDTM Moff, x Moff(x)= cL(x) and n SMoff(n) S(n)}
הגדרה : קונפיגורציה קונפיגורציה של מ”טMזה תיאור מלא של מצב שלה בנקודה מסוימת התיאור כולל : • מצב שלM • תוכן של סרט עבודה • מיקום של ראש על סרט קלט • מיקום של ראש על סרט עבודה Mמס’ כל הקונפיגורציות האפשריות של - #conf(M) :סימון |QM|* 2s(n)* n * s(n) = #conf(M) ,M Nspace(s(n)) עבור מס’ מצבים תוכן של סרט עבודה מיקום בסרט עבודה מיקום בסרט קלט
משפט : מ”ט NDTM זההל-online NDTM שיטה כללית להוכחת משפטים על יחס ביןסיבוכיותשל מ”ט מסוגים שונים : סימלוץ של מכונה אחד ע”י שניה נסמן QM - קבוצת מצבים שלמ”ט M סימלוץ MNע”יMon : יהיהQMon = QMN . סרט נביא של Monיראה מצב הבא של MN . Monבכל שלבתבצע מעבר מצבים לפי הנביא ותתקדם לתא הבא בסרט נביא .
משפט : מ”ט NDTM זהה ל-online NDTM סימלוץ Mon ע”יMN : QMN = QMon X G h , G - אלף בת של סרט נביא שלMon תהיfonפוקציית מעבר שלMon , י fon : qon ,g -> qon’ , g’g , q’ , q Q g , g’ G - תו בסרט נביאתו הבא אחריו , אם אין התקדמות g’ = g אז נגדירfN - פונקציית מעבר שלMN fN : qN = ( qon , g ) -> { qN ‘ = ( fon (qon , g ) , x ) | x G } לפי הגדרת fN ב-MN קיים מסלול זההל- Mon .
Nspace(S) Ntime(2S)משפט מס’ כל קונפיגורציות האפשריות שלM Nspace(S)kשווה ל-2O(S)k. יהיt1 … ti … tk ….tl astסדרת קונפיגורציות נניח שקונפיגורציה מסוימתחוזרת על עצמה , tk = tk . אזי סדרהt1 … ti-1 … tk+1 ….tl astמהווה חישוב זהה לקודם ללא קונפיגורציות חוזרות . לכן ניתן להניח שבחישוב של כל מ”ט אין קונפיגורציות חוזרות . ולכן מס’ צעדים שלMמוגבל ע”י מס’ קונפיגורציות שלה = 2O(S)k, כלומרM Ntime(2O(S))k.
Nspaceon(S) Nspaceoff(log(S))משפט לפי המשפט הקודם מספיק להראות ש-Moff יכוללסמלץMNתוך שימוש ב-(log(Sמקום. סרט נביא שלMoff יראה סדרה של קונפיגורציות עוקבות של MN . Moffיבדוק שהסדרה תקינה ( עבור כל קונפיגורציה ניתן לעבור ממנה לקונפיגורציה הבאה ) , מתחילה במצב התחלתי ומסתיימת במצב מקבל . אם התנאים מתקיימים זאת אומרת ש- MNמקבלת את הקלט ואז גםMoffתקבל אותו .
Nspaceon(S) Nspaceoff(log(S))משפט חישוב מקום דרוש ל- Moff : תוך בדיקות תקינותMoffמשווה בין שני קונפיגורציות . שני הקונפיגורציות נמצאות בסרט נביא (*) , אבל כדי להשוות ביניהםMoffחייבת להחזיק בסרט עבודה מונה המצביע על התאים הנוכחיים בסרט נביא . אורך קונפיגורציה שווה ל-O(S) h ולכן המונה דורשlog(O(S))hמקום . (*) בלי אפשרות לחזור אחורה בסרט נביא היה צורך להעתיק אחד משני קונפיגורציות עקבות לסרט עבודה וזה דורשO(S)bמקום .
Nspaceoff(S) Nspaceon(2O(S))משפט נבנהMonשיסמלץMoffתוך שימוש ב-2O(S)f מקום . הרעיון שלהסימלוץ : נביא שלMonיראה סרט נביא שלMoffעם קונפיגורציות שלMoffלפי סדרהזזות ראש סרט נביא . לשם ניתוח מקום הנדרש ננסה להגביל אורך של סרט נביא שלMoff .
Nspaceoff(S) Nspaceon(2O(S))משפט א) למה : יהיV -סדרת ביקורים של ראש סרט נביא בתא מסוים ב- Moff . |V| <= #conf( Moff ) נוכיח בשלילה . , |V|> #conf( Moff )אם אז ראש סרט נביא מבקר בתא זה פעם שניה עם אותה קונפיגורתיה . פונקציית מעבר שלMoffדטרמיניסטית , לכןMoffחוזרת על אותו מסלול ונכנסת ללולאה אין סופית .
Nspaceoff(S) Nspaceon(2O(S))משפט ב) למה : יהיL -אורך סרט נביא של Moff, ח A - אלף-בת של נביא אז L <= |A| * #conf(Moff ) #conf( Moff ) =22O(S) יהיוan ... ak ... ai ... a1תאים בסרט נביא Va - סדרת קונפיגורציות של מ”ט בכל ביקור של הראש נביא בתאa . אםak = aiו- Vai = Vak אז ניתן לבטל את כל תת סדרהai+1... aj-1 . |Va| <= #conf( Moff ) לפי למה א)ח ולכן מס’ אפשרויות שונות שווה ל-A| * #conf(Moff ) #conf( Moff) i |
Nspaceoff(S) Nspaceon(2O(S))משפט הוכחת המשפט : סרט נביא שלMon יראה סדרה של ( ai , Vai ) , כאשר { ai} - תאים של סרט נביא שלMoff , Vai - סדרת קונפיגורציה של Moffבכל ביקור ב- ai . Monתקבל קלט אם נביא מראה סדרה תקינה והקונפיגורציה האחרונה של אחד התאים מכילה מצב מקבל . כדי לודא תקינות יש לבדוק : - הקונפיגורתיה הראשונה שלVa1מהווה קונפיגורציה התחלתית שלMoff - כל שני קונפיגורציות עוקבות תואמות זו לזו . ( לשם זיהוי קונפיגורציות עוקבות נביא שלMonיראה עבור כל קונפיגורציה מאיזו כיוון הגיעו לתא שלה )
Nspaceoff(S) Nspaceon(2O(S))משפט נחשב מקום הדרוש ל- Mon Monצריכה לאחסן ( ai , Vai ) ו- ( ai+1 , Vai+1 )בסרט עבודה לשם בדיקת תואמות . לפי למה ב ) Va| <= 2O(S) h| .
Nspace(S) Dspace(S2)משפט נסמלץמ”ט MNע”י Mמ”טדטרמיניסטית . לשם כך נשתמש בגרף קונפיגורציות הגדרה : גרף קונפיגורציות של מ”טMעל קלט מסוים xזה גרף מכוון שקודקודים שלו הם כל קונפיגורציות אפשריות שלMוקיימת קשר בין שניקודקודיםאם ורק אם Mיכולה לעבור מקונפיגורציה של קודקוד אחד לקונפיגורציה של השני . כדי לדעת האםMמקבלx צריך לברר האם קיים מסלול מקודקוד שמייצג קונפיגורציה התחלתית לקודקוד שמייצג קונפיגורציה עם מצב מקבל . כבר ראינו שניתן להגביל את המסלול ע”י מס’ כלקונפיגורציות אפשריות . למה : יהי גרף(G=(V,E , ה x , y - קודקודים . ניתן לברר האם קיים מסלול מ-xל-yבאורך קטןמ-l תוך כדי שימוש ב-O( log(|V|) * log l )k
Nspace(S) Dspace(S2)משפט Mיכולה לבנות גרף קונפיגורציות שלMNעבור קלטxואז לפי למה היא תדע האםMNמקבלתאת xאו לא תוך שימושב-O(S2)hמקום . ( lע= |G| = מס’ קונפיגורציות שלMN =לO(2O(S))k) אמנם , כדי להחזיק את הגרף כולו יידרש הרבה יותר מקום , אבל אין צורך בכך . Mיכולהלבנות קטע מהגרף , לעבוד אליו ואחרי כן לבנות קטענוסף באותו מקום .
NL הגדרה : 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 הגדרה : L NL-Completeאם - L NL - לכלN NL , קיימת רדוקציה במקום לוגוריטמי מ-Nל-L
משפטCONN NL-Complete הגדרה : בעייתCONN עבור גרף מכווןG(V,E)kושניקודקודיםv , uצריך לענות האם קיים מסלול מ-vל-u . נוכיח ש-CONN NL . לשם כך נבנה מ”ט לא דטרמיניסטיתMשמקבלת CONN .
משפטCONN NL-Complete להלן אלגוריתם של M : v x מונה|V| תבצע עד ש- x=u מונה מונה - 1 נביא יראהy G אםx,y) V ) אזy x אחרת תדחה סוף לולאה אםx = uתקבל אחרת תדחה
משפט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 .