התזה של צ׳רץ׳ וטיורינג שי תבור shay.tavor@gmail.com www.shaytavor.com 1 מכונת טיורינג מכונת טיורינג ( )Turing Machineהיא מבנה תאורטי שהוצע ע״י אלן טיורינג ב 1936-ומהווה מודל חישובי שנשתמש בו. למכונה יש את המרכיבים הבאים - .1ראש קורא וכותב שיכול לקרוא מהקלט ולכתוב אליו ,וגם לזוז ימינה ושמאלה. .2סרט קלט אינסופי. .3מצב מקבל ומצב דוחה. .4פונקצית מעברים ששולטת בצעד הבא של המכונה. 2 shay.tavor@gmail.com www.shaytavor.com מכונת טיורינג – הגדרה פורמלית מכונת טיורינג מוגדרת כשביעיה ) (Q, Σ, Γ, 𝛿, q0, qaccept, qrejectכאשר: – Qאוסף המצבים של המכונה. – Σאלפבית הקלט ,קבוצה סופית של סימנים שלא כוללת את סימן הרווח נסמן אותו כ⊔ - – Γאלפבית הפלט ,כאשר ⊔∈ Γ, Σ ⊆ Γ 𝛿 -פונקצית המעברים ,עבור מצב מתוך Qוסימן מהסרט היא ממפה למצב אחר ,רושמת סימן כלשהו על הסרט ומגדירה האם הראש יזוז ימינה או שמאלה. – q0המצב ההתחלתי – qacceptהמצב המקבל – qrejectהמצב הדוחה 3 shay.tavor@gmail.com www.shaytavor.com פעולת המכונה מכונת טיורינג (מ״ט) מתחילה את פעולתה כאשר הראש נמצא בצד השמאלי ביותר של הסרט. סימני הקלט כתובים החל מהתא השמאלי ביותר וימינה .בסוף מילת הקלט מופיע רווח (הסימן רווח אינו חלק מאלפבית הקלט ולכן הוא מציין את סוף הקלט). בהנתן מצב qמסויים וסימן wעל הסרט ,הראש יכתוב במקום wאת הסימן ’( wיכול להיות ש ’ ,)w = wוינוע ימינה או שמאלה .אם הראש נמצא כבר בתא השמאלי ביותר של הסרט ,תנועה שמאלה תשאיר אותו במקום. כאשר המכונה נכנסת למצב קבלה או דחיה ,החישוב נגמר .אם היא לא נכנסת לאחד מהמצבים האלה ,החישוב יכול להיות אינסופי. 4 shay.tavor@gmail.com www.shaytavor.com קונפיגורציה בכל רגע נתון בזמן פעולת המכונה ניתן לתאר את המצב באמצעות מיקום הראש על הסרט ,והמצב בו נמצאת המכונה .תיאור זה נקרא קונפיגורציה. למשל ,הקונפיגורציה aaaq3aabמסמלת שהראש עבר כבר שלושה תווי ,aכרגע הוא נמצא מעל תו ה a-הרביעי ובמצב .q3 אנחנו אומרים שקונפיגורציה uaqibvמובילה לקונפיגורציה uqjacvאם בפונקצית המעברים קיים המעבר: )𝐿 𝛿 𝑞𝑖 , 𝑏 = (𝑞𝑗 , 𝑐, אנחנו אומרים שקונפיגורציה uaqibvמובילה לקונפיגורציה uacqjvאם בפונקצית המעברים קיים המעבר: )𝑅 𝛿 𝑞𝑖 , 𝑏 = (𝑞𝑗 , 𝑐, 5 shay.tavor@gmail.com www.shaytavor.com דוגמא נבנה מ״ט שמקבלת את השפה: }{aib2i+1c3i+2 | i ≥ 0 מילת הקלט כתובה על הסרט החל מהתא השמאלי ביותר. הרעיון – ״נסמן״ את התווים שאנחנו רואים באמצעות תו שלא שייך לאלפבית (נניח .)xבכל פעם שנראה aנסמן אותו ונחפש שני bושלושה .cבסוף נחפש עוד bו c-נוספים. 6 shay.tavor@gmail.com www.shaytavor.com bR xR aR xR q0 bR a_,R q1 bx,R q2 bx,R q3 cx,R _R xR q7 xR bR q8 q6 cx,L cx,R q5 q4 a, b, c L xR cR q9 cR _R q10 shay.tavor@gmail.com www.shaytavor.com qacc 7 תרגיל בנו מ״ט שמקבלת את שפת הפאלינדרומים על }{a, b 8 shay.tavor@gmail.com www.shaytavor.com aR bR _ L q1 a_,R bL aL q2 a_,L _R q3 q0 _R b _, R b_,L _R qacc q4 aR bR shay.tavor@gmail.com www.shaytavor.com q6 q5 aL bL 9 זיהוי שפה אוסף כל המחרוזות שמ״ט Mמקבלת היא השפה ש M-מזהה. שפה Lנקראת מזוהה-טיורינג אם קיימת מ״ט שמזהה אותה. הכרעת שפה כשמ״ט רצה על קלט מסויים ,היא לא חייבת לעצור בקבלה או דחיה ,היא יכולה גם להכנס ללולאה אינסופית. מ״ט שעוצרת על כל קלט נקראת מכונה מכריעה. שפה Lנקראת כריעה ,אם קיימת מ״ט שמכריעה אותה. אם שפה Lהיא כריעה ,היא גם מזוהה. 10 shay.tavor@gmail.com www.shaytavor.com משפט: השפה Lהיא כריעה אמ״מ גם Lוגם 𝐿 מזוהות טיורינג. הוכחה כיוון ראשון – נתון ש L-היא כריעה .כלומר קיימת מ״ט M1שמכריעה אותה. נבנה מ״ט M2שמכריעה את 𝐿 -המכונה M2תהיה זהה ל M1-אבל נחליף בין המעברים ל qaccept -ו.qreject - כיוון שני – נתון ש L -ו 𝐿 -הן מזוהות .כלומר קיימות מכונות M1, M2 שמזהות את השפות בהתאמה. נבנה מכונה M3שתכריע את Lבצורה הבאה - .1בהנתן מילה wנריץ לסירוגין את M1ו M2-על .w .2אם M1עצרה ,נחזיר את תשובתה. .3אם M2עצרה ,נחזיר את התשובה ההפוכה. כלומר ,עבור כל קלט wהמכונה M3עוצרת ולכן היא מכריעה את .L 11 shay.tavor@gmail.com www.shaytavor.com התזה של צ׳רץ׳ וטיורינג כל חישוב הנעשה במודל חישוב סביר ,ניתן לחישוב במכונת טיורינג. המושג ״חישוב״ הוא מושג אוניברסלי. התזה מגבילה למשל את כוחו של המחשב המודרני – כל מה שמחשב כזה מסוגל לבצע בעצם ניתן לביצוע גם ע״י מכונת טיורינג. האם מחשב קוונטי הוא מודל חישוב סביר? 12 shay.tavor@gmail.com www.shaytavor.com וריאנטים של מכונות טיורינג ניתן להשתמש בוריאנטים של מכונות טיורינג כדי לבצע חישובים שונים. נראה מספר וריאנטים כאלה ונראה את שקילותו למכונת טיורינג. 13 shay.tavor@gmail.com www.shaytavor.com מכונת טיורינג מרובת סרטים במכונת טיורינג מרובת סרטים יש מספר סרטים ,לכל אחד מהם ראש קורא וכותב. בתחילת החישוב הקלט נכתב על הסרט הראשון ושאר הסרטים ריקים. פונקצית המעברים משתנה בהתאם – הפונקציה קוראת את התו שרשום על kסרטים ומחליטה עבור kראשים מה הפעולה הבאה. האם מכונת טיורינג מרובת סרטים היא בעלת כוח חישובי גדול יותר ממכונת טיורינג רגילה? משפט :לכל מ״ט מרובת סרטים Mקיימת מ״ט רגילה Sששווה לה בכוח החישוב. 14 shay.tavor@gmail.com www.shaytavor.com מכונת טיורינג מרובת סרטים vs.מכונת טיורינג רגילה נראה איך ניתן לבנות מ״ט רגילה Sשמסמלצת את פעולת מ״ט מרובת סרטים .M הרעיון – כדי לדמות את ריבוי הסרטים באמצעות סרט אחד ,נשתמש בסימן מיוחד #כדי להפריד בין הסרטים. כדי לדעת איפה הראש נמצא בכל אחד מהסרטים ,נסמן בתג את התו שמעליו נמצא הראש (למשל ’.)a 15 shay.tavor@gmail.com www.shaytavor.com סימולציה של פונקצית המעברים בכל צעד של פונקצית המעברים של Mיש התחשבות ב k-ראשים ותווים. כדי לדמות את המצב במ״ט Sנבצע את הסימולציה הבאה: Sתבצע מעבר על הסרט כדי לדעת איפה נמצא הראש בכל אחדמהחלקים שמדמים תתי סרטים. כעת Sתבצע מעבר נוסף כדי לעדכן את כל אחד מהראשים במיקוםהחדש שלו. מה קורה אם נגמר המקום בתת סרט מסויים? 16 shay.tavor@gmail.com www.shaytavor.com הוכיחו את הטענה הבאה :שפה היא מזוהה טיורינג אמ״מ קיימת מ״ט מרובת סרטים שמזהה אותה. כיוון ראשון – אם שפה היא מזוהה טיורינג קיימת מ״ט שמזהה אותה. כיוון שמ״ט רגילה היא מקרה פרטי של מ״ט מרובת סרטים ,הוכחנו את הכיוון הזה. כיוון שני – אם קיימת מ״ט מרובת סרטים שמזהה שפה ,לפי המשפט הקודם ,קיימת מ״ט רגילה ששווה לה ,ולכן השפה היא גם מזוהה-טיורינג. 17 shay.tavor@gmail.com www.shaytavor.com תרגיל :נתון מודל של מכונת טיורינג עם סרט אינסופי לשני הכיוונים. הוכיחו שהמודל שקול למ״ט רגילה. בהנתן מ״ט עם סרט אינסופי ,Sנבנה מ״ט רגילה Mשתחקה את פעולת .S נרשום סימן מיוחד #על תחילת הסרט של Mכדי לסמן את הנקודה השמאלית ביותר. פונקצית המעברים – בכל מעבר של ,Sאם הראש נע ימינה ,נבצע בדיוק אותו מהלך ב.M- אם הראש נע שמאלה ,נבדוק אם הגענו ל .#-אם כן ,נבצע הזזה של כל תוכן הסרט תא אחד ימינה ואז נבצע את פעולת התזוזה שמאלה. 18 shay.tavor@gmail.com www.shaytavor.com מונה enumerator - מודל חישובי נוסף הוא מונה. המונה מכיל סרט עבודה כמו מ״ט ,וסרט הדפסה ,שהוא לכתיבה בלבד. המונה מכיל מצב מיוחד .qprintברגע שמגיעים למצב הזה ,כל מה שנמצא על סרט ההדפסה מודפס. המונה מכיל מצב . qhaltברגע שהמונה מגיע אליו ,פעולתו נפסקת. אין מצבי קבלה ודחיה. 19 shay.tavor@gmail.com www.shaytavor.com תרגיל – בנו מונה שמדפיס את כל המילים מעל השפה } {0, 1בסדר לקסיקוגרפי. 20 shay.tavor@gmail.com www.shaytavor.com { בסדר0, 1} תרגיל – בנו מונה שמדפיס את כל המילים מעל השפה .לקסיקוגרפי qpri _ R, 𝜀 _ 0, R, 𝜀 q1 q2 nt 0 1, R, 𝜀 1 0, R, 𝜀 0, 1 R, 𝜀 _ R, 𝜀 _ L, 𝜀 _ L, 𝜀 q3 q4 _ 0, R, 𝜀 0 1, R, 𝜀 0 L, 0 1 L, 1 q5 1 0, R, 𝜀 shay.tavor@gmail.com www.shaytavor.com 21 משפט – שפה Lהיא מזוהה טיורינג אמ״מ קיים מונה Lשמדפיס את L הוכחה כיוון ראשון – שפה Lהיא מזוהה טיורינג ,לכן קיימת מ״ט Mשמזהה אותה. נראה איך לבנות מונה Eשמדפיס את השפה .L עבור i = 1ועד אינסוף הרץ את Mעל iהמילים הראשונות בסדר לקסיקוגרפי של ,i Σצעדיםעל כל מילה. כל מילה ש M-קיבלה ,נשלח לסרט ההדפסה ונעבור ל.qprint-השפה שמודפסת היא .L 22 shay.tavor@gmail.com www.shaytavor.com משפט – שפה Lהיא מזוהה טיורינג אמ״מ קיים מונה Lשמדפיס את L הוכחה כיוון שני – קיים מונה Eשמדפיס את .L נראה איך לבנות מ״ט Mשמזהה את .L עבור מילת קלט wבמכונה ,הרץ את .E אם Eעצרה בלי להדפיס כלום M ,תדחה את .w אם Eהדפיסה ’ ,wנשווה את ’ wל w-ונקבל אם הן שוות. אם ,w’ ≠ wנמשיך להריץ את .E Mמזהה את .L 23 shay.tavor@gmail.com www.shaytavor.com הוכיחו – שפה Lהיא כריעה אמ״מ קיים מונה שמדפיס אותה בסדר לקסיקוגרפי. הוכחה כיוון ראשון – שפה Lכריעה ,כלומר קיימת מ״ט Mשמכריעה אותה. נראה איך לבנות מונה Eשמדפיס את המילים בשפה בסדר לקסיקוגרפי. פעולת המונה: המונה יחולל את כל המילים באלפבית בסדר לקסיקוגרפי. עבור כל מילה wהמונה יפעיל את Mעל .w אם Mמקבלת את E ,wידפיס אותה. אם Mדוחה את E ,wלא ידפיס. המונה ידפיס רק את המילים ששייכות ל L-בסדר לקסיקוגרפי. 24 shay.tavor@gmail.com www.shaytavor.com הוכיחו – שפה Lהיא כריעה אמ״מ קיים מונה שמדפיס אותה בסדר לקסיקוגרפי. הוכחה כיוון שני – קיים מונה Eשמדפיס את Lבסדר לקסיקוגרפי. נראה איך לבנות מ״ט Mשמכריעה את .L בהנתן מילה wב ,M-נריץ את Eעד לעצירה או הדפסה. אם Eעוצר M ,תדחה את .w אם Eמדפיס מילה ’ wנבדוק: אם w’ = wאזי Mתקבל את .w אם ’ wגדולה לקסיקוגרפית מ ,w-אזי Mתדחה את .w אחרת נמשיך להריץ את .E המכונה Mמכריעה את .L 25 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו את הטענה הבאה :לכל שפה אינסופית Lמזוהה טיורינג, קיימת תת שפה אינסופית שהיא כריעה. הוכחה לפי המשפט ,אם השפה Lהיא מזוהה טיורינג ,קיים לה מונה Eשמדפיס אותה. נבנה מונה E1בצורה הבאה: נריץ את Eעד להדפסת מילה ראשונה .Wcurr נמשיך להריץ את Eעד להדפסת המילה הבאה ’.w אם ’ wגדולה לקסיקוגרפית מ ,Wcurr-נדפיס את ’ wונציב אותה בתוך .Wcurr נמשיך להריץ את .E המונה E1מדפיס שפה בסדר לקסיקוגרפי ,ולכן לפי משפט ,השפה היא כריעה. 26 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו – אם השפה Lכריעה ,אז גם 𝐿 כריעה. הוכחה נתון ש L-כריעה ,לכן קיימת מ״ט Mשמכריעה אותה. נבנה מכונה M1שמכריעה את 𝐿. בהנתן מילה wנריץ את Mעליה .אם Mתקבל M1 ,תדחה ,ואם M תדחה M1 ,תקבל. המכונה M1מכריעה את 𝐿. 27 shay.tavor@gmail.com www.shaytavor.com תרגיל – אם קיים מונה שמדפיס את השפה Lבסדר לקסיקוגרפי ,האם קיים מונה שמדפיס את 𝐿 בסדר לקסיקוגרפי? לפי המשפט ,אם קיים מונה שמדפיס את השפה בסדר לקסיקוגרפי, השפה היא כריעה. אם השפה היא כריעה ,אזי המשלימה שלה היא כריעה. ראינו שאם שפה היא כריעה ,קיים מונה שמדפיס אותה בסדר לקסיקוגרפי ,ולכן הוכחנו את הטענה. 28 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו – אם השפה Lלא כריעה ,אז גם 𝐿 לא כריעה. הוכחה נתון ש L-לא כריעה .נניח בשלילה ש 𝐿 -כן כריעה ,כלומר קיימת מ״ט M שמכריעה אותה. נבנה מ״ט M1בצורה הבאה – בהנתן מילה wנריץ את Mעל .w אם Mמקבלת w ,שייכת ל 𝐿 -ולכן M1תדחה ,וההיפך. כלומר בעצם M1מכריעה את ,Lבסתירה לנתון. 29 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו או הפריכו את הטענות הבאות: .1אם L1, L2כריעות ,גם L1 U L2כריעה. 30 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו או הפריכו את הטענות הבאות: .2אם L1, L2מזוהות טיורינג ,גם L1 U L2מזוהה. 31 shay.tavor@gmail.com www.shaytavor.com תרגיל – הוכיחו או הפריכו את הטענות הבאות: .3אם Lמזוהה טיורינג ,גם שפת הרישות של Lמזוהה. 32 shay.tavor@gmail.com www.shaytavor.com