משתמש:חישוביות/HW1

מתוך ויקיפדיה, האנציקלופדיה החופשית

תורת החישוביות – 236343 – תרגיל בית 1[עריכת קוד מקור | עריכה]

1. לא הגדרנו בהרצאה ובתרגול מה בדיוק התוצאה של נסיון ליפול מהסרט (בזה תלויה הפונקציה המחושבת ע"י מ"ט כזאת שמנסה ליפול מהסרט). נניח שאחרי הקונפ' ו- המכונה עוברת לקונפ' (כלומר, הראש נשאר במקום). זאת אומרת שבמקום הנסיון ליפול מהסרט היינו יכולים להשאיר את הראש במקום, בתנאי שנדע שמיקום הראש הינו בקצה הסרט. בשביל זה נוסיף ל- את האותיות המיוחדות שיופיעו רק בקצה הסרט, ורק הן יופיעו שם. בכך נחליף את ב- (לסימון Left). נוסיף מצב חדש כדי להכניס משמאל אות חדשה מאלה שהוספנו: . החלפנו את ב-, ופונקצית המעברים מוגדרת כלהלן:

המכונה החדשה לא תנסה ליפול מהסרט, ולכל קלט תיצור אותו פלט אלא האות השמאלית שלו תהיה במקום . נוסיף למכונה עוד אות מיוחדת אחת לסימון סוף הפלט, ועוד מצבים אחרי המצבים הסופיים שיגרמו לראש מה"ט ללכת שמאלה עד הקצה, להחליף את האות השמאלית באות רגילה, וללכת חזרה ימינה עד סוף הפלט המסומן: , ופונקצית המעברים מוגדרת כלהלן:

בנינו את המכונה הנדרשת ותפקיד המצבים החדשים הוא: – לסמן את האות השמאלית ולהתחיל את החישוב; – לסמן את סוף הפלט ולהתחיל ללכת שמאלה עד הקצה; – ללכת שמאלה עד הקצה ולהסיר סימון מהאות השמאלית; – ללכת ימינה עד סימן סוף הפלט, למחוק את הסימן, לעצור.

הגדרת פונקצית המעברים:

2. נבנה אותה מכונה כמו שבנינו להוספת 1 בתרגול, עם שתי תוספות: נתחיל את ההחסרה מתא מימין לסוף הקלט (הכפלה), ונטפל במקרים בהם הפלט צריך להיות ריק.

טבלת המעברים:
0 1 $ תיאור
--- סימון הקצה השמאלי ב-$
--- הזזת 0 ימינה (לא ראינו 1-ים בקלט)
--- הזזת 1 ימינה
--- הזזת 0 ימינה (ראינו 1-ים בקלט)
--- מחיקת הסרט ומעבר שמאלה עד הקצה (קלט אפסי, פלט ריק)
החסרה ללא הלוואה
--- --- החסרה עם הלוואה
--- מעבר ימינה עד סוף הפלט המופק

3. המודל בגיל העמידה שקול למודל הסטנדרטי. ברור איך לסמלץ מכונה סטנדרטי במכונת המודל החדש: נחליף את המצבים הסופיים בלולאות אינסופיות . לסימולציה בכיוון השני נצטרך לגלות לולאות אינסופיות שמהוות עמידה. אחרי שהמכונה נעמדת, משתנים רק מיקום ראשה והאות בתא שעליה הראש מצביע, זה אומר שלאחר ככל היותר צעדים הקונפיגורציה תחזור על עצמה. אז עם הראש נשאר באותו מקום צעדים ברציפות, נדע בוודאות שהקונפיגורציות הולכות בלולאה, ולפיכך המכונה כבר נעמדה. נצטייד במכונה עם שני סרטים, שכבר יודעים על שקילותה למודל הסטנדרטי, ונקח בתור הא"בים של הסרטים את . בסרט השני נמדוד כמה צעדים הראש נשאר באותו מקום. (הראש יהיה באותו מיקום בשני הסרטים, כאילו זה סרט אחד עם שני נתיבים.) נגדיר את פונקצית המעברים כלהלן:

,כש- הינו המצב הסופי היחיד שנוסיף למצבים המקוריים.

המכונה החדשה תחשב את אותה פונקציה כמו המכונה המקורית.

4. המכונה שנבנה פשוט תרשום על גבי הסרט את המילה ואז תפעיל את המכונה המקורית. נניח ש-

המכונה תתחיל מלסמן את הקצה השמאלי של הסרט ב-$, אח"כ תרשום את מאות השניה ימינה עד הסוף, אח"כ תסמן את סוף הקלט ב-, ולבסוף תחזיר את ראש שמאלה עד הקצה, תרשום את האות הראשונה של במקום $, ותפעיל את החישוב המקורי. במצב המכונה תרשום את האות ה- של .

המכונה תהיה כש- נגדרת כלהלן: