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

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
מכונת מצבים תרגול מס' 4 Moshe Malka.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
Robust Characterization of Polynomials 1 Robust Characterization of polynomials “IT DOES NOT MAKE SENCE!” מרצים : אורי גרסטן יניב עזריה Ronitt Rubinfeld.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Design and Analysis of Algorithms, Technion EE, Design and Analysis of Algorithms Recitation 10 Turing Machine 2010 Gal Tamir Based on recitations.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
תחשיב היחסים (הפרדיקטים)
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
בעיות נוספות ב-NPC.
Marina Kogan Sadetsky –
תרגול 11 NP complete.
למה רמת פרמי צריכה להיות קבועה בחומר שנמצא בשווי משקל?
חזרה חלקית על תרגול 12 גרף G=(V,E)
Engineering Programming A
Presentation transcript:

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

2 לשם ניתוח של מחלקה Nspace נשתמש במכונת טיורינג “ משופרת ” הגדרה : מכונת טיורינג לא דטרמיניסטית עם 3 סרטים - NDTM * סרט קלט, קריאה בלבד * סרט פלט, קריאה בלבד * סרט עבודה, קריאה וכתיבה * פנקציית מעבר לא דטרמיניסיטית קלט מתקבל ע ” י המכונה אם היא עוברת למצב מקבל סימון : M N אנחנו נמדוד אורך סרט עבודה שהיה בשימוש של מכונת טיורינג מ ” ט עם מס ’ סרטים ניתן לסמלץ ע ” י מ ” ט רגילה כך שאורך סרט עבודה יגדל בצורה פולינומית

3 הגדרה : מ ” ט לא דטרמיניסטית online NDTM - online * סרט קלט, רק קריאה * סרט פלט, רק כתיבה * סרט עבודה, קריאה וכתיבה * סרט נביא, התוכן מתקבל בצורה לא דטרמיניסטית, רק קריאה, חד כיווני * פנקציית מעבר דטרמיניסיטית קלט מתקבל ע ” י המכונה אם קיים תוכן של “ נביא “ כך שהמכונה עוברת למצב מקבל. סימון : M on הגדרה : מ ” ט לא דטרמיניסטית offline NDTM - offline הגדרת מ ” ט לא דטרמיניסטית offline זהה להגדרה של online עם הבדל אחד : סרט נביא הוא דו - כיווני סימון : M off

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 הגדרה : קונפיגורציה קונפיגורציה של מ ” ט M זה תיאור מלא של מצב שלה בנקודה מסוימת התיאור כולל : מצב של M תוכן של סרט עבודה מיקום של ראש על סרט קלט מיקום של ראש על סרט עבודה M מס ’ כל הקונפיגורציות האפשריות של - #conf(M) : סימון |Q M |* 2 s(n) * n * s(n) = #conf(M), M  Nspace(s(n)) עבור מס ’ מצביםתוכן של סרט עבודה מיקום בסרט קלט מיקום בסרט עבודה

6 משפט : מ ” ט NDTM זהה ל -online NDTM שיטה כללית להוכחת משפטים על יחס בין סיבוכיות של מ ” ט מסוגים שונים : סימלוץ של מכונה אחד ע ” י שניה נסמן Q M - קבוצת מצבים של מ ” ט M סימלוץ M N ע ” י M on : יהיה Q M on = Q M N. סרט נביא של M on יראה מצב הבא של M N. M on בכל שלב תבצע מעבר מצבים לפי הנביא ותתקדם לתא הבא בסרט נביא.

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 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 Nspace on (S)  Nspace off (log(S)) משפט לפי המשפט הקודם מספיק להראות ש - M off יכול לסמלץ M N תוך שימוש ב -(log(S מקום. סרט נביא של M off יראה סדרה של קונפיגורציות עוקבות של M N. M off יבדוק שהסדרה תקינה ( עבור כל קונפיגורציה ניתן לעבור ממנה לקונפיגורציה הבאה ), מתחילה במצב התחלתי ומסתיימת במצב מקבל. אם התנאים מתקיימים זאת אומרת ש - M N מקבלת את הקלט ואז גם M off תקבל אותו.

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 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 א ) למה : יהי V - סדרת ביקורים של ראש סרט נביא בתא מסוים ב - M off. |V| <= #conf( M off ) נוכיח בשלילה., |V|> #conf( M off ) אם אז ראש סרט נביא מבקר בתא זה פעם שניה עם אותה קונפיגורתיה. פונקציית מעבר של M off דטרמיניסטית, לכן M off חוזרת על אותו מסלול ונכנסת ללולאה אין סופית. Nspace off (S)  Nspace on (2 O(S) ) משפט

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 הוכחת המשפט : סרט נביא של 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 נחשב מקום הדרוש ל - 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 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 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 הגדרה : 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 הגדרה : L  NL-Complete אם - L  NL - לכל N  NL, קיימת רדוקציה במקום לוגוריטמי מ -N ל -L NL

20 הגדרה : בעיית CONN עבור גרף מכוון G(V,E)k ושני קודקודים v, u צריך לענות האם קיים מסלול מ -v ל -u. נוכיח ש -CONN  NL. לשם כך נבנה מ ” ט לא דטרמיניסטית M שמקבלת CONN. משפט CONN  NL-Complete

21 משפט CONN  NL-Complete להלן אלגוריתם של M : v x מונה |V| תבצע עד ש - x=u מונה מונה - 1 נביא יראה y  G אם x,y)  V ) אז y x אחרת תדחה סוף לולאה אם x = u תקבל אחרת תדחה

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.