Design and Analysis of Algorithms, Technion EE, 2010 1 Design and Analysis of Algorithms Recitation 10 Turing Machine 2010 Gal Tamir Based on recitations.

Slides:



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

מבוא למדעי המחשב לתעשייה וניהול
מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
מכונת מצבים תרגול מס' 4 Moshe Malka.
מתמטיקה בדידה תרגול 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 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ניתוח תחבירי (Parsing) - המשך. תזכורת : סוגי הניתוח התחבירי top-down – מהשורש לעלים ( נקרא גם – " ניתוח תחזית " – predictive) bottom-up – מהעלים לשורש.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית 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.
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תכנות תרגול 10 שבוע : הקשר בין מערכים למצביעים נרצה לעמוד על הקשר בין מערך למצביע מאחר ומערכים הם הכללה של משתנים הרי שברור שלמערך ולכל אחד מאיבריו.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות 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 ז"א.
מבוא מורחב למדעי המחשב בשפת Scheme תרגול 10. אג'נדה שאלות מבחינות חזרה על מימוש stream אפשרי 2.
תורת הקומפילציה הרצאה 2 ניתוח לקסיקלי Wilhelm, and Maurer – Chapter 7 Aho, Sethi, and Ullman – Chapter 3 Cooper and Torczon – Chapter 2.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
1 Space Complexity Non-Deterministic Space אליעזר מדבד
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Marina Kogan Sadetsky –
מופעי הירח הכינה: ליאת סופר.
Presentation transcript:

Design and Analysis of Algorithms, Technion EE, Design and Analysis of Algorithms Recitation 10 Turing Machine 2010 Gal Tamir Based on recitations of Liane Lewin-Eytan and Alex Shraer

Design and Analysis of Algorithms, Technion EE, Deterministic Turing Machine x3x3 x4x4 x5x5 x6x6... x2x2 x1x1 q מצב סרט אינסופי ראש קורא / כותב xnxn bbb סרט אינסופי בכוון אחד המכיל תאים. בכל תא כתובה אות אחת מתוך א " ב סופי. ראש קורא / כותב נמצא בכל רגע מעל תא אחד המכונה נמצאת בכל רגע באחד ממספר סופי של מצבים ( בבקרה ). בתחילת הריצה הסרט מכיל את הקלט ואחריו אינסוף - ים. התוכנית מקודדת במצבי הבקרה b

Design and Analysis of Algorithms, Technion EE, הגדרה פורמאלית מכונת טיורינג ( מ " ט ) היא שביעיה : M = (Q, q 0, F, ,,  ) 1)Q קבוצה סופית - קבוצת המצבים 2)q 0  Q הוא מצב התחלתי ( בו מתחיל החישוב ) 3)F  Q הם מצבים סופיים ועוצרים ( בהם מסתיים החישוב ) 4)  קבוצה סופית - א " ב עבודה ( אותיות שהמכונה יכולה לכתוב על הסרט ) 5) א " ב הקלט 6)  \  נקרא רווח (blank) 7) פונקצית המעברים :  : (Q\F) x   Q x  x {L, R, S} bb ימינה שמאלה להישאר

Design and Analysis of Algorithms, Technion EE, צעדי חישוב הצעד מתבצע ע " פ האות a שהראש קורא ומצב הבקרה q. אם  (q, a) = (p, b, d) אז מתבצעות הפעולות הבאות : 1. האות a מוחלפת באות b ( לאו דווקא שונות ) 2. המצב q מוחלף במצב p ( לאו דווקא שונים ) 3. הראש זז בכוון d – מקרה מיוחד הוא ניסיון של המכונה ליפול מהסרט : כאשר הראש נמצא בתא השמאלי ביותר ופונ ' המעברים  קובעת שיש ללכת שמאלה. במקרה כזה הראש נשאר בתא השמאלי ביותר. חוץ מהשינוי בתנועה השאר מתבצע כרגיל. –“ חישוב " של מכונה הוא סדרה של צעדים כאלה

Design and Analysis of Algorithms, Technion EE, צעדי חישוב - המשך המכונה מתחילה כאשר על הסרט כתובה המילה x  *, שאר הסרט מרופד ב-. מצב הבקרה הוא q 0 והראש נמצא על הקצה השמאלי ביותר של הסרט. המכונה מתקדמת בצעדי חישוב עד שהיא מגיעה למצב סופי (עוצר) ואז הפלט של המכונה הוא המילה  * הכתובה משמאל לראש בסוף החישוב: b mm  1 22 11...  2 x3x3 x4x4 x5x5 x6x6... x2x2 x1x1 xnxn bbbb q0q0 qfFqfF הפלט

Design and Analysis of Algorithms, Technion EE, קונפיגורציות האינפורמציה שיש למכונה ברגע נתון היא : 1. תוכן הסרט 2. מצב המכונה 3. מיקום הראש – תוכן הסרט נראה אינסופי אבל למעשה, אחרי m צעדים, מספר התאים המעניינים הוא m}, אורך הקלט max{, השאר מכיל רק - ים – קונפיגורציה של מכונת טיורינג מייצגת מצב רגעי של המכונה וניתנת לתיאור כמחרוזת  * x Q x  * C , באופן הבא : C = a 1 a 2 …a i-1 qa i a i+1 …a n – משמעות : המכונה נמצאת במצב q, הראש מסתכל על התא ה -i ותוכן הסרט הוא a 1 a 2 …a n כשאחריהם - ים. – קונפיגורציה תחילית של מ " ט היא מהצורה : C = q 0 a 1 a 2 …a n כאשר x=a 1 a 2 …a n  * נקראת מילת הקלת והראש בצדו השמאלי של הסרט ( המצב הוא q 0 ). – קונפיגורציה מסיימת / סופית : קונפ ' עבורה q  F אינפורמציה סופית bb

Design and Analysis of Algorithms, Technion EE, Shift Right דוגמא : מכונת נבנה מ " ט המקבלת כקלט מחרוזת בינארית * {0, 1}  x ומוסיפה $ בצדה השמאלי הרעיון : נעתיק את כל אותיות הקלט תא אחד ימינה. עבור תא i: נזכור את האות הרשומה בתא i באמצעות המצב, ונרשום את האות שזכרנו מתא i-1 מימוש : bb 01 q0q0 b Q\F   מצב זוכר 0 מצב זוכר 1 מצב התחלתי למה זזים ימינה?

Design and Analysis of Algorithms, Technion EE, דוגמת הרצה הקלט :      b q0q0 $01      b $11      b $10      b $101      b C 0 =q C 1 =$ 01 C 2 =$1 1 C 3 =$10 C 4 =$101

Design and Analysis of Algorithms, Technion EE, קונפיגורציות - המשך הגדרה : נסמן אם מקונפ ' C עוברים לקונפ ' C’ בצעד חישוב יחיד של מכונה M לכל קונפ ' C יש קונפ ' עוקבת אחת, או שאין לה אף קונפ ' עוקבת, אם C היא קונפ ' מסיימת נסמן אם קיימת סדרה של קונפ ' C 1, C 2, …, C n כך שלכל i  n 1  מתקיים עבור n=0: לכל קונפ ' C נסמן ע " י את הסגור הטרנזיטיבי של היחס. כלומר אם קיים n  0 כך ש : C C’ M M n C i-1 C i M C M 0 M * M M C C’ * M n

Design and Analysis of Algorithms, Technion EE, חישוב של מ " ט הגדרה : החישוב של מ " ט M על קלט x הוא סידרה ( סופית או אינסופית ) של קונפיגורציות C 0, C 1, … המקיימת : 1.C 0 היא קונפיגורציה התחלתית q 0 x של M 2. לכל i  0: 3. אם הסידרה סופית, אז הקונפיגורציה האחרונה בסידרה היא קונפיגורציה מסיימת. C i C i+1 M

Design and Analysis of Algorithms, Technion EE, דוגמא : הוספת 1 לקלט הנתון בייצוג בינארי 1. נבצע Shift ימינה של הקלט תוך סימון הקצה השמאלי של הסרט ב - '$’ 2. נעבור על המספר מימין לשמאל ונחליף כל '1' ב -'0', עד שנגיע ל -'0' או ל - '$’ 3. נחליף את ה -'0' ( או ה - '$’) ל אם לא כתבנו על ה - '$’ נבצע Shift שמאלה של התוצאה 5. נזיז את הראש לימין התוצאה מימוש : משמעות המצבים : q 0 מצב התחלתי q 0 SR, q 1 SR – הזזה ימינה ע " י זכירת האות הקודמת. q ADD – הוספת 1 ( בשלבים 2 ו -3 באלגוריתם ) q 1 – מעבר ימינה לקראת הזזה שמאלה q 0 SL, q 1 SL, q b SL – הזזה שמאלה ע " י זכירת האות הקודמת. q R – מעבר ימינה לקראת סיום q f – מצב סופי

Design and Analysis of Algorithms, Technion EE, המשך הדוגמא טבלת המעברים : הערה : הסימון --- מציין מעברים בלתי יישיגים, אשר ניתן להגדירם שרירותית.

Design and Analysis of Algorithms, Technion EE, חישוב פונקציות הגדרה : הפונקציה f M המחושבת ע " י מ " ט M היא פונקציה ( מלאה או חלקית )  *   * f M :, המוגדרת ע " י : לכל x  1. אם החישוב של M על x אינסופי (M לא עוצרת על x) אז f M (x) אינה מוגדרת. במקרה זה f M היא פונקציה חלקית. 2. אם החישוב של M על x סופי והקונפיגורציה המסיימת היא  q  ( * ,   ) אז f M (x)=  עבור פונקציה f:  *   *, נאמר ש -f ניתנת לחישוב אם קיימת מ " ט M המחשבת את f( כלומר f M = f). בפרט, M עוצרת לכל קלט. דוגמאות : f(x) = $x f(x)=x+1

Design and Analysis of Algorithms, Technion EE, עוד דוגמאות של חישוב פונקציות 1. מ " ט שמחשבת את הפונקציה - אפשר גם L במקום S, כי הראש לא זז שמאלה בקצה השמאלי - אפשר גם להגדיר את q 0 כמצב סופי ואז לא צריך להגדיר פונק ' מעבר. 2. מ " ט שמחשבת את הפונקציה ( נניח ש : ) 3. מה הפונקציה שמחשבת המכונה הבאה : הפונק ' לא מוגדרת לאף קלט, כי המכונה אינה עוצרת לאף קלט

Design and Analysis of Algorithms, Technion EE, שקילות של מודלים לחישוב הגדרה : שני מודלים לחישוב ייקראו שקולים אם : פונק ' f ניתנת לחישוב במודל א ' אמ " מ f ניתנת לחישוב במודל ב '.

Design and Analysis of Algorithms, Technion EE, דוגמא לאי - שקילות מודלים : מ " ט ימנית מ " ט ימנית זו מ " ט רגילה, פרט לכך שבפונק '  אין אפשרות ללכת שמאלה :  : (Q\F) x   Q x  x {R, S} טענה : המודל הרגיל של מכונת טיורינג לא שקול למודל של מ " ט ימנית הוכחה : נראה שהפונקציה הבאה אינה ניתנת לחישוב במודל הנ " ל : האות הימנית ביותר ב - נניח בשלילה ש -f ניתנת לחישוב במודל החדש אזי קיימת מ " ט ימנית M המחשבת אותה. נתבונן בריצת M על הקלט 001. לפי ההנחה, הפלט יהיה 1. נסמן ריצה זו ב - . כעת נתבונן על ריצת M על הקלט 000. יש שלוש אפשרויות : 1. אם הראש אף פעם לא מגיע לתא השלישי, הריצה זהה ל -  ולכן הפלט 1 כמו ב - , כלומר שונה מ אם הראש מגיע לתא השלישי והמכונה לא מחזירה פלט ( בגלל שהיא לא עוצרת ), שוב המצב לא חוקי. 3. אם מגיעה לתא השלישי ובסופו של דבר מחזירה פלט, אורך הפלט הוא לפחות 2, כלומר שוב שגוי.

Design and Analysis of Algorithms, Technion EE, דוגמא לשקילות מודלים – מ " ט חסרת מנוחה מ " ט חסרת מנוחה זו מ " ט רגילה, פרט לכך שבפונק '  אין אפשרות להישאר במקום :  : (Q\F) x   Q x  x {L, R} טענה : המודל הרגיל של מכונת טיורינג שקול למודל של מ " ט חסרת מנוחה הוכחה : ( להוכחת שקילות יש תמיד שני כיוונים ) א ) אם פונק ' f ניתנת לחישוב ע " י מ " ט חסרת מנוחה, אז היא ניתנת לחישוב ע " י מ " ט רגילה - פשוט אותה מכונה היא גם מ " ט רגילה. ב ) אם פונקציה f ניתנת לחישוב ע " י מ " ט רגילה M 1, אז נבנה מ " ט M 2 חסרת מנוחה המחשבת את f. תהי נגדיר bb

Design and Analysis of Algorithms, Technion EE, מ " ט חסרת מנוחה - המשך עבור  2 נגדיר : לכל q  Q 1 ו -a , אם :  1 (q, a)=(p, b, R) או  1 (q, a)=(p, b, L) אז נקבע :  1 (q, a)  2 (q, a) = אחרת, כלומר אם  1 (q, a)=(p, b, S) אז נגדיר ב -  2 : (p’, b, R)  2 (q, a) = בנוסף,  c  ולכל q’  Q 1 נגדיר : (q, c, L)  2 (q’, c) = כלומר אם M 1 נשארת במקום, M 2 תלך ימינה וא " כ שמאלה. האם אפשר להחליף את סדר הצעדים ( קודם שמאלה וא " כ ימינה )?

Design and Analysis of Algorithms, Technion EE, סרטים k מודל מ " ט עם q מצב k k סרטים k ראשים מצבי בקרה משותפים ל -k הסרטים ( אין מצב נפרד לכל סרט ) לכל k זהו מודל אחר !

Design and Analysis of Algorithms, Technion EE, סרטים k מודל מ " ט עם איתחול : הקלט בקצה הסרט הראשון, אחריו - ים. בשאר הסרטים רק - ים. כל הראשים בקצות הסרטים והמצב הוא q 0. צעד : ע " ס המצב הנוכחי ו -k האותיות שהראשים רואים, ב -k הסרטים, המכונה מחליטה עבור כל ראש מה יכתוב ולאיזה כוון יזוז. כמו כן, היא מחליטה לאיזה מצב לעבור. פורמאלית : פלט : המחרוזת שמשמאל לראש בסרט הראשון בסיום החישוב דוגמא : f(x) = xx 1. כתוב $ בתחילת הסרט השני. 2. הזז את שני הראשים תוך כדי העתקת הקלט לסרט השני 3. העבר את ראש הסרט השני לתא מימין ל -$ 4. שני הראשים זזים יחד ומעתיקים את תוכן הסרט השני לראשון  : (Q\F) x  k  Q x  k x {L, R, S} k bb למה?

Design and Analysis of Algorithms, Technion EE, סרטים k מודל מ " ט עם      aaa      ba      קונפיגורציה של מ " ט k סרטית מוגדרת כ -k- יה : (  1 q  1,  2 q  2, …,  k q  k ) כאשר q  Q מסמן את מיקום הראש בכל סרט ואת מצב הבקרה.  *  i  i מייצגים את תוכן הסרט ה -i. למשל : קונפ ' התחלתית : (q 0 x, q 0, q 0, q 0, …, q 0 ) טענה : לכל k  1 מודל מ " ט עם k סרטים שקול למודל של מ " ט חד - סרטית. כוון קשה : לכל מ " ט רב סרטית M יש מ " ט חד סרטית S שקולה בהינתן M אנו צריכים לבנות S. בעצם צריכים לסמלץ את M ע " י S. הרעיון : #01010#aaa#ba#      M S bbbb

Design and Analysis of Algorithms, Technion EE, אלגוריתם הסימולציה על קלט w n   w=w 1 w 2  S מכינה את הסרט כך שייצג את w: #    # # # w n   w 1 w 2  # כדי לסמלץ צעד של M, S עושה את הדברים הבאים: 1.סרוק את הסרט החל מ-# הראשון עד ה-# ה-k+1 שמסמן את הקצה הימני, וזוכרת את k האותיות שמתחת לראשים ה"וירטואליים". 2.סרוק שוב ועדכן לפי פונקציית המעבר של M (כולל הראשים הוירטואליים). 3.חזור על שני השלבים 1 ו-2 עד ש-M מגיעה למצב מסיים. 4.הזז את תוכן הסרט (הוירטואלי) הראשון שמאלה במקום אחד, ואז הזז את הראש ל-# הראשון מימין לתחילת הסרט. 5.עבור למצב מסיים. אם בשלב 2 אחד הראשים הוירטואליים מוזז ימינה ונמצא מעל-#, ז"א ש-M זזה לחלק שעד כה היו שם blanks. לכן S רושמת blank במקום זה, ומזיזה את תוכן הסרט החל מהתא הזה עד ה-# האחרון במקום אחד ימינה. לאחר מכן היא חוזרת לסימולציה הרגילה bb

Design and Analysis of Algorithms, Technion EE, בעיות הכרעה עד כה, דיברנו על חישוב פונקציות. לעיתים, נוח יותר לעסוק בקבלת שפות, כלומר פונק ' שטווח הערכים שלהן מכיל רק 2 ערכים : accept, reject הגדרה : מ " ט לזיהוי שפות היא מ " ט בעלת שני מצבים סופיים : accept } q reject, F = {q נאמר ש - M מקבלת את הקלט x אם קיימים  * ,   כך ש : נאמר ש - M דוחה את הקלט x אם קיימים  * ,   כך ש : הערה : ייתכן ש -M עינה מקבלת ואינה דוחה את x: M לא עוצרת על x. השפה המתקבלת ע " י מ " ט לזיהוי שפות M: M} מקבלת את x |  * L(M)={x יש 3 אפשרויות להפעלת M על x: – לעצור ולקבל – לעצור ולדחות – לא לעצור הגדרה : נאמר שמ " ט לזיהוי שפות M מכריעה את השפה L אם : M מקבלת את L וגם M עוצרת על כל קלט x  * ( במצב q accept או q reject ) M q 0 x  q accept  * M q 0 x  q reject  * x  L(M) x  L(M)

Design and Analysis of Algorithms, Technion EE, בעיות הכרעה דוגמאות : 1.M מכריעה את  * :  (q 0, a)=(q acc, a, S) :  a  * 2.M מכריעה  :  (q 0, a)=(q rej, a, S) :  a  * 3.M מקבלת אך לא מכריעה את  :  (q 0, a)=(q 0, a, S) :  a  * הגדרה : מחלקת השפות הרקורסיביות היא מחלקת השפות המתקבלות ע " י מ " ט העוצרת לכל קלט : } קיימת מ " ט המכריעה את L R = { L| הגדרה : מחלקת השפות הניתנות למניה רקורסיבית היא מחלקת השפות המתקבלות ע " י מ " ט : } קיימת מ " ט המקבלת את L RE = { L| הגדרה : מ " ט לזיהוי שפות M 1 שקולה למ " ט לזיהוי שפות M 2 אם : M 1 מקבלת שפה L אמ " מ M 2 מקבלת את L. כלומר, אם : L(M 1 )=L(M 2 )