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