22
1 Space Complexity Non-Deterministic Space דדדדדד דדדד311692594

Space Complexity Non-Deterministic Space

  • Upload
    jetta

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Space Complexity Non-Deterministic Space. אליעזר מדבד 311692594. לשם ניתוח של מחלקה Nspace נשתמש במכונת טיורינג “משופרת ”. הגדרה : מכונת טיורינג לא דטרמיניסטית עם 3 סרטים - NDTM * סרט קלט , קריאה בלבד * סרט פלט , קריאה בלבד - PowerPoint PPT Presentation

Citation preview

Page 1: Space Complexity Non-Deterministic Space

1

Space ComplexityNon-Deterministic Space

אליעזר מדבד311692594

Page 2: Space Complexity Non-Deterministic Space

2

נשתמש במכונת טיורינג Nspaceלשם ניתוח של מחלקה “משופרת”

NDTM סרטים - 3מכונת טיורינג לא דטרמיניסטית עם : הגדרה

סרט קלט , קריאה בלבד *

* סרט פלט , קריאה בלבד

* סרט עבודה , קריאה וכתיבה

פנקציית מעבר לא דטרמיניסיטית *

קלט מתקבל ע”י המכונה אם היא עוברת למצב מקבל

MN סימון :

אנחנו נמדוד אורך סרט עבודה שהיה בשימוש של מכונת טיורינג

מ”ט עם מס’ סרטים ניתן לסמלץ ע”י מ”ט רגילה כך שאורך סרט עבודה יגדל בצורה פולינומית

Page 3: Space Complexity Non-Deterministic Space

3

online NDTM - online מ”ט לא דטרמיניסטית הגדרה :

סרט קלט , רק קריאה *

* סרט פלט , רק כתיבה

* סרט עבודה , קריאה וכתיבה

* סרט נביא , התוכן מתקבל בצורה לא דטרמיניסטית , רק קריאה , חד כיווני

פנקציית מעבר דטרמיניסיטית *

קלט מתקבל ע”י המכונה אם קיים תוכן של “נביא“ כך שהמכונה עוברת למצב מקבל .

offline NDTM - offline מ”ט לא דטרמיניסטית הגדרה :Mon סימון :

עם onlineזהה להגדרה של offlineהגדרת מ”ט לא דטרמיניסטית הבדל אחד : סרט נביא הוא דו-כיווני

Moff סימון :

Page 4: Space Complexity Non-Deterministic Space

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)}

Page 5: Space Complexity Non-Deterministic Space

5

קונפיגורציההגדרה :

זה תיאור מלא של מצב שלה בנקודה מסוימת Mקונפיגורציה של מ”ט

התיאור כולל :

M• מצב של

תוכן של סרט עבודה •

• מיקום של ראש על סרט קלט

• מיקום של ראש על סרט עבודה

M מס’ כל הקונפיגורציות האפשריות של - #conf(M) : סימון

|QM|* 2s(n) * n * s(n) = #conf(M) , M Nspace(s(n)) עבור

מס’ מצבים תוכן של סרט

עבודה

מיקום בסרט קלט

מיקוםבסרט עבודה

Page 6: Space Complexity Non-Deterministic Space

6

online NDTMזהה ל- NDTMמשפט : מ”ט

שיטה כללית להוכחת משפטים על יחס בין סיבוכיות של מ”ט מסוגים שונים :

סימלוץ של מכונה אחד ע”י שניה

Mקבוצת מצבים של מ”ט - QMנסמן

: Monע”י MN סימלוץ

QMonיהיה = QMN . סרט נביא של Mon יראה מצב הבא של MN.

Mon . בכל שלב תבצע מעבר מצבים לפי הנביא ותתקדם לתא הבא בסרט נביא

Page 7: Space Complexity Non-Deterministic Space

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 לפי הגדרת

Page 8: Space Complexity Non-Deterministic Space

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כלומר

Page 9: Space Complexity Non-Deterministic Space

9

Nspaceon(S) Nspaceoff(log(S)) משפט

תוך שימוש MNיכול לסמלץ Moffלפי המשפט הקודם מספיק להראות ש- מקום. log(S)ב-

. MN יראה סדרה של קונפיגורציות עוקבות של Moffסרט נביא של

Moff יבדוק שהסדרה תקינה ) עבור כל קונפיגורציה ניתן לעבור ממנהלקונפיגורציה

הבאה ( , מתחילה במצב התחלתי ומסתיימת במצב מקבל .

Moffמקבלת את הקלט ואז גם MNאם התנאים מתקיימים זאת אומרת ש-

תקבל אותו .

Page 10: Space Complexity Non-Deterministic Space

10

Nspaceon(S) Nspaceoff(log(S)) משפט

: Moff חישוב מקום דרוש ל-

משווה בין שני קונפיגורציות . Moff תוך בדיקות תקינות

Moff שני הקונפיגורציות נמצאות בסרט נביא )*( , אבל כדי להשוות ביניהםחייבת להחזיק בסרט עבודה מונה המצביע על התאים הנוכחיים בסרט נביא .

O(S) h אורך קונפיגורציה שווה ל-

מקום . log(O(S))hולכן המונה דורש

)*( בלי אפשרות לחזור אחורה בסרט נביא היה צורך להעתיק אחד משני קונפיגורציות עקבות

מקום . O(S)bלסרט עבודה וזה דורש

Page 11: Space Complexity Non-Deterministic Space

11

Nspaceoff(S) Nspaceon(2O(S)) משפט

מקום . 2O(S) fתוך שימוש ב- Moffשיסמלץ Monנבנה

עם קונפיגורציות Moff יראה סרט נביא של Mon : נביא של הרעיון של הסימלוץ .הזזות ראש סרט נביא לפי סדר Moff של

.Moffלשם ניתוח מקום הנדרש ננסה להגביל אורך של סרט נביא של

Page 12: Space Complexity Non-Deterministic Space

12

. Moffסדרת ביקורים של ראש סרט נביא בתא מסוים ב- -V: יהי למה א(

|V| <= #conf( Moff )

נוכיח בשלילה .

, |V|> #conf( Moff ) אם

אז ראש סרט נביא מבקר בתא זה פעם שניה עם אותה קונפיגורתיה .

דטרמיניסטית , Moff פונקציית מעבר של

חוזרת על אותו מסלול ונכנסת ללולאה אין סופית .Moff לכן

Nspaceoff(S) Nspaceon(2O(S)) משפט

Page 13: Space Complexity Non-Deterministic Space

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|

Page 14: Space Complexity Non-Deterministic Space

14

הוכחת המשפט :

ai , Vaiיראה סדרה של ) Monסרט נביא של כאשר ( ,

{ai תאים של סרט נביא של - }Moff ,

Vai . ai בכל ביקור ב- Moff סדרת קונפיגורציה של -

Mon תקבל קלט אם נביא מראה סדרה תקינה והקונפיגורציה האחרונה שלאחד התאים

מכילה מצב מקבל .

כדי לודא תקינות יש לבדוק :

Va1 - הקונפיגורתיה הראשונה של Moff מהווה קונפיגורציה התחלתית של

כל שני קונפיגורציות עוקבות תואמות זו לזו . ) לשם זיהוי קונפיגורציות - עוקבות נביא

יראה עבור כל קונפיגורציה מאיזו כיוון הגיעו לתא שלה ( Mon של

Nspaceoff(S) Nspaceon(2O(S)) משפט

Page 15: Space Complexity Non-Deterministic Space

15

Monנחשב מקום הדרוש ל-

Mon ( צריכה לאחסןai , Vaiai+1 , Vai+1ו- ) (

בסרט עבודה לשם בדיקת (

| . Va| <= 2O(S) hתואמות . לפי למה ב (

Nspaceoff(S) Nspaceon(2O(S)) משפט

Page 16: Space Complexity Non-Deterministic Space

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 ב-

Page 17: Space Complexity Non-Deterministic Space

17

M יכולה לבנות גרף קונפיגורציות שלMN עבור קלטx ואז לפי למה היא תדע

מקום . O(S2)hאו לא תוך שימוש ב- x מקבלת את MNהאם

( lע =|G | = מס’ קונפיגורציות שלMN =לO(2O(S)) k )

אמנם , כדי להחזיק את הגרף כולו יידרש הרבה יותר מקום , אבל אין צורך בכך .

M יכולה לבנות קטע מהגרף , לעבוד אליו ואחרי כן לבנות קטע נוסף באותומקום .

Nspace(S) Dspace(S2) משפט

Page 18: Space Complexity Non-Deterministic Space

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

Page 19: Space Complexity Non-Deterministic Space

19

אם L NL-Completeהגדרה :

- L NL

Lל- Nקיימת רדוקציה במקום לוגוריטמי מ- , N NLלכל -

NL

Page 20: Space Complexity Non-Deterministic Space

20

CONNבעיית הגדרה :

צריך לענות האם v , uושני קודקודים G(V,E)kעבור גרף מכוון קיים

.uל- v מסלול מ-

.CONN NLנוכיח ש-

.CONN שמקבלת Mלשם כך נבנה מ”ט לא דטרמיניסטית

CONN NL-Completeמשפט

Page 21: Space Complexity Non-Deterministic Space

21

CONN NL-Completeמשפט

:M להלן אלגוריתם של

v x

|V|מונה

x=uתבצע עד ש-

1מונה מונה -

y G נביא יראה

y x אז ) x,y) Vאם

אחרת תדחה

סוף לולאה

תקבל x = uאם

אחרת תדחה

Page 22: Space Complexity Non-Deterministic Space

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את הבנייה ניתן לבצע במקום