null

‫מ''ט למשימה ספציפית מול מ''ט למשימה כללית‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫‪2‬‬
‫עד כה נקטנו בגישה שלכל משימה יש לבנות מ''ט משלה שמבצעת‬
‫את המשימה הספציפית הזו‬
‫אך במציאות לא בונים מחשב שונה לכל תכנית שרוצים לבצע‬
‫לחילופין‪ ,‬בונים מחשב אחד שמסוגל לבצע כל משימה כאשר‬
‫משימות שונות מקודדות ע''י תכניות שונות שנותנים למחשב לבצע‬
‫אי לכך‪ ,‬נרצה לבנות מכונת טיורינג למטרה כללית אשר תדע לבצע‬
‫כל משימה המקודדת ע''י מכונת טיורינג אחרת הניתנת לה כקלט‬
‫כדי שנוכל למסור מ''ט כקלט למ''ט אחרת‪ ,‬יש לתאר כל מ''ט בצורה‬
‫חד משמעית ע''י מחרוזת‬
‫!‬
‫!‬
‫!‬
‫!‬
‫‪4‬‬
‫!‬
‫!‬
‫!‬
‫קידוד סטנדרטי של מכונת טיורינג‬
‫מכונת טיורינג אוניברסלית‬
‫פונקציות שאינן ניתנות לחישוב‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫קידוד סטנדרטי של מ''ט – המשך‬
‫!‬
‫חישוביות – הרצאה ‪6‬‬
‫המטרה‪ :‬לייצג כל מ''ט ע''י סידרה סופית של אפסים ואחדים‬
‫למעשה‪ ,‬נשאר לקודד רק את ‪) δ‬כל השאר נקבע בהנחות(‬
‫יש לקודד את כל |‪ (|Q|-2)×|Γ‬כניסות של טבלת המעברים‬
‫כאשר כל כניסה היא מהצורה )‪δ(q,σ) = (p,τ,d‬‬
‫מ''ט ‪ M‬תקודד ע''י מחרוזת‬
‫‪δ 1 00δ 2 00δ 3 00K 00δ (|Q|−2)×Γ 000‬‬
‫קידוד סטנדרטי של מכונת טיורינג‬
‫!‬
‫!‬
‫) ‪M = (Q, q 0 , F, Σ, Γ, b/ , δ‬‬
‫!‬
‫נניח בלי הגבלת הכלליות‪:‬‬
‫רווח‬
‫כאשר כל ‪ δi‬מקודד כניסה אחת בטבלת המעברים‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫נתאים לכל מכונת טיורינג מחרוזת ייחודית המקודדת‬
‫אותה‬
‫הקידוד יעשה עבור מכונות טיורינג בעלות סרט אחד‪,‬‬
‫}| ‪Q = {1,2, K, | Q‬‬
‫}‪F = {2,3‬‬
‫‪q0 = 1‬‬
‫}‪Σ = {0,1} Γ = {0,1,2‬‬
‫‪3‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫קידוד סטנדרטי של מ''ט – הערות‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫סדר קידוד המעברים אינו חשוב‬
‫קיימת מ''ט שבודקת לגבי כל מחרוזת של אפסים ואחדים האם‬
‫המחרוזת היא תיאור חוקי של מכונת טיורינג‬
‫הקידוד המתואר מתאים גם עבור מ''ט לחישוב פונקציות וגם עבור‬
‫מ''ט לזיהוי שפות‬
‫צורת הקידוד שבחרנו אינה יחידה‪ ,‬ניתן לקודד מ''ט בדרכים אחרות‬
‫ניתן לחשוב על כל מחרוזת בינארית כייצוג של מ''ט‬
‫מוסכמה‪ :‬מחרוזת שאינה תיאור חוקי של מ''ט מייצגת מ''ט שעל כל‬
‫קלט עוצרת מייד ודוחה )או עוצרת מייד עם פלט ריק(‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫‪6‬‬
‫המשך הדוגמה‬
‫!‬
‫!‬
‫אם הכניסה בטבלת המעברים היא )‪ δ(q,σ) = (p,τ,d‬אזי הקידוד יהיה‬
‫‪11‬‬
‫‪1 0 11‬‬
‫‪K3‬‬
‫‪K‬‬
‫‪K‬‬
‫‪K‬‬
‫‪K‬‬
‫‪12‬‬
‫‪12‬‬
‫‪31 0 11‬‬
‫‪12‬‬
‫‪31 0 11‬‬
‫‪12‬‬
‫‪31 0 11‬‬
‫‪12‬‬
‫‪31‬‬
‫‪ d‬פעמים‬
‫!‬
‫!‬
‫‪5‬‬
‫!‬
‫!‬
‫‪ τ +1‬פעמים‬
‫‪ p‬פעמים‬
‫‪ σ +1‬פעמים‬
‫‪ q‬פעמים‬
‫עבור תזוזה ‪ ,d=1 ,L‬עבור תזוזה ‪ ,d=2 ,R‬ועבור תזוזה ‪d=3 ,S‬‬
‫לדוגמה‪ ,‬המעבר )‪ δ(3,1) = (2,0,S‬יקודד ע''י‪:‬‬
‫‪111011011010111‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫הקידוד הסטנדרטי של המכונה‪:‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫נבנה מכונת טיורינג העוברת שלכל קלט *}‪x∈{0,1‬‬
‫מחליפה את האפס הראשון משמאל באחד‬
‫תיאור המכונה‪M = (Q, q 0 , F, Σ, Γ, b/ , δ ) :‬‬
‫}‪Q = {1,2,3,4‬‬
‫}‪F = {2,3‬‬
‫‪101011110110110010110101101100‬‬
‫‪101110110111011100111101011110101100‬‬
‫‪111101101111011011001111011101101110111000‬‬
‫‪8‬‬
‫כל ‪ δi‬מקודד באופן הבא‪:‬‬
‫קידוד סטנדרטי של מ''ט – דוגמה‬
‫! פונקצית המעברים‪:‬‬
‫)‪δ (1,0) = (4,1, R) δ (1,1) = (1,1, R) δ (1,2) = (2,2, S‬‬
‫)‪δ (4,0) = (4,0, R) δ (4,1) = (4,1, R) δ (4,2) = (2,2, S‬‬
‫!‬
‫קידוד סטנדרטי של מ''ט – המשך‬
‫‪q0 = 1‬‬
‫}) ‪Σ = {0,1} Γ = {0,1,2( ≡ b/‬‬
‫‪7‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫קידוד סטנדרטי – סימון‬
‫הקידוד הסטנדרטי של קונפיגורציה רגעית‬
‫!‬
‫עבור הקונפיגורציה ‪C = α1α 2 Kα i −1qα i Kα m‬‬
‫!‬
‫הקידוד הסטנדרטי הוא‬
‫!‬
‫הקידוד הסטנדרטי של מ''ט ‪ M‬יסומן ע''י >‪<M‬‬
‫‪11‬‬
‫‪1 0 11‬‬
‫‪K3‬‬
‫‪K‬‬
‫‪K‬‬
‫‪K‬‬
‫‪K‬‬
‫‪K‬‬
‫‪12‬‬
‫‪12‬‬
‫‪31 0 K 11‬‬
‫‪12‬‬
‫‪31 00 11‬‬
‫‪12‬‬
‫‪31 0 11‬‬
‫‪12‬‬
‫‪31 0 K 11‬‬
‫‪12‬‬
‫‪31 0‬‬
‫‪ α m +1‬פעמים‬
‫!‬
‫‪ α i +1‬פעמים‬
‫‪ q‬פעמים‬
‫‪ α i-1 +1‬פעמים‬
‫‪ α 2 +1‬פעמים‬
‫‪ α1 +1‬פעמים‬
‫הקידוד הסטנדרטי של קונפיגורציה ‪ C‬יסומן ע''י >‪<C‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫‪10‬‬
‫חישוב קונפיגורציה עוקבת )המשך(‬
‫טענה‪ :‬הפונקציה ‪ NEXT‬ניתנת לחישוב ע''י מ''ט‬
‫רעיון ההוכחה‪:‬‬
‫! נבנה מ''ט ‪ MNEXT‬המחשבת את הפונקציה ‪NEXT‬‬
‫! המכונה ‪ MNEXT‬תהיה בעלת שני סרטים‬
‫! על הקלט >‪ <M><C‬המכונה ‪ MNEXT‬פועלת באופן הבא‪:‬‬
‫!‬
‫!‬
‫‪12‬‬
‫מעתיקה את >‪ <C‬לסרט השני ובודקת את תקינותה של >‪<C‬‬
‫אם >‪ <C‬אינה חוקית‪ MNEXT ,‬תיכנס ללולאה אינסופית‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫‪9‬‬
‫חישוב קונפיגורציה עוקבת‬
‫!‬
‫!‬
‫בהינתן קידוד סטנדרטי של מ''ט‪ <M> ,‬וקידוד‬
‫קונפיגורציה רגעית שלה >‪ <C‬ניתן לחשב מהי‬
‫הקונפיגורציה העוקבת של ‪ C‬במ''ט ‪M‬‬
‫במילים אחרות‪ ,‬נגדיר פונקציה‬
‫>‪ <C‬לא חוקית‬
‫או ‪ C‬סופית‬
‫לא מוגדר‬
‫`‪C a C‬‬
‫>`‪<C‬‬
‫‪M‬‬
‫‪11‬‬
‫= )>‪NEXT(<M>, <C‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫הפונקציה האוניברסלית‬
‫!‬
‫חישוב קונפיגורציה עוקבת )המשך(‬
‫הגדרה‪ :‬הפונקציה האוניברסלית ‪ U‬הינה‪:‬‬
‫!‬
‫)‪U(<M>,x) = fM(x‬‬
‫!‬
‫הסברים‪:‬‬
‫!‬
‫!‬
‫!‬
‫הפונקציה ‪ U‬היא פונקציה חלקית‪ :‬אם מ''ט ‪ M‬לא עוצרת‬
‫על קלט ‪ x‬אזי )‪ U(<M>,x‬אינה מוגדרת‬
‫אם ‪ M‬עוצרת על ‪ x‬אזי )‪ U(<M>,x‬מוגדרת ושווה לפלט‬
‫של ‪ M‬על ‪x‬‬
‫‪14‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫המשך ההוכחה‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫‪16‬‬
‫!‬
‫!‬
‫!‬
‫‪13‬‬
‫בודקת האם ‪ C‬קונפיגורציה סופית ע''י סריקת >‪ <C‬עד למיקום‬
‫הראש )אחרי ‪ (00‬ובדיקת המצב )מצב סופי מתאים ל‪ 11-‬או ‪(111‬‬
‫אם ‪ C‬סופית‪ MNEXT ,‬תיכנס ללולאה אינסופית‬
‫אם ‪ C‬תקינה ולא סופית‪ ,‬תסרוק את הסרט השני כדי למצוא מצב‬
‫נוכחי ‪ q‬והאות הנוכחית ‪a‬‬
‫מחפשת בקידוד של >‪ <M‬בסרט הראשון את הכניסה המתאימה ל‪-‬‬
‫)‪ δ(q,a‬ומגלה מהו המעבר הנדרש‬
‫משנה את הקונפיגורציה הרשומה בסרט השני בהתאם למעבר‬
‫הנדרש‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫הפונקציה האוניברסלית )המשך(‬
‫אם הקידוד אינו חוקי אז לפי מוסכמה מדובר במ''ט שעוצרת מייד עם פלט ריק‪,‬‬
‫אזי גם ‪ MU‬תעצור עם פלט ריק‬
‫אם הקידוד חוקי‪,‬מפרשת את הקטע שלפני ‪ 000‬כ‪ <M>-‬ואת הקטע שאחרי כ‪x-‬‬
‫רושמת את הקידוד של קונפיגורציה התחלתית ‪ q0x‬על הסרט השני‬
‫כל עוד הקונפיגורציה הרשומה בסרט השני אינה סופית ‪ MU‬תחשב את‬
‫)>‪ NEXT(<M>,<C‬בסרט השני בעזרת המכונה ‪MNEXT‬‬
‫אם התקבלה בסרט השני קונפיגורציה סופית‪ ,‬אז ‪ MU‬תזהה את הפלט )משמאל‬
‫ל‪ (00-‬ותעתיק אותו לסרט השלישי‬
‫אבחנה‪ :‬אם ‪ M‬לא עוצרת על ‪ x‬אזי לא תתקבל לעולם קונפיגורציה סופית בסרט‬
‫השני ולכן גם ‪ MU‬לא תעצור‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫משפט‪ :‬הפונקציה האוניברסלית ניתנת לחישוב‬
‫הוכחה‪:‬‬
‫! נבנה מ''ט ‪ MU‬המחשבת את הפונקציה ‪U‬‬
‫! המכונה תהיה בעלת שלושה סרטים‬
‫! על קלט ‪ y = <M>x‬מ''ט ‪ MU‬פועלת באופן הבא‪:‬‬
‫!‬
‫‪15‬‬
‫מחפשת את ‪ 000‬ובודקת האם תת מחרוזת שלפני ‪000‬‬
‫היא קידוד חוקי של מכונת טיורינג‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫השפה האוניברסלית‬
‫!‬
‫הגדרה‪ :‬השפה האוניברסלית ‪ LU‬מוגדרת באופן הבא‪:‬‬
‫}‪ M‬מקבלת את ‪LU = {(<M>,x) : x‬‬
‫מכונת טיורינג אוניברסלית‬
‫!‬
‫!‬
‫הגדרה‪ :‬כל מכונת טיורינג אשר מחשבת את הפונקציה ‪U‬‬
‫נקראת מכונת טיורינג אוניברסלית‬
‫הערות‪:‬‬
‫!‬
‫!‬
‫ניתן להראות באופן דומה להוכחת המשפט האחרון כי‬
‫‪ LU‬ניתנת לקבלה ) כלומר‪( LU∈RE ,‬‬
‫!‬
‫!‬
‫‪18‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫פונקציות שאינן ניתנות לחישוב‬
‫!‬
‫!‬
‫!‬
‫!‬
‫‪20‬‬
‫בהמשך נראה דוגמאות לפונקציות שאינן ניתנות לחישוב‬
‫לדוגמה‪ ,‬נראה ששום פונקציה מלאה שמרחיבה את‬
‫הפונקציה האוניברסלית ‪ U‬אינה ניתנת לחישוב‬
‫מכאן נגיע לבעיה חשובה שאינה ניתנת להכרעה‪:‬‬
‫בעית העצירה‬
‫תחילה נשתכנע ע''י נימוקי ספירה שישנן הרבה פונקציות‬
‫שאינן ניתנות לחישוב )למעשה‪" ,‬רוב" הפונקציות(‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫לדוגמה‪ ,‬המכונה ‪ MU‬שתיארנו בהוכחת המשפט היא מ''ט‬
‫אוניברסלית‬
‫המכונה ‪ MU‬היא לא מ''ט אוניברסלית היחידה‪ ,‬יש אינסוף‬
‫מ''ט אוניברסליות אחרות שמחשבות את אותה פונקציה ‪U‬‬
‫מ''ט אוניברסלית מקבלת כקלט קידוד של מכונה כלשהי >‪<M‬‬
‫וקלט ‪ x‬עבור ‪ M‬ומחזירה את הפלט של ‪ M‬על ‪) x‬אם מוגדר(‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫‪17‬‬
‫תרגיל‬
‫תהי ‪ MU‬מ''ט אוניברסלית‬
‫האם הפלט של ‪ MU‬על קלט ))‪(<MU>, (<M>,x‬‬
‫זהה לפלט של ‪ MU‬על קלט )‪? (<M>,x‬‬
‫כן !‬
‫הסבר‪:‬‬
‫!‬
‫!‬
‫!‬
‫‪.1‬‬
‫‪.2‬‬
‫‪19‬‬
‫הפלט של ‪ MU‬על )‪ (<M>,x‬הוא פלט של ‪ M‬על ‪x‬‬
‫הפלט של ‪ MU‬על ))‪ (<MU>, (<M>,x‬הוא הפלט של‬
‫‪ MU‬על )‪ (<M>,x‬כלומר‪ ,‬זהה ל‪1-‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫נימוקי ספירה )המשך(‬
‫!‬
‫טענה ‪:2‬‬
‫נימוקי ספירה‬
‫!‬
‫ישנה התאמה חד חד ערכית מקבוצת מכונות טיורינג לקבוצת‬
‫המחרוזות הבינאריות‬
‫!‬
‫! הוכחה‪:‬‬
‫הוכחה‪:‬‬
‫!‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫הרחבה של פונקציה אוניברסלית ובעיית‬
‫העצירה‬
‫!‬
‫! עבור מספר …‪ r = 0.σ1σ2σ3‬נגדיר פונקציה ‪fr‬‬
‫באופן הבא‪ fr(xi) = σi :‬כאשר ‪ xi‬היא המחרוזת‬
‫ה‪-i-‬ית בסדר לקסיקוגרפי קאנוני‬
‫! קל לוודא שזוהי התאמה חד חד ערכית ועל‬
‫נתאים לכל מ''ט מחרוזת בינארית שהיא הקידוד הסטנדרטי שלה‬
‫‪22‬‬
‫הגדרה‪:‬‬
‫פונקציה מלאה ‪ f‬נקראת הרחבה של פונקציה‬
‫חלקית ‪ g‬אם עבור כל ‪ x‬עליו ‪ g‬מוגדרת מתקיים‬
‫)‪f(x) = g(x‬‬
‫‪21‬‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫נימוקי ספירה )המשך(‬
‫!‬
‫מסקנה מהטענות ‪ 1‬ו‪:2-‬‬
‫!‬
‫!‬
‫! דוגמה‪:‬‬
‫!‬
‫! ‪ g(x)=x/2‬אם ‪ x‬זוגי ולא מוגדרת אם ‪ x‬אי זוגי‬
‫! ‪ f(x)=x/2‬היא ההרחבה של ‪g‬‬
‫‪24‬‬
‫טענה ‪:1‬‬
‫ישנה התאמה חד חד ערכית ועל בין המספרים‬
‫הממשיים בקטע ]‪ [0,1‬לבין פונקציות בולאניות‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬
‫!‬
‫‪23‬‬
‫קבוצת הפונקציות הבולאניות אינה בת מנייה ) כי קבוצת‬
‫הממשיים בקטע ]‪ [0,1‬אינה בת מנייה(‬
‫קבוצת מכונות טיורינג היא בת מנייה )כי קבוצת‬
‫המחרוזות היא בת מנייה(‬
‫אבחנה‪ :‬קבוצת הפונקציות הניתנות לחישוב ע''י מ''ט אינה‬
‫"גדולה" מקבוצת מכונות טיורינג ולכן בת מנייה‬
‫מסקנה‪ :‬יש הרבה יותר פונקציות שלא ניתנות לחישוב‬
‫מאשר פונקציות אשר ניתנות לחישוב !!!‬
‫חישוביות ‪ -‬ד''ר אנה מוס‬