בדף זה יהיו שאלות מהמעט מבחני עבר שהיו בקורס ועוד תרגילים שונים, ופתרונות שכתבתי או שמצאתי. מוזמנים להעיר לתקן או להציע פתרונות יותר טובים.
מבחן לדוגמה 1
שאלה 1
א. הוכיחו שהשפה הבאה לא רגולרית:
תשובה:
נניח בשלילה ש-
רגולרית.
קיים שמקיים את תנאי למת
הניפוח.
ניקח את המילה . שנמצאת כמובן
בשפה , כאשר ו-. כאשר מורכבת מ- ים בלבד ואינה ריקה.
לפי הלמה, אם ננפח למטה, כלומר נקבל את המילה , שבה השמטנו לפחות אחת, (ולא -ים או -ים) אינה נמצאת ב- , בסתירה ללמת הניפוח.
מסקנה: אינה רגולרית.
ב.בנו NFA עבור הב”ר הבא: . יש להסתפק
באוטומט בן 3 מצבים. הסבירו בקצרה את רעיון הבניה.
תשובה:
מצב : מצב התחלתי “מזהה
אפס או יותר אחדים בהתחלת הקלט” אוטומט NFA “מנחש” מתי מגיע תור של
אפסים ואז עובר למצב .
במצב האוטומט “דואג”
לזהות 0 אפס או יותר פעמים ואז כאשר מגיע 1 ראשון עובר למצב
מצב : מצב מקבל אוטומט
מוכן לקבל 1ים בסוף הקלט ורק אותם.
ג. בנו ב”ר מעל א”ב
עבור השפה הבאה: .
תשובה:
שאלה 2
א. הוכיחו או הפריכו: נתונות: ו- שפות לא חסרות-הקשר. אזי בהכרח לא חסרת הקשר.
תשובה: הטענה אינה נכונה. דוגמה נגדית:
ו- אינן חסרות הקשר (דוגמה 2.36), אבל החיתוך שלהן חסרת
הקשר.
ב. הוכיחו או הפריכו: אם נחסיר מספר אינסופי של מילים משפה חסרת
הקשר אזי בהכרח נקבל שפה רגולרית.
תשובה: הטענה אינה נכונה. דוגמה נגדית: ניקח את
השפה שהיא כמובן
רגולרית ולכן גם חסרת הקשר, ונחסיר ממנה את השפה האינסופית , ונקבל את
השפה
שהיא אינה רגולרית. (שהרי אם
הייתה רגולרית, אזי גם הייתה רגולרית (לפי סגירות של רגולריות תחת משלים), אבל
שפה זו היא אינה רגולרית (דוגמה 1.73)).
ג. בנו דקדוק חסר הקשר עבור המשלים של השפה הבאה:
תשובה:
שאלה 3
א. האם השפה הבאה ניתנת להכרעה על ידי מ”ט. הוכיחו.
תשובה: השפה ניתנת להכרעה על ידי מ”ט:
:
Compute .
For each input of length
at most :
Simulate on for at most steps.
If halts, then
accept.
Reject.
אם , אזי קיימת מילה
כך ש- עוצר עליה תוך פחות מ-
צעדים, מילה
זו אינה יכולה להיות ארוכה מ- , ולכן המכונה כן עוברת עליה, ומקבלת אותה.
אם , אזי לא עוצר על
אף מילה באורך קטן מ- , ולכן המכונה לא מקבלת אף מילה, ולכן לא מקבלת את
השפה .
ב. האם השפה הבאה ניתנת לזיהוי? הוכיחו. .
תשובה: השפה מזוהה-טיורינג.
נסמן את
סדרת המילים ב .
“עבור קלט
כאשר היא מ”ט:
לכל :
נריץ את על כל אחד מ-
, לכל
היותר צעדים.
אם מקבלת מילה כלשהי
(שאינה סומנה עדיין על הסרט), נוסיף 1 לקאונטר , ונרשום אותה על הסרט.
אם , נקבל.”
אם אכן , אז בעצם
קיימים לפחות 3 מילים ב-
שעבורם תקבל במספר סופי של
צעדים. המ”ט שבנינו אינה יכולה להיכנס ללופ שהרי הגבלנו את הריצות של
במספר הצעדים.
ג. האם השפה הבאה ניתנת לזיהוי? .
תשובה: כן. השפה ניתנת לזיהוי (ואף כריעה). אם
אכן הוא תיאור
של מ”ט, אזי השפה היא
בת-מניה, שהרי לא קיימת שפה שאינה בת-מנייה מעל אלפבית סופי. אם כן
השפה הנתונה היא שפת כל התיאורים של מ”ט. והיא כריעה.
שאלה 4
א. הוכיחו שהבעיה הבאה היא NP שלמה
רמז: רדוקציה לבעיית SAT.
תשובה:
נראה רדוקציה פולי’ מ- ל- , כלומר: .
נגדיר פונקציה כך: , כאשר הוא משתנה חדש שאינו מופיע ב- .
כיוון ראשון: אם , אז צד שמאל של , כלומר , מסופק,
לכן גם וגם מספקים את , כלומר .
כיוון שני: אם , אזי
אינה ספיקה, ולכן גם
אינה ספיקה, כלומר .
מסקנה: .
לכן, .
מכך, ובגלל שגם
היא NP-שלמה (משפט 7.37), נובע לפי משפט 7.36 ש- היא NP-שלמה.
ב. משולש בגרף לא מכוון מוגדר כתת-גרף בן 3 צמתים כך שיש קשת בין
כל זוג של צמתי המשולש (קליקה בגודל 3). הוכיחו ששפה הבאה שייכת למחלקה
P:
ֹֹתשובה: נראה אלגוריתם פולינומיאלי עבור הבעיה:
עבור כל שלשה של צמתים :
אם , נקבל.
אם סיימנו בלי למצוא משולש, נדחה.
לגרף עם צמתים יש לכל
היותר שלשות צמתים. לכן שלב 2 יבוצע לכל היותר פעמים. לכן כל השלבים הם רצים
בזמן פולינומיאלי. לכן .
מבחן לדוגמה 2
שאלה 1
א. תנו דוגמא לשתי שפות רגולריות ו- המקיימות: אף שפה לא מוכלת בשנייה
ובנוסף, .
תשובה:
,
,
ב. האם ייתכן: שפה
רגולרית, שפה לא רגולרית
אבל: לא רגולרית ובו
זמנית רגולרית?
תשובה: כן. נראה דוגמה:
השפה
רגולרית.
השפה אינה רגולרית (דוגמה 1.73).
האיחוד הוא , רגולרית.
החיתוך הוא ,
שהיא אינה רגולרית.
ג. תהי
סדרה אינסופית של שפות רגולריות. האם האיחוד האינסופי של כל השפות
בהכרח יהיה שפה רגולרית?
תשובה: לא בהכרח. דוגמה נגדית:
ניקח את השפות , שהן כל אחת רגולרית. אמנם איחודן הוא , שהיא אינה רגולרית (דוגמה 1.73).
ד. בנו ב”ר עבור שפה של NFA הבא:
תשובה:
שאלה 2
א. תהי שפה חסרת הקשר
המיוצרת בעזרת דקדוק חסר-הקשר . בנו דקדוק חסר הקשר המייצר את השפה . נמקו.
תשובה:
,
where .
הסבר: השפה היא השפה
המתקבלת על ידי חיבור אפס או יותר מחרוזות של השפה . לכן, ניתן להוסיף כלל חדש שמאפשר לייצר
מחרוזות של ברצף, ואפשר גם
לסיים את הגזירה עם ,
כלומר לא לייצר מחרוזת כלל.
ב. אנו מבצעים תהליך מעבר CFG לדקדוק בצורת חומסקי.
לאחר מספר צעדים התקבל הדקדוק הבא:
בצעד הבא רוצים לסלק מעבר אפסילון . רשמו דקדוק שיתקבל
לאחר צעד זה.
תשובה:
ג. בנו PDA עבור השפה הבאה: . הסבירו את הפתרון.
תשובה:
בהתחלה, דוחפים למחסנית
כדי לסמן את תחילת המחסנית.
לכל שקוראים בסרט, דוחפים
למחסנית .
אחר כך עוברים ל-ים, כל
שקוראים בסרט, מוצאים מהמחסנית.
בסוף הסרט:
אם קוראים מהמחסנית, אז
מקבלים. כי זה אומר ש .
אם קוראים מהמחסנית, אז
מקבלים. כי זה אומר ש .
ד. נתון CFG הבא: . האם את הסדרות הבאות אפשר לגזור בדקדוק זה? אם כן בנו
עצי גזירה עבורן.
תשובה: אפשר לגזור את שתיהן.
שאלה 3
א. האם השפה הבאה ניתנת
להכרעה? הוכיחו.
תשובה:
: (where
is the input alphabet of )
For each input : (כל הרישות באורך 5 לכל היותר )
Simulate on for at most steps. If does not halt in step 4, then
accept.
Reject.
האלגוריתם בסוף יסתיים כי יש מספר סופי של קלטים באורך 5 לכל היותר
מעל אלפבית סופי וגם כי יש מספר סופי של צעדים שעל כל קלט מריצים את M.
אם עברנו על כל הקלטים האפשריים ולא קיבלנו, אז דוחים.
ב. תהי שפה הניתנת לזיהוי
על ידי מ”ט ותהי
שפה שלא ניתנת לזיהוי על ידי מ”ט. נסתכל בשפה הבאה: . האם
– ניתנת להכרעה? ניתנת לזיהוי? הוכיחו.
תשובה:
נניח בשלילה ש- ניתנת
לזיהוי.
אזי קיימת מ”ט שמזהה
את .
נבנה מ”ט : “עבור כל קלט
:
נריץ את על , אם מקבל, נקבל. אם דוחה, נדחה.”
אם , אז
, ולכן ולכן מקבל את , ולכן מקבל את .
אם כן מצאנו מ”ט המזהה את
. בסתירה לנתון
בשאלה.
מסקנה: אינה ניתנת
לזיהוי.
לכן, גם אינה ניתנת
להכרעה.
שאלה 4
א. נסתכל ב-2 שפות הבאות:
WVC: given a graph ,
a weight function ,
constant . then belongs to WVC
if has a vertex cover of
total weight of most .
VC: given a graph
and integer . Then belongs to VC if
has a vertex cover of size at
most .
נניח שידוע ש- שפה
NP שלמה. הוכיחו ש-
שפה NP שלמה.
תשובה:
נראה רדוקציה פולי’ מ- ל- . כלומר נראה ש: .
נגדיר פונקציה כך: , כאשר לכל .
בבירור . והפונקציה ניתנתה לחישוב בזמן פולינומיאלי.
ב. הוכיחו שהשפה היא שפה NP שלמה.
גרף לא מכוון שייך
לשפה אם
קיימת ב- קליקה שמכילה חצי
מהצמתים שלו.
רמז: רדוקציה מהבעייה . שייך לשפה אם בגרף
לא מכוון יש קליקה בגודל .
תשובה:
ראשית, , כי בהינתן קבוצת צמתים בגודל , ניתן לבדוק בזמן
פולינומיאלי אם יש קשת
בין כל זוג צמתים בקבוצה זו.
נראה רדוקציה פולי’ מ- ל- . כלומר נראה ש:
.
נגדיר פונקציה כך: ,
כאשר:
אם : נגדיר
את להיות
גרף עם ו- .
אם :
נגדיר את
להיות גרף עם ו- יכיל את הצמתים של וגם נוסיף לו צמתים חדשים (שלא מחוברים לשום צומת
אחר), כאשר . (ואז
מתקיים ).
מתקיים ש: ל- יש קליקה
בגודל אם ורק אם ל- יש קליקה בגודל
אם :
נגדיר את
להיות גרף כאשר יכלול את
כל הצמתים של וגם נוסיף לו
צמתים חדשים, כאשר . (ואז ). ו- יכיל את כל הקשתות של וגם נוסיף קשתות בין כל הצמתים החדשים, וגם מכל צומת חדש לכל
צומת ב- .
מתקיים ש: ל- יש קליקה
בגודל אם ורק אם ל- יש קליקה בגודל .
אם ,
אם כן: .
מאחר ש: CLIQUE היא NP-שלמה (מסקנה 7.43), נובע ש- גם היא NP-שלמה
(לפי משפט 7.36).
מבחן לדוגמה 3
שאלה 1
א. בנו DFA עבור כל אחד מהברי”ם הבאים. תנו הסבר קצר.
תשובה:
תשובה:
ב. הפכו את ה NFA הבא ל- DFA שקול.
תשובה:
ג. בנו DFA מעל עבור
השפה הבאה:
.
תשובה:
שאלה 2
א. ו- ב. ראו מועד 2024b-94 שאלה 2
ג. האם השפה הבאה חסרת הקשר? .
תשובה:
נניח בשלילה ש- חסרת הקשר.
אזי קיים אורך ניפוח .
ניקח את המילה .
לפי הלמה ניתן לכתוב , כאשר ו- .
מקרה 1: אם מכילה לפחות
אחד, אז בוודאי אינה מכילה -ים, אם כן מכילה לפחות -ים, אבל יהיה בה בדיוק -ים. כלומר לא יתכן ש-. ואז . סתירה.
מקרה 2: אם אינה מכילה
-ים, אז היא מכילה לפחות אחד או לפחות אחד. אם כן כאשר ננפח למטה, נקבל
שמספר ה--ים או ה--ים ירד, אבל מספר ה--ים נשאר אותו דבר. ואז גם לא יתכן
ש-. ואז . סתירה.
מסקנה: אינה חסרת
הקשר.
שאלה 3
ראו מועד 2024b-94 שאלה 3.
שאלה 4
א. הוכיחו ששפה הבאה לא כריעה:
הדרכה: רדוקציה מבעיה .
תשובה:
נניח בשלילה ש- ניתנת
להכרעה ע”י מ”ט .
נשים לב שעבור מ”ט עם מצב
מקבל , מתקיים ש-
הוא useless
state אםם .
נבנה מ”ט כך: “עבור כל קלט
, כאשר היא מ”ט:
נריץ את על .
אם מקבל, אז
נדחה. אחרת, נקבל.”
מ”ט זו מכריעה את , כי אם אז הוא useless state,
ואם אז אינו useless
state.
אבל
אינה ניתנת להכרעה לפי משפט 5.2. סתירה.
מסקנה: אינה ניתנת
להכרעה.
ב. הוכיחו שלא קיימת רדוקציית מיפוי מ- ל- . (תרגיל 5.5 בספר)
רמז: הוכחה בדרך השלילה ותכונות ידועות של ו- .
תשובה:
נניח בשלילה ש- בעזרת רדוקציית מיפוי .
אזי .
באופן שקול: .
כלומר .
כלומר .
כמו כן ידוע ש- אינה מזוהה
-טיורינג (מסקנה 4.23), ו- היא כן מזוהה
-טיורינג (תרגיל 4.5 בספר). אבל אם קימת רדוקציית מיפוי מ- ל- נובע ש-
מזוהה
-טיורינג, (או ש- אינה מזוהה
-טיורינג). סתירה.
מסקנה: לא קיימת רדוקציית מיפוי מ- ל- .
ג. ידוע ש- ובנוסף ידוע ש- שפת
רגולרית. האם בהכרח שפה
רגולרית? (תרגיל 5.4 בספר)
תשובה: לא בהכרח. דוגמה נגדית:
השפה אינה רגולרית.
השפה סופית ולכן
רגולרית.
נגדיר פונקציה: . (פונקציה זו ניתנת לחישוב כי חסרת הקשר ולכן גם ניתנת להכרעה),
כמו כן מתקיים , ולכן זו פונקציית רדוקציית מיפוי: .
שאלה 5
ראו מועד 2024b-94 שאלה 4.
מועד 2024b-65
שאלה 1
א. האם השפה הבאה מעל הא”ב היא שפה רגולרית? הוכיחו את
טענתכם.
כלומר, השפה מורכבת מכל
המילים באורך אי-זוגי, כאשר האות האמצעית במילה היא .
תשובה:
ניקח את שנמצאת
בשפה .
לפי למת הניפוח, ניתנת
לכתיבה כ-, כאשר ו-.
לכן מורכבת רק מ- ים.
אם ננפח את למעלה, כבר לא יהיה באמצע המילה, לכן הניפוח
יהיה בשפה. בסתירה ללמה. מסקנה: אינה רגולרית.
ב. בנו ביטוי רגולרי מעל הא”ב המייצג כל המחרוזות באורך אי
זוגי המסתיימות באות .
תשובה:
ג. בנו ביטוי רגולרי שמייצר את השפה שה-NFA הבא מזהה.
תשובה:
שאלה 2
א. תהיינה C,B,A שפות חסרות-הקשר.
קבעו לגבי כל אחת מהשפות הבאות אם היא שפה חסרת הקשר. יש להוכיח את
טענתכם.
תשובה:
השפה
אינה בהכרח חסרת הקשר. דוגמה נגדית: ניקח את ו- להיות שתי שפות ריקות. ואת להיות שפה שאינה חסרת
הקשר.
השפה היא חסרת
הקשר, מאחר ששפות חסרות הקשר סגורות תחת איחוד ושרשור.
ב. נתון הדקדוק הבא:
הוכיחו שהדקדוק זה יכול לגזור את המחרוזות .
תשובה: נראה גזירה:
האם אפשר לגזור בדקדוק הזה את המחרוזת:
תשובה: לא. המילה לא יכולה להתחיל באות .
שאלה 3
יהיה גרף לא מכוון. נגדיר
את שתי השפות הבאות:
א.הוכיחו שהשפה
שייכת למחלקה P.
תשובה: תיאור אלגוריתם: “עבור קלט כאשר הוא מספר הצמתים בגרף :
נסמן את צומת ב- .
עבור כל מ- עד :
אם קיימת קשת המחברת
בין צומת המסומנת ב- לצומת שאינה מסומנת, נסמן את ב- .
אם מסומנת בערך קטן או
שווה ל- , נקבל, אחרת,
נדחה.”
ב. הוכיחו שהשפה היא NP-שלמה.
רמז: אפשר להניח ש- היא NP-שלמה;
נזכיר ש-
היא שפת כל המחרוזות כאשר הוא
גרף, ו -ו -הם צמתים בגרף וקיים מסלול המילטוני מהצומת לצומת .
תשובה:
ראשית, היא NP.
כי אם יש לנו מסלול באורך גדול או שווה ל- , נוכל לבדוק את המסלול הזה בזמן
פולינומיאלי.
נראה ש- היא
NP-שלמה:
בעזרת רדוקציה מ- ל- : “עבור קלט כאשר ו- הם צמתים בגרף :
יהי מספר הצמתים בגרף
.
נדפיס את .”
אם , אזי
מכיל מסלול המילטוני באורך , מ-
ל- , אזי .
אם , אזי
מכיל מסלול פשוט באורך , מ-
ל- , אבל ל- יש צמתים, אזי המסלול הוא מסלול
המילטוני, כלומר .
שאלה 4
א. הוכיחו או הפריכו: “נתון שהשפות ו- ניתנות להכרעה. כמו כן ידוע ש-
.
אזי ניתנת להכרעה.”
תשובה: הטענה אינה נכונה. דוגמה נגדית: , , ו- שפה בלתי כריעה כלשהיא מעל הא”ב
.
ב. נתונה מ”ט:
כאשר , ו-
, וכל
המעברים שאינם מצויירים באיור מובילים למצב דוחה.
מהי השפה שמכונה זו מזהה?
תשובה:
רשמו סדרת קונפיגורציות חישוב של המכונה על הקלט .
תשובה:
מועד 2024b-94
שאלה 1
א. הוכיחו שהשפה הבאה מעל הא”ב רגולרית: .
תשובה:
השפה רגולרית.
השפה סופית ולכן
רגולרית.
השפה רגולרית. (ביטוי רגולרי: ).
לכן השפה היא רגולרית (סגירות תחת איחוד וחיסור
קבוצות).
ב. נסתכל בשפה הבאה מעל הא”ב .
אדם מנסה להוכיח ש- שפה
רגולרית. הוא כתב את ההוכחה הבאה:
תהי שפה רגולרית (כי קיים DFA עבורה).
השפה היא שרשור של 3 שפות
, כלומר .
ידוע ששפות רגולריות סגורות תחת שרשור ולכן רגולרית.
האם הנימוק של אדם נכון או שגוי? נמקו את תשובתכם.
תשובה: שגוי.
השפה מורכבת מכל המילים
שהם רצף של 3 מחרוזות זהות שמתחילות ב- . אבל השפה מורכבת מכל המילים שהן רצף של 3
מחרוזות שהן לא בהכרח זהות שמתחילות ב- .
ג. הוכיחו שהשפה מהסעיף
הקודם אינה רגולרית.
תשובה:
נניח בשלילה ש- רגולרית,
אזי קיים אורך ניפוח .
ניקח את המילה , שהיא מילה
באורך השייכת לשפה .
לפי למת הניפוח, ניתן לכתוב , כאשר ו-.
אם אזי מתחיל ב- , ולכן מכיל רק ים, ולכן ניפוח של יגרום לכך ש- היא לא מהצורה , כלומר לא תהיה שייכת לשפה .
אם אזי , ולכן גם במקרה זה אחרי
ניפוח של למטה נקבל מילה
מהצורה שלא תהיה שייכת לשפה
.
שאלה 2
א. הדיאגרמה הבאה מראה היררכיה של השפות שלמדנו בקורס. (ראו רשימה
למטה). רשמו בכל אליפסה, לאיזו מחלקת שפות היא מתייחסת. כמו כן, לכל
אחת מחמש המחלקות תנו דוגמה לשפה אחת מתוך המחלקה שאינה שייכת לאף
מחלקה (אליפסה) חלקית. אין צורך לנמק בחירה זו. השפות: ניתנות לזיהוי
על ידי מ”ט, שפות רגולריות, שפות ניתנות להכרעה ע”י מ”ט, שפות חסרות
הקשר, שפות לא ניתנות להכרעה.
תשובה:
a: regular (e.g. )
b: CFL (e.g. )
c: decidable (e.g. )
d: non-decidable (e.g. )
e: turing-recognizable (e.g. )
ב.יהיו ו- שפות חסרות-הקשר. האם בהכרח חסרת-הקשר? כלומר האם
המחלקה CFL סגורה תחת הפרש קבוצות?
תשובה: לא בהכרח.
מאחר ששפות חסרות הקשר אינן סגורות תחת משלים, קיימת שפה חסרת הקשר
כך ש- אינה חסרת הקשר.
כעת אם ו-, אזי ו- חסרות הקשר, אבל אינה חסרת הקשר.
ג. הוכיחו שהשפה הבאה אינה חסרת-הקשר .
תשובה: נניח בשלילה ש- חסרת הקשר.
לפי למת הניפוח, קיים אורך ניפוח .
ניקח את המילה .
לפי למת הניפוח, ניתן לכתוב כאשר ו-.
מקרה 1: מכילה רק אפסים,
ואז ניפוח למעלה יפר
את האי-שוויון כי:
מקרה 2: אם מכילה רק
אחדים, ואז ניפוח למטה
יפר את האי-שוויון כי:
מקרה 3: אם , , . אז .
If ,
.
.
.
.
.
If ,
.
.
.
.
.
.
מקרה 4: ש- מכילה גם אפסים
וגם אחדים. (או ש- מכילה גם
אפסים וגם אחדים) כמובן לא יתכן שהרי ניפוח למעלה יביא אותנו לצורה
כזו: .
בכל המקרים הגענו לכך ש- , בסתירה לאי-שוויון . כלומר הניפוח לא נמצא ב-
. בסתירה ללמה.
מסקנה: אינה חסרת
הקשר.
שאלה 3
א. האם השפה הבאה ניתנת לזיהוי על ידי מ”ט. הוכיחו או הפריכו.
.
בשפה יש קידודים של כל מ”ט
המקבלות לפחות פלינדרום אחד.
תשובה: כן, השפה ניתנת לזיהוי על ידי מ”ט.
נראה מ”ט שמזהה את השפה :
:
Extract the input alphabet of .
Enumerate all palindromes over in lexicographic order: .
For each :
Simulate for at most
steps on each input . If accepts any of these strings,
accept.
אם אכן מקבל פלינדרום, אז
יקבל בסופו של דבר, שהרי רץ מספר סופי של צעדים לפני שיגיע
לאותו פלינדרום.
ב. הוכיחו ששפה הבאה ניתנת להכרעה על ידי מ”ט דטרמיניסטית בשפה יש קידודים של כל מכונות טיורינג
שמקיימות את התנאי הבא: אם המכונה מתחילה לעבוד עם סרט ריק, אז היא
תרשום עליו לפחות תו אחד ששונה מרווח.
תשובה:
נראה מ”ט דטרמיניסטית
שמכריעה את השפה :
, where is TM
with states:
Simulate step-by-step for
up to transitions.
If during the simulation
writes a non-blank symbol on the tape, accept.
Otherwise, reject.
לאחר מעברים,
אם אכן כתבה non-blank
symbol, אז נקבל, כי אכן נמצאת
ב- .
אם לא נכתב non-blank symbol, המ”ט יכולה להיות לכל היותר ב- מצבים. לא יתכן שכולם שונים, כי יש
רק מצבים (“עקרון שובך
היונים”…), לכן בסדרת קונפיגורציות אחרי ה- מעברים, יהיו לפחות 2 קונפיגורציות
עם מצב זהה, בשלבים ו- (כאשר ), עם קלט זהה
שהרי לא כתבנו non-blank
symbol, (למעט אולי מיקום הראש שונה). אם כן ההתנהגות של אחרי שלב תהיה זהה להתנהגות של אחרי שלב , אם כן מחזורית אחרי שלב ותכנס ללואה אינסופית בלי לכתוב
non-blank symbol, ולכן לא
שייכת ל- .
שאלה 4
א. הוכיחו או הפריכו: אם השפה שייכת למחלקה P,
אזי גם השפה
שייכת למחלקה P.
הערה: מותר להסתמך על משפטים שהוכחו בקורס מבלי להוכיח אותם
כאן.
תשובה: הטענה נכונה.
ידוע ש- . (משפטים 7.44,
7.46).
נתון בשאלה ש- .
לפי משפט 7.35 אם ו- , אזי .
מאחר ש- , נובע ש- , לכן
.
ב. הוכיחו שהשפה הבאה שייכת למחלקה NP
כלומר, רשימת מספרים שלמים חיוביים שייכת לשפה SET-PARTITION אם
אפשר לחלק את המספרים ברשימה לשתי רשימות זרות בעלות אותו סכום.
תשובה: ניתן לאמת חלוקה נתונה בזמן פולינומיאלי.
סכימה של כל רשימה, ובדיקה שהסכומים שווים, היא לינארית, בדיקה
שהרשימות זרות, היא ריבועית. לכן SET-PARTITION שייכת ל-NP.
ג. הוכיחו שהשפה Set-Partition היא NP-שלמה. רמז: העזרו בעובדה
שהשפה הבאה היא NP-שלמה: .
תשובה: נראה רדוקציה פולינומיאלית מ- ל- . כלומר .
נסמן את הסכום של כל המספרים ברשימה כ- .
נגדיר פונקציה כך:
.
כיוון ראשון: אם , אזי קיימת תת-קבוצה של
כך שסכום המספרים בה הוא .
לכן סכום המספרים שאינם בתת-קבוצה הזו של הוא , ולכן הסכום של הוא , ולכן ניתן לחלק
את המספרים ב- לשתי רשימות
בעלות אותו סכום .
אם כן: .
כיוון שני: אם , אז ניתן לחלק את
המספרים לשתי רשימות בעלות אותו סכום .
לכן סכום המספרים ברשימה השנייה הוא , כלומר סכום המספרים ברשימה
הראשונה הוא , כלומר .
מועד 2025a-a1
2025a-64 = 2025a-84
שאלה 1
א. בנו אוטומט סופי מעל הא”ב הבינרי המקבל את כל המחזורות שבהן
מופיעה התת מחזורת בדיוק פעם
אחת. (לצורך ההבהרה האוטומט לא יקבל מחרוזת שקיימת בה התת-מחרוזת )
תשובה:
ב. בנו ביטוי רגולרי עבור כל אחת מהשפות הבאות. תנו הסבר קצר
לתשובה.
.
.
תשובה:
ג. ( יהיו שפות מעל אותו
א”ב. ידוע ש- ( שרשור ) היא שפה רגולרית. האם בהכרח שפה רגולרית? הסבירו.
תזכורת: .
תשובה:
אינה בהכרח רגולרית. דוגמה נגדית:
השפה אינה רגולרית.
השפה
רגולרית.
נובע ש- . לכן רגולרית.
שאלה 2
א. האם השפה הבאה היא שפה חסרת-הקשר? הוכיחו את תשובתכם.
.
תשובה: נניח בשלילה ש- היא חסרת הקשר.
לפי הלמה קיים אורך ניפוח .
נבחר מילה .
לפי הלמה ניתן לכתוב , כאשר , ו- לכל .
מאחר ש- , אזי או
או .
מקרה 1: .
ננפח למעלה .
(מניחים ש- מכילה רק ים ו- מכילה רק ים. כי אחרת ניפוח למעלה יביא למחרוזת
לא מהצורה ).
מאחר ש- , אזי או
או .
אם , אז . כלומר לא מתקיים . ואז .
אם , אז . כלומר לא מתקיים . ואז .
מקרה 2: .
אם יש ב- יותר ים מאשר ים,
ננפח למעלה . (מניחים ש-
מכילה רק ים ו- מכילה רק ים. כי אחרת ניפוח למעלה יביא למחרוזת
לא מהצורה ).
מאחר ש- , אזי או
או .
אם , אז . כלומר לא מתקיים . ואז .
אם , אז . כלומר לא מתקיים . ואז .
אם יש ב- יותר ים מאשר ים,
ננפח למטה . ואז נקבל ש , אבל גם לכן , ואז .
בכל מקרה קיבלנו ש- , בסתירה ללמה.
מסקנה: אינה חסרת
הקשר.
ב. בנו PDA עבור השפה הבאה:
.
כאשר מציין את הערך השלם של . כלומר העיגול של כלפי מטה למספר שלם.
תשובה:
לכל שקוראים בסרט, דוחפים
למחסנית .
לכל שקוראים בסרט, דוחפים
למחסנית .
לכל שקוראים בסרט, מוציאים
שני מהמחסנית.
בסוף הסרט:
אם המחסנית ריקה, אז מקבלים. כי זה אומר ש- .
אם המחסנית לא ריקה, מוצאים אחד.
אם המחסנית ריקה, אז מקבלים. כי זה אומר ש- כלומר .
אם המחסנית לא ריקה, דוחים.
ג. בנו CFG עבור שפת המילים הבינאריות שבהן מספר האפסים גדול בדיוק
פי 2 ממספר האחדים.
תשובה:
שאלה 3
א. הוכיחו או הפריכו: אם
שפה ניתנת לזיהוי-טיורינג, אזי גם השפה ניתנת לזיהוי- טיורינג.
תשובה: הטענה נכונה.
אם ניתנת לזיהוי-טיורינג,
אז יש מ”ט שמזהה את .
נבנה מ”ט לא-דטרמיניסטית שמזהה את כך: “עבור כל קלט :
נעבור על כל החלוקות האפשריות של כך ש- .
נריץ את על עבור כל . אם מקבלת את כולם, נקבל. אם
דוחה אחד מהם,
נדחה.”
אם יש דרך לחתוך את
לתת-מחרוזות כך ש- מקבלת את כל
תת-המחרוזות, שייך ל- , ו- תקבל את לאחר מספר סופי של צעדים.
ב. האם השפה הבאה ניתנת
להכרעה? מדוע?
.
כלומר
שייכת ל- אם השפה המתוארת על
ידי הביטוי הרגולרי
שווה לשפה המתוארת על ידי הביטוי הרגולרי .
דוגמה: .
תשובה: השפה ניתנת להכרעה.
נבנה מ”ט שמכריעה את כך:
“עבור כל קלט :
נבנה אוטו’ סופיים
ו- עבור הביטויים הרגולריים
ו- בהתאמה.
נבדוק אם על
ידי הרצת
על . אם
מקבל, אז
ואז
נקבל, אחרת, נדחה.”
שאלה 4
א. מצאו ביטוי רגולרי המתאר את השפה שמקבל ה-DFA הבא:
יש לפתור את השאלה לפי ההנחיות הבאות:
הפכו את ה DFA ל- GNFA בן 4 מצבים.
סלקו את מצב .
סלקו את מצב .
רשמו את הביטוי הרגולרי שהתקבל.
תשובה:
ב. הוכיחו שהשפה אינה ניתנת
להכרעה; עשו זאת באמצעות רדוקציה מהשפה .
.
.
תשובה: (הוכחת משפט 5.4 מהספר).
נניח בשלילה ש- ניתנת להכרעה.
אזי קיימת מ”ט שמכריעה את
.
נבנה מ”ט כך: “עבור כל קלט
, כאשר היא מ”ט:
נריץ את על , כאשר היא מ”ט שדוחה כל קלט.
אם מקבל, אז
נקבל. אחרת, נדחה.”
אם מכריעה את , אז מכריע את . אבל אינה ניתנת
להכרעה לפי משפט 5.2. סתירה.
מסקנה: אינה ניתנת
להכרעה.
שאלה 5
יהי גרף לא מכוון. צביעה
של ב- 3 צבעים נקראת כמעט
תקינה אם ישנה לכל היותר צלע אחת ששני הקודקודים בקצות הצלע
צבועים באותו צבע. נגדיר את השפה הבאה:
גרף
שיש לו צביעה כמעט תקינה ב- 3 צבעים .
תזכורת: צביעה נקראת תקינה אם לכל שני קודקודים שכנים יש
צבע שונה.
א. האם שייכת ל-NP?
הוכיחו.
תשובה: כן.
פונקציה שתסמן צביעה של , תהווה certificate עבור .
מאמת יבדוק אם צובע כל קודקוד באחד מ- 3 הצבעים,
וגם שיש לכל היותר צלע אחת שני הקודקודים שלה צבועים באותו צבע.
המאמת יעשה זאת על ידי ריצה על כל צלע , ויספור כמה פעמים
מתקיים . אם הספירה היא
לכל היותר 1, אז צובע את כמעט תקינה, אחרת לא.
זמן הריצה הוא ,
שהוא פולינומיאלי בגודל הקלט .
מאחר שקיים מאמת שרץ בזמן
פולינומיאלי, הרי ש- לפי הגדרת NP.
ב. הראו כי ישנו גרף בן 4 קודקודים שאין לו צביעה תקינה ב- 3
צבעים. אבל יש לו צביעה כמעט תקינה ב- 3 צבעים.
תשובה:
גרף שלם אינו ניתן
לצביעה תקינה ב- 3 צבעים, מאחר שיש בו 4 קודקודים, בהכרח יש לפחות 2
קודקודים צבועים באותו צבע. אבל שני קודקודים אלו מחוברים בצלע שהרי זה
גרף שלם, הרי ש- אינו ניתן
לצביעה תקינה ב- 3 צבעים.
אבל ניתן לצביעה כמעט
תקינה ב- 3 צבעים, למשל: , , , . רק הצלע מחברת קודקודים צבועים באותו
צבע, כלומר יש ל- צביעה כמעט
תקינה ב- 3 צבעים.
ג. האם שפה NP-שלמה?
הוכיחו או הפריכו.
תשובה:
נראה רדוקציה . כאשר .
נגדיר פונקציה , כאשר . (פונקציה זו ניתנת
להרצה בזמן פולינומיאלי).
אם , אז ניתן
לצביעה תקינה ב- 3 צבעים, אז ניתן לצביעה כמעט תקינה ב- 3
צבעים, (כי ניתן לצביעה כמעט
תקינה ב- 3 צבעים. והאיחוד שלהם לא מפריע, שהרי אין צלעות בין ל- ב-), ולכן .
אם , אז אינו ניתן
לצביעה תקינה ב- 3 צבעים, ולכן אינו ניתן לצביעה כמעט תקינה ב-
3 צבעים, ולכן .
(הערה: אין צורך לצייר מצבים שלא ניתנים להשגה מהצב ההתחלתי).
, , , ,
(NFA)
a
b
c
תשובה:
נמיר ל-DFA. (סימנתי את המצב כדי להבהיר את העקרון).
(DFA)
a
b
c
המצבים המקבלים ב-DFA הם , . (כי הם מכילים את ).
שאלה 1ב-ג
ב. בנו NFA מעל הא”ב הבינארי שמקבל את שפת כל המילים באורך 2 או
יותר שמתחילות ומסתיימות באותו תו.
.
.
תשובה:
,
ג. רשמו ביטוי רגולרי עבור השפה של סעיף ב’.
תשובה:
שאלה 2
א. בנו דקדוק חסר-הקשר עבור השפה של הביטוי הרגולרי הבא: .
תשובה:
ב. האם השפה הבאה היא חסרת-הקשר? הוכיחו. .
תשובה: השפה אינה חסרת הקשר. הוכחה:
ג. האם חיתוך של שפה חסרת הקשר עם שפה רגולרית הוא בהכרח שפה
חסרת-הקשר? מדוע?
תשובה:
שאלה 3
א. תהי נוסחה
בוליאנית על המשתנים . יהיו שני
משתנים שונים. נאמר שהשמה של
ערכים לכל המשתנים
מפרידה בין ל-
אם היא נותנת לשני המשתנים
ערכי אמת שונים. נסתכל בשפה הבאה:
.
א. הוכיחו ש- היא שפה ב-
.
ב. האם שפה NP-שלמה?
מדוע?
שאלה 4
א. מצאו ביטוי רגולרי המתאר את השפה שמקבל ה-DFA הבא:
יש לפתור את השאלה לפי ההנחיות הבאות:
הפכו את ה DFA ל- GNFA בן 4 מצבים.
סלקו את מצב .
סלקו את מצב
סלקו את מצב .
רשמו את הביטוי הרגולרי שהתקבל.
תשובה:
ב. הוכיחו השפה אינה ניתנת
להכרעה. .
רמז: רדוקציה מהשפה .
תשובה:
,
On input :
if then
accept.
if then run
on . accept if accepts, reject if rejects.”
אם , אז מקבל את
, ואז מקבל את , כלומר .
אם , אז לא מקבל
את , ואז לא מקבל את , כלומר .
קיבלנו ש- , כלומר .
מאחר ש- אינה ניתנת
להכרעה, גם אינה ניתנת
להכרעה.
שאלה 5
א. הוכיחו או הפריכו: יהיו
ו- שפות הניתנות לזיהוי על ידי
מכונת טיורינג. אזי גם
ניתנת לזיהוי על ידי מ”ט.
תשובה: עבור כל שתי שפות ו- הניתנות לזיהוי על ידי מ”ט, נסמן את
מ”ט המזהות אותן כ- ו-. נבנה מ”ט שמזהה את האיחוד של ו-:
On input :
Run and alternately on step by step.
If either accepts, accept.
If both halt and reject, reject.”
אם אחת מבין או מקבלת את , אז תקבל את , כיוון שהמכונה שמקבלת מגיעה למצב
מקבל לאחר מספר סופי של צעדים.
ב. הוכיחו או הפריכו: יהיו
ו- שפות הניתנות לזיהוי על ידי
מכונת טיורינג. אזי גם
ניתנת לזיהוי על ידי מ”ט.
תשובה: עבור כל שתי שפות ו- הניתנות לזיהוי על ידי מ”ט, נסמן את
מ”ט המזהות אותן כ- ו-. נבנה מ”ט שמזהה את החיתוך של ו-:
On input :
Run on .
If it halts and rejects, reject.
If it accepts, go to stage 2.
Run on .
If it halts and rejects, reject.
If it accepts, accept.”
אם גם וגם מקבלות את , הרי ש- ולכן תקבל את לאחר מספר סופי של צעדים.
ג. נתונה מ”ט הבאה. רשמו את סדרת הקונפיגורציות שלה על הקלט , כאשר כל המעברים שאינם מצויירים
הולכים למצב דוחה.
בנו DFA שמזהה את השפה מעל הא”ב הבינארי של המילים המכילות אות “1”
לפחות פעם אחת, ומכילות אות “0” לכל היותר פעם אחת.
תשובה:
נתונות שתי שפות מעל הא”ב הבינארי:
בדקו עבור כל אחת מהשפות אם היא רגולרית או לא. הוכיחו את תשובתכם.
תשובה:
השפה רגולרית. ביטוי
רגולרי:
השפה אינה רגולרית.
נניח ש- רגולרית.
אזי קיים אורך ניפוח .
ניקח את המילה .
שזו מילה ב- .
לפי הלמה ניתן לכתוב
כאשר ו- .
מכך ש- וגם
, נובע ש- מכילה רק 0-ים, ומכילה לפחות 0
אחד.
אזי כאשר ננפח את למעלה,
נקבל מילה , שהיא לא ב- ,
כי יש בה יותר 0-ים בצד השמאלי מאשר בצד הימני. סתירה.
מסקנה: אינה
רגולרית.
האם השפה הבאה רגולרית. תנו הסבר קצר. .
תשובה: השפה סופית ולכן רגולרית. (אפשר לבנות ב”ר
המורכב מאיחוד של כל
המחרוזות שבשפה).
שאלה 2
א. מהי השפה של ה- PDA הבא? תנו הסבר קצר.
תשובה:
ב. הפכו את הדקדוק חסר-הקשר הבא לדקדוק בצורה נורמלית של חומסקי.
יש לתאר את כל השלבים.
תשובה:
ג. האם השפה הבאה חסרת הקשר. .
תשובה: נניח בשלילה שהשפה חסרת הקשר.
לפי למת הניפוח, המחרוזת , ניתנת לכתיבה כ- , כאשר ו- .
ננפח למעלה, , נקבל
מחרוזת שאינה בשפה כי אינה
יכולה להכיל גם 0-ים וגם 2-ים או גם 1-ים וגם 3-ים,
ולכן לא ניתן לשמור על השוויון בניהם כאשר ננפח.
מסקנה: השפה אינה חסרת הקשר.
שאלה 3
א.
הוכיחו כי .
תשובה:
ב. האם שפה
NP-שלמה? מדוע?
תשובה:
ג. הוכיחו או הפריכו: אם אז יתכן ש- שייכת ל
P אבל לא שייכת ל P.
תשובה: דוגמה: ו- שפה כלשהיא ב- . (לכן ניתנת להכרעה בזמן פולינומיאלי).
אם , אז נגדיר מ”ט
שעוצרת על כל הקלטים.
(למשל מחזירה תמיד 1).
אם , אז נגדיר מ”ט
שעל כל קלט אינה
עוצרת.
אם כן, .
הבנייה של היא בזמן
פולינומיאלי, כי היא תלויה רק האם או לא. שזה ניתן לבדוק בזמן פולינומיאלי.
שאלה 4
א. הוכיחו בעזרת רדוקציית מיפוי שהשפה המשלימה של השפה הבאה אינה
ניתנת לזיהוי ע”י מ”ט.
תשובה:
ידוע ש- אינה ניתנת
לזיהוי ע”י מ”ט.
נראה ש- .
נגדיר רדוקצית מיפוי
כאשר הוא מ”ט שמוגדרת
כך: “על קלט :
אם אז נדחה.
אם אז נריץ את על .
אם מקבלת אז נקבל.
אם דוחה אז נדחה.”
וכן, הוא DFA שמקבל את
השפה .
נובע ש: .
מכיוון ש- אינה ניתנת
לזיהוי ע”י מ”ט, וגם כפי שראינו ש- , אזי גם אינה ניתנת לזיהוי ע”י
מ”ט.
ב. הוכיחו או הפריכו: מכל שפה אפשר לבנות רדוקציית מיפוי לשפה
. כלומר: .
תשובה: הטענה נכונה. ניתן לבנות את הרדוקציה
. ואז .
ג. הוכיחו או הפריכו: לכל שפה מתקיים: .
תשובה: הטענה אינה נכונה. דוגמה נגדית:
ניקח את השפה שכידוע היא ניתנת
לזיהוי ע”י מ”ט. וכן ,
שידוע שאינה ניתנת לזיהוי ע”י מ”ט. אם כך לא ניתן לבנות רדוקציית מיפוי
מ- ל- , כי אם כן אזי הייתה ניתנת לזיהוי ע”י
מ”ט.
שאלה 5
א. האם השפה הבאה ניתנת להכרעה? הוכיחו.
תשובה:
On input where is a TM and is a positive number:
For all strings where
:
Run on for steps.
If does not terminate
within steps, then
accept.
If we’re finished enumerating and terminated within steps every time, then
reject.”
ב. האם השפה הבאה ניתנת להכרעה? הוכיחו.
תשובה: כן. נבנה מ”ט שתרוץ על כל ה- השמות האפשריות של ה- משתנים, ותבדוק אם אחת מהן מספקת את
הנוסחה. (כל בדיקה אחת כזו נעשת בזמן סופי לפי גודל הנוסחה). אם כן, אז
accept, אחרת reject.
מועד 2025b-66
שאלה 1
א. הוכיחו או הפריכו: אם
שפה רגולרית, אזי גם שפה
רגולרית.
תשובה: הטענה אינה נכונה. נראה דוגמה נגדית:
ניקח את השפה שאינה רגולרית. הוכחה:
נניח בשלילה ש- רגולרית.
אזי קיים אורך ניפוח .
נבחר את המילה בשפה
כאשר ראשוני כך שלכל , מתקיים ש אינו ראשוני.
ננפח את ונקבל את , כאשר ו- .
מאחר ש- ו-
, אזי . ולכן אינו ראשוני, לכן . בסתירה
ללמה.
מסקנה: אינה רגולרית.
אבל היא שפה רגולרית,
(כי היא מכילה את כל המחרוזות של -ים, באורך גדול או שווה ל- 2, ואת
. כי מכילה את ו- ) כלומר . ושפות
רגולריות סגורות תחת הפרש קבוצות.
ב. הוכיחו או הפריכו: אם שפה שונה משפה לא רגולרית במספר סופי של מחרוזות, אזי לא רגולרית.
תשובה: נניח בשלילה ש- רגולרית.
ניקח את השפה שהיא ההפרש הסימטרי . שהיא סופית לפי הנתון, ולכן רגולרית.
מכך גם נובע ש- . אבל מאחר ש- ו-
רגולריות, אזי גם רגולרית, (כי שפות רגולריות סגורות
תחת איחוד והפרש קבוצות ולכן גם תחת הפרש סימטרי). סתירה לנתון ש-
אינה רגולרית.
מסקנה: הטענה נכונה.
ג. האם השפה הבאה רגולרית? הוכיחו או הפריכו. שפת כל המילים מעל
הא”ב שהן באורך
אי-זוגי והאות האמצעית בהן שווה לאות הראשונה.
תשובה:
השפה אינה רגולרית.
נניח בשלילה ש- רגולרית.
אזי קיים אורך ניפוח .
ניקח את המילה .
לפי הלמה ניתן לכתוב
כאשר ו- .
מאחר ש- , אז
לא מכילה את ה- האמצעי.
אם מכילה את ה- הראשון, ניפוח למטה יביא לכך שהאות
האמצעית תהיה שונה מהאות הראשונה, כלומר .
אם לא מכילה את ה- הראשון, ניפוח למטה יביא לכך
שה- האמצעי כבר לא יהיה אמצעי,
כלומר .
מסקנה: אינה רגולרית לפי
הלמה לניפוח.
שאלה 2
א. האם השפה הבאה היא שפה חסרת הקשר? הוכיחו או הפריכו. .
תשובה: נוכיח שכן בעזרת שני דקדוקים חסרי הקשר
עבור שני שפות:
עבור .
עבור
מאחר ששפות חסרות הקשר סגורות תחת איחוד, נובע ש- .
ב. הוכיחו או הפריכו. אם L שפה חסרת הקשר, אזי גם שפה חסרת הקשר.
תשובה: הטענה נכונה לפי תרגיל 2.18a בספר שחיתוך
של שפה חסרת הקשר עם שפה רגולרית הוא שפה חסרת הקשר.
ג. האם השפה הבאה היא שפה חסרת הקשר? הוכיחו או הפריכו. .
תשובה: נניח בשלילה ש- חסרת הקשר.
אזי קיים אורך ניפוח . ניקח
את המחרוזת . אזי המילה
ניתנת לכתיבה כ- כאשר ו- .
אם מורכבת רק מ- -ים, או רק מ- -ים, אזי ניפוח יביא למילה שאינה
בשפה, למשל, .
אחרת היא מהצורה או מהצורה , וגם אז ניפוח יביא למילה
שאינה בשפה, למשל .
בכל מקרה הגענו לסתירה ללמה לניפוח, ולכן אינה חסרת הקשר.
שאלה 3
נסתכל בשפה הבאה:
א. הוכיחו שהשפה שייכת ל-
.
תשובה: בהינתן certificate שהוא בעצם קבוצת צמתים
בגודל , נוכל לבדוק בזמן
פולינומיאלי אם הם מהווים
קליקה בגודל ע”י בדיקת כל זוג
צמתים אם יש ביניהם קשת.
ב. האם שפה NP-שלמה?
תשובה: כן. נראה רדוקציה מ- ל- .
כאשר .
נגדיר את הרדוקציה ,
כאשר אם זוגי, ו- (כאשר מחובר לכל צומת ב- ) אם אי זוגי.
אם זוגי, אזי . בבירור מכיל קליקה בגודל אם ורק אם מכיל קליקה בגודל .
אם אי זוגי, אזי .
אם מכיל קליקה בגודל , אזי מכיל קליקה בגודל , ולכן מכיל קליקה בגודל (כולל את הצומת ).
אם מכיל קליקה בגודל
, אזי מכיל קליקה (לפחות) בגודל (ללא הצומת ), ולכן מכיל קליקה בגודל .
אזי מכיל קליקה בגודל
אם ורק אם מכיל קליקה בגודל .
כלומר .
לכן .
מכיוון ש- וגם אזי גם .
שאלה 4
א. הוכיחו שאם שפה ניתנת
להכרעה אז קיימת רדוקציית מיפוי כזו: .
תשובה: מאחר ש- ניתנת להכרעה, אז יש מ”ט שמכריעה את .
On input :
Test whether using
.
If , then output
If , then output
.”
אם כן .
ב. הוכיחו או הפריכו: אם אז .
תשובה: הטענה אינה נכונה. דוגמה נגדית:
ניקח את השפה ,
שהיא כריעה, ו- שאינה כריעה.
אם , אז נגדיר מ”ט
שעוצרת על כל הקלטים.
(למשל מחזירה תמיד 1).
אם , אז נגדיר מ”ט
שעל כל קלט אינה
עוצרת.
אם כן, . כלומר .
אבל כמובן ש- , שהרי אינה כריעה,
ו- כן.
ג. הוכיחו בעזרת רדוקציה שהשפה הבאה איננה כריעה: .
תשובה: נראה שקיימת רדוקציית מיפוי מ- ל- . כלומר ש- .
נגדיר את הרדוקציה , כאשר הוא מ”ט שמוגדרת כך: “על קלט
:
אם , אז נריץ את
על . (כאשר היא מילה קבועה
כלשהיא).
אם מקבל, אז נקבל. אם
דוחה, אז נדחה.
אחרת נדחה”.
אם , אז
מקבל בדיוק מילה אחת,
שהיא , ולכן , ולכן .
אם ,
אז דוחה את כל המילים,
ולכן , ולכן .
אם כן, .
ולכן .
מאחר ש- אינה
ניתנת להכרעה, אזי גם אינה
ניתנת להכרעה.
שאלה 5
א. הוכיחו או הפריכו: אם
שפה ניתנת להכרעה, אזי גם ניתנת להכרעה. תזכורת
.
תשובה: הטענה נכונה.
אם ניתנת להכרעה, אז יש
מ”ט שמכריע את .
נבנה מ”ט כך: “עבור
כל קלט :
נריץ את על .
אם מקבל, אז מקבל. אחרת, ידחה”.
אם כן, מכריע את
.
ב. האם השפה המתקבלת משרשור שתי שפות שניתנות לזיהוי גם היא שפה
ניתנת לזיהוי?
תשובה: כן, השפה המתקבלת משרשור שתי שפות שניתנות
לזיהוי גם היא שפה ניתנת לזיהוי.
אם ו- הן שפות ניתנות לזיהוי, אז יש מ”ט
שמזהה את ו- שמזהה את .
נבנה מ”ט כך: “עבור
כל קלט :
נעבור על כל האפשרויות (מספר סופי) לחלק את לשני חלקים ו- , כך ש- .
נריץ את על .
אם הוא מקבל, נמשיך ונריץ את על .
אם הוא מקבל, אז נקבל.”
אם כן, מזהה את השפה
המתקבלת משרשור שתי השפות.
מועד 2025b-81
היה אמור להתקיים ב- 24.06. בסוף התקיים ב- 24.07.
שאלה 1
א. האם השפה הבאה מעל הא”ב רגולרית? אם כן הוכיחו בעזרת
בניית DFA.
תשובה: השפה רגולרית. נבנה DFA:
ב. הפכו את ה- DFA הבא לביטוי רגולרי על ידי שימוש באלגוריתם
שלמדנו לפי השלבים הבאים:
ג. האם השפה הבאה רגולרית? הוכיחו או הפריכו. שפת כל המילים מעל
הא”ב שמתחילות ומסתיימות
באותה האות.
תשובה: השפה רגולרית. ב”ר: .
שאלה 2
א. האם השפה הבאה היא חסרת הקשר? הוכיחו או הפריכו. .
תשובה: השפה חסרת הקשר. דקדוק חסר הקשר:
ב. מהי השפה של הדקדוק הבא? האם היא רגולרית? תנו הסבר קצר.
- start variable
תשובה: השפה היא כל המילים מהצורה , כאשר .
השפה רגולרית, בעזרת ב”ר : .
ג. בנו PDA (אוטומט מחסנית) עבור השפה הבאה:
תשובה:
שאלה 3
א. האם השפה 4SAT היא שפה NP-שלמה. הוכיחו או הפריכו. נזכיר שב-
4SAT כל פסוק מורכב מפסוקיות שצורתן , כלומר
כל פסוקית היא איחוד של 4 ליטרלים (שיכולים להיות משתנים או שלילתם)
ופסוק בשפה הוא גם הקוניונקציה של מספר סופי של פסוקיות כאלה (כלומר,
חיבור שלהן באמצעות ,
“וגם”).
תשובה:
השפה 4SAT היא ב- NP. שהרי בהינתן השמה של משתנים, נוכל לבדוק בזמן
פולינומיאלי אם מספקת את
הנוסחה. נבדוק כל פסוקית אם לפחות אחד מהליטרלים בה הוא true, כלומר אם
לפחות אחד מהמשתנים או שלילתם הוא true. אם כל הפסוקיות הן true, אזי
ההשמה מספקת את הנוסחה. זה נעשה בזמן פולינומיאלי של , כאשר הוא מספר הפסוקיות בנוסחה. מספר
הליטרלים בכל פסוקית הוא קבוע.
נראה רדוקצייה פולי’ .
נגדיר פונקצייה כך , כאשר היא נוסחה ב- 4SAT המתקבלת
מהנוסחה ב-3SAT על ידי
הוספת משתנה חדש לכל פסוקית ב-
, ובנוסף הוספת פסוקית .
אזי אם נגדיר
הספיקות של לא תהייה
שונה מהספיקות של , שהרי
נקבל ש- ולא תשפיע על הספיקות, והמשתנים שהוספנו
בתוך כל פסוקית יהיו וגם
לא ישפיעו על הספיקות.
לכן מתקיים .
מ-1 ו-2 וגם מכך ש- ש-, נובע לפי משפט ש-.
ב. יהי גרף לא
מכוון. קבוצת קודקודים נקראת
כמעט-קליקה אם אפשר להוסיף לכל היותר צלע אחת בין שני קודקודים של
ובכך להפוך אותה לקליקה.
הוכיחו שהשפה הבאה היא NP שלמה. .
תשובה:
קודם כל השפה היא ב-
NP.
בהינתן certificate שהוא
קבוצה של קודקודים, נוכל לבדוק אם היא כמעט-קליקה בעזרת בדיקת כל זוג
קודקודים ב- האם יש ביניהם
צלע, למעט לכל היותר זוג אחד בלי צלע. ניתן לבדוק זאת בזמן פולינומיאלי
של .
נראה רדוקציה פולי’ מ- CLIQUE ל- . כלומר נראה ש-
נגדיר פונקציה
כך: , כאשר הוא הגרף
המתקבל מ- על ידי הוספת
שני צמתים חדשים ו-
, והוספת צלעות בין כל
צומת ב- לבין ו- . (אך לא בין ל- ).
נראה ש- היא רדוקציה
פולינומית מ- ל- . כלומר שמתקיים .
אם מכיל קליקה בגודל , אזי מכיל כמעט-קליקה בגודל , שהיא כי ניתן
להוסיף צלע בין שני הצמתים החדשים ו- .
אם מכיל כמעט-קליקה
בגודל , אז קיימים שני צמתים
באותה הכמעט-קליקה שאין ביניהם צלע, אם נסיר אותם מהכמעט-קליקה, נקבל
קליקה בגודל ב- .
כמו כן ידוע ש- CLIQUE היא NP-שלמה.
מסקנה: מ-1, 2 ו- 3, נובע לפי משפט ש- היא NP-שלמה.
שאלה 4
א. הוכיחו שהשפה הבאה כריעה.
is a TM, is a positive integer, and there
exists an input to that makes
run for at least steps
תשובה: נבנה מ”ט שמכריע את השפה .
On input where is a TM and is a positive integer:
For all strings where
:
Run on for steps.
If does not terminate
within steps, then
accept.
If we’re finished enumerating and terminated within steps every time, then
reject.”
ב. האם השפה הבאה ניתנת להכרעה?
is a regular
expression describing a language containing at least one string
that has as a substring
תשובה: (תרגיל 4.16 מהספר).
כן, השפה ניתנת להכרעה. נבנה מ”ט שתכריע אותה.
On input where is a regular expression:
Construct DFA that
accepts .
Construct DFA s.t. .
Run TM on , where decides .
If accepts, then
reject. If rejects,
then accept.”
הוכיחו או הפריכו את הטענה הבאה: “אם שפה הניתנת להכרעה, ו- , אזי גם שפה הניתנת להכרעה”.
תשובה: הטענה אינה נכונה. דוגמה נגדית:
השפה כריעה על
ידי מ”ט שמקבלת כל קלט.
השפה אינה כריעה. (לפי משפט 4.11).
הוכיחו או הפריכו את הטענה הבאה: “אם שפה הניתנת לזיהוי ו- , אזי גם שפה הניתנת לזיהוי”.
תשובה: הטענה נכונה.
אם ניתנת לזיהוי, אז יש
מ”ט שמזהה את .
נבנה מ”ט כך: “עבור
כל קלט :
אם , אז יריץ את על ויקבל.
אחרת, ידחה”.
אם , אז מזהה את .
תהיינה ו- מ”ט, המכריעות את
השפות ו- בהתאמה.
בנו מ”ט המזהה את השפה
.
תשובה:
נבנה מ”ט לא-דטרמיניסטית (NTM) שמזהה את השפה .
המכונה תעבור על כל
האפשרויות לחלק את הקלט שאורכו
לשני חלקים. (אפשרי כי היא
לא-דטרמיניסטית..), ואז תריץ את על החלק הראשון, ואת על החלק השני.
Split into two parts
and for all .
Run on . If accepts, then run on , if accepts, accept.
If all iterations of
ended without accepting, reject.
תהי מ”ט
המזהה את השפה . בנו מ”ט שמזהה את .
תשובה:
באופן דומה לשאלה הקודמת, נבנה מ”ט לא-דטרמיניסטית (NTM) שמזהה את השפה .
המכונה תעבור על כל
האפשרויות לחלק את הקלט שאורכו
ל- חלקים. (כנל כאן, אפשרי בגלל
אי-דטרמיניזם). ואז תריץ את
על כל חלק בנפרד, אם מקבלת
את כולם, אז מקבלת. אחרת,
כלומר אם יש חלק אחד שלא מקבל, אז לא מקבלת (את אותה חלוקה
כמובן).
פרק 5
הוכיחו שהשפה הבאה לא ניתנת להכרעה.
.
תשובה:
נניח בשלילה ש- ניתנת
להכרעה.
אזי קיימת מ”ט שמכריעה את
.
נראה רדוקציה מ- ל- .
On input , where is a
TM and is a string:
Check if is a valid encoding of a TM and a string. If not
reject.
Construct the following TM On input :
If ,
accept.
If , then
run on .
If accepts , accept.
If rejects , reject.
Run on . accept
if accepts, reject
if rejects.
אם כן מצאנו מ”ט המכריעה את . אבל ידוע ש-
אינה ניתנת
להכרעה. סתירה.
מסקנה: אינה ניתנת
להכרעה.
נתונה השפה הבאה: . הוכיחו שהשפה היא
co-Turing-recognizable.
תשובה:
נסמן את
סדרת המילים ב .
לכל קלט
כאשר היא מ”ט:
לכל :
נריץ את על כל אחד מ-
, לכל
היותר צעדים.
אם מקבלת מילה כלשהי,
נקבל.
אם אכן ,
בסופו של דבר תסיים את הריצה
כי אינה יכולה להכנס ללופ אינסופי. שהרי הגבלנו את מספר הצעדים על כל
מילה.
הוכיחו שאם מזוהה טיורינג,
ו- , אזי
ניתנת להכרעה.
תשובה:
מכך ש- , נובע ש- .
מהנתון ש- מזוהה טיורינג,
וגם ש- ,
נובע ש- מזוהה
טיורינג.
מכך שגם וגם מזוהות טיורינג, נובע ש-
ניתנת להכרעה.
פרק 7
הוכיחו שמחלקה
סגורה תחת איחוד.
תשובה:
תהינה ו- שפות ב-. אזי קיימים DTM ו- המכריעים אותן בזמן
פולינומיאלי.
נניח רצה בסיבוכיות:
ו- רצה בסיבוכיות כאשר – אורך קלט ו- קבועים.
נבנה מ”ט המכריע . =“על קלט תעבוד כך:
תריץ על ואם מקבלת גם תקבל
תריץ על ואם מקבלת גם תקבל,
אחרת תדחה.”
הוכחת נכונות:
אם שייכת לאיחוד השפות, אז
היא שייכת או ל- או ל- ואז יקבל כאשר תריץ או . מכריעות ולכן תמיד עוצרות ולכן גם תמיד עוצרת.
המ”ט מקבלת אם”ם היא שייכת לאיחוד השפות.
סיבוכיות זמן ריצה: - פולינומיאלית.
נכון / לא נכון
כל שפה היא מזוהה-טיורינג.
תשובה: לא נכון. דוגמה נגדית: השפה אינה
מזוהה-טיורינג (מסקנה 4.23).
אם אז ו-
.
אם חסרת הקשר ו- אז חסרת הקשר.
תשובה: לא נכון. דוגמה נגדית:
.
חסרת הקשר.
אינה חסרת הקשר.
.
השפה אינה רגולרית.
תשובה: לא נכון. השפה היא שפה סופית
ולכן רגולרית.
השפה מעל אינה רגולרית אבל כן
חסרת הקשר.
תשובה: לא נכון. היא רגולרית בעזרת הביטוי הרגולרי
.