הקדמה קצרה: מהות הקורס ומטרתו

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "הקדמה קצרה: מהות הקורס ומטרתו"

Transcript

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

2 חלק א': מהי תכנית מחשב, ומה ניתן לעשות בעזרתה?. איך מגדירים בעיה? כמקובל במדעי המחשב, אנחנו מגדירים בעיה כיחס (דו מקומי) שבו לכל קלט ישנו פלט מתאים. (זהו יחס ולא פונקציה כי יתכן שלקלטים מסויימים יהיה יותר מפלט מתאים אחד.) בפרט, אנחנו מבחינים בין סוגים שונים של בעיות: בעיות הכרעה: בעיות עבורן לכל קלט הפתרון הוא תשובה חיובית או שלילית. בעיות הכרעה לדוגמא יכולות להיות "קבע האם קיים מעגל פשוט בן 7 קדקדים בגרף הנתון", או "קבע אם במערך של זוגות (מפתח, ערך) קיים ערך שהמפתח שלו שייך לקבוצת מפתחות נתונה ". K בעיות חיפוש: בעיות בהן רוצים לקבל חזרה ערך שמתאים לדרישות שהגדרנו. לדוגמא "החזר מעגל פשוט בן 7 קדקדים בגרף הנתון (אם קיים כזה)", או "מצא ערך עם מפתח מהקבוצה K במערך והחזר אותו (אם ישנו כזה)". בעיות אופטימיזציה: בעיות חיפוש בהן רוצים לקבל חזרה ערך שממקסם (או ממזער) דרישה כלשהי. לדוגמא "החזר את המעגל הפשוט הגדול ביותר בגרף הנתון", או "מצא את הערך המינימלי במערך שלו מפתח מהקבוצה ". K במהלך הרוב המוחלט של הקורס אנו נתרכז בבעיות הכרעה; אינטואיטיבית, בעיות אלו הן ה"קלות ביותר" מבין הסוגים שהצגנו, וניתן להבחין שאם נדע לפתור בעיית חיפוש או אופטימיזציה, נוכל בפרט גם לענות על בעיית ההכרעה המתאימה לה. מאוחר יותר בקורס נראה שבמובן מסויים (ועבור קבוצה מסויימת של בעיות) ניתן גם לומר שבעיות אופטימיזציה או חיפוש לא "הרבה יותר קשות" מגרסאות ההכרעה שלהן. הגדרת שפות ופעולות על שפות נשים לב שבעיית הכרעה ניתן לייצג פשוט ע"י קבוצת הקלטים עליהם התשובה היא חיובית. לכן, במקום לדון בבעיות ממש, נוכל להסתפק בדיון בקבוצות של קלטים. קלטים יהיו תמיד מיוצגים ע"י מחרוזות; עניין זה לא אמור להפתיע אותנו, הואיל ובסופו של דבר כל תכנית מחשב שאנו מכירים מקבלת את הקלט שלה מקודד כסדרה של ביטים. באופן פורמלי, אנו נשתמש בהגדרות הבאות. הגדרה: א"ב (בד"כ יסומן באות היוונית ( Σ הוא קבוצה סופית של סימנים (או סימובלים, תוים או אותיות). הגדרה: מילה (או מחרוזת) מעל א"ב Σ היא רצף סופי של תוים מ-. Σ בפרט, נגדיר את המילה הריקה (שתסומן ב- ε) להיות המילה שאינה מכילה תוים כלל. אורך המילה w (יסומן ( w הוא מספר התוים במילה w ומכאן ש- Σ. היא קבוצה של מלים מעל Σ. ε = 0 הגדרה: שפה מעל א"ב כיוון ששפות הן פשוט קבוצות, ניתן להתייחס לגודל (עוצמה) של שפה מספר המלים בה (בהקשר זה, חשוב לשים לב ש-{ ε }, עובדה פשוטה מתורת הקבוצות שסטודנטים רבים מתבלבלים לגביה); ניתן גם לדבר על איחוד, חיתוך או הפרש של שתי שפות. משלים של שפה L מעל Σ יהיה פשוט כל המלים מעל Σ שאינן ב-, L או באופן פורמלי, L Σ= \ L כאשר Σ מציין את קבוצת כל המלים מעל Σ (את הבחירה בסימון זה נסביר בהמשך). נגדיר כעת כמה פעולות המיוחדות למחרוזות ולשפות. =x שתי מלים מעל א"ב, Σ אזי המילה w מעל Σ היא השרשור של x xkxm, y= y yk y n הגדרה: תהיינה. w= xxk xm y yk y n w= ( אם x y ) y ו- x (. w ε = ε w= (נשים לב שלכל מילה w מתקיים w =x מילה מעל Σ ו- k 0 מספר טבעי, החזקה ה- k של x מוגדרת להיות הגדרה: תהי x x K. x ε k x k = x k = 0 k > 0 x m

3 L שפות מעל א"ב, Σ אזי השרשור שלהן מוגדר להיות, L הגדרה: תהיינה. L L = { w w w L, w L } (. L = (נשים לב שלכל שפה L מתקיים =L הגדרה: תהי L שפה מעל Σ ו- 0 k מספר טבעי, החזקה ה- k של L מוגדרת להיות k { ε} k = 0. L = k L L k > 0 הגדרה: תהי L שפה מעל, Σ הסגור קליני של L (על שם (Stephen Cole Kleene מוגדר להיות. L =U k=0 (נשים לב שלכל, ε L, L ובנוסף L מכילה גם היא רק מלים סופיות. כעת גם ברור למה בחרנו לסמן את קבוצת כל המלים האפשריות מעל א"ב Σ בסימון.) Σ L k.( Σ ) L, L ( L L ) = L תרגיל: הוכח או הפרך: L מעל אותו א"ב.( Σ L, L L, 3 ) L ( L L3) = L L L 3 תרגיל: הוכח או הפרך: L מעל אותו א"ב 3

4 . איך מגדירים (תכניות) מחשב? נרצה למצוא מודל מדוייק שבעזרתו נוכל לתאר מחשב (או תכנית מחשב); נשים לב שהמטרה (השאפתנית!) שלנו היא למצוא מודל שיוכל לייצג כל צורה של חישוב שניתן להעלות על הדעת. אנו נתחיל דווקא במודל פשוט יחסית, שיתרונו העיקרי מבחינתנו (לפחות כרגע) הוא שפשטותו תאפשר לנו לנתח אותו בקלות יחסית. ראשית, ננסה לחשוב אלו תכונות אוניברסליות יש לכל צורה של חישוב; אם אכן ישנן תכונות כאלה, נרצה שהמודל שלנו ישקף אותן. אנו נתייחס להבחנות הבאות: חישוב (או אלגוריתם) הוא משהו שמתבצע צעד אחרי צעד, כאשר כל צעד עושה שינוי "קטן" ו"מקומי" שמוגדר היטב מבחינתנו. גם באלגוריתמים שעושים שינויים גדולים בבת אחת באותו צעד, ניתן לפרק את כל שינוי גדול לסדרה סופית של פעולות בסיסיות קטנות. לחישוב יש שני "רכיבים מרכזיים": הראשון מביניהם הוא ה"לוגיקה" של האלגוריתם, שהיא סופית וקבועה, ונמצאת תמיד באחד מבין מספר סופי של מצבים. נתבונן למשל באלגוריתם מיון פשוט כלשהו: אותו אלגוריתם בדיוק (עם אותו מספר שורות) יכול לשמש אותנו גם למיון של 5 איברים, וגם למיון של,000,000 איברים; גם בתכניות מחשב אנו מצפים שתכנית אחת (עם מספר שורות סופי) תדע לטפל נכון בכל אחד מאינסוף הקלטים האפשריים עבורה. הרכיב השני של החישוב, הוא הזכרון; בזכרון אנחנו רושמים כל מיני דברים שנצטרך להשתמש בהם יותר מאוחר, ובמהלך הריצה יתכן שהאלגוריתם יבקש עוד ועוד מקום בזכרון כדי לשמור שם דברים. לכן גודל הזכרון עלול לגדול במהלך הריצה (בניגוד ללוגיקה שנשארת קבועה) ולא ניתן לחסום אותו מראש. מכונת טיורינג נגדיר כעת את המודל שלנו; מודל זה נקרא מכונת טיורינג (או בקיצור מ"ט) ונקרא על שם Alan Turing שהציג אותו לראשונה. המודל שלנו, בהתאם להבחנות לעיל, יכיל שני רכיבים: המעבד (הלוגיקה של התכנית,,(CPU שנמצא בכל רגע נתון באחד מבין מספר סופי של מצבים. סרט הזכרון שיכיל את כל המידע במהלך הריצה, ובפרט את הקלט לתכנית. סרט הזכרון יחולק לתאים, ובכל תא יהיה ניתן לכתוב תו בודד מתוך א"ב Γ כלשהו. לסרט תהיה התחלה (יש "תא ראשון", שמאלי ביותר, שמשמאלו אין עוד תאים), אבל אנו נניח שהוא ממשיך ימינה עד אינסוף, מה שיאפשר לנו לשמור כל כמות של מידע שנדרש. על מנת לקשר בין המעבד לסרט הזכרון, נגדיר שלמעבד יש "ראש קורא-כותב" שבעזרתו הוא יכול לגשת בכל רגע נתון לתא בודד בסרט הזכרון. בכל צעד של המכונה, המעבד נמצא באחד מבין קבוצה סופית של מצבים, וראש המכונה קורא תו מסויים מתוך הסרט. על סמך מידע זה, המעבד מחליט (על פי התוכנית שלו) על הצעד לביצוע: קביעת המצב הבא של המעבד, שינוי האות בתא שבו נמצא הראש, והזזת הראש תא אחד ימינה או שמאלה. (במודל שלנו, בכל צעד יתבצעו כל שלוש הפעולות; כמובן שלא חייבים לשנות את מצב המעבד או האות על הסרט, שכן ניתן פשוט "לכתוב" שוב את מה שהיה קודם. אנו כן נניח שהראש הקורא-כותב זז ממקומו בכל צעד.) בנוסף, כיוון שלסרט יש קצה שמאלי, נקבע כי נסיון לזוז שמאלה מהקצה פשוט משאיר את הראש בתא הראשון הראש לא זז שמאלה (כי אין לאן) אבל גם לא קורית שום תקלה ולמעשה למעבד אין דרך לדעת אם הוא נשאר באותו מקום או זז שמאלה וראה שוב את אותה האות שהיתה בתא הקודם. (נעיר שלמעשה המעבד אינו יודע מה האינדקס של התא שהוא נמצא בו. מדוע זה חייב להיות כך?) נסכים שבתחילת הריצה הקלט מופיע מייד בתחילת הסרט (בתאים הראשונים, לפי אורכו), ושהראש הקורא-כותב נמצא בתא הראשון (ולכן קורא את התו הראשון של הקלט). נסכים גם שבתחילת הריצה כל (אינסוף) התאים שבהם לא נמצא חלק מהקלט יש סימן "רווח" מוסכם כלשהו _, ושסימן זה אינו יכול להופיע גם בתוך הקלט. כעת אנו יכולים להגדיר באופן פורמלי מכונת טיורינג הפועלת במודל זה (אותו נכנה "מודל T"). Σ,, M = Q, כך ש- Γ, δ, q0, acc, re הגדרה: מכונת טיורינג (מ"ט) במודל T מוגדרת על ידי שביעיה Q היא הקבוצה הסופית של המצבים בהם יכול להמצא המעבד,.. Σ הוא א"ב הקלט של המכונה קבוצת הסימנים שמשמשת לייצוג כל הקלטים האפשריים למכונה, 3. Γ הוא א"ב המכונה (או א"ב הסרט) קבוצת הסימנים שיכולים להופיע בכל תא בסרט, (נשים לב ש- ;Σ Γ זוהי גם תמיד הכלה ממש כי בפרט _ Γ \ Σ ( q 0 הוא המצב שבו המכונה מתחילה את פעולתה על הקלט, Q.4 acc Q הוא מצב עצירה מקבל, 5. re Q הוא מצב עצירה דוחה, 6..δ : Q \ acc, re Γ Q Γ R, L היא פונקציית המעברים של המעבד, מהצורה δ 7. 4 ( ) ( { }) { }

5 לדוגמא, המשמעות של המעבר מהסרט היא, a בצעד הבא נעבור למצב תא אחד ימינה. נשים לב ש- צעד נוסף מתאים לביצוע. דוגמא: תאר באופן מלא מ"ט שעבור קלט מעל ועוצרת במצב דוחה אם לא. ( q, a) ( q, b R) i i,, q היא "אם מצב המעבד הוא q i והאות הנקראת נכתוב את האות b במקום האות, a ונזיז את ראש המכונה acc, re הם אכן מצבי עצירה, במשמעות שכאשר מגיעים אליהם, אין אף { a, b, c} =Σ, עוצרת במצב מקבל אם הקלט מכיל את האות, c נרצה להיות מסוגלים להתייחס פורמלית גם לריצות של מכונות טיורינג. לשם כך נגדיר את ההגדרות הטבעיות הבאות: ( ) x,, c= q, שמתארת l, r Q Γ Γ הגדרה: קונפיגורציה של חישוב מ"ט M מוגדרת ע"י רביעיה Γ "תמונת מצב" של חישוב (ריצה) של M ברגע נתון. q הוא המצב הנוכחי של המכונה, x הוא התו שראש המכונה נמצא עליו, l היא מחרוזת התוים מתחילת הסרט ועד לתא שמשמאל לראש המכונה, ו- r היא המחרוזת של התוים מהתא שמימין לראש המכונה ועד לתא האחרון (הימני ביותר) בו יש תו כלשהו שאינו רווח. נשים לב שקונפיגורציה של חישוב מסויים מכילה את כל המידע שיש לאלגוריתם בזמן מסויים (גם אם הוא לא יכול להתייחס לכולו ישירות: במודל שהגדרנו המעבד מתייחס רק לאות אחת בזכרון בכל רגע). אם למשל נרצה להריץ מכונה מסויימת, ואז להפסיק ולתת למישהו אחר (שיש לו את מבנה המכונה, אבל לא עקב אחרי ההרצה שלנו) להמשיך מאותה נקודה, יהיה מספיק (והכרחי!) לתת לו את הקונפיגורציה שבה הפסקנו. דוגמא לקונפיגורציה של מכונה היא הקונפיגורציה ההתחלתית בריצה על קלט w כלשהו. למשל על קלט.( q0, a, ε," bc" ( q 0 תהיה ) w="abc", הקונפיגורציה ההתחלתית (של כל מכונה עם מצב התחלתי אם הפעלת המעבר המתאים ( M (עבור מכונה c מקונפיגורציה נובעת נאמר שקונפיגורציה c הגדרה: M מהקונפיגורציה c תביא אותנו בדיוק אל הקונפיגורציה c. בפונקציית המעברים של c 0 =C c כך ש- c, M על קלט w היא סדרת קונפיגורציות (אולי אינסופית) K, הגדרה: ריצה של מכונה ( ) 0, c.c i c i נובעת מהקונפיגורציה היא הקונפיגורציה ההתחלתית של M על הקלט, w ולכל <i 0, הקונפיגורציה הגדרה: נאמר שמכונה M עוצרת על קלט w אם הריצה של M על w היא סדרה סופית של קונפיגורציות כך acc,. q { במקרה שבו, q= acc נאמר ש- M מקבלת re} מתקיים c m = ( q, x, l, שבקונפיגורציה האחרונה (r את ; w אם, q= re נאמר ש- M דוחה את. w כעת, אנו יכולים להגיע (סוף סוף!) להגדרות לגבי שימוש של מ"ט לפתרון בעיות הכרעה. הגדרה: נאמר שמכונה M מקבלת שפה מקבלת את. w הגדרה: נאמר שמכונה את. w, L אם לכל קלט, L אם לכל קלט M, w L מקבלת את M, w L ולכל, w M, w L מקבלת את M, w L ולכל, w לא דוחה M מכריעה שפה. w Σ M L M Σ L מסקנה: מכונה M מכריעה שפה מעל אם"ם מקבלת את וגם ריצת עוצרת על כל קלט שימו לב שלמרבה הצער המילה "מקבלת" בעברית היא התרגום הנפוץ גם לפועל accept (שמשמש באנגלית למשמעות לעיל) וגם לפועל,receive שמשמש באנגלית לתאר את המצב בו "נותנים" למכונה קלט כלשהו. כך ניתן להגיע בעברית לסיטואציות מבלבלות בהן כאשר מכונה מקבלת קלט מסויים (כלומר, מריצים אותה על אותו הקלט) היא דוחה אותו. אנו נשתדל להמנע מבלבול בכתוצאה משימוש במושג הנ"ל, אבל חשוב להיות ערניים לאי הבנות שנובעות מכפל המשמעות הזה. L L הגדרה: נאמר ששפה הגדרה: נאמר ששפה M המקבלת אותה. היא ניתנת לקבלה (או קבילה) אם קיימת מ"ט M המכריעה אותה. היא ניתנת להכרעה (או כריעה) אם קיימת מ"ט מסקנה: כל שפה כריעה היא גם ניתנת לקבלה. 5

6 a,b}, Σ= { כאשר ו- b { w. L = תרגיל: כתוב תיאור מלא של מ"ט להכרעת השפה L מעל הא"ב מכילה אותו מספר של מופעי האותיות a { } w} b,, Σ= a, כאשר תרגיל: כתוב תיאור מלא של מ"ט להכרעת השפה L מעל הא"ב c. L= { w היא פלינדרום מאורך זוגי w} לסיכום, כמה הערות חשובות: עד כה ראינו כמעט אך ורק הגדרות, ולא מעט מהן. ההגדרות עצמן לא מסובכות, אבל חשוב מאוד להכיר ולהבין את כולן באופן מושלם, הואיל והרעיונות המורכבים יותר בקורס מבוססים עליהן לחלוטין, והרבה טעויות של סטודנטים נובעות מלזכור את ההגדרות "בערך". בהקשר הזה, חשוב לשים לב תמיד לאיזה "סוג אובייקט" מתייחסת הגדרה; למשל ההגדרה של כריעות מתייחסת לשפה בעוד ההגדרה של הכרעה מתייחסת למכונה (שימו לב ששפה ומכונה הם דברים שונים לגמרי!). בפרט, ישנן הגדרות עם אותו שם עבור אובייקטים שונים (למשל קבלה של קלט ע"י מכונה וקבלה של שפה ע"י מכונה) וחשוב להיות ערים להבדלים (המשמעותיים!) ביניהם. 6

7 3. מודלים שונים של חישוב, והיחסים ביניהם עד כה, הגדרנו מודל פשוט לחישוב, שלו קראנו מכונת טיורינג (במודל T). נרצה להתבונן גם במודלים מורכבים יותר ולהיות מסוגלים לומר משהו על הכוח החישובי של מודל אחד בהשוואה למודל אחר. לשם כך נגדיר את המושגים הבאים: M שקולות אם לשתיהן אותו א"ב קלט, Σ ולכל, M M שתי מ"ט. נאמר שהמכונות,M הגדרה: תהיינה w Σ מתקיים:. w על M M על w אינה עוצרת, כך גם הריצה של אם הריצה של א. M על w עוצרת באותו המצב. M על w עוצרת במצב מקבל או דוחה, גם הריצה של אם הריצה של ב. במודל A M אם לכל מ"ט לא חלש יותר ממודל A שני מודלים של מ"ט. נאמר שמודל B הגדרה: יהיו,A B קיימת מ"ט שקולה M במודל. B, B לא חלש יותר מהמודל שני מודלים של מ"ט. נאמר שהמודלים שקולים אם המודל A,A B הגדרה: יהיו והמודל B לא חלש יותר מהמודל. A,A B שני מודלים שקולים של מ"ט, כשאנחנו מדברים על כריעות או קבילות של שפה, אין צורך מסקנה: אם לציין באיזה מודל השפה כריעה/קבילה, כי כריעות/קבילות במודל אחד גוררת גם כריעות/קבילות במודל האחר. (זה כמובן תקף גם עבור חישוביות של פונקציה, וכל תכונה אחרת שמסתמכת על תוצאה של חישוב מ"ט.) הערה: בהיעדר טרמינולוגיה (אצלנו בשלב זה) עבור מודלים של חישוב שאינם עוסקים במ"ט, ההגדרות לעיל עוסקות רק במודלים שונים של מ"ט; מובן שההגדרות לעיל ניתנות להרחבה באופן טבעי לכל מודל של חישוב שמאפשר להוציא פלטים של קבלה ודחיה. למשל, אם נרצה לומר שהמודל של תוכניות בשפת C אינו חלש יותר ממודל מ"ט, נצטרך להראות שלכל מכונה יש תכנית בשפת C שמוציאה פלט זהה עבור כל קלט. רוב הזמן, בכל אופן, נסתפק בבחינת מודלים שונים של מכונות טיורינג. מודל מ"ט עם סרט אינסופי לשני הכיוונים במודל T המקורי שלנו, לסרט היה קצה שמאלי, והקלט הופיע בתחילתו; נגדיר כעת מודל שבו הסרט הוא אינסופי גם לימין וגם לשמאל. באופן טבעי, במודל זה הקלט לא יופיע בתחילת הסרט אלא במקום כלשהו, ומשמאלו יהיו רווחים. כמו במודל המקורי, נניח שבתחילת הריצה ראש המכונה נמצא מעל האות הראשונה של הקלט. (מה נעשה אם הקלט ריק?) נסמן מודל זה ב-. B כעת, נשאלת השאלה האם שטח הזכרון הנוסף שקיבלנו הוסיף לנו כוח חישובי על פני זה שהיה לנו במודל המקורי. T. משפט: המודל B שקול למודל הוכחה: על מנת להוכיח את המשפט נראה שכל אחד מהמודלים מסוגל לבצע "סימולציה" של המודל האחר. M B במודל B ישנה מ"ט M שקולה במודל, B ולכל מ"ט T M T במודל T קיימת מ"ט בפרט, נראה שלכל מ"ט M שקולה במודל T; נתחיל בכיוון הקל יותר. B M במודל B שתפעל באופן הבא: T M T מ"ט במודל T; נבנה מ"ט תהי q (ללא חשיבות לאות הנקראת), זוז צעד אחד שמאלה והשאר את האות שקראת כפי 0 מהמצב ההתחלתי. שהיתה. שאינו חלק מא"ב המכונה של כעת האות הנקראת היא בהכרח רווח; החלף את הרווח בסימן Γ $. ועבור למצב ההתחלתי q של M (במכונה שלנו זהו "סתם" מצב, ולא המצב T 0, M T זוז ימינה, ההתחלתי). M T עפ"י פונקציית המעברים המקורית δ. אם נתקלת בתו $ (עבורו כל עוד זה אפשרי, בצע את מעברי 3. אין מעברים ב- δ), השאר באותו מצב, השאר את סימן ה- $ במקומו, וזוז צעד ימינה. (זהו כמובן תיאור מילולי ולא בניה פורמלית של מ"ט; חשבו איך יראה התיאור הפורמלי של מ"ט כזו.), M T M T על w "מסומלץ" ע"י סדרה של צעד אחד או יותר של נשים לב שעבור כל קלט, w כל צעד בריצה של M T על w שתסתיים, M T ולכן כל ריצה של M "מייצג" את תוכן הסרט של T ובכל רגע נתון, תוכן הסרט של. w על M T באופן מסויים, תסתיים באותו אופן (גם אם במספר גבוה יותר של צעדים) גם כאשר נריץ את 7

8 M B M B במודל, B נרצה להראות מ"ט שקולה כעת נרצה להראות את הכיוון המורכב יותר בהנתן מ"ט T. בכדי לבצע סימולציה של סרט אינסופי לשני הכיוונים על סרט אינסופי לכיוון אחד נשתמש ברעיון במודל הבא: נניח שיש לנו סרט אינסופי לשני הכיוונים, ואנו "מקפלים" אותו באמצעו. מה שנקבל נראה כמו סרט אינסופי לכיוון אחד (שיש לו "קצה" במקום הקיפול), כך שלכל אורכו יש לו שתי שכבות השכבה העליונה (של הצד הימני המקורי) והשכבה התחתונה (של חלק הסרט שהמשיך לשמאל ו"קופל" לכיוון ההפוך). סרט "מקופל" כזה כבר יהיה קל יחסית "לסמלץ" על סרט רגיל, עם קצה שמאלי. נקודות שלהן נצטרך להקדיש תשומת לב מיוחדת הן הצורך לזכור כל הזמן על איזה שכבה אנו נמצאים (אותו מקום בסרט המקופל מצביע על מיקום אחד משמאל לקיפול ומיקום אחד מימין לקיפול), העובדה שבעקבות הקיפול כיווני ימין-שמאל התהפכו בשכבה התחתונה, וטיפול במעבר בין השכבות בנקודת הקיפול. ( M B באופן הבא: M (על בסיס המכונה B באופן פורמלי, נבנה את המכונה M להיות { B Γ ונקבע את א"ב המכונה של = γ γ Γ} Γ נגדיר, M B. יהי Γ א"ב המכונה של.((_, Γ = ( Γ (את תו הרווח נזהה עם הזוג (_ Γ) Γ u d (. Q גם מצבים נוספים ב- (יהיו. q, q Q ניצור מצבים M B לכל מצב q Q ב-. M נבנה כך שיבצעו את האלגוריתם הבא: B 3. את מעברי. בתחילת הריצה, אם קראת תו a Γ החלף אותו בתו (_, a ), וזוז ימינה. כל עוד נקרא תו a Γ שאינו רווח, החלף אותו ב-(_,a ( וזוז ימינה.. כאשר נתקלת ברווח, זוז שמאלה. המשך לזוז שמאלה עד שתגיע חזרה לתא הראשון (ניתן לזהות 3. u, q 0 וזוז שמאלה (מה אותו בזכות הפורמט הייחודי של (_, a )). כאשר הגעת אליו, עבור למצב שבפועל ישאיר את הראש בתא הראשון). M B באופן הבא. כעת נבצע סימולציה של מעברי 4. ניצור מעברים: q, a R q, b עבור כל מעבר מהצורה ( i ) (, ) δ u u ( qi,( a, c) ) ( q,( b, c), R) u u ( qi,( a, c) ) ( q,( b, c), R) d d ( qi,( c, a) ) ( q,( c, b), L) ( q, a) ( q, b L) δ c Γ : c Γ : c Γ : ניצור מעברים דומים באופן סימטרי; מעברים i ועבור כל מעבר מהצורה, אלו מטפלים בתזוזות בתוך כל שכבה. כעת נטפל במעבר בין השכבות (בנקודת הקיפול). עבור כל מעבר מהצורה L, q, a q, b ניצור גם מעברים: ועבור כל מעבר מהצורה ( i ) (, ) δ u d ( qi,( a, c) ) ( q,( b, c), L) ( qi, a) ( q, b, R) δ d u ( q,( a, c) ) ( q,( b, c) L) c Γ :, ניצור גם מעברים: c Γ : i, w על M B "מסומלץ" ע"י צעד שקול בריצת גם כאן ניתן לראות שלאחר עבודת הכנה, כל צעד בריצת B ו- M יניבו אותה תוצאה, ולכן הן שקולות. M B לכן על כל קלט המכונות. w M על B מודל מ"ט עם יותר מסרט אחד נסיון לבנות דוגמאות של מ"ט במודל המקורי להכרעת כמה שפות פשוטות מגלה עד מהרה צורך (מעצבן למדי) לרוץ מקצה לקצה של הסרט כדי לגשת לנתונים שונים. פתרון נוח יותר יכול להיות פשוט ע"י הוספה של סרטים MT k של מ"ט עם k סרטים (כולם נוספים, שלכל אחד מהם ראש קורא-כותב משלו. לכל k סופי, נגדיר מודל אינסופיים לשני הכיוונים). מכונה כזו קוראת, כותבת וזזה בכל k הסרטים בו זמנית (בכל צעד), ולכן פונק' המעברים שלה היא מהצורה ( Q \{ acc, re} ) Γ k Q Γ k { R, L} k δ : (חשוב לשים לב שלמרות שיש כמה סרטים וראש לכל סרט, למכונה עדיין יש מצב יחיד בכל רגע נתון). נסכים שבתחילת הריצה הקלט מופיע אך ורק על הסרט הראשון, והסרטים האחרים ריקים (מכילים רק רווחים). למראית עין, ניתן להתרשם שבניגוד למודל הקודם, מודל זה כבר נותן לנו יתרון אמיתי על פני המודל המקורי; האמנם? 8

9 ע( MT k שקולים. משפט: לכל, k המודלים T ו- הוכחה: לשם פשטות, נוכיח את הטענה עבור המקרה הפרטי של =k ; קל להכליל את ההוכחה שנראה לכל k שנרצה. (בנוסף, היכולת לייצג שני סרטים על סרט אחד בפרט גוררת את הטענה באינדוקציה לכל k סופי.) כמו. B ו- MT כן, הואיל וכבר הוכחנו שהמודלים T ו- B שקולים, נוכל להסתפק בלהראות שקילות בין המודלים שוב, ישנם שני כיוונים שעלינו להוכיח, ואנו נתחיל בכיוון הקל יותר. M באופן הפשוט הבא: לכל מעבר B MT במודל M B מ"ט במודל, B נבנה מ"ט שקולה תהי ( qi, a, _) ( q, b, _, D, R) δ ניצור מעבר מקביל, M B R, ( D { במכונה L} (כאשר ( qi, a) ( q, b, D) δ M, ומתעלמים מהסרט השני (אנו רק זזים בו ימינה B M. למעשה אנו משתמשים רק בסרט הראשון של B במכונה מבלי לכתוב כלום, ומובן שלאורך כל הדרך נראה שם רק רווחים); קל מאוד להבחין שהמכונות הנ"ל שקולות. M במודל. B הרעיון כאן, כמו בהוכחה MT ישנה מ"ט שקולה M במודל כעת, נצטרך להראות שלכל מ"ט M ישנם הקודמת, הוא להשתמש בסרט יחיד עם כמה "שכבות". הבעיה במקרה שלנו, היא שבמ"ט המקורית M, על אף שהיא "מסלמצת" שני סרטים, ישנו רק ראש אחד שני ראשים, שנעים עצמאית, בעוד שבמכונה (שבאופן טבעי יכול להמצא רק במקום אחד בו זמנית). על מנת להתגבר על בעיה זו, נדאג "לסמלץ" גם את M יוכל להתבצע M ע"י סימון מיקומם על הסרט עצמו. באופן זה, כל צעד של הראשים של שני הסרטים של : M ע"י סדרת הצעדים הבאה ב- i. עבור על תוכן הסרט, וחפש את מיקומי הראשים, ואת התוים שנמצאים במיקומים אלו. M מהו המעבר המתאים..ii כאשר נאספו כל התוים הנדרשים, ניתן לבדוק בטבלת המעברים של.iii כעת, ניתן לבצע את המעבר הנ"ל על ידי טיול נוסף על הסרט, מציאת מיקומי הראשים, וביצוע השינויים עבור כל אחד מהם (החלפת התו במיקום הנ"ל במידת הצורך, והזזת הסימון של מיקום הראש ימינה או שמאלה לפי המעבר). Γ = ( Γ (באופן זהה להוכחה הקודמת). האלגוריתם שעל פיו Γ) Γ של להיות M נגדיר את א"ב המכונה תפעל המכונה יהיה כדלהלן:. בתחילת הריצה, אם קראת תו a Γ החלף אותו בתו ( _, a ), וזוז ימינה. (תו עם גרש יסמן לנו שהראש של אותו הסרט נמצא כרגע באותו התא.). כל עוד נקרא תו a Γ שאינו רווח, החלף אותו ב-(_,a ( וזוז ימינה. 3. כאשר נתקלת ברווח, זוז שמאלה. המשך לזוז שמאלה עד שתגיע חזרה לתא הראשון. M כמתואר לעיל; זיהוי מקום הראשים יתבצע בעזרת סימני הגרש 4. כעת בצע סימולציה של כל צעד ב- (והזזה של ראש תתבצע פשוט ע"י הסרת הגרש מהתו באותו תא, והוספת גרש לאחד התוים מצדדיו). (שוב, נתנו תיאור חופשי יחסית, ולא תיאור פורמלי מלא, שבהחלט אפשרי אבל מייגע למדי. כדי להשתכנע שתיאור כזה אכן אפשרי (מבלי לבנות אותו במלואו), כדאי לנסות לחשוב מה צריכה להיות קבוצת המצבים של המכונה החדשה. נצטרך לייצג את המצב ה"מסומלץ" של המכונה המקורית, ובמקביל "לזכור" איזה סימנים רואה כל ראש (ואיזה ראש עוד לא מצאנו), ואיזה שינויים נצטרך לבצע.) M "י סדרת צעדים די ארוכה M מבצעת סימולציה מדוייקת של כל צעד של כמו בשאר המקרים, כיוון ש- M תגיע אליה על קלט מסויים, w תגיע (לאחר מספר גדול יותר אך סופי של צעדים) הפעם), לכל תוצאה ש- M בריצה על אותו קלט. לכן המכונות שקולות, והטענה הוכחה. גם מודל עם השארות במקום במודלים שלנו עד כה, הגדרנו שראש המכונה חייב לבצע תזוזה בכל צעד. כאשר עובדים בכמה סרטים, יהיה נוח הרבה פעמים לקבוע שראש של אחד הסרטים נשאר במקום בעוד שראש של סרט אחר זז. מודל כזה (עם k MT k (ולכן גם לכל שאר, S k ובתרגילי הבית אתם מתבקשים להוכיח שהוא שקול למודל סרטים) נסמן ב- המודלים שראינו). { { }}. L= w# w w a, תרגיל: הראה (ע"י בניה מלאה) שניתן להכריע את השפה b (שימו לב שכיוון שכל המודלים שקולים, ניתן לבחור את המודל הנוח ביותר לצורך הבניה!) 9

10 סגירות קבוצה תחת פעולה ניתן לראות ששימוש בכמה סרטים, למרות שאינו מוסיף כוח חישובי אמיתי (כפי שהוכחנו), הופך פעמים רבות בניית מ"ט לפשוטה יותר באופן משמעותי. דוגמא אחת שימושית שבה שימוש במ"ט עם כמה סרטים הוא נוח במיוחד, היא הוכחת סגירות קבוצות שפות תחת פעולות שונות. f סגורה תחת הפעולה A נאמר ש-. A פעולה בינארית על f : A A הגדרה: תהי A X קבוצה, ותהי X. f ( a, b) A, a, b אם מתקיים שלכל A (כלומר, סגירות של קבוצה תחת פעולה כלשהי אומרת שאם מפעילים את הפעולה על איברים בקבוצה, מקבלים שוב איברים ששייכים לקבוצה. זו, כמובן, אינה הגדרה שמוגבלת דווקא לפעולות בינאריות, וניתן לדבר גם על סגירות של פעולות אונריות (הפועלות רק על איבר אחד) או אחרות.) משפט: קבוצת השפות הכריעות סגורה תחת פעולת האיחוד. =L כריעה גם L L, L, L השפה הוכחה: כדי להוכיח את המשפט, נצטרך להראות שלכל שתי שפות כריעות M,M L, L המכריעות אותן נוכיח את כריעות, קיימות מכונות היא. על פי ההגדרה, אם השפות : w ותפעל באופן הבא על כל קלט S M תהיה במודל M להכרעת השפה. L המ"ט הטענה ע "י הצגת מ"ט העתק את כל הקלט w מהסרט הראשון לסרט השני (כך שהוא יופיע על שני הסרטים).. חזור לתחילת שני הסרטים.. M על הסרט הראשון, בהתעלמות מהסרט השני. 3. "סמלץ" ריצה של המכונה (כיצד נייצג זאת בתיאור פורמלי?) M עצרה במצב מקבל, נקבל. אם 4. M על M תעצור במצב דוחה; במקרה זה, נבצע סימולציה של ריצה של המכונה 5. אחרת, מובטח לנו ש- הסרט השני (תוך התעלמות מהסרט הראשון הפעם, באותו אופן), ונחזיר את תשובתה. M M, על הקלט ומקבלים את הקלט אם לפחו למעשה, ניתן לראות שאנו מריצים כל אחת מהמכונות אחת מהן קיבלה. בכדי להשתכנע שהמכונה אכן מכריעה (ובאופן נכון) את השפה, נתבונן במקרים האפשריים., w L אזי בהכרח M תגיע לשלב (4) ותקבל בו (כיוון w, אזי יתכנו שתי אפשרויות. אם L L אם M מכונה להכרעה, מובטח לנו שהיא תדחה (ולא תתקע M תקבל את הקלט). אחרת, כיוון ש- שמובטח לנו ש-,( L ולכן w L (כי הוא שייך לאיחוד אבל לא ל- M על. w בהכרח בלולאה), ולכן נגיע לשלב (5), ובו נריץ את. M תקבל וכך גם M w, מובטח לנו ששתי המכונות (מהיותן מכונות להכרעה) ידחו את הקלט. לכן M תגיע בסופו של L L אם. L= L L מכריעה נכון כל קלט של דבר לסוף שלב (5) של האלגוריתם, ותדחה בו, כנדרש. מכאן, ש- M M, M כנ"ל, אך מי אמר שנדע למצוא נעיר שלכאורה יש כאן קושי מסויים. אמנם מובטח לנו שקיימות מכונות אותן? חשוב לשים לב שהקושי הזה אינו אמיתי; בפרט, לא נדרשנו לספק אלגוריתם לבניית המכונה, M אלא רק M M, גורר גם את קיום המכונה להוכיח שהיא קיימת. לצורך כך, אכן מספיק להראות שקיומן של המכונות M שלנו, והשאלה האם ישנה דרך מוצלחת בה ניתן למצוא את המכונות הנ"ל איננה כלל מענייננו כאן. מכונת טיורינג למניה עד כה הצגנו מ"ט (במודלים שונים של פעולה) שתכליתן היתה להכריע או לקבל שפות. (למעשה, הגדרנו גם מ"ט לחישוב פונקציות.) נציג כעת מכונה בעלת מטרה מעט שונה (ומוזרה קצת, במבט ראשון), שתכליתה למנות שפה. הגדרה: מכונת טיורינג למניה היא מ"ט ללא מצבי עצירה, ובעלת שני סרטים או יותר. מכונה זו אינה מקבלת קלט משום סוג; במקום זאת, היא כותבת על הסרט הראשון שלה מלים מופרדות ברווחים, כאשר כל מילה נכתבת ברצף ומילה שנכתבה לעולם לא עוברת שינוי או נמחקת. (הסרטים האחרים של המכונה משמשים כ"סרטי עבודה" לחישובים שונים לצורך כתיבה זו.) נאמר שמ"ט למניה M מונה שפה L כלשהי, אם במהלך הריצה שלה כותבת על הסרט הראשון שלה את כל מילות, L ורק אותן. הואיל ו- L עשויה להיות אינסופית (ו-, M כאמור, לא עוצרת לעולם), המשמעות היא שכל מילה w L נכתבת ע"י M כעבור זמן סופי מתחילת פעולתה. 0

11 א( ו- w משפט: תהי L שפה כלשהי. אזי L ניתנת למניה אם"ם L ניתנת לקבלה. בכדי להוכיח את המשפט, אנו נשתמש בהגדרה של סדר המניה, שתשמש אותנו רבות גם בהמשך. הגדרה: יהי Σ א"ב, ונניח שקיים יחס סדר מלא על סימני Σ ם אין סדר כזה, פשוט נסדר את הסימנים באופן שרירותי כלשהו). סדר המניה מעל Σ הוא יחס סדר מלא על איברי, Σ המוגדר באופן הבא: המילה הראשונה בסדר המניה מעל Σ היא המילה הריקה ε; ועבור כל שתי מילים w w, w, קודמת ל- w אם w w < או אם w = w קודמת לקסיקוגרפית ל- w. נשים לב שסדר המניה אכן נותן אינדקס סופי לכל מילה ב-. Σ תהי w Σ ממש מ- ו- w =n ; אזי האינדקס של w קטן n i= 0 Σ i שווה ל-, n ומכל אורך i Σ (ולכן סופי). זאת כיוון שכל מילה שמופיעה לפני w בסדר המניה חייבת להיות באורך קטן או i ישנן בדיוק מלים אפשריות. כעת נוכל להוכיח את המשפט. M A הוכחת המשפט: נצטרך להראות את שני כיווני הגרירה. M A בעלת 3 M E המונה אותה. נבנה עבור L מ"ט לקבלה ) ( נניח ש- L ניתנת למניה, אזי קיימת עבורה מ"ט סרטים) שתפעל באופן הבא לכל קלט : w, M E עד שתסיים לכתוב את המילה הבאה. על הסרט השני והשלישי, בצע (המשך) סימולציה של ריצת (ניתן לזהות סיום כתיבת מילה עפ"י כתיבת הרווח שלאחר המילה).. השווה את המילה שנכתבה עם הקלט. w אם המלים זהות, קבל; אחרת חזור ל-( ). נוכיח שהמ"ט שתיארנו אכן מקבלת את השפה L כנדרש. אם, w L מובטח לנו שלאחר מספר סופי של צעדים, M E כל עוד זה לא קרה ). M A כיוון שאנו ממשיכים להריץ את M E תכתוב את על הסרט הראשון שלה (השני של M A לכל היותר), גם תגיע תוך מספר סופי (כנראה M E אנו עושים מספר סופי של צעדים ב- (כאשר בין צעדים של, M E M A משווה את מילת הקלט w עם ההעתק שלה שנכתב ע"י גדול יותר) של צעדים למקרה בשלב () בו M E לעולם לא כותבת את w על הסרט שלה, ולכן, הואיל וכתיבה כזו היא ומקבלת. אם, w L מובטח לנו ש-. w לעולם לא תקבל את M A M A כפי שהגדרנו אותה, תנאי הכרחי לקבלה של M A סרט אחד בלבד). נרצה M A המקבלת אותה (בה"כ, ל- ) ( נניח ש- L ניתנת לקבלה, אזי קיימת עבורה מ"ט M A לגבי כל אחת מהמלים ב- M E למניית. L הדרך האינטואיטיבית לעשות זאת היא "לשאול" את לבנות מ"ט Σ האם היא שייכת ל- L או לא, ואת המלים עליהן ענתה בחיוב לכתוב על הסרט. נשים לב שלשם כך נצטרך לסדר את מילות Σ בסדר שבו נגיע לכל מילה בסופו של דבר (מה שלא מתקיים, למשל, בסדר לקסיקוגרפי רגיל) M A סדר זה יכול להיות סדר המניה שהגדרנו קודם. למרות זאת, נשים לב שזה עדיין לא פתרון מספק, כיוון ש- M E שלנו היא רק מכונה לקבלה, וככזו, היא עלולה שלא לעצור על מילה w L כלשהי. מקרה כזה יתקע גם את בסימולציה של אותה ריצה, וימנע את כתיבתן של כל המילים ב- L שנמצאות אחרי w בסדר המניה. כדי לפתור, M A ולהגדיל אותו לאורך זמן, באופן הבא. בעיה זו, נדאג להגביל את מספר הצעדים המותר בכל ריצה של M E עם 4 סרטים, ונקבע את אופן פעולתה כדלהלן: נבנה את. על סרט מס', אתחל מונה (אונרי) בערך =i.. מחק את תוכן סרט מס' מחק את תוכן סרט מס' 4, והעתק אליו את תוכן סרט מס' 3. M A על הקלט שבסרט מס' 4, למשך i צעדים. 4. בצע סימולציה של ריצת (ספירת מספר הצעדים בסימולציה יכול להתבצע, למשל, ע"י התחלה ב- השמאלי ביותר של המונה בסרט מס', ותזוזה שמאלה באותו סרט עם כל צעד של הסימולציה; כאשר מגיעים לרווח בסרט מס' יש לעצור את הסימולציה.) 5. אם הסימולציה עצרה (בעצמה) וקיבלה את הקלט, העתק את המילה בסרט מס' 3 לסרט מס', וכתוב אחריה רווח בודד. 6. כתוב בסרט מס' 3 את המילה העוקבת (בסדר המניה) למילה שהיתה שם לפני כן. - אם אורך המילה שנכתבה כעת הוא לכל היותר, i חזור לשלב (3). - אם אורך המילה שנכתבה כעת גדול מ-, i הגדל את i ב-, וחזור לשלב ().

12 M A למשך במלים פשוטות יותר, המכונה שבנינו עובדת באיטרציות, i = K,, ובכל איטרציה i היא מריצה את M E שבנינו אכן מונה את L כנדרש. i צעדים על כל מילה שאורכה לכל היותר. i נראה כעת שהמכונה, M E כיוון שכל מילה שהועתקה לשם ראשית, נבחין שאם w, w L לעולם לא תכתב על הסרט הראשון של, M A המקבלת רק מלים ב-. L נותר להראות שאם w, w L בהכרח תכתב בתוך מספר סופי של התקבלה ע"י M A מכונה לקבלת, L היא בהכרח מקבלת את w תוך. M E תהי, w L ונסמן. n= w כיוון ש- צעדים ע"י,n. m = max נשים לב שכאשר נגיע לאיטרציה שבה מספר צעדים (סופי!) כלשהו, נסמן מספר זה ב-, k ונסמן k M A { } w צעדים, ועל פי ההנחה תקבל ו- m k למשך ( w m (שכן w נריץ את המכונה על הקלט, i=m תכתב על הסרט הראשון. כלומר, לאחר מספר סופי של איטרציות, w אכן תכתב כנדרש. נשים לב שכל איטרציה M A כשלעצמה דורשת זמן סופי בלבד (בכל איטרציה עוברים על i i = 0 Σ מלים אפשריות, מבצעים סימולציה של i צעדים + עבודה נוספת פרופורציונלית לאורך המילה שגם הוא לכל היותר מספר צעדים סופי (גם אם גדול למדי), w תכתב על הסרט, כנדרש. ועבור כל אחת מהן,( i ולכן לאחר בהקשר להוכחה האחרונה, נציין שתי הערות:. חדי העין מביניכם וודאי הבחינו שמלים מסויימות ייכתבו יותר מפעם אחת (למעשה, כל מילה שנכתבת, נכתבת אינסוף פעמים!). נציין שהגדרת המניה לא שוללת תכונה כזו, כל זמן שכל שאר הדרישות אכן מתקיימות, כמו במקרה שלנו. למרות זאת, קל למנוע ממלים שכבר נכתבו להכתב שוב ניתן, למשל, לבדוק לפני כל כתיבת מילה חדשה על הסרט לעבור עליו ולראות אם היא נכתבה כבר; שיטה זו תעבוד היטב, כמובן, אבל היא מסבכת את הבניה עוד יותר, ולכן לא הוצגה במקור.. בבניית המכונה הנחנו שניתן למחוק את כל התוכן מסרט מסויים (מדוע זה פחות פשוט לביצוע ממה שזה נשמע בתחילה?) ושבהנתן מילה מסויימת, ניתן, בעזרת מ"ט, למצוא את המילה הבאה אחריה בסדר המניה מעל א"ב נתון.נציין ששתי הפעולות אכן אפשריות, ומימושן המלא מושאר כתרגיל. משפט פוסט: איפיון הקשר בין כריעות לקבילות כאשר הגדרנו כריעות וקבילות של שפות, הערנו שהגדרות אלו גוררות מיידית שכל שפה כריעה היא בפרט קבילה; מצד שני, הבחנה זו אינה מספקת אם רוצים לענות על השאלה מתי שפה קבילה היא גם כריעה. איפיון מלא של הקשר בין שתי מחלקות השפות ניתן על ידי המשפט הפשוט והשימושי הבא, הידוע כמשפט פוסט (על שם Emil.(Post משפט (פוסט): תהי L שפה, אזי L כריעה אם"ם השפות L ו- L שתיהן קבילות. הוכחה: נוכיח שהגרירה אכן מתקיימת בשני הכיוונים. ) ( תהי L שפה כריעה; כפי שהוכחתם בבית, זה גורר שגם השפה L הינה כריעה. הואיל וכל שפה כריעה היא בפרט קבילה, קיבלנו שהשפות,L L שתיהן קבילות, כנדרש., L, L המקבלות את השפות M L, M L שפה, כך ש-,L L שתיהן קבילות. כלומר, קיימות מ"ט L ) ( תהי (בעלת שני סרטים) M בהתאמה (בה"כ, נניח שכל אחת מהמכונות הנ"ל פועלת על סרט אחד בלבד). נבנה מ"ט להכרעת השפה, L שתפעל באופן הבא: העתק את הקלט w מהסרט הראשון לסרט השני, וחזור לתחילת שני הסרטים.. על הסרט השני. על הסרט הראשון ואת המכונה הרץ (במקביל) את המכונה. M L M L.3 אם בשלב מסויים M L קיבלה, קבל. אם בשלב מסויים M L קיבלה, דחה. M L מקבלת את w (בזמן סופי נראה ש- M אכן מכריעה את L באופן נכון. יהי, w L אזי בהכרח מתקיים ש- M L לא מקבלת את w לעולם. לכן, בשלב כלשהו M בהכרח תקבל את w בשלב (3) שלה. באותו כלשהו), ו- אופן, יהי כנדרש. M L, w L אזי לעולם לא מקבלת את M L, w ו- בהכרח מקבלת אותו, ולכן M אכן תדחה את, w

13 חישוב לא-דטרמיניסטי כל המודלים של חישוב שעסקנו בהם עד כה היו דטרמיניסטיים, במובן זה שבהנתן קלט כלשהו, מהלך ריצת האלגוריתם קבוע מראש ומתבצע תמיד באותו אופן. פורמלית, תכונה זו נובעת מכך שהגדרנו שכללי המעבר ) δ) של מכונה כלשהי מוגדרים על ידי פונקציה, שמתאימה לכל מצב ואות מעבר אחד ויחיד. נגדיר כעת מודל "חופשי" יותר שבו כללי המעבר מיוצגים על ידי יחס, כלומר ממצב ואות מסויימים יכולות להיות כמה אפשרויות למעברים. כתוצאה מכך, עבור מכונה וקלט מסויימים, יכולות להיות כמה ריצות שונות של המכונה על הקלט, ובפרט יתכן שריצות שונות כאלו יניבו תוצאות שונות, ואנו נצטרך לקבוע מה תהיה המשמעות של מקרים כאלה. הגדרה: מ"ט לא-דטרמיניסטית (מ"ט ל"ד) היא מ"ט שבה אוסף כללי המעבר δ מאפשר שמזוגות מסויימים (a (,q ייתכנו כמה מעברים שונים. כתוצאה מכך עבור מ"ט ל"ד M וקלט w יתכנו מס' ריצות חוקיות שונות של M על w המסתיימת במצב מקבל. M מקבלת קלט, w אם קיימת ריצה של M על. נאמר שמ"ט ל"ד M מקבלת את, w ולכל, w L אם לכל, w L מקבלת שפה L M הגדרה: באופן טבעי, נאמר שמ"ט ל"ד. w אינה מקבלת את M כל, w Σ ובנוסף, לכל קלט M מקבלת את L מעל Σ אם מכריעה שפה L M הגדרה: נאמר שמ"ט ל"ד M על w עוצרת. ריצה אפשרית של M המקבלת אותה; נאמר שהשפה ניתנת L ניתנת לקבלה ל"ד אם קיימת מ"ט ל"ד הגדרה: נאמר ששפה להכרעה ל"ד אם קיימת מ"ט ל"ד המכריעה אותה. דוגמא: בנה מ"ט להכרעה ל"ד של השפה. L= { w w w { a, b, c} } הדוגמא לעיל (ודוגמאות נוספות שיובאו בהמשך) משקפת את הכוח של המודל הל"ד, שפעמים רבות מאפשר לנו לבנות אלגוריתמים פשוטים יותר לבעיות שפתרון דטרמיניסטי שלהם הוא מסורבל יחסית. עם זאת, יש להודות שבמודל הל"ד יש משהו "לא טבעי" ומבלבל במידת מה; למעשה, אנו נוטים אינטואיטיבית לקשור חישוב עם משהו שמתבצע דווקא באופן מדויק וקבוע מראש. קיימות גישות אינטואיטיביות שונות המנסות להתגבר על פער זה ולתאר כיצד היה נראה המודל הל"ד התיאורטי בעולם הממשי שלנו, אך כולן (או לפחות כל אלו שהזדמן לי לשמוע) לוקות בחסר, ובסופו של דבר גורמות לבלבול וטעויות שנובעות מניואנסים שהלכו לאיבוד בדימוי. ננסה להציג כמה מהן, ולהתבונן היכן הן לא מתיישבות עם ההגדרה בצורה מושלמת. "ניתן להציג חישוב ל"ד כהרצה של כל האפשרויות לריצה בזו אחר זו, ובדיקה האם אחת מהריצות הנ"ל מקבלת." גישה זו שגויה כיוון שהיא מעוותת את סיבוכיות הזמן (עניין שנדון בו בהמשך) של מכונה ל"ד. נשים לב שבשיטה זו, ריצה של מ"ט ל"ד על קלט צריכה לקחת זמן רב הרבה יותר מריצה דטר' שבה אותו מספר צעדים, וזו לא הדרך בה אנו מגדירים זמן ריצה של מ"ט ל"ד. "ניתן להציג חישוב ל"ד כהרצה של כל האפשרויות לריצה במקביל, ובדיקה האם אחת מהריצות הנ"ל מקבלת." בדומה למקרה הקודם, גישה זו מעוותת את סיבוכיות המקום של ריצה ל"ד. "ניתן להציג חישוב ל"ד כחישוב שבו בכל התפצלות של אפשרויות להמשך הוא "מטיל מטבע קסום" (או "מקבל רמז מגמד" או "שואל נביא") וכך בוחר תמיד באפשרות שמביאה לקבלה של הקלט, אם יש כזה." דימוי זה יוצר מצג כאילו כל ריצה של מ"ט ל"ד מגיעה לתוצאה הנכונה בדרך קסומה כלשהי. זהו לא המצב: ישנן ריצות שמגיעות לתוצאה נכונה, אך יכולות גם להיות ריצות אחרות שמגיעות לתוצאה שגויה. בהגדרת קבלה ל"ד של קלט אנו לא מתעניינים בתוצאה של ריצה מסויימת, אלא שואלים האם קיימת ריצה כלשהי שמביאה למצב מקבל. "ניתן להציג חישוב ל"ד כחישוב שבו אם הקלט שייך לשפה, יתכן שהמכונה תענה בחיוב ויתכן שתענה בשלילה, ואם הקלט הקלט אינו שייך לשפה, המכונה חייבת לענות בשלילה." דימוי זה אינו שגוי לחלוטין, אבל חשוב לשים לב שהוא מתאר ריצה בודדת של המכונה על הקלט; כאמור, אנו לא מתעניינים באף ריצה ספציפית, אלא ב"מבט כולל" על כל הריצות שיתכנו על אותו קלט, ובשאלה האם אחת מהן מביאה למצב מקבל. נסיק, אם כן, שישנם מקרים בהם הסבר או תיאור אינטואיטיבי אינו יכול להחליף הגדרה פורמלית, ויש להתייחס אליו בחשדנות (במקרה הטוב). הדרך הנכונה להתמודד עם רעיונות מופשטים מסוג כזה היא על ידי היכרות טובה של ההגדרה לפרטיה, והצמדות אליה בכל נסיון להוכיח טענה המתייחסת אליה. בהקשר זה, ראוי להזכיר תשובה מפורסמת של אחד המתמטיקאים הגדולים, שהיה גם מאבות מדעי המחשב והמחשב המודרני עצמו, ג'ון פון ניומן Neumann).(John von בתגובה לטענה של מישהו שכתב לו שאינו מבין רעיון מתמטי מסויים, עונה פון נוימן:.Young man, in mathematics you don t understand things. You ust get used to them 3

14 נוכיח כעת כי קבילות וכריעות ל"ד שקולות להגדרות הקבילות והכריעות המקוריות שראינו (עבור מ"ט דטר'). משפט: שפה L ניתנת לקבלה (/הכרעה) ל"ד אם"ם היא ניתנת לקבלה (/הכרעה) באופן דטרמיניסטי. הוכחה: נוכיח את שני כיווני הגרירה. ) ( תהי L שפה הניתנת לקבלה (/הכרעה) באופן דטרמיניסטי, אזי קיימת מ"ט דטר' M המקבלת (/מכריעה) אותה. נשים לב שכל מ"ט דטר' היא בפרט גם מ"ט ל"ד (שכן במ"ט ל"ד ייתכן שיהיו מספר מעברים שונים מזוג מסויים של מצב/אות, אבל אין חובה שיהיה יותר ממעבר אחד כזה). לכן נקבל מיד ש- L גם ניתנת לקבלה (/הכרעה) ל"ד. L שפה הניתנת ) ( נוכיח את המשפט עבור הכרעה, ההוכחה עבור קבלה דומה ואף מעט פשוטה יותר. תהי M עובדת עם סרט אחד בלבד). נראה כיצד M המכריעה אותה (בה"כ נניח כי להכרעה ל"ד, אזי קיימת מ"ט ל"ד לניתן לבנות מ"ט דטר' M להכרעת השפה. M על קלט כלשהו מאופיינת באופן מלא ע"י סדרת הבחירות הל"ד שעושה ראשית, נבחין שכל ריצה אפשרית של במהלך הריצה (בכל צעד מבוצעת לכל היותר בחירה ל"ד אחת). נבחין גם שמספר האפשרויות למעברים שונים הוא סופי ולכן חסום ע"י קבוע מסויים (מדוע?). מכאן, שניתן שניתן לייצג כל מאותו זוג של אות/מצב במכונה סדרת בחירות ע"י מחרוזת מעל א"ב גדול מספיק, Π כך שכל בחירה תיוצג ע"י תו אחד. המכונה הדטר' שנבנה למעשה תעבור על כל סדרות הבחירות האפשריות (לפי סדר המניה), ותבדוק האם לפחות אחת מהן מביאה את למצב מקבל בריצה על הקלט הנתון. כמו שכבר ראינו באחד המקרים הקודמים, כיוון שריצה מסויימת (אפילו עם סדרת בחירות ל"ד סופית) עלולה להתקע בלולאה, נדאג גם להגביל את מספר הצעדים המותר בכל ריצה. נציג כעת באופן מפורט את אופן ריצת המ"ט M. למ"ט M יהיו 4 סרטים, והיא תפעל באופן הבא: העתק את הקלט מסרט מס' אל סרט מס'.. כתוב את האות הראשונה של Π בסרט מס' 3.. כתוב 0 בסרט מס' (סימון זה יהיה "דגל" שיאמר לנו האם כל הריצות במס' הצעדים הנוכחי עצרו במצב דוחה. אם כן, הרי שניתן לדחות ואין טעם לנסות מספר צעדים גדול יותר.) M על הקלט בסרט מס', באופן הבא: בצע סימולציה של המכונה 4. בכל צעד של המכונה, בצע את הבחירה הל"ד עפ"י התו הנוכחי בסרט מס' 3, וזוז צעד ימינה א. בסרט זה. (יש לזוז ימינה על סרט מס' 3 אפילו אם במעבר מסויים לא היתה כלל בחירה ל"ד.) אם אין בחירה ל"ד מתאימה לאות שבסרט מס' 3, הפסק את הסימולציה, ועבור לשלב (5). ב. אם הגענו לתא ריק בסרט מס' 3, כתוב בסרט מס' 4 במקום התו הנוכחי שם, ועבור לשלב (5). ג. אם הסימולציה של הגיעה למצב מקבל, קבל. ד. אם הסימולציה של הגיעה למצב דוחה, עבור לשלב (5). ה. קדם את המחרוזת שבסרט מס' 3 למחרוזת הבאה בסדר המניה מעל. Π אם המחרוזת הבאה היא באורך 5. גדול ממש מהאורך הנוכחי ובסרט מס' 4 מופיע התו 0, דחה; אם מופיע התו, כתוב 0 במקומו. מחק את תוכן סרט מס', העתק לשם מחדש את הקלט (מסרט מס' ), וחזור לשלב (4). 6. שמגיעה על w M נראה כעת ש- M אכן מכריעה את L באופן נכון. יהי, w L אזי ידוע שקיימת ריצה של למצב מקבל. מבין כל הריצות המקבלות הנ"ל (המתוארות כולן ע"י מחרוזות ב- ( Π נבחר את זו המתוארת ע"י. y = n נשים לב שאם בריצה על w נגיע לאיטרציה שבה y המופיעה ראשונה בסדר המניה, ונסמן המחרוזת שלב (4) מתבצע כאשר בסרט מס' 3 מופיעה המחרוזת M, y תקבל את. w מתכונות סדר המניה, ישנו רק מספר y בסדר המניה מעל, Π ולכן מספר האיטרציות שלפני האיטרציה שלנו סופי. סופי של מחרוזות המופיעות לפני המופיעה לפני בסדר המניה מתבצעת במשך לכל היותר n בנוסף, ניתן לראות כי כל סימולציה עם מחרוזת y צעדים, ולאחר כל איטרציה כזו נעשית עבודה בזמן פרופורציונלי ל- n גם הוא (עבור ניקוי הסרטים וכו'). לבסוף, מובן כי לא יתכן כי עבור n < n כלשהו מתקיים שכל הריצות מאורך n מגיעות למצב דחיה, שכן לפחות אחת מהן היא תחילית של הריצה המקבלת. y מכאן שאכן M תקבל כל w L לאחר מס' צעדים סופי כלשהו. הריצה על w מגיעה למצב דחיה. תהי y M אזי מובטח לנו כי כל ריצה (שלא נעצרה באמצע) של, w L יהי הארוכה ביותר האפשרית של y = n ונסמן שוב, w על M n כל המחרוזות ב-, Π נדחה. זאת כיוון ש- y. בהכרח מתקיים שכאשר נסיים לבצע את שלב (4) עם היא הריצה הארוכה ביותר האפשרית של M וידוע שאף על, w n ריצה של M על w אינה מקבלת, ולכן כל ריצה המיוצגת ע"י מחרוזת ב- Π תעצור ותדחה בשלב כלשהו. לכן כש- M תגיע לשלב (5) לאחר מעבר על שלב (4) עבור כל המחרוזות הנ"ל נראה שבסרט מס' 4 מופיע 0 (שכתבנו כשהגענו למחרוזת הראשונה באורך, n ולא שינינו מעולם לאחר מכן), ותדחה, כנדרש. (כמו קודם, מתקיים שבהכרח נגיע למעבר על כל המחרוזות הנ"ל כיוון שעבור כל מחרוזת קודמת להן נבצע מס' סופי של צעדים, ויש מס' סופי של מחרוזות כאלה.) לכן, M דוחה כל מחרוזת, w L כנדרש. 4

15 פעמים רבות יש נטיה טבעית להכליל את התוצאה לעיל ולטעון שמ"ט ל"ד שקולה למ"ט דטר' גם עבור חישוב פונקציה ומניית שפות. שימו לב שזו טענה חסרת כל משמעות, שכן בניגוד לקבלה והכרעה של שפה, כלל לא הגדרנו מהו חישוב פונקציה ומהי מניית שפה במודל הל"ד. אנו לא נגדיר הגדרות כאלה, ונדבר על אי-דטרמיניזם רק בהקשר של קבלה והכרעה. כעת, כאשר הוכחנו שהמודל הל"ד שקול (לגבי קבלה והכרעה) למודל הדטרמיניסטי הרגיל, נוכל להוסיף את המודל הזה לקבוצת המודלים בהם אפשר להשתמש כשרוצים להראות כריעות או קבילות של שפה. נראה כמה דוגמאות בהן שימוש במודל הל"ד נוח במיוחד. תרגיל: בלבד. הוכח כי מחלקת השפות הניתנות לקבלה סגורה תחת פעולת האיחוד. השתמש במ"ט בעלת סרט אחד תרגיל: הוכח כי מחלקת השפות הכריעות סגורה תחת פעולת השרשור.. prefix הוכח כי מחלקת השפות ( L) = { x y Σ : x y תרגיל: נגדיר את הפעולה prefix על שפה להיות {L הניתנות לקבלה סגורה תחת פעולת. prefix 5

16 4. סיכום חלק א': התזה של צ'רץ' וטיורינג עד כה, הגדרנו מספר מודלים שונים לחישוב (כולם, אמנם, גרסאות שונות של מ"ט), שבמבט ראשון עשויים להראות כבעלי כוח חישובי שונה. אך בכל המקרים הוכחנו שהמודלים הנ"ל שקולים למודל הראשון והפשוט- למראה של מ"ט דטר' בעלת סרט בודד, אינסופי לכיוון אחד. האם זהו מקרה? התזה של צ'רץ' וטיורינג (שנוסחה ע"י Alonzo Church ו- Turing (Alan גורסת כי לא מדובר במקרה, וכי כל מודל של חישוב שמקיים את ההנחות שמהן התחלנו (כלומר אלגוריתם הניתן לתיאור סופי, ושמורכב מפעולות אטומיות שכל אחת מהן ניתנת לביצוע בזמן סופי) אכן שקול למ"ט. כמובן, באין הגדרה פורמלית לאלגוריתם, זהו לא משפט מתמטי מנוסח היטב שניתן להוכיח, ולכן הוא נקרא רק "תזה". בפרט, מהתזה נובע כי כל מחשב (ושפת מחשב) שאנו מכירים היום, וכל מודל מחשב שניתן לחשוב עליו (כולל מחשב קוונטי) שקול מבחינת כוח החישוב למ"ט הפשוטה שממנה התחלנו (אם כי השקילות אינה מתקיימת לגבי הזמן שעשוי להדרש לחישוב). כתוצאה מכך, משלב זה בקורס נוכל לדבר על "תכניות מחשב" במקום על מ"ט (כולל על תכניות ל"ד אשר כוללות פעולות של "ניחוש"). ההבנה צריכה להיות שהמודל הפורמלי המדויק הוא מ"ט, אך הואיל וזה מודל מסורבל לשימוש, ניתן לדבר על מודלים אחרים, הואיל וכל תכנית במודל אחר ניתנת לתרגום מדוייק למ"ט (במודל T, או בכל מודל אחר שנרצה). בכדי להשתכנע ביכולת הזו, נדגים איך ניתן לתרגם קוד של שפה אימפרטיבית פשוטה (כגון C) למ"ט. מאחר שאנו יודעים שגם שפות מתקדמות יותר ניתנות לתרגום לשפות כאלה (למעשה, כולן עוברות קומפילציה באופן זה או אחר ומתורגמות בסופו של דבר לשפת מכונה!), זה יספיק בכדי לשכנע אותנו שלמ"ט אכן יש את הכוח לבטא כל תכנית בכל שפה שנרצה. כאמור, נתבונן בשפה אימפרטיבית פשוטה כלשהי. אלו מבנים אנו דורשים משפה כזו? ניתן לחשוב על התשובות הבאות: משתנים (שמספרם קבוע בתכנית). מערכים (שיכולים לגדול בצורה דינמית במהלך הריצה). חישוב ביטויים אריתמטיים (עבור מספרים טבעיים). לולאות מסוגים שונים (למעשה, ניתן להסתפק בלולאות.(while תרגיל: הוכח כי כל תכנית מחשב המכילה אלמנטים מהרשימה לעיל ניתנת לתרגום למ"ט. 6

17 חלק ב': מה לא ניתן לעשות בעזרת תכניות מחשב?. קיומן של שפות בלתי קבילות עד כה עסקנו בעיקר במודלים שונים של חישוב, ומעט בשאלה מה אפשר לחשב בעזרתם. הנטיה הטבעית, במיוחד בעולם עם התפתחות טכנולוגית מסחררת כשלנו, היא להניח אוטומטית שאין בעיה שמחשב לא יוכל לפתור ישנן רק בעיות שעבורן עדיין לא מצאנו פתרון. (כמובן, התשובה האינסטינקטיבית הנפוצה לשאלה "מה מחשב אינו יכול לעשות" היא בדרך כלל בסגנון "מחשב אינו יכול לחוש רגש". אבל אם נצמצם את השאלה לבעיות מוגדרות היטב, מהסוגים שהזכרנו בהרצאה הראשונה, התחושה היא בהחלט שבסופו של דבר, לכל בעיה כזו ניתן למצוא אלגוריתם שבהנתן מספיק זמן ומקום יצליח תמיד לענות נכון.) למרבה הצער, זה אינו המצב, ואת החלק השני של הקורס נקדיש להוכחת אי כריעותן (או אי קבילותן) של בעיות שונות. על מנת להראות זאת, נצטרך לענות תחילה על שאלה אחרת: הוכחה ששפה היא כריעה נעשית באופן פשוט ע"י הצגת מ"ט שמכריעה אותה; אבל איך ניתן להוכיח שעבור שפה כלשהי לא קיימת מכונה המכריעה אותה? התוצאה הראשונה שלנו עונה חלקית על השאלה הזו; אנו מוכיחים שקיימות שפות שאינן קבילות (ובפרט אינן כריעות), מבלי לדעת לציין אף שפה כזו במפורש. משפט: קיימות שפות שאינן ניתנות לקבלה. הוכחה: כבר ראינו שלכל א"ב Σ ניתן לסדר את כל מילות Σ בסדר מסויים (קראנו לו "סדר המניה") כך שכל מילה תקבל אינדקס סופי. למעשה, זוהי פונקציה חח"ע ועל מ- Σ לקבוצת המספרים הטבעיים, ולכן עוצמת Σ ולכן מספר השפות האפשריות מעל, Σ מהווה שפה (שונה) מעל Σ כל תת קבוצה של ℵ. 0 הקבוצות זהה, והיא הוא כגודל קבוצת החזקה של, Σ כלומר ℵ. מצד שני, נשים לב שכל מ"ט ניתן לקודד ע"י מחרוזת. (למעשה, בכל פעם שתיארנו מ"ט בכתה או בבית עשינו זאת ע"י כתיבת מחרוזת ארוכה!) בפרט, ניתן לקודד כל מ"ט ע"י מחרוזת מעל Σ (כיוון שתמיד ניתן להמיר א"ב אחד באחר בתמורה להגדלת אורך המחרוזת). כלומר יש לנו פונקציה חח"ע (אך לא בהכרח על לא כל מחרוזת בהכרח תהווה קידוד בעל משמעות של תיאור מ"ט) מקבוצת מכונות הטיורינג לקבוצה, Σ ולכן עוצמת קבוצת כל מ"ט.ℵ 0 האפשריות היא לכל היותר קיבלנו שמשיקולי ספירה, ישנן בהכרח שפות שאין אף מ"ט שמקבלת אותן, פשוט מפני שכל מכונה מקבלת רק שפה אחת, ושמספר המכונות האפשריות קטן ממש ממספר השפות האפשריות. תוצאה זו, למרות שהיא עשויה להיות מפתיעה, מאכזבת במידה מסוימת. היא לא מאפשרת לנו לדעת מיהן אותן שפות שלא ניתן לקבל או להכריע. בפרט, ייתכן שכל השפות ה"מעניינות" דווקא כן כריעות, והשפות שאינן כריעות הן רק שפות "אקראיות" ו"חסרות משמעות" מבחינתנו. נציין גם שתוצאה זו אינה עונה על שאלה נוספת, והיא האם קיימות שפות קבילות שאינן כריעות? 7

18 . שפות "טבעיות" שאינן כריעות: תכניות מחשב (וריאציה על) בעיית העצירה A TM נציג כעת את התוצאה שהיא ככל הנראה התוצאה המפורסמת ביותר של תורת החישוביות, שתענה על שתי השאלות שהעלינו לעיל יש שפה "מעניינת" שאינה כריעה, ושפה זו כן קבילה. נתבונן בשפה הבאה: A TM = {( P, w) w היא תכנית מחשב המקבלת את הקלט {P זוהי שפה שהמלים בה הן זוגות, כך שהאיבר הראשון בכל זוג הוא קוד של תכנית (שהוא, כמובן, מחרוזת), והאיבר השני הוא מחרוזת כלשהי. זוג כזה יהיה שייך לשפה אם (ורק אם) התכנית P מחזירה "כן" בריצה על הקלט. w (למעשה, במקור השפה מנוסחת במונחים של מ"ט ולא של תכנית מחשב, אבל כבר הראינו שאלו מודלים שקולים, ויהיה לנו נוח יותר לעבוד במודל של תכניות מחשב.) לפני שנוכיח שהשפה קבילה ולא כריעה, נקדיש כמה מלים לטענה הפחות-פורמלית שהיא אכן שפה "מעניינת". נשים לב ששפה זו אינה מכילה איזה אוסף "אקראי" של מלים, והמלים שנמצאות בה מאופיינות ע"י קריטריון שניתן לתאר באופן פשוט ותמציתי (כפי שעשינו לעיל). יתר על כן, קל מאוד לדמיין מצבים בהם נרצה להכריע שפה (או בעיה) כזו: בתי תוכנה היום מעסיקים קבוצות גדולות של עובדים שתכליתם היחידה היא לבצע ניסויי ריצה בתוכנה המיוצרת, בכדי לוודא שהכל עובד לפי הדרישות ואין שגיאות בקוד. כתיבת תוכנה שתוכל לוודא שלכל קלט מוחזר הפלט המתאים (תוכנה שבפרט צריכה להיות מסוגלת להכריע את השפה לעיל) היתה יכולה לחסוך כמות עצומה של כסף ושעות עבודה. יש לשער שגם סטודנטים הכותבים תרגילי בית בתכנות היו שמחים להשתמש בכלי שיאמר להם האם התכנית שלהם מחזירה את הפלט הנכון או לא. ניתנת לקבלה. טענה: השפה הוכחה: קל לראות שהתכנית הבאה מקבלת את השפה: :U( P, w) הזן לתכנית P את הקלט. w. הרץ את התכנית P צעד אחד (נוסף).. אם P עצרה, החזר את תשובתה (קבלה או דחיה); אם לא, חזור ל-. 3. ראשית, נרצה לטעון שתכנית כזו אכן אפשרית לכתיבה, שכן הרעיון של תכנית שמריצה תכניות שקיבלה כקלט עשוי להראות מוזר ואפילו בלתי אפשרי במבט ראשון. אבל נשים לב שמערכת ההפעלה במחשבים שלנו מהווה למעשה תכנית, ותכנית זו מריצה תוכניות אחרות, אותן היא מקבלת כקלט מהמשתמש. עם מעט יותר מאמץ ניתן אפילו לחשוב על כיצד ניתן לממש תכנית כזו לפרטיה בשפה פשוטה (ואפילו כמ"ט), כך שלמעשה לא קשה להשתכנע שתכנית כזו אכן תיתכן. : A TM לכל קלט P,w) ( ששייך לשפה, מובטח לנו (על פי בנוסף, מובן שהתכנית מקבלת באופן נכון את השפה ההגדרה) שעבורו מתקיים ש- P מקבלת את. w לכן, בהרצה של P על U, w תקבל תשובה חיובית, ותחזיר אותה בשלב (3). מצד שני, עבור כל קלט P,w) ( שאינו שיך לשפה, מובטח שעבורו P אינה מקבלת את. w לכן, U תחזיר את אותה תשובה בשלב (3); עוצרת, היא בהכרח מחזירה תשובה שלילית, וגם על w P אם ריצת U, שלב (3) תמיד יחזיר את התכנית לשלב (), ו- U כלל אינה עוצרת על, w ולכן גם בתכנית אחרת, התכנית P לעולם לא תעצור (ובפרט לא תקבל). U (בעיקר בהקשר של מכונות טיורינג) מכונה פעמים רבות "המכונה האוניברסלית". נעיר שהתכנית נציג כעת הוכחה לכך שהשפה אינה כריעה. בהקשר זה נעיר שפעמים רבות נשמעת הטענה הבאה: "השפה אינה ניתנת להכרעה כי השיטה היחידה לבדוק מה מחזירה תכנית היא להריץ אותה ואם התכנית שאנו מריצים תיכנס ללולאה אינסופית לא בהכרח נדע לזהות זאת: נניח שהרצנו את התכנית לפני שעתיים, והיא עדיין לא עצרה; האם זה אומר שהיא כבר לא תעצור ואפשר לומר שהיא בהכרח לא מקבלת את הקלט, או שאולי אם נחכה רק עוד קצת היא תעצור במצב מקבל? אפילו אם ניתן לתכנית לרוץ שבוע שלם (או שנה שלמה, או יותר) עדיין נהיה במצב שבו לא נוכל לומר בבטחון מוחלט האם המכונה כבר בוודאי לא תעצור, או שהיא עדיין עשויה לעצור ולהחזיר תשובה חיובית, שכדי להגיע אליה נדרש לה זמן חישוב ארוך במיוחד. " יש לשים לב שלמרות המשיכה האינטואיטיבית של טיעון כזה הוא חסר כל תוקף אמיתי. למעשה, ניסוח זהיר יותר של הטיעון היה צריך להתחיל ב-"השיטה היחידה שעולה בדעתנו כרגע לבדוק מה מחזירה תכנית היא להריץ אותה". כך כבר קל לראות שהטיעון רחוק מלהוות הוכחה, שכן כמובן שהעובדה שלא הצלחנו (עד כה) להעלות בדעתנו שיטה אחרת לא מוכיחה בשום אופן שאין שיטה כזו; במקרה הטוב, היא מוכיחה ששיטה כזו היא קשה למציאה (ובמקרה הפחות טוב, שהיכולת שלנו למצוא פתרונות טעונת שיפור). לכן, בכדי להוכיח שהשפה אכן לא כריעה (ולא רק ש"תשמעו, ניסינו ממש חזק ולא הצלחנו למצוא שיטה להכריע אותה") נצטרך להראות שלא יתכן שקיימת שיטה להכרעתה. 8

19 A TM קבילה, אך אינה כריעה. משפט: השפה הוכחה: הוכחנו שהמכונה האוניברסלית U מקבלת את השפה, וניתן לשים לב שהיא אינה מכריעה אותה. כמובן,, A TM ואין באפשרותנו לעבור על כל המכונות בעולם ולוודא שאף אחת יתכן שישנה מכונה אחרת המכריעה את מהן אינה מכריעה את השפה. לכן, על מנת להוכיח כי לא קיימת מכונה כזו, נניח בשלילה כי הטענה אינה נכונה A TM אכן כריעה, ונראה כי מצב זה גורר סתירה לוגית. והשפה A TM שפה כריעה, ולכן יש תכנית שמכריעה אותה כלומר על כל זוג אם כן, נניח בשלילה ש- ( P,w) D ATM D ATM D ATM קיימת לפי ההנחה שלנו, D ATM עוצרת ועונה נכונה האם P מקבלת את w או לא. הואיל והתכנית התכנית ניתן גם להשתמש בה כפרוצדורה בתכניות אחרות, לשימושים שונים. בפרט, נסתכל בתוכנית הבאה: : S( x). הרץ את על הקלט.( x, x) D ATM אם. קיבלה, דחה; אם דחתה, קבל. ניאלץ להודות שזו תכנית מוזרה משהו. היא פעמים רבות מריצה את D ATM הראשון כלל אינו תכנית חוקית, אלא סתם מחרוזת (וברור שבמקרה זה על קלטים שהם זוגות שבהם האיבר D ATM פשוט תדחה). במקרים אחרים,, S על זוג שבו ה"קלט לבדיקה" הוא קוד התוכנית שמנסים לבדוק. עדיין, נשים לב ש- D ATM היא מריצה את למרות מוזרותה, היא תכנית חוקית לחלוטין, והיא עוצרת על כל קלט אפשרי (!), אף שאנו עלולים להתקשות להסביר מה משמעות התשובות שהיא מחזירה. נתבונן כעת במקרה שבה מריצים את התכנית S על הקלט שהוא הקוד של עצמה. שוב זו בחירה שעשויה להיראות מוזרה במבט ראשון, אבל חשוב לשים לב שמוזרות זו אינה הופכת אותה ללגיטימית פחות בשום צורה. מה תהיה התשובה בריצה כזו? נניח תחילה שהרצה של S על הקוד של עצמה מחזירה תשובה חיובית. במקרה זה, גם הרצה של על הקלט D ATM ( S,S) צריכה להחזיר תשובה חיובית, שכן במקרה זה הקלט לב שאם S S מחזירה תשובה חיובית, הרצת S על ( S,S) S ( ) DA TM, A TM עפ"י הגדרתה. אבל נשים שייך לשפה (לפי הקוד למעלה!) בהכרח מחזירה תשובה שלילית. לכן, זו סתירה ולא יתכן שהרצת S על הקלט S מחזירה תשובה חיובית. אם כך, בהכרח מתקיים שהרצת S על הקלט S מחזירה תשובה שלילית. אלא שבמקרה כזה, הרצת חייבת להחזיר תשובה שלילית, שכן הזוג ( S S) ( S S) DA TM, DA TM, ( S,S) אינו שייך לשפה A TM על פי ההגדרה. אלא שאם מחזירה תשובה שלילית, ריצת S על S בהכרח מחזירה תשובה חיובית. קיבלנו, שהרצת S על S בהכרח עוצרת ומחזירה תשובה (כיוון ש- S עוצרת בריצה על כל קלט אפשרי), אך תשובה זו לא יכולה להיות חיובית ולא יכולה להיות שלילית; בהיעדר אפשרות שלישית, הגענו לסתירה. נדגיש שוב ש- S עצמה היא תכנית חוקית לחלוטין, המסתמכת רק על ההנחה ש- אכן קיימת, ונשים לב ש-, D ATM ( ) D ATM בהגדרתה, אמורה לענות נכונה על כל זוג של מחרוזות, כולל זוגות "מוזרים" כמו. S,S לכן אם הגענו לסתירה A TM אינה ניתנת להכרעה ע"י שום ולא הנחנו הנחות נוספות, בהכרח מתחייב שהנחת השלילה שלנו היתה שגויה ו- תכנית. ההוכחה היפה לעיל רחוקה מלהיות ההוכחה המורכבת ביותר בקורס (ניתן, בהשמטות קלות של פרטים טכניים, להסביר אותה בקלות יחסית גם לאדם חסר כל רקע מתמטי), ובכל זאת יש בה אלמנט מבלבל. לכן, חשוב לחזור ולוודא שמבינים אותה היטב. חשוב גם לא לתת למורכבות הקלה שברעיון של שאילתא של תכנית על עצמה להאפיל על עוצמת התוצאה כאן שפירושה הוא שגם בעוד 000 שנה, כשהטכנולוגיה שלנו תגיע למקומות שאנחנו עוד לא מסוגלים לחלום עליהם אפילו, ויופיעו כבר המכוניות המעופפות והרובוטים האנושיים שהבטיחו לנו כל הזמן, עדיין לא יהיה ניתן לכתוב תכנית שתדע תמיד לנבא באופן מושלם תוצאה של חישוב. ראינו דוגמא לשפה "טבעית" שניתנת לקבלה אך לא להכרעה. האם נוכל להראות שפה "טבעית" שגם אינה ניתנת לקבלה? מסתבר שהתשובה קלה מהצפוי. A TM (המכילה את כל הזוגות של תכנית וקלט בהן התכנית אינה מקבלת את הקלט) אינה ניתנת מסקנה: השפה לקבלה. A TM היתה ניתנת לקבלה גם היא, אז על פי משפט A TM ניתנת לקבלה, אך אינה כריעה. אם הוכחה: הראינו ש- A TM כריעה, בסתירה. פוסט היה מתקיים ש- 9

{ : Halts on every input}

{ : Halts on every input} אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 7

מודלים חישוביים תרגולמס 7 מודלים חישוביים תרגולמס 7 13 באפריל 2016 נושאי התרגול: מכונת טיורינג. 1 מכונת טיורינג נעבור לדבר על מודל חישוב חזק יותר (ובמובן מסוים, הוא מודל החישוב הסטנדרטי) מכונות טיורינג. בניגוד למודלים שראינו עד

Διαβάστε περισσότερα

3. מודלים שונים של חישוב, והיחסים ביניהם

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

Διαβάστε περισσότερα

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשעד פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה

Διαβάστε περισσότερα

Logic and Set Theory for Comp. Sci.

Logic and Set Theory for Comp. Sci. 234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =

Διαβάστε περισσότερα

חורף תש''ע פתרון בחינה סופית מועד א'

חורף תש''ע פתרון בחינה סופית מועד א' מד''ח 4 - חורף תש''ע פתרון בחינה סופית מועד א' ( u) u u u < < שאלה : נתונה המד''ח הבאה: א) ב) ג) לכל אחד מן התנאים המצורפים בדקו האם קיים פתרון יחיד אינסוף פתרונות או אף פתרון אם קיים פתרון אחד או יותר

Διαβάστε περισσότερα

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב

Διαβάστε περισσότερα

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur פתרון תרגיל --- 5 מרחבים וקטורים דוגמאות למרחבים וקטורים שונים מושגים בסיסיים: תת מרחב צירוף לינארי x+ y+ z = : R ) בכל סעיף בדקו האם הוא תת מרחב של א } = z = {( x y z) R x+ y+ הוא אוסף הפתרונות של המערכת

Διαβάστε περισσότερα

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין

Διαβάστε περισσότερα

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 6 נושא: תחשיב הפסוקים: הפונקציה,val גרירה לוגית, שקילות לוגית 1. כיתבו טבלאות אמת לפסוקים הבאים: (ג) r)).((p q) r) ((p r) (q p q r (p

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשעו (2016) לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)............................................................................................................. חלק ראשון: שאלות שאינן להגשה 1. עבור

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשעו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים: לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( 2016 2015 )............................................................................................................. חלק ראשון: שאלות שאינן להגשה.1

Διαβάστε περισσότερα

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

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת

Διαβάστε περισσότερα

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( ) פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד a d U c M ( יהי b (R) a b e ל (R M ( (אין צורך להוכיח). מצאו קבוצה פורשת ל. U בדקו ש - U מהווה תת מרחב ש a d U M (R) Sp,,, c a e

Διαβάστε περισσότερα

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r ל' ' פונקציות פרימיטיביות רקורסיביות חישוביות הרצאה 4 האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית? לא נראה שתי הוכחות: פונקציות רקורסיביות (המשך) זיהוי שפות ע''י מכונות טיורינג הוכחה קיומית: קיימות פונקציות

Διαβάστε περισσότερα

תרגיל 13 משפטי רול ולגראנז הערות

תרגיל 13 משפטי רול ולגראנז הערות Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון

Διαβάστε περισσότερα

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m Observabiliy, Conrollabiliy תרגול 6 אובזרווביליות אם בכל רגע ניתן לשחזר את ( (ומכאן גם את המצב לאורך זמן, מתוך ידיעת הכניסה והיציאה עד לרגע, וזה עבור כל צמד כניסה יציאה, אז המערכת אובזרוובילית. קונטרולביליות

Διαβάστε περισσότερα

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

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

Διαβάστε περισσότερα

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא

Διαβάστε περισσότερα

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשעב זהויות טריגונומטריות תרגול חזרה זהויות טריגונומטריות si π α) si α π α) α si π π ), Z si α π α) t α cot π α) t α si α cot α α α si α si α + α siα ± β) si α β ± α si β α ± β) α β si α si β si α si α α α α si α si α α α + α si

Διαβάστε περισσότερα

תרגול מס' 6 פתרון מערכת משוואות ליניארית

תרגול מס' 6 פתרון מערכת משוואות ליניארית אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 5

מתמטיקה בדידה תרגול מס' 5 מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון

Διαβάστε περισσότερα

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

( )( ) ( ) f : B C היא פונקציה חחע ועל מכיוון שהיא מוגדרת עי. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חחע אז ועל פי הגדרת הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

גבול ורציפות של פונקציה סקלרית שאלות נוספות

גבול ורציפות של פונקציה סקלרית שאלות נוספות 08 005 שאלה גבול ורציפות של פונקציה סקלרית שאלות נוספות f ( ) f ( ) g( ) f ( ) ו- lim f ( ) ו- ( ) (00) lim ( ) (00) f ( בסביבת הנקודה (00) ) נתון: מצאו ) lim g( ( ) (00) ננסה להיעזר בכלל הסנדביץ לשם כך

Διαβάστε περισσότερα

ל הזכויות שמורות לדפנה וסטרייך

ל הזכויות שמורות לדפנה וסטרייך מרובע שכל זוג צלעות נגדיות בו שוות זו לזו נקרא h באיור שלעיל, הצלעות ו- הן צלעות נגדיות ומתקיים, וכן הצלעות ו- הן צלעות נגדיות ומתקיים. תכונות ה כל שתי זוויות נגדיות שוות זו לזו. 1. כל שתי צלעות נגדיות

Διαβάστε περισσότερα

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin( א. s in(0 c os(0 s in(60 c os(0 s in(0 c os(0 s in(0 c os(0 s in(0 0 s in(70 מתאים לזהות של cos(θsin(φ : s in(θ φ s in(θcos(φ sin ( π cot ( π cos ( 4πtan ( 4π sin ( π cos ( π sin ( π cos ( 4π sin ( 4π

Διαβάστε περισσότερα

מודלים חישוביים תרגולמס 5

מודלים חישוביים תרגולמס 5 מודלים חישוביים תרגולמס 5 30 במרץ 2016 נושאי התרגול: דקדוקים חסרי הקשר. למת הניפוח לשפות חסרות הקשר. פעולות סגור לשפות חסרות הקשר. 1 דקדוקים חסרי הקשר נזכיר כי דקדוק חסר הקשר הוא רביעיה =(V,Σ,R,S) G, כך

Διαβάστε περισσότερα

הגדרה: מצבים k -בני-הפרדה

הגדרה: מצבים k -בני-הפרדה פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון

Διαβάστε περισσότερα

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד סמסטר: א' מועד: א' תאריך: יום ה' 0100004 שעה: 04:00 משך הבחינה: שלוש שעות חומר עזר: אין בבחינה שני פרקים בפרק הראשון 8 שאלות אמריקאיות ולכל אחת מהן מוצעות

Διαβάστε περισσότερα

אוטומטים- תרגול 10: מכונות טיורינג.

אוטומטים- תרגול 10: מכונות טיורינג. אוטומטים- תרגול 10: מכונות טיורינג. מודל מכונת טיורינג מכונת טיורינג מורכבת מהרכיבים הבאים: 1. מספר סופי של מצבים.. סרט עבודה אינסופי בעל קצה שמאלי. הסרט המחולק לתאים ובכל תא כתוב תו מ- Γ. 3. ראש קורא/כותב

Διαβάστε περισσότερα

x a x n D f (iii) x n a ,Cauchy

x a x n D f (iii) x n a ,Cauchy גבולות ורציפות גבול של פונקציה בנקודה הגדרה: קבוצה אשר מכילה קטע פתוח שמכיל את a תקרא סביבה של a. קבוצה אשר מכילה קטע פתוח שמכיל את a אך לא מכילה את a עצמו תקרא סביבה מנוקבת של a. יהו a R ו f פונקציה מוגדרת

Διαβάστε περισσότερα

תרגול פעולות מומצאות 3

תרגול פעולות מומצאות 3 תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה

Διαβάστε περισσότερα

gcd 24,15 = 3 3 =

gcd 24,15 = 3 3 = מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =

Διαβάστε περισσότερα

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות מינימיזציה של DFA L. הוא אוטמומט מינימלי עבור L של שפה רגולרית A ראינו בסוף הסעיף הקודם שהאוטומט הקנוני קיים A DFA בכך הוכחנו שלכל שפה רגולרית קיים אוטומט מינמלי המזהה אותה. זה אומר שלכל נקרא A A לאוטומט

Διαβάστε περισσότερα

מודלים חישוביים כריעות R זוהי מחלקת השפות הכריעות. מחלקה זו סגורה תחת פעולת המשלים. רדוקציה בעיית ההכרעה רדוקציית מיפוי.

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

Διαβάστε περισσότερα

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

Διαβάστε περισσότερα

ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:

ניתן לקבל אוטומט עבור השפה המבוקשת ע י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות: שאלה 1 בנה אוטומט המקבל את שפת כל המילים מעל הא"ב {,,} המכילות לפחות פעם אחת את הרצף ומיד אחרי כל אות מופיע הרצף. ניתן לפרק את השפה לשתי שפות בסיס מעל הא"ב :{,,} שפת כל המילים המכילות לפחות פעם אחת את

Διαβάστε περισσότερα

שפות פורמאליות אוטומטים

שפות פורמאליות אוטומטים הנושאים שנעבור שפות פורמאליות אוטומטים שפות פורמאליות מכונות/אוטומטים דקדוקים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ'

Διαβάστε περισσότερα

שפות פורמאליות אוטומטים

שפות פורמאליות אוטומטים שפות פורמאליות אוטומטים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ' שמואל זקס 1 הנושאים שנעבור שפות פורמאליות מכונות/אוטומטים

Διαβάστε περισσότερα

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.

Διαβάστε περισσότερα

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה.

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה. 1 סיכומים למבחן בקורס מודלים חישוביים סמסטר א' 2008-9 (פרופ' נחום דרשוביץ) חלק ראשון: חישוביות בעיות חשיבות: דוגמאות לפוקנציות לא חשיבות: פונקציה תיאור הערות, הבונה החרוץ בהינתן מספר n, מה הוא הפלט הגדול

Διαβάστε περισσότερα

אינפי - 1 תרגול בינואר 2012

אינפי - 1 תרגול בינואר 2012 אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,

Διαβάστε περισσότερα

חישוביות הרצאה 6 אותה מ M תקודד ע''י מחרוזת רווח ! מכונת טיורינג אוניברסלית

חישוביות הרצאה 6 אותה מ M תקודד ע''י מחרוזת רווח ! מכונת טיורינג אוניברסלית לשיה ספציפית ול ל שיה כללית חישוביות הרצאה 6 כונת טיורינג כונת טיורינג אוניברסלית פונקציות שאינן ניתנות לחישוב עד כה נקטנו בגישה שלכל שיה יש לבנות שלה שבצעת את השיה הספציפית הזו אך בציאות לא בונים חשב

Διαβάστε περισσότερα

מודלים חישוביים פתרון תרגיל 5

מודלים חישוביים פתרון תרגיל 5 מודלים חישוביים פתרון תרגיל 5 כתוב אוטומט דטרמיניסטי לשפות הבאות מעל הא"ב.Σ={,} א. *Σ. q, ב. q, ג. {ε}, q, q ד. } = 3 {w w mod, q, q,, ה. ''} {w w does not contin the sustring q 4 q 3 q q כתוב אוטומט דטרמיניסטי

Διαβάστε περισσότερα

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, א"ב (.

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, אב (. תוכן עניינים תקציר מודלים חישוביים ערך יגאל הינדי 2 2 2 3 4 6 6 6 7 7 8 8 9 11 13 14 14 15 16 17 17 18 19 20 20 20 20 - האוטומט הסופי - אוטומט סופי דטרמניסטי 2 פרק - מושגים ומילות מפתח 2.1 - הגדרת אוטומט

Διαβάστε περισσότερα

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 2

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

Διαβάστε περισσότερα

אלגברה ליניארית (1) - תרגיל 6

אלגברה ליניארית (1) - תרגיל 6 אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,

Διαβάστε περισσότερα

אוטומטים- תרגול 8 שפות חסרות הקשר

אוטומטים- תרגול 8 שפות חסרות הקשר אוטומטים- תרגול 8 שפות חסרות הקשר דקדוק חסר הקשר דקדוק חסר הקשר הנו רביעיה > S

Διαβάστε περισσότερα

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V ) הצגות של חבורות סופיות c ארזים 6 בינואר 017 1 משפט ברנסייד משפט 1.1 ברנסייד) יהיו p, q ראשוניים. תהי G חבורה מסדר.a, b 0,p a q b אזי G פתירה. הוכחה: באינדוקציה על G. אפשר להניח כי > 1 G. נבחר תת חבורה

Διαβάστε περισσότερα

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

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

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעב (2012) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות 67521

מודלים חישוביים, חישוביות וסיבוכיות 67521 מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי תרגולים של שאול אלמגור 21 ביוני 2012 תוכן עניינים 1 אוטומטים........................................................... 1 2 למת הניפוח......................................................

Διαβάστε περισσότερα

ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5

ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5 הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) ביטויים רגולריים הרצאה 5 המצגת מבוססת על ספרם של פרופ' נסים פרנסיז ופרופ' שמואל זקס, "אוטומטים ושפות פורמליות", האוניברסיטה הפתוחה, 1987. גרסה ראשונה

Διαβάστε περισσότερα

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A ) הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y

Διαβάστε περισσότερα

Regular Expressions (RE)

Regular Expressions (RE) Regular Expressions (RE) ביטויים רגולריים עד כה דנו במספר מודלים חישוביים להצגת (או ליצור) שפות רגולריות וראינו שכל המודלים האלה הם שקולים מבחינת כוח החישובי שלהם. בסעיף זה נראה עוד דרך להצגת (או ליצור)

Διαβάστε περισσότερα

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1 1 טורים כלליים 1. 1 התכנסות בהחלט מתכנס. מתכנס בהחלט אם n a הגדרה.1 אומרים שהטור a n משפט 1. טור מתכנס בהחלט הוא מתכנס. הוכחה. נוכיח עם קריטריון קושי. יהי אפסילון גדול מ- 0, אז אנחנו יודעים ש- n N n>m>n

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521 מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521 22 ביוני 2012 מרצה: גיא קינדלר מתרגל: שאול אלמגור "...one TM to rule them all..." באדיבות בן מאירי איני לוקחת אחריות על מה שכתוב כאן, so tread lightly

Διαβάστε περισσότερα

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשעד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, 635865 מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר 1 נתון: 1. סדרה חשבונית שיש בה n איברים...2 3. האיבר

Διαβάστε περισσότερα

רשימת משפטים והגדרות

רשימת משפטים והגדרות רשימת משפטים והגדרות חשבון אינפיניטיסימאלי ב' מרצה : למברג דן 1 פונקציה קדומה ואינטגרל לא מסויים הגדרה 1.1. (פונקציה קדומה) יהי f :,] [b R פונקציה. פונקציה F נקראת פונקציה קדומה של f אם.[, b] גזירה ב F

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 13

מתמטיקה בדידה תרגול מס' 13 מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות.

Διαβάστε περισσότερα

קיום ויחידות פתרונות למשוואות דיפרנציאליות

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

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות 67521

מודלים חישוביים, חישוביות וסיבוכיות 67521 מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי שיעורים של ד"ר גיא קינדלר 21 ביוני 2012 תוכן עניינים 2.................................................. אוטומטים ושפות רגולריות 1 3........................................................

Διαβάστε περισσότερα

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעד (2014) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

השאלות..h(k) = k mod m

השאלות..h(k) = k mod m מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 5 השאלות 2. נתונה טבלת ערבול שבה התנגשויות נפתרות בשיטת.Open Addressing הכניסו לטבלה את המפתחות הבאים: 59 88, 17, 28, 15, 4, 31, 22, 10, (מימין לשמאל),

Διαβάστε περισσότερα

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה

Διαβάστε περισσότερα

תורת הגרפים - סימונים

תורת הגרפים - סימונים תורת הגרפים - סימונים.n = V,m = E בהינתן גרף,G = V,E נסמן: בתוך סימוני ה O,o,Ω,ω,Θ נרשה לעצמנו אף להיפטר מהערך המוחלט.. E V,O V + E כלומר, O V + E נכתוב במקום אם כי בכל מקרה אחר נכתוב או קשת של גרף לא

Διαβάστε περισσότερα

i שאלות 8,9 בתרגיל 2 ( A, F) אלגברת יצירה Α היא זוג כאשר i F = { f קבוצה של פונקציות {I קבוצה לא ריקה ו A A n i n i מקומית מ ל. A נרשה גם פונקציות 0 f i היא פונקציה n i טבעי כך ש כך שלכל i קיים B נוצר

Διαβάστε περισσότερα

שאלה 1 V AB פתרון AB 30 R3 20 R

שאלה 1 V AB פתרון AB 30 R3 20 R תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A

Διαβάστε περισσότερα

סדרות - תרגילים הכנה לבגרות 5 יח"ל

סדרות - תרגילים הכנה לבגרות 5 יחל סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר

Διαβάστε περισσότερα

A-PDF Merger DEMO : Purchase from to remove the watermark

A-PDF Merger DEMO : Purchase from  to remove the watermark A-PDF Merger DEMO : Purchase from wwwa-pdfcom to remove the watermark סוכם על ידי אבי שוע shuaav@gmalcom http://wwwcshujacl/~shuaav אני מקווה שהסיכומים יעזרו לכם ולעוד רבים טעויות אני (ואף אחד אחר) לא

Διαβάστε περισσότερα

אוטומטים ושפות פורמליות תרגולים

אוטומטים ושפות פורמליות תרגולים אוטומטים ושפות פורמליות תרגולים מבוסס על תרגולים של מר גולדגביכט עומר, אוניברסיטת בר אילן 2012. שיעור 1 הגדרות: א"ב: אוסף סופי ולא ריק של סימנים/אותיות/תווים. נסמן אותו באות. דוגמאות: 9},... 1,,{0, {א,..,.

Διαβάστε περισσότερα

2 שאלות )בחירה מ - 4( סה"כ 25 נקודות לכל שאלה 22 נקודות

2 שאלות )בחירה מ - 4( סהכ 25 נקודות לכל שאלה 22 נקודות מבחן 0225 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 7-9( מבנה השאלון פרק

Διαβάστε περισσότερα

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד. חידה לחימום ( M ש- N > (כך מספרים טבעיים Mו- N שappleי appleתוappleים בעלי אותה הזוגיות (שappleיהם זוגיים או שappleיהם אי - זוגיים). המספרים הטבעיים מ- Mעד Nמסודרים בשורה, ושappleי שחקappleים משחקים במשחק.

Διαβάστε περισσότερα

מבני נתונים ואלגוריתמים תרגול #11

מבני נתונים ואלגוריתמים תרגול #11 מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ.

Διαβάστε περισσότερα

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז פתרון תרגיל בית 6 מבוא לתורת החבורות 88-211 סמסטר א תשע ז הוראות בהגשת הפתרון יש לרשום שם מלא, מספר ת ז ומספר קבוצת תרגול. תאריך הגשת התרגיל הוא בתרגול בשבוע המתחיל בתאריך ג טבת ה תשע ז, 1.1.2017. שאלות

Διαβάστε περισσότερα

חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות

חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות חישוביות, אוטומטים ושפות מכונה סיכומי הרצאות 6 ביוני 2011 מרצה: גיא קינדלר מתרגל: רועי פוקס סוכם ע י: אור שריר פניות לתיקונים והערות: tnidtnid@gmail.com אתר הסיכומים שלי: http://bit.ly/huji_notes 1 תוכן

Διαβάστε περισσότερα

מתמטיקה בדידה תרגול מס' 12

מתמטיקה בדידה תרגול מס' 12 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע

Διαβάστε περισσότερα

אלגברה ליניארית 1 א' פתרון 2

אלגברה ליניארית 1 א' פתרון 2 אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק

Διαβάστε περισσότερα

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט. פרק סיבוכיות פרק סיבוכיות המושג יעילות מהו? במדעי המחשב היעילות נמדדת בעזרת מדדי סיבוכיות, החשובים שבהם: של אלגוריתמים יעילותם תוכן הפרק: יעילות מהי (זיכרון וזמן, זמן ריצה T( של אלגוריתם מהו, מהם case,

Διαβάστε περισσότερα

אוטומטים, שפות פורמליות ו ח ישוּב יוּת

אוטומטים, שפות פורמליות ו ח ישוּב יוּת אוטומטים, שפות פורמליות וחישוביות (202-1-2011) סיכום מאת תומר גודינגר אוטומטים, שפות פורמליות ו ח ישוּב יוּת פרטים אדמיניסטרטיביים המרצים בקורס: ברנד, ברפמן, קנטורוביץ' ואבו-עפאש אתר הקורס: http://csbguacil/~auto141/ain

Διαβάστε περισσότερα

תורת הקבוצות תרגיל בית 2 פתרונות

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

Διαβάστε περισσότερα

מבחן במודלים חישוביים + פתרון מוצע

מבחן במודלים חישוביים + פתרון מוצע מבחן במודלים חישוביים + פתרון מוצע סמסטר ב' התשס"ט, מועד ב' תאריך: 1.9.2009 מרצים: ד"ר מירי פרייזלר, פרופ' בני שור מתרגלים: יהונתן ברנט, רני הוד מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן, לפני תחילת

Διαβάστε περισσότερα

. {e M: x e} מתקיים = 1 x X Y

. {e M: x e} מתקיים = 1 x X Y שימושי זרימה פרק 7.5-13 ב- Kleinberg/Tardos שידוך בגרף דו-צדדי עיבוד תמונות 1 בעיית השידוך באתר שידוכים רשומים m נשים ו- n גברים. תוכנת האתר מאתרת זוגות מתאימים. בהינתן האוסף של ההתאמות האפשריות, יש לשדך

Διαβάστε περισσότερα

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון.

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון. Charles Augustin COULOMB (1736-1806) קולון חוק חוקקולון, אשרנקראעלשםהפיזיקאיהצרפתישארל-אוגוסטיןדהקולוןשהיהאחדהראשוניםשחקרבאופןכמותיאתהכוחותהפועלים ביןשניגופיםטעונים. מדידותיוהתבססועלמיתקןהנקראמאזניפיתול.

Διαβάστε περισσότερα

הרצאה נושאי הקורס 0.2 א"ב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן?

הרצאה נושאי הקורס 0.2 אב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן? הרצאה 1 0.1 נושאי הקורס 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן? בקורס זה נעסוק בבעיות חישוב הנקראות בעיות הכרעה. בהינתן קלט, אנו נבצע "חישוב" ובסופו נחזיר תשובה האם הקלט

Διαβάστε περισσότερα

סיכום- בעיות מינימוםמקסימום - שאלון 806

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

Διαβάστε περισσότερα

תרגול מס' 1 3 בנובמבר 2012

תרגול מס' 1 3 בנובמבר 2012 תרגול מס' 1 3 בנובמבר 2012 1 מערכת המספרים השלמים בשיעור הקרוב אנו נעסוק בקבוצת המספרים השלמים Z עם הפעולות (+) ו ( ), ויחס סדר (>) או ( ). כל התכונות הרגילות והידועות של השלמים מתקיימות: חוק הקיבוץ (אסוציאטיביות),

Διαβάστε περισσότερα

אלגברה מודרנית פתרון שיעורי בית 6

אלגברה מודרנית פתרון שיעורי בית 6 אלגברה מודרנית פתרון שיעורי בית 6 15 בינואר 016 1. יהי F שדה ויהיו q(x) p(x), שני פולינומים מעל F. מצאו פולינומים R(x) S(x), כך שמתקיים R(x),p(x) = S(x)q(x) + כאשר deg(q),deg(r) < עבור המקרים הבאים: (תזכורת:

Διαβάστε περισσότερα

co ארזים 3 במרץ 2016

co ארזים 3 במרץ 2016 אלגברה לינארית 2 א co ארזים 3 במרץ 2016 ניזכר שהגדרנו ווקטורים וערכים עצמיים של מטריצות, והראינו כי זהו מקרה פרטי של ההגדרות עבור טרנספורמציות. לכן כל המשפטים והמסקנות שהוכחנו לגבי טרנספורמציות תקפים גם

Διαβάστε περισσότερα

חשבון אינפיניטסימלי 1 סיכום הרצאות באוניברסיטה חיפה, חוג לסטטיסטיקה.

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

Διαβάστε περισσότερα

r. כלומר התחיל במצב ההתחלתי, סיים במצב מקבל, ובדרך עבר בצורה חוקית. ניתן להגדיר

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

Διαβάστε περισσότερα

c ארזים 15 במרץ 2017

c ארזים 15 במרץ 2017 הסתברות למתמטיקאים c ארזים 15 במרץ 2017 הקורס הוא המשך של מבוא להסתברות שם דיברנו על מרחבים לכל היותר בני מניה. למשל, סדרת הטלות מטבע בלתי תלויות היא דבר שאי אפשר לממש במרחב בן מניה נסמן את התוצאה של ההטלה

Διαβάστε περισσότερα

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. 16 במאי 2010 נסמן את מחלקת הצמידות של איבר בחבורה G על ידי } g.[] { y : g G, y g כעת נניח כי [y] [] עבור שני איברים, y G ונוכיח כי [y].[] מאחר והחיתוך

Διαβάστε περισσότερα

תרגיל 7 פונקציות טריגונומטריות הערות

תרגיל 7 פונקציות טריגונומטריות הערות תרגיל 7 פונקציות טריגונומטריות הערות. פתרו את המשוואות הבאות. לא מספיק למצוא פתרון אחד יש למצוא את כולם! sin ( π (א) = x sin (ב) = x cos (ג) = x tan (ד) = x) (ה) = tan x (ו) = 0 x sin (x) + sin (ז) 3 =

Διαβάστε περισσότερα

מודלים חישוביים, חישוביות וסיבוכיות

מודלים חישוביים, חישוביות וסיבוכיות מודלים חישוביים, חישוביות וסיבוכיות סשה גולדשטיין, sashag@cs 20 ביוני 2011 תקציר הסיכום להלן מהווה תקציר של חומר הקורס ואיני נוטל עליו כל אחריות. אתם יכולים להיעזר גם בהקלטות השיעורים וכמובן בספר הלימוד.

Διαβάστε περισσότερα

אלגברה לינארית (1) - פתרון תרגיל 11

אלגברה לינארית (1) - פתרון תרגיל 11 אלגברה לינארית ( - פתרון תרגיל דרגו את המטריצות הבאות לפי אלגוריתם הדירוג של גאוס (א R R4 R R4 R=R+R R 3=R 3+R R=R+R R 3=R 3+R 9 4 3 7 (ב 9 4 3 7 7 4 3 9 4 3 4 R 3 R R3=R3 R R 4=R 4 R 7 4 3 9 7 4 3 8 6

Διαβάστε περισσότερα

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס תורת הקבוצות (80200) באוניברסיטה העברית, תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית, 7 2006. תוכן מחברת זו הוקלד ונערך על-ידי יובל קפלן. אין המרצה אחראי לכל טעות שנפלה בו. סודר באמצעות L

Διαβάστε περισσότερα

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

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה. בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית

Διαβάστε περισσότερα