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

Σχετικά έγγραφα
{ : Halts on every input}

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

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

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

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

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

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

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

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

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

Logic and Set Theory for Comp. Sci.

gcd 24,15 = 3 3 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Regular Expressions (RE)

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

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

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

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

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

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

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

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

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

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

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

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

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

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

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

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

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

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

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

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

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

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

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

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

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

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

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

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

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

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

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

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

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

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

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

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

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

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

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

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

רשימת בעיות בסיבוכיות

logn) = nlog. log(2n

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

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

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

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

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

אימות חומרה תוכנה אלי דיין 1 6 בדצמבר

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

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

מבני נתונים ויעילות אלגוריתמים

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

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

3-9 - a < x < a, a < x < a

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

מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)


מכונת טיורינג אוטומט מחסנית לא דטרמיניסטי שפות חופשיות הקשר (שפת ראי לא מסומנת)

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

Transcript:

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

תוכן עניינים תוכן עניינים תוכן עניינים 4 הרצאות I 4................................................... מבוא 1 5............................................. מודלים חישוביים 2 5............................ אוטומטיים סופיים דטרמיניסטיים (DFA) 2.1 7.......................... אוטומטיים סופיים לא דטרמיניסטיים (NFA) 2.2 10........................................ שפות לא רגולריות 2.3 11......................................... ביטויים רגולריים 2.4 12.................... דקדוק חסר הקשר Grammer CFG Context-free 2.5 16 אוטומט מחסנית Automaton. PDA Pushdown..................... 2.6 16........................................... מכונת טורינג 2.7 19................................................. חישוביות 3 19 מהו אלגוריתם?.......................................... 3.1 19 בעיית העצירה........................................... 3.2 21........................................ רדוקציה של בעיות 3.3 23.................................... משפט אי השלמות של גדל 3.4 23 דקדוק פורמלי........................................... 3.5 24................................................. סיבוכיות 4 24 סיבוכיות בזמן........................................... 4.1 26..................................... בעיות NP שלמות ב NP 4.2 28 תכונות הסגירות של. NP.................................... 4.3 29........................................ תמונת מצב עד כה 4.4 29...................................... משפט ההיררכיה בזמן 4.5 31......................................... סיבוכיות במקום 4.6 32......................... הוכחות אינטראקטיביות ואלגוריתמים רנדומיים 4.7 37.............................................. לקראת המבחן 5 II תרגולים 37 6 תרגול 1 16.02.2011........................................... 37 6.1 עוצמות.............................................. 37 6.2 שפות פורמליות.......................................... 37 7 תרגול 2 23.02.2011........................................... 38 2

תוכן עניינים תוכן עניינים 39........................................ שפות לא רגולריות 7.1 40 תרגול 3 02.03.2011........................................... 8 40 פעולה נוספת השומרת על רגולריות................................ 8.1 40 יעילות מעריכית במעבר מ NFA ל DFA............................. 8.2 41 הוכחת רגולריות באמצעות משפט מייהיל............................. 8.3 41................................ מציאת DFA מינימלי לשפה נתונה 8.4 42 תרגול 4 09.03.2011........................................... 9 42 צורת צ ומסקי הנורמלית Form) (Chmpsky Normal...................... 9.1 43....................................... למת הניפוח ל CFL 9.2 43........................................... בעיות הכרעה 9.3 44 תרגול 5 16.03.2011........................................... 10 44.............................. דקדוק חסר הקשר ואוטומט המחסנית 10.1 45 מכונת טיורינג........................................... 10.2 45 תרגול 6 23.03.2011........................................... 11 45.................................... מכונת טיורינג אוניברסלית 11.1 46............................................. חישוביות 11.2 47.................................... מכונות טיורינג דו מימדיות 11.3 47 תרגול 7 לא סוכם............................................ 12 47 תרגול 8 06.04.2011........................................... 13 47 רדוקציה ומשפט רייס....................................... 13.1 49............................ מכונת טיורינג לא דטרמיניסטית NTM 13.2 50.......................................... תרגול 9 לא סיכמתי 14 50.......................................... תרגול 10 04.05.2011 15 3

1 מבוא חלק I הרצאות 1 מבוא הקורס יתחלק לשלושה חלקים: 1. מודלים חישוביים 2. חישוביות 3. סיבוכיות דוגמאות לבעיות חישוביות: 1. נתון גרף G. האם יש בו מסלול אויילר?.2 נתונים מספרים a 1,..., a n ומספר נוסף.t האם ניתן להציג את t כסכום של מספרים שונים מתוך?a 1,..., a n.y i וכנ ל עבור a i {0, ו { 1 x i = a 1... a k כאשר (x i ) n i=1, (y i) n i=1 3. נתונות שתי סדרות של מחרוזות בינאריות האם יש סדרת אינדקסים סופית i 1,... i k כך שהשרשור x i1,..., x ik שווה לשרשור של?y i1,..., y ik i=1 (y i) 3 ו 110 = 0, 01, i=1 (x i ) 3 אז התשובה היא כן, למשל סדרת האינדקסים לדוגמא, אם = 100, 00, 11 3, 2, 3, 1 ואז x : 110, 01, 110, 0 y : 11, 00, 11, 100 4. בהינתן טענה מתמטית, האם יש לה הוכחה? 5. בהינתן תוכנית מחשב A וקלט x, האם התוכנית נקלעת למחרוזת אינסופית בהרצתה על x? על בעיות כאלו נרצה לשאלות שאלות: 1. האם הבעיה ניתנת לפתרון ע י מחשב? נשים לב שבעיה 1 ו 2 ניתנות לפתרון ע י מחשב כיוון שמספר האפשרויות הנדרשות לבדיקה הוא סופי. בעיה 3 לעומת זאת, לא ניתנת לפיתרון באמצעות מחשב (או לפחות באמצעות מודלים חישובים סבירים הידועים לנו כיום). גם בעיה 4 ו 5 לא ניתנות לפתירון, ובאופן יותר כללי לא כריעה (מלשון הכרעה). 2. בהינתן שהיא ניתנת לפתרון, האם היא ניתנת לפתרון יעיל? את בעיה 1 ניתן באופן נאיבי לעבור על!m אפשרויות, או להיעזר במשפט האומר כי קיים מסלול אויילר בגרף אם ם יש 2 או אפס קודקודים בדרגה אי זוגית, ואז הבעיה ניתנת לפתרון בזמן לינארי. בעיה מספר 2, ניתנת לפתרון נאיבי בזמן 2, n אך לא ידוע האם קיים לה פתרון פולינומיאלי (שקול ל P).? = NP בשביל לענות על שאלות אלו, תחילה נרצה להגדיר מהו מודל חישובי, ובזה נעסוק בפרק הבא. 4

2 מודלים חישוביים 2 מודלים חישוביים 2.1 אוטומטיים סופיים דטרמיניסטיים (DFA) תחילה ניתן דוגמא, ולאחר מכן נתאר באופן פורמלי מהו אוטומט. בעיה חישובית: בהינתן סדרה סופית של ביטים, האם יש בה ביט שחוזר שלוש פעמים רצוף? פתרון: אוטמט הפותר את הבעיה, הוא מערכת של מצבים, אשר מכל מצב ניתן לעבור למצב אחר לפי הקלט במחרוזת. עבור בעיה זו, אוטומט הפותר את הבעיה הוא: q1 1 q3 q0 1 0 1 0 0 1 1 0 q4 0,1 q2 0 q5 כאשר q 0 הוא המצב ההתחלתי ו q 4 המצב הסופי. הגדרה 2.1 א ב היא קבוצה סופית (באופן כללי היא יכולה להיות גם אינסופית, אך לא בקורס זה) אשר בד כ מסומנת באות Σ ואיבריה נקראים אותיות. הגדרה 2.2 מילה היא או המילה הריקה המוסמנת ב ɛ (בהגבלה לקבוצה הריקה המסומנת ב ) או איבר מתוך Σ n עבור.(Σ המורכבות מאותיות היא אוסף ה n יות Σ n ) כלשהו n N הגדרה 2.3 שרשור המילים ω 1, ω 2 (כאשר נניח ש m ( ω 1 = n, ω 2 = אז נגדיר k = n + m ואז השרשור הוא ה k יה כך ש n האותיות הראשונות מתלכדות עם ω 1 ו m האותיות לאחר מכן מתלכדות עם ω. 2 השרשור של מילים מסומן ע י.ω 1 ω 2.(Σ 0 = {ɛ} (כאשר Σ = הגדרה 2.4 Σ הוא אוסף כל המילים מעל הא ב Σ. באופן שקול ניתן לכתוב 0=n Σn הגדרה 2.5 שפה היא תת קבוצה של Σ. הגדרה 2.6 השרשור של השפות L, M הוא M}.L M = {ω 1 ω 2 : ω 1 L, ω 2 דוגמאות: 1. שפת המילים מעל {b,a} שמכילות שלשת אותיות זהות רצופות, כמו באוטומאט שבנינו באופן לא פורמלי שמוודא שמילה אכן נמצאת השפה זו. 2. שפת המספרים העשרוניים השלמים המתחלקים ב 3. 3. שפת המספרים הראשוניים. 4. שפת הטענות המתמטיות שיש להן הוכחה במערכת ההסקה של פרגה מאקסיומות.ZF C 5

2.1 אוטומטיים סופיים דטרמיניסטיים (DFA) 2 מודלים חישוביים הגדרה 2.7 אוטומאט סופי דטרמיניסטי (DFA) הוא חמישיה סדורה ) F A = (Q, Σ, δ, q 0, כאשר Q היא קבוצה סופית של מצבים. Σ הוא א ב. Q q 0 נקרא המצב ההתחלתי. δ היא פונקציה δ : Q Σ Q הנקראת פונקציית המעבר (או המעברים) המתארת לאיזה מצב צריך לעבור בהינתן אות מסויימת. Q F נקראת קבוצת המצבים המקבלים דוגמא: האוטומאט הבא מתאר את השפה בה בכל מילה מספר ה a מתחלק ב 3 עם שארית 1: b b q 0 a q 0 a a q 0 b באופן פורמלי נכתוב A = ({q 0, q 1, q 2 }, {a, b}, δ, q 0, {q 1 }) { δ (q i, e) = q i e = b e = a q i+1 mod 3 הגדרה 2.8 נרצה לתאר ריצה של האוטומאט על מילה מסויימת, ולשם כך נגדיר δ : Q Σ Q באינדוקציה. עבור המילה הריקה נגדיר.δ (q, ɛ) = q אם ω ɛ אז קיים e Σ כך ש ω ω = e ואז ) ω δ (q, ω) = δ (δ (q, e), (אולי.(ω = ɛ עתה נגיד שבריצתו על ω האוטומט A מגיע למצב q אם.δ (q 0, ω) = q הגדרה 2.9 השפה של DFA יהי A שהוא DFA מעל הא ב Σ. השפה L המתקבלת ע י A היא L = {ω Σ : δ (q 0, ω) F } 6

2.2 אוטומטיים סופיים לא דטרמיניסטיים (NFA) 2 מודלים חישוביים הגדרה 2.10 שפה המתקבלת ע י DFA כלשהו נקראת שפה רגולרית. אם L רגולרית אז נכתוב L, REG כאשר REG הוא אוסף השפות הרגולריות. שאלה: יהיו,L M שפות רגולריות מעל Σ, האם מתקיים תמיד ש M L c L, M L, ו M L הן רגולריות? L c היא רגולרית, כי קיים אוטמט ל L המוגדר ) F,A = (Q, Σ, δ, q 0, ולכן ) c A = (Q, Σ, δ, q 0, F מקבל את.L c תשובה:,B = ( Q 1 Q 2, σ, ϕ, ( q 0 1, q 0 2), F A 1,2 = ( Q 1,2, Σ, δ 1,2, q 0 1,2, F 1,2 ואז ) ) L קיימים אוטומאטים M, L עבור M כאשר ϕ ((q 1, q 2 ), e) = (δ 1 (q 1, e), δ 2 (q 2, e)) F = Q F 2 עבור,L M ולכן האיחוד והחיתוך של שפות ו F = F 1 F 2 עבור L M ו Q F1 רגולריות הן שפות רגולריות. נוכיח עבור המקרה של L M שהאוטומט לעיל אכן מקבל את השפה והמקרה L M כמעט זהה..ϕ (( ) q1, 0 q2) 0, ω = (δ טענת עזר: לכל Σ ω מתקיים ש (( ω (q 0, ω), δ2 (r 0, 1 הוכחה: בתרגול 2. ( δ2 ולכן q 0 2, ω ) ( ו F 2 δ1 q 0 הוכחת הטענה מתוך טענת העזר: אם ω L M אז, ω ) F 1 1.ϕ (( ) q1, 0 q2) 0, ω F1 F 2 הכיוון השני סימטרי לגמרי. M L היא גם רגולרית, אך לשם כך נצטרך להגדיר מספר אובייקטים חדשים ולהוכיח משהו חזק יותר (המשך בהרצאה הבאה!). הגדרה 2.11 הילוך חוקי באוטומט ) F.A = (Q, Σ, δ, q 0, בהינתן Σ w כך ש k, ω = אז הסדרה q 0, q i1,..., q ik.q ij = δ ( q ij 1, ω j ) היא הילוך חוקי אם מתקיים ש ( qi1 = δ (q 0, ω 1 ו 2.2 אוטומטיים סופיים לא דטרמיניסטיים (NFA) הגדרה 2.12 אוטומט סופי לא דטרמיניסטי (NFA) הוא אוטומט סופי אשר ממצב q i כלשהו ובהינתן אות e, Σ יכול להיות יותר ממצב אחד אליו ניתן להמשיך. הערה 2.13 (הערה שלי) אינטואיציה למודל הזה הוא לחשוב עליו כאל אוטומט המבצע חיפוש Backtracking) למשל) על גרף המצבים, ולכן בהינתן מילה Σ ω, האוטומט ינסה לבדוק אותה בכל הדרכים האפשריות בהן ניתן לרוץ עם המילה הזו על האוטומט. אם אחת מהאפשרויות מובילה למצב סיום אז המילה שייכת לשפה שהאוטומט מגדיר. הערה 2.14 ב NFA בנוסף למעברים של אותיות רגילות, ניתן גם להגדיר מעבר ɛ בין מצבים. מעבר ɛ הוא בסה כ כתיבה a a ɛ מקוצרת, כך שאם קיים מעבר q 0 q1 q 2 אז קיים גם המעבר q. 0 q2 באופן יותר כללי, ניתן לעבור ממצב q 1 למצב q 2 עם האות a אם קיימת שרשרת מעברים בינהם כך שאחד מהם הוא a והשאר מעברי ɛ. הגדרה 2.15 יהא B אוטומט NF A מעל א ב Σ ותהא Σ w. נאמר ש B מקבל את w אם ם קיימת ריצה חוקית שלו על ω אשר מסתיימת במצב מקבל. דוגמא: האוטומט הבא הוא דוגמא לאוטומט NF A 7

2.2 אוטומטיים סופיים לא דטרמיניסטיים (NFA) 2 מודלים חישוביים a,b q0 a q1 a q2 b q3 a q4 ε איור :2.1 אוטומט NF A באוטומט הנ ל, מילים שמתקבלו הן a (ע י abaaba,(q 3, q 4 ע י q 0, q 0, q 1, q 2, q 3, q 4 וכן הלאה. נשים לב שמתקיים ש: באוטומט זה קיימים שני מצבי התחלה. מ q 0 ניתן להמשיך עם a גם ל q 1 וגם חזרה ל q. 0 יש מעבר ɛ. מ q 1 אין מעבר לשום מצב אחר. טענה L 1, L 2 2.16 שפות מעל א ב Σ ו {.L 1 L 2 = {ωu : ω L 1, u L 2 אם L 1, L 2 Reg אז יש NF A שמקבל את השפה.L 1 L 2 הוכחה: בהינתן A 1 DF A ו A 2 עבור L 1 בהתאמה כאשר ) 2 A 1 = (Q, Σ, δ 1, q 0, F 1 ), A 2 = (R, Σ, δ 2, r 0, F אז נבנה NF A שהמצבים הם האיחוד Q R כאשר המצבים המקבלים יהיו F, 2 ובנוסף למעברים המקוריים של האוטומטים, נוספים מעברי ɛ מכל F 1 ל r, 0 והמצב ההתחלתי יהיה q. 0 קל לראות שהאוטומט הלא דטרמיניסטי הנ ל מקבל כל מילה ב L. 1 L 2 מצד שני, אם האוטומט מקבל מילה w כלשהי, אז נחלק אותה לשני חלקים לפי המיקום בקלט בו עברנו מ F 1 ל r, 0 ומכך נובע שהחתיכה הראשונה שייכת ל L 1 והחתיכה השנייה ל L. 2 הגדרה 2.17 (הגדרה פורמלית ל NFA ) A =,Q),Σ,δ Q 0, F ) הוא חמישה סדורה כך ש Q היא קבוצת מצבים סופית, Σ א ב, Q 0 Q אוסף מצבי התחלה ו Q F אוסף מצבים מקבלים, ו δ : Q Σ 2 Q פונקציית המעברים. a. כאשר קוראים את האור q היא קבוצת המצבים אליהם ניתן לעבור מהמצב δ,q) (a הרחבת פונקציית המעברים: עבור S Q ו Σ w אז (w δ,s) תהיה קבוצת המצבים אליהם ניתן להגיע בריצה חוקית המתחילה במצב מתוך S ועוברת על (כל) המילה w. δ (S, ɛ) = S δ (S, w e) = הגדרה 2.18 נגדיר δ : 2 Q Σ 2 Q באינדוקציה. q δ (S,w) δ (q, e) הגדרה A 2.19 מקבל את Σ w אם ם F.δ (Q 0, w) הגדרה 2.20 השפה המתקבלת ע י A היא { L (A) = w Σ : δ (Q 0, w) } F 8

2.2 אוטומטיים סופיים לא דטרמיניסטיים (NFA) 2 מודלים חישוביים הגדרה 2.21 ריצה חוקית של A על ) n w = (w 1,..., w היא סדרת מצבים q 0, q 1,..., q n Q כך ש q 0 Q 0 וגם.1 i n לכל q i δ (q i 1, w i ) טענה A 2.22 הוא NFA מעל א ב Σ, אז (A) w L אם ם קיימת ריצה חוקית של A על w שהמצב האחרון בה שייך ל F. הוכחה: מושאר כתרגיל. 2.2.1 דטרמיניזציה של NFA משפט 2.23 יהי ) A.NFA A = (Q A, Σ, δ A, Q 0, F אזי קיים B DFA כך ש ( B = (Q B, Σ, δ B, q 0, F B המקיים = (B) L.L (A) A Q B 2 Q (לשים לב שזהו חסם עליון, ולכן יהיו דוגמאות בהן ידרש מספר יתר על כן, קיים B כזה שעבורו אקספוננציאלי של מצבים ולפעמים לא). Q B = 2 Q A q 0 = Q 0 δ B (q, e) = δa (q, e) { F B = A 2 Q A : A } F A הוכחה: נגדיר את B באופן הבא: עתה נראה כי אוטומט זה אכן מקיים ש ( B ) L. (A) = L.1 טענת עזר: w).δb (S, w) = δ A (S, הוכחה: כתרגיל..2 מסקנה (B) w L אם ם (A) w L כי q 0 = Q 0 ולכן w) δ B (q 0, w) = δ A (q 0, w) = δ A (Q 0, ולכן.δ B (q 0, w) F B אם ם δ A (Q 0, w) F A מסקנה Reg 2.24 סגור לפעולת השרשור. הוכחה: L 1, L 2 Reg אז הראינו שקיים NFA המקבל את L 1 L 2 ולכן קיים DFA המקבל את L 1 L 2 ולכן.L 1 L 2 Reg הערה 2.25 בשביל לבדוק אם מילה מסויימת מתקבלת ב NFA מסויים, אפשר לרוץ על כל הדרכים האפשריות על ה,NFA או לחילופין, בשימוש במשפט לבנות את ה DFA המתאים ולרוץ עליו. דרך נוספת, היא להחזיק מערך שבכל שלב שומר את כל המצבים אליהם אפשר לעבור, ובכל שלב נחשב את הקבוצה החדשה של המעברים אליהם אפשר לעבור (ונשים לב שדרוש רק המערך האחרון בשביל לבנות את המערך החדש). 9

2 מודלים חישוביים 2.3 שפות לא רגולריות 2.3 שפות לא רגולריות דוגמא: } (w) L = { w {a, b} : # a (w) # b ו Reg.L הגדרה 2.26 תהא Σ.L נאמר ש Σ u, w שקולות ביחס ל L אם ם לכל Σ v מתקיים ש u v L.w v L אם יש v ש אינה מקיימת את הנ ל אז נגיד ש v מפרידה בין u ו w. אם u ו w שקולות ביחס ל L, אז נסמן u L w וקל להראות שזהו יחס שקילות. דוגמא: נגדיר 3)} L 1 = {w # a (w) = 1 (mod אז מחלקות השקילות של L1 הן [ɛ].[a], [aa], [aaa] = דוגמא: נגדיר (w)} L 2 = {w # a (w) > # b ואז מחלקות השקילות שלה הן..., k] [a], [aa], [aaa],..., [ a וגם.{{w # a (w) # b (w) = z} : z Z} : ובאופן כללי האוסף הבא הוא כל מחלקות השקילות של L 2,[ɛ], [b], [bb],... אבחנה: Σ L ונניח ש A הוא DFA המקבל את,L ויהיו Σ u, w המקיימות ש ( w δ (q 0, u) = δ (q 0, אזי.u L w מדוע? כי לכל Σ v מתקיים ש δ (q 0 uv) = δ (δ (q 0, u), v) = δ (δ (q 0, w), v) = δ (q 0, wv) הערה 2.27 יש לשים לב שההפך לא נכון, כלומר אם u L w אז לא תמיד מתקיים ש ( v.δ (q 0, u) = δ (q 0, משפט 2.28 (משפט L Reg (Myhill-Nerode אם ם מספר מחלקות השקילות של היחס L סופי. הוכחה: נוכיח את הכיוונים: : יהא DFA A המזהה את L, ותהא Q קבוצת המצבים שלו. נניח בה כ שלכל q Q קיימת מילה w q המקיימת ש q,δ (q 0, w q ) = ונסתכל על Q} {[w q ] : q (אם לא קיימת w q כזאת אז נשמיט את המצב הזה). זו קבוצה סופית כי מספר ההמחלקות בקבוצה זו היא לכל היותר Q. הקבוצה מכילה את כל המחלקות השקילות לפי,L כי לכל w L אז q δ (q 0, w) = ולכן q w w ולכן.[w] = [w q ] לכן מצאנו שמספר מחלקות השקילות של L הוא לכל היותר Q ובפרט סופי. : תהא Σ L המקיימת סמפר מחלקות השקילות לפי L הוא > n, אז נראה שקיים DFA המקבל את L. מצבים, ושלא קיים אוטומט בעל פחות מצבים המקבל את n ובעל בדיוק L מינימליות נובעת מהאבחנה האחרונה. n 1 {q i } הן מחלקות נבנה את האוטומט הבא ) F A = (Q, Σ, δ, q 0, כך ש { n 1 Q = {q 0,..., q כאשר i=0 השקילות של,L ו [ ɛ ],q 0 = ולכל i נבחר את Σ w i להיות הנציג של q i ואז נוכל להגדיר = e) δ (q i,.f = {q i : w i ו { L [w i e] עתה נשים לב כי [w] δ (q 0, w) = ולכן w L אם ם [w] F ולכן A מקבל את.L.{w i } n 1 i=0 צריך להראות ש δ ו F מוגדרות היטב, כלומר לא תלויות בבחירת הנציגים נשים לב שלכל w i אז לכל Σ a כך ש a L w i אז עבור ɛ מתקבל ש L,a = aɛ L w i = w i ɛ ולכן F מוגדר היטב. נניח שלכל ] i w w] אז צריך לבדוק ש δ (q i, e) = [w i e]? = [w e] אנו ידועים ש w L w i ולכן w i e L w e L ולכן גם לכל Σ z מתקיים ש.w i e L w e ולכן w i e z L w e z L 10

2.4 ביטויים רגולריים 2 מודלים חישוביים נוכיח באופן פורמלי ש [ w ] δ (q 0, w) = באמצעות אינדוקציה על. w אם w = ɛ אז δ (q 0, ɛ) = q 0 והגדרנו [ɛ].q 0 = נניח שהטענה מתקיימת עבור w = k ונוכיח עבור + 1,k ונכתוב w = w e ולכן δ (q 0, w e) = δ (δ (q 0, w ), e) = δ ([w ], e) = [w e] = [w] כאשר שוב נשים לב לכך ש [ [w ] = [w i עבור i כלשהו, ולמעשה היה צריך לכתוב e] δ (q i, e) = [w i ומהשלב הקודם הראינו כי e] [w i e] = [w ולכן המעבר נכון. 2.4 ביטויים רגולריים הגדרה 2.29 ביטוי רגולרי מעל א ב Σ הוא מהצורה הבאה: מתורגם ל =.L.L ɛ = מתורגם ל { ɛ } ɛ.l a = מתורגם ל { a } a Σ אם R 1 ו R 2 ביטוים רגולריים אז ) 2 (R 1 ) (R מתורגם ל.L (R1) (R 2) = L R1 LR2.L (R1) (R 2) = L R1 L מתורגם ל R2 (R 1 ) (R 2 ) (R) מתורגם ל ) R L (R) = (L (ההגדרה של L נתנה בתרגול.(3.R (R) הוא קיצור ל (R) + דוגמא: R = (a b) aba (a b) b מתאר את השפה של כל המילים המכילות את aba ונגמרות ב b. דוגמא: ) b R = ( a (a b) a ) ( b (a b) מתאר שפת המילים באורך < 1 שמתחילות באות שבה הן מסתיימות. משפט R 2.30 ביטוי רגולרי מעל,Σ אזי.L R Reg הוכחה: נוכיח באינדוקציה על האורך של R. 1 = R אז ברור ישירות מההגדרה עבור המקרים האטומיים (אות בודדת, ɛ או ). : R = n אם ) 2 R = (R 1 ) (R אז L R1, L R2 רגולריות ולכן L R = L R1 LR2 רגולרית. אם ) 2 R = (R 1 ) (R אז L R1, L R2 רגולריות ולכן L R = L R1 L R2 רגולרית. אם R 1 R = (ומכאן גם נובע + 1 (R = R אז L R1 רגולרית, ולכן ) R1 L R = (L רגולרית (הוכח בתרגול.(3 11

2 מודלים חישוביים 2.5 דקדוק חסר הקשר Grammer CFG Context-free משפט 2.31 לכל שפה L Reg קיים ביטוי רגולרי R כך ש L L R = רעיון ההוכחה: ניתן להתייחס למעברים בין המצבים באוטומט נתון כאל ביטויי רגולריים. תחילה כל המעברים הם פשוט ביטויים פשוטים באורך 1. עתה כל שלב נחפש מצבים שאפשר להסיר אותם, ובמקומם לבנות מעברים חדשים המקשרים בין המצבים שהיו מחוברים למצב המוסר, כאשר מעברים אלו כבר נוכל לכתוב כביטויים רגולרים מורכבים. בשימוש בשיטה זה, ניתן באופ ןאיטרטיבי כל פעם לפשט את האוטומט עד אשר נגיע למצב בו יש רק מצב התחלתי ומצב סופי, כאשר המעבר בינהם הוא הביטוי הרגולרי הרצוי. מסקנה 2.32 בשילוב עם המשפט הקודם קיבלנו כי קבוצת הביטויים הרגולרים שקולה לשפות הרגולריות. 2.5 דקדוק חסר הקשר Grammer CFG Context-free מוטיבציה: השפה מעל הא ב } ), ( { של הביטויים המכילים סוגריים מאוזניים היא שפה לא רגולרית, והיינו רוצים דרך לתאר את השפה הזאת. דרך לתאר את השפה הנ ל היא באמצעות כללי גזירה, כלומר כללים להרחבת ביטוי נתון עד אשר מתקבלת המילה הרצוייה. עבור השפה הנ ל נוכל לכתוב: A.1 A (A).2 A AA.3 A ɛ.4 בשימוש בכללים הנ ל, נרצה להפעיל אותם כדי שנקבל את הביטוי (()) (() ()), אז נפעל בשלבים הבאים: 1. בשימוש בכלל 1 נקבל A. 2. בשימוש בכלל 3 נקבל.AA 3. בשימוש בכלל 2 נפעיל על ה A הראשון והשני ונקבל (A) (A). 4. בשימוש בכלל 2 נפעיל על ה A הימני ובכלל 3 על השמאלי ונקבל ((A)).(AA) 5. בשימוש בכלל 4 נפעיל על ה A הימני ובכלל 2 על שני ה A השמאליים ונקבל (()) ((A) (A)). 6. בשימוש בכלל 4 נפעיל על ה A הנותרים ונקבל (()) (() ()). הגדרה 2.33 נגדיר CFG ע י הרביעיה S).α = (V, Σ, R, V היא קבוצה סופית של משתנים. Σ). V = היא קבוצה סופית של טרמינילים (כאשר Σ {ɛ}. Σ V קבוצה סופית של כללי גזירה. כל כלל כזירה הוא זוג סדור המכיל משתנה משמאל ומחרוזת מימין מעל R S הוא משתנה ההתחלה. השפה המתאימה ל α מסומנת ע י L, α ומכילה את כל המילים מעל Σ המתקבלות כאשר מתחילים במחרוזת S ובכל שלב מחליפים משתנה במחרוזת לפי אחד מכללי הגזירה (עד שנשארים עם טרמינילים בלבד). דוגמא: נבנה CFG לשפה n} L = {a n b m : m ע י כללי הגזירה הבאים: 12

2 מודלים חישוביים 2.5 דקדוק חסר הקשר Grammer CFG Context-free A.1 A aab.2 A B.3 B Bb.4 B ɛ.5 דוגמא: c} Σ = {a, b, ונגדיר L בתור כל המילים a i b j c k כך ש 0 j i, ו 1.k מצאו G כך ש L.L (G) = 1. נגדיר את ה CFG הבא: (א) S (ב) S ABC (ג) A aa (ד) A ɛ (ה) B bb ɛ (הקו מסמל או, והוא פשוט מחליף כתיבת של חוק נוסף) (ו).C cc c S ABC aac aaac aac.2 המילה (G) aac L ע י הגזירה: 3. דרך נוספת להצגת הפיתוח של aac הוא ע י עץ גזירה: S A B C a A ε c a A ε איור 2.2: עץ גזירה למילה aac הגדרה 2.34 שפה חסרת הקשר היא שפה L שעבורה קיים דקדוק חסר הקשר G כך ש ( G ) L. = L הגדרה 2.35 קבוצת השפות חסרות ההקשר מסומנות ע י.CF L משפט.Reg CF L 2.36 13

2 מודלים חישוביים 2.5 דקדוק חסר הקשר Grammer CFG Context-free הוכחה: תהא L Reg ויהי ) F A (Q, Σ, δ, q 0, ה DFA שמקבל אותה, ונבנה,G,CFG כך ש L.L (G) = L (A) = R = {q 1 eq 2 : q 1 Q, e Σ, δ (q 1, e) = q 2 } {q ɛ : q F }.1 נגדיר ) 0 G := (Q, Σ, R, q ונגדיר 2. עתה צריך להראות ש ( A ) L. (G) = L לא נכתוב הוכחה מלאה, אלא רק נציג את הטענה העיקרית. טענה: אחרי t צעדי גזירה נקבל מחרוזת מהצור wq כך Σ w ו ( w q δ (q 0, או מחרוזת (A).w L מצד שני נרצה להראות גם שלכל Σ w המילה wq כאשר w) q δ (q 0, נגזרת מ G. 3. השלמת ההוכחה מושארת כתרגיל. הגדרה 2.37 דקדוק שמאלי הוא דקדוק המכיל רק כללי מהצורה A ɛ או A wb כאשר Σ w. תרגיל: להראות שכל שפה הניתנת לייצוג ע י דקדוק שמאלי היא שפה רגולרית (ההפך נובע ישירות מההוכחה הנ ל). הערה 2.38 דקדוק חסר הקשר הוא לא דטרמיניסטי..L 1 טענה 2.39 אם L 1, L 2 CF L אז L2 CF L הוכחה: אם ) i G i (V i, Σ i, R i, S הוא ה CFG המתאים ל,L i כאשר נדרוש ש = V2 V 1 (נוכל לדרוש זאת כי אלו רק שמות), אז נגדיר ( ) G = V 1 V2, Σ 1 Σ2, R 1 R2 {S S1 S 2 }, S?L 1 שאלה: אם,L 1, L 2 CF L אז האם L2 CF L תשובה: לא. למשל השפה a n b n c l ו a l b n c n הן שפות חסרות הקשר (קל להראות זאת), אבל a n b n c n היא לא שפה חסרת הקשר (יוכח בשיעור הבא). למה 2.40 (למת הניפוח לשפות חסרות הקשר) אם L CF L אז יש p N כך שלכל w L באורך < p יש חלוקה w = uxyzv המקיימת:. xyz p.1. xz > 0.2. k 0, ux k yz k v L.3 הוכחה: תהא Σ L שפה ח ה (חסרת הקשר) ויהי S) G = (Q, Σ, R, ה CFG הגוזר את.L 1. יהי n האורך המקסימלי של מחרוזת המופיעה בכלל גזירה מתוך R, ונגדיר 1+ Q p =: n ונראה שהוא מקיים את הדרוש. 14

2 מודלים חישוביים 2.5 דקדוק חסר הקשר Grammer CFG Context-free 2. תהא w L כך ש p w, > ויהא T עץ גזירה מינימלי (מבחינת מספר הצמתים בעץ) הגוזר את w לפי G. 3. כיוון ש n הוא האורך המקסימלי של מחרוזת בכלל גזירה, אז מספר הבנים של צומת בעץ הוא לכל היותר n, וכיוון שבעץ בגובה + 1 Q יש Q n עלים (לכל היותר) ובחרנו את אורך המילה שתהיה גדול מ 1+ Q n, אז גובה העץ צריך להיות גדול מ 1 + Q..4 מכך נובע שיש מסלול S 0,..., S l = S מעלה לשורש של T ו 1 + Q,l ולכן קיימים אינדקסים i > j כך ש S i = S j (שובך היונים), ואפשר אף להצטמצם כך ש 1 + Q j, < i כי גם בתחום זה לפי שובך היונים קיימים אינדקסים כאלו כך ש S.. i = S j נסמן בנוסף לכל S i את הצומת T i המתאימה לו (כאשר T i הוא האב של 1 i T). 5. עתה נבחר את,u,x,y,z v להיות העלים כך ש T. i נמצא משמאל ל T i הוא כל העלים (משמאל לימין) כך שהאב הקדמון שלהם ברמה של u T. j נמצא משמאל ל T j הוא אב קדמון שלהם, והאב שלהם ברמה של T i הוא כל העלים כך ש x T). i הוא אב קדמון שלהם (ולכן גם T j הוא כל העלים כך ש y T. j נמצא מימין ל T j הוא אב קדמון שלהם, והאב שלהם ברמה של T i הוא כל העלים כך ש z T. i נמצא מימין ל T i הוא כל העלים כך שהאב הקדמון שלהם ברמה של v 6. נראה שפירוק זה מקיים את תנאי המשפט: (א) צריך להראות ש p. xyz כיוון שהעלים של T i הם,xyz וכיוון שבחרנו את i כך שגובה תת העץ קטן או שווה ל 1 + Q, אז מספר העלים מוגבל מטיעונים דומים ל ( 3 ), ולכן. xyz n Q = p (ב) נראה ש 0 >. xz אם xz = ɛ אז T לא מינימלי בסתירה. זאת מפני שאם נחליף את תת העץ Tבעץ i T, j נקבל עץ גזירה חוקי ע פ G הגוזר את w וגודלו קטן משל T (ניקח את האב של T i ונחבר אותו ישירות ל.(T j (ג) נראה ש L.ux k yz k v התכונה מתקיימת כי נוכל בעץ T להחליף את T i ב k עותקים של T i T\ j (כל העץ מתחת ל T i מבלי T) j ועוד עותק אחר של T. j דוגמא: נראה ש { N L = {a n b n c n : n היא לא שפה חסרת הקשר. נניח בשלילה שהיא כן, ולכן לפי למת הניפוח קיים קבוע p N ונעיין במילה a. 5p b 5p c 5p = w תהא w = uxyzv חלוקה של w המקיימת את תכונות למת הניפוח. ב x (וגם ב z ) יופעו אותיות מסוג אחד בלבד, כי אחרת תתקבל סתירה מיידית. אבל אז אם נשכפל את x ו z פעמיים, אז יש לפחות אות אחד מספר מופעיה גדל ולפחות אות אחת שמספר מופעיה לא השתנה סתירה! תכונות של :CFL 1. סגירות לאיחוד..2 אין סגירות לחיתוך l a n b n c ו a l b n c n ב CFL אבל a n b n c n לא. 3. אין סגירות להשלמה אם הייתה, אז היתה גם סגירות לחיתוך. 4. סגירות לשרשור..5 סגירות ל.L שאלה: ראינו ש CFG באופן כללי הוא לא דטרמיניסטי, אך נשאלת השאלה האם לכל CFG קיים CFG שהוא דטרמיניסטי? תשובה: לא, אך זו הוכחה ארוכה שלא תינתן בקורס זה. 15

2 מודלים חישוביים 2.6 אוטומט מחסנית Automaton PDA Pushdown 2.6 אוטומט מחסנית Automaton PDA Pushdown הגדרה 2.41 אוטומט מחסנית הוא שישיה סגורה ) F.A = (Q, Σ, Γ, δ, q 0, Q הוא קבוצת המצבים, Σ הא ב של השפה, Γ הוא א ב המחסנית, q 0 Q הוא מצב ההתחלה, ו Q F הוא קבוצת המצבים המקבלים. פונקציית המעבר מוגדרת ע י δ : Q Σ ɛ Γ ɛ 2 Q Γɛ (כאשר {ɛ} Σ ɛ = Σ ובאותו אופן.(Γ ɛ הגדרה 2.42 צעד חישוב ב PDA הוא ) 2 (q 1, s 1 ) (q 2, s כאשר a, b Γ ɛ,s 2 = bs,s 1 = as ו ( a.(q 2, b) δ (q i, α, הגדרה 2.43 חישוב חוקי על w יהיה סדרת קונפיגורציות ) l (q 0, ɛ), (q 1, s 1 ),..., (q l, s ומילה w המהווה ניפוח ב ɛ ים של w באורך,l כך ש w = a 1 a 2... a l כך שלכל i המעבר ) i (q i 1, s i 1 ) (q i, s הוא צעד חישוב חוקי על האות.a i הערה 2.44 הסיבה לניפוח של w בɛ, היא ע מ שנוכל לבצע חישובים נוספים מבלי להשתמש בקלט. דוגמא: נרצה לתאר את } b} L := { ww R : w {a, באמצועת אוטומט מחסנית: a, ε -> a a, a -> ε q0 ε, ε -> $ q1 ε, ε -> ε q2 ε, $-> ε q3 b, ε -> b b, b -> ε איור 2.3: דוגמא לאוטומט מחסנית כאשר בקשתות החלק השמלי מייצג את האות של הקלט, ו a ɛ דוחף את האות a לתוך המחסנית ו ɛ a מחזיר את a מתוך המחסנית (במידה והיא הראשונה במחסנית). דוגמא להרצה: נסתכל על המילה w. = abbbba אחרי הקלט ab האוטומט יגיע למצב ba$) q) 1, (באופן כללי, כיוון שהאוטומט לא דטרמיניסטי, אז לא ניתן לאמר איפה הוא ימצא בדיוק) ולאחר האות b נעבור למצב bba$) q) 1, (הוספנו עוד אות למחסנית). הערה 2.45 ניתן להראות שאוסף השפות המתקבלות ע י P DA הוא בדיוק.CF L 2.7 מכונת טורינג הגדרה 2.46 (לא פורמלית) מכונת טורינג היא אוטומט עם רשימה דו מקושרת סופית. לשם הפשטות, נניח שאין למערך קצוות ממש, אלא שהחל ממקום מסויים (משמאל או מימין לנקודת ההתחלה) קיימים תווי רווח. הגדרה 2.47 (פורמלית) מכונת טורינג היא שבעייה ) accept,m = (Q, Σ, Γ, δ, q 0, q rej, q כאשר Q היא קבוצת המצבים, Σ הא ב, {_} Σ Γ הוא א ב הסרט, q 0 מצב ההתחלה, q accept המצב המקבל ו q rej המצב הדוחה, פונקציית המעבר מוגדרת ע י δ : Q Γ Q (Γ\ {_}) {R, L} כאשר בתחילת ריצה על המכונה, הקלט שלה נמצא על הסרט, ומתחילה במיקום ההתחלתי של הראש הקורא. 16

2.7 מכונת טורינג 2 מודלים חישוביים הערה 2.48 דרך נוספת להסתכל על המכונה, הוא כאל מחשב בו יש מצביע head ומשתנה שלם,state אשר יכולה לקרוא ולשנות את הערך אליו מצביע ה head, ולהקטין או להגדיל את head ב 1 כל פעם. תחת הגדרות אלו, המכונה הייתה מורכבת מלולאה העוברת תנאים מהצורה: if ((*head == a) & (state == 5)) then {state = 7; *head = b; head++} הגדרה 2.49 קונפיגורציה היא שלשה v) (u, q, כך ש {_}) (Γ\ v (ɛ _) (Γ\ {_}),u ו Q,q כאשר u מייצגת את המילה משמאל לראש ו v את המילה מימין לראש (כולל האות שבראש). הגדרה 2.50 קונפיגורציה עוקבת נכתוב av v = כאשר {_} Γ\ a אם,v ɛ אחרת נגדיר _ = a ו ɛ.v = נניח ש ( R δ (q, a) = (q, b, ובמקרה זה המצב העוקב ש ( v (u, q, הוא ) v.(u b, q, המקרה שבו L) δ (q, a) = (q, b, דומה. הגדרה 2.51 ריצה חוקית היא סדרה (שאינה בהכרח סופית) של קונפיגורציות..., ) 1,(u 0, q 0, v 0 ), (u 1, q 1, v כאשר הקונפיגורציה ה i היא העוקבת של הקונפיגורציה 1 i לכל 1 i. אם במהלך הריצה מגיעים למצב q accept או q reject אז הריצה נפסקת מיידית. הגדרה 2.52 הריצה מסתיימת אם הסדרה סופית, והמצב בקונפיגורציה האחרונה הוא q accept או q. reject הגדרה (M) 2.53 w L עבור מכונת טורינג M, אם קיימת ריצה חוקית (חשוב להדגיש שהיא יחידה כי זו מכונה דטרמיניסטית) כך שהקונפיגורציה ההתחלתית היא (w,ɛ) q 0, ומסתיימת ב q. accept הגדרה 2.54 מכונת טיורינג M מכריעה את L אם היא תמיד עוצרת, והיא עוצרת על מצב מקבל רק על קלטים w. L דוגמאות: (באופן כללי, אם יש אות שאין עבורה מצב, אזי היא עוברת למצב q). reject.l = 0 #.1 0 -> 1,R # -> #,R '_' -> 1,R accept 1 -> 0,L 0,1,# reject.l = { w#v : w, v {0, 1}, (v) 2 = (w) 2 + 1 }.2 נבנה מכונה כך שבהתחלה נוסיף 1 למספר המיוצג ע י w, ואז נבצע השוואה רגילה. נראה רק את תחילת האוטומט, כאשר החלק שמשווה הוצג בתרגול 5. 17

2.7 מכונת טורינג 2 מודלים חישוביים 0 -> 0,R 1 -> 0,L 0,1,# -> L q0 # -> #,L qadd 0,'_' -> 1,R q_r '_' -> $,R 1 -> 1,R Compare.3 בהינתן פולינום z) p (x, y, ומספרים שלמים a, b, c מצא האם = 0 c).p (a, b, (c) 2 הוא שורש של הפולינום (b) 2 ו,(a) 2 מילה בשפה תהיה מהצורה... $ a#b#c$d 1 #x 1 #y 1 #z 1 כך ש המיוצג ע י שאר הקלט. השפה לעיל ניתנת לזיהוי ואף להכרעה ע י מכונת טיורינג. 4. בהינתן פולינום רב משתנים עם מקדמים שלמים ) k p, x) 1,..., x ונרצה למצוא האם קיימים מספרים שלמים.p (a 1,..., a k ) = כך ש 0 a 1,..., a k האם קיימת מכונת טיורינג שמזהה את השפה הזו? כן. כיוון שהשורשים האפשריים הם מעוצמה בת מנייה, אז קיימת פונקציה f : N N k חח ע ועל. מכיוון שלכל פולינום בעל שורש טבעי ) k (x 1,..., x קיים n N כך ש (, f (n) = (x 1,..., x k אז כאשר נבדוק את ה k יה ה n ית לפי הסדר שבחרנו, המכונה תמצא שהפולינום מתאפס ותיעצר במצב מקבל, אחרת היא תרוץ לעד. האם קיימת מכונת טיורינג שמכריעה את השפה הזו? RE הוא אוסף השפות הניתנות לזיהוי ו R הוא אוסף השפות הניתנות להכרעה. השאלה מספר 10 של הילברט היא האם השפה הנ ל ב R או RE והסתבר לבסוף כי השפה נמצאת ב RE ולא ב R. בוחן אמצע: הבוחן יתקיים ביום שני 28/03 במקום השיעור. החומר לבוחן הוא כל החומר עד מכונות טיורינג (לא כולל). משקל הבוחן הוא %15 מגן. סיכום קצר: מכונות טיורינג שקולות ל 1. יותר סרטים. 2. סרט מישורי.3 מכונות.RAM 4. מכונה לא דטרמיניסטית. 5. כל מודל חישובי. 6. כל מודל שאינו שובר את חוקי הפיסיקה באופן תיאורטי ניתן לתאר כל אטום במכונה (מיקום, מסה, תנע, אנרגיה וכו ) וכך לבצע סימולציה של ריצת המכונה. חשוב להדגיש שעקב האופי הסופי של המכונה, ניתן לבצע את הסימולציה רק בקירוב עד כדי ɛ, ורק כאשר הפרמטרים חסומים. בנוסף, אין זה פרקטי לבנות מכונה כזו ממש, כיוון שאפילו סימולציה של מודל פיזיקלי פשוט יכול לדרוש כמות רבה של משאבים. 18

3 חישוביות 3 חישוביות לא הייתי בשעה הראשונה של ההרצאה ב 23.03.2011 3.1 מהו אלגוריתם? אחת הבעיות של הילברט (23 בעיות מתמטיות שהילברט נתן בתחילת המאה ה 20 ) הייתה מציאת אלגוריתם המכריע האם לפולינום עם מקדמים שלמים יש שורש שלם. כאשר הילברט הגדיר אלגוריתם באופן לא פורמלי, שאלגוריתם הוא תהליך שאיתו ניתן להכריע ע י מספר סופי של פעולות. כיום ידוע שלא קיים אלגוריתם כזה. ב 1936 התיזה של Church-Turing אומרת כי מכונות טיורינג, λ-calculus ובאופן כללי כל מחשב פרקטי הם שקולים. תיאור אלגוריתם ע י מכונת טיורינג: 1. תאור פורמלי, כלומר בניית מכונת מצבים. 2. רמת מימוש (כיצד המכונה עובדת?). 3. רמה אבסטרקטית תיאור האלגוריתמים בשפה טבעית. נשים לב שבעוד אלגוריתמים יכול לפעול על כל מבנה נתונים (פולינומים, מטריצות, גרפים, אוטומטים), מכונת טיורינג עובדת רק על מילים, ולכן כל מבנה נצטרך לבסוף לקודד למילים. למשל גרף נוכל לקודד ע י רשימת קודקודים המופרדים ע י # ולאחריו (מופרד ע י $) זוגות של קודקודים המייצגים קשתות. דוגמא: (לרמת מימוש 2) מ ט שמכריעה האם גרף לא מכוון הוא קשיר. נגדיר שהשפה שהמכונה מקבלת היא כל הקידודים של גרפים לא מכוונים וקשירים. 1. סמן את הקודקוד הראשון של G (למשל ע י העברת הקודקוד לסרט של אלא שכבר סומנו, והראינו כי מכונה עם מספר סופי של סרטים שקולה למכונה עם סרט בודד). 2. חזור עד שלא מסומנים קודקודים חדשים: לכל קודקוד ב G סמן אותו אם ם יש קשת בינו ובין קודקוד שכבר סומן. 3. עבור על כל צמתי G אם כולם מסומנים, עצור וקבל, אחרת עצור ודחה. 3.2 בעיית העצירה משפט 3.1 יש שפה.L R הוכחה: משיקולי עוצמות. קבוצה A היא כל השפות מעל {1,0} (אותה עוצמה כמו לקבוצת תתי הקבצות של {1,0}), ומתקיים ש ℵ A. = 2 ℵ0 = כיוון שלמכונת טיורינג יש תיאור סופי ע י מספרים טבעיים, אז קבוצת השפות הניתנות לתיאור ע י מכונות טיורינג היא בת מנייה. מכך נובע שקיימת L A שאין עבורה מכונת טיורינג. הוכחה: (ע י דוגמא) נראה שהשפה A T M היא הצמדים w,m כך ש M היא מכונת טיורינג המקבלת את w..1 נראה ש RE.A T M בהינתן קלט w M, המכונה M T M מריצה את M על w ופועלת כמוה (ראה בתרגול 6 המתאר מכונה כזו). M מקבלת את w אם ם M T M מקבלת w,m. נשים לב שאם M לא מכריעה עבור w, אז גם M T M לא מכריעה. 19

3 חישוביות 3.2 בעיית העצירה.2 נראה ש R {.A T M נניח בשלילה שקיימת מכונת טיורינג H שמכריעה את,A T M כלומר = w) H ( M, acc M (w) = acc, כלומר היא מחזירה לא אם M דוחה או נתקעת על w. rej M (w) acc מ H נבנה מכונה אחרת D, המקבל כקלט תיאור M של מכונת טיורינג ופועלת כך { acc M( M ) = acc D ( M ) = rej M ( M ) acc D ( M ) = { rej acc M ( M ) = acc M ( M ) acc.d ( M ) = כלומר M ).D ( M ) = H ( M, מ D נבנה את D הפועלת כך { ref acc D ( M ) = acc כלומר D ( M ) = rej עכשיו נרצה לדעת מה קורה כאשר נריץ את ) ( D?D אם D מקבלת את D אז D ( D ) = acc אבל אז D ( D ) = rej מהגדרתה וקיבלנו סתירה. אם D לא מקבלת את, D אז D ( D ) = rej אבל אז.A T M R כנ ל, ולכן H ושוב קיבלנו סתירה, ולכן לא קיימת D ( D ) = acc מסקנה 3.2 כיוון ש RE\R A T M אז A T M CO RE (אחרת,(A T M R ולכן.A T M RE טענה 3.3 (בעיית העצירה) HALT T M R כאשר w}.halt T M = {( M, w) : M halt on הוכחה: נראה שאם HALT T M R אז.A T M R תהי T מ ט המכריעה את HALT T M ונהנה מ ט S המכריעה את A, T M ו S תפעל כך על הקלט M :, w.1 תריץ את T על. M, w 2. אם T דוחה, גם S עוצרת ודוחה. 3. אם T מקבלת את S M,, w מריצה את M על w (מובטח שנעצור) ונענה כמו M על w. הערה 3.4 למעשה מה שהראינו כאן שלא קיים אלגוריתם שבהינתן תוכנית מחשב וקלט עבורה, הוא מכריע האם היא תתקע בלולאה אינסופית. חשוב להדגיש שזה לא אומר שאי אפשר לבנות אלגוריתם שיזהה אם קבוצה חלקית מכלל התוכניות האפשריות עוצרות או לא. A) T M תחזור על עצמה? ל R HALTT M? הערה 3.5 צורת ההוכחה הזו של רדוקציה (במקרה הנ ל, רדוקציה של R רבות בהמשך הקורס. סימון: A ɛ T M היא המכונה ששפתה כל ה M אשר מקבלת את הקלט ɛ..a ɛ T M הערה 3.6 ניתן להראות כי RE\R 20

3 חישוביות 3.3 רדוקציה של בעיות 3.3 רדוקציה של בעיות הגדרה 3.7 נגדיר REG}.REG T M = { M : M is a turing mechine, L (M) משפט.REG T M R 3.8 הוכחה: נוכיח ע י רדוקציה ל A. T M בשלילה יש מ ט T המכריעה את,REG T M ונבנה מ ט S המכריעה את A. T M.1 בהינתן M, w נייצר מ ט M (מעל הא ב (0, 1 הפועלת כך על הקלט 1) (0 :x (א) אם x מהצורה 0 n 1 n אז M מקבלת את x (נשים לב שהשלב הזה לא תלוי ב M או ב w ). (ב) אחרת M מריצה את M על w ומקבלת את x אם ם M קיבלה את w (נשים לב: יתכן ש M לא תעצור על w ואז M לא תעצור על x)..2 אם M לא מקבלת את w אז L (M ) = 0 n 1 n שהיא לא רגולרית, ואם M מקבלת את,w אז 1) (0 = ) (M L שהיא רגולרית. 3. עתה, עבור M T תחזיר acc אם ם M מקבלת את w, ולכן מצאנו מכונת טיורינג המכריעה את A. T M הגדרה 3.9 פונקציה ניתנת לחישוב. Σ f : Σ היא פונקציה ניתנת לחישוב function) (computable אם קיימת מ ט M f כך שלכל קלט Σ w אז M t עוצרת עם (w) f על הסרט. דוגמא: #) 1 (0 #) 1 (0 : f כך שבהינתן שני מספרים בבסיס בינארי המופרדים ב #, אז היא מחזירה את סכומם, וראינו שקיימת מכונת טיורינג כזו, ולכן זאת פונקציה הניתנת לחישוב. דוגמא: M f : M (כלומר מקבלת מכונת טיורינג ומחזירה מכונת טיורינג) קיימת מכונת טיורינג M f כזו, שעל קלט,w אם w מקודד מ ט,M אז M t כותבת על הסרט M כך ש ( (M L (M) = L ו M מעולם לא מגיעה ל q rej (אם w לא מקודד מ ט, אז M f כותבת על הסרט ɛ). M מתקבלת מ M ע י הוספת מצב q loop שבו נתקעים, והמרת מעבר ל q rej במעבר ל q. loop כיוון M f מוגדרת באופן טריוויאלי מהתיאור הזה, אז f הנ ל ניתנת לחישוב. הגדרה 3.10 שפה Σ A ניתנת לרדוקציית מיפוי לשפה Σ (A is mapping reducible to B) B ומסומן ב m) A m B מלשון,(mapping אם קיימת פונקציה ניתנת לחישוב Σ f : Σ כך שלכל Σ w מתקיים ש B.w A f (w) הערה 3.11 אפשר להסתכל על A m B כאל A יותר קלה מ B, כי אם B ניתנת לפתירה, אז גם A. משפט 3.12 אם A m B ו R B אז.A R הוכחה: בהינתן מ ט M B שמכריעה את B, נבנה מ ט M A שמכריעה את A. M A תפעל כך על קלט w: תחשב את (w) f ומריצה את M B עליו. משפט 3.13 אם A m B ו R A אז.B R 21

3 חישוביות 3.3 רדוקציה של בעיות הוכחה: פשוט שלילה והיפוך של המשפט הקודם. פירמול של A T M m REG T M ממקודם: יש פונקציה ניתנת לחישוב { M },f : {( M, w)} כך ש ( M, w) A T M f ( M, w) REG T M כאשר הרצת M על קלט x, אם x 0 n 1 n אז היא מקבלת, אחרת היא מריצה את M על w, ואם היא מקבלת את w אז היא מקבלת את x. נפרמל גם את.A T M m HALT T M נראה ש f פונקציה ניתננת לחישוב w)} f : {( M, w)} {( M, המקיימת: ) w f ( M, w) = ( M, ו M, w A T M ( M, w) HALT T M 3.3.1 חזרה על בעיית העצירה בשימוש בפורמליזם של רדוקציית מיפוי.HALT T M = {( M, w) : M stops on ו { w A T M = {( M, w) : M accepts w} כאשר A T M HALT T M טענה 3.14 הוכחה: בהינתן זוג (w M ), הרדוקציה תפלוט את הזוג (w M ), כאשר M היא מכונה דומה ל M, אלא שבכל פעם ש M מגיע למצב דוחה, M תכנס ללואה אינסופית. אם M ), (w A T M אזי M מקבלת בריצתה על w ולכן גם M מקבלת בריצתה על w, ובפרט ש M עוצרת בריצתה.( M, w) HALT T M ולכן,w אם,( M, w) HALT T M אזי M עוצרת על,w ומהגדרת w היא בהכרח עוצרת על,accept ולכן גם M עוצרת על.( M, w) A T M ולכן,accept הערה 3.15 נשאלת השאלה מה עושים במידה והקלט הוא לא הזוג w M, אלא קלט אחר לא חוקי? צריך לשים לב כי ניתן להכריע אם הקלט הוא זוג שמייצג מכונת טיורינג ומילה, ובמידה והקלט הוא לא תקין, אז נצטרך לבנות איזשהו פלט O כך שגם O, HALT T M ובמקרה הנ ל אפשר פשוט להעביר את הקלט כמושהוא, כיוון שגם HALT T M מצפה לקבל זוג כזה. להבא לא נתייחס למצב הזה של קלט לא תקין, כיוון שזו תמיד סוגייה טכנית ולא מעניינת. מסקנה.HALT T M R 3.16 תזכורת: בנוסף אנו יודעים ש RE HALT T M ע י פשוט הרצת M על w. מסקנה.HALT T M RE\R 3.17.(A ɛ T M = { M : M accepts ɛ} (כאשר A T M A ɛ T M טענה 3.18 הוכחה: בהינתן זוג (w M ), נבנה מכונה M כך שבתחילת ריצתה היא תדפיס את המילה w על הסרט ומחזירה את הראש לתחילת המילה, ולבסוף תמשיך לרוץ ע פ כללי המעבר של M. עתה קל לראות ש M מקבלת את w אם ם M מקבלת את,ɛ ולכן.( M, w) A T M M A ɛ T M 22

3 חישוביות 3.4 משפט אי השלמות של גדל 3.4 משפט אי השלמות של גדל דוגמאות נוספות של שפות: דוגמא: שפת השקילות: אוסף הזוגות ( N M )כך, ש ( N ) L. (M) = L מסתבר ש RE.L RE, CO דוגמא: שפה הפולינומים מרובי המשתנים שיש להם שורש שלם, גם היא ב RE\R. הערה 3.19 מערכות הסקה, הן אוסף של כללים אשר בעזרתם ניתן להסיק מאוסף טענות וטענה חדשה. למשל אם P Q וגם ידוע ש P נכון אז גם Q נכון. משפט 3.20 משפט השלמות של גדל אם אוסף האקסיומות גורר טענה P, אזי ניתן להוכח את P מאקסיומות בעזרת סדרה סופית של כללי הסקה. מסקנה 3.21 שפת המשפטים הנכונים בתורת המספרים (נכון אם הוא מתקיים בכל מודל של תורת המספרים) הוא ב RE. הוכחה: פשוט נעבור על כל מילה אפשרית, ונבדוק האם היא במקרה מהווה הוכחה למשפט הנתון. מסקנה 3.22 אוסף המשפטים הנכונים בתורת המספרים אני ניתן להכרעה (לא ב R ). 3.5 דקדוק פורמלי הגדרה 3.23 דקדוק פורמלי הוא רביעיה (S G =,V),Σ,R כאשר V היא קבוצת המשתנים, Σ הא ב, R אוסף כללי הגזירה ו S הוא משתנה ההתחלה, כאשר = V Σ ו.S V כלל גזירה הוא ביטוי מהצורה X Y כאשר ) V X (Σ V ) V (Σ ו ) V.Y (Σ.V = הערה שלי: למי שמכיר, זה פחות או יותר term rewriting ודומיו. S abc Bc bc C b Bc ɛ ואז המילה ab נמצאת בשפה כי.S abc abc ab דוגמא: ובאותו הגדרה (G)} 3.24.A G = {(G, w) : w L טענה.A T M m A G 3.25 { wj הוכחה: בהינתן קלט w) ( M, נבנה דקדוק G כך שאם w = n אז נגדיר } P q i : q i Q, 1 j n} {#, S # w1 q 0 w 2... w n # a q 1 # b q _ a q 1 c bq c ו # 2 עבור כלל מעבר R) δ (q 1, a) = (q 2, b, במכונה,M ניצור לכל c w כללי גזירה 2.# q a 1 # q _ 2 ו b cq a 1 q c אופן עבור L נבנה 2 b 23

4 סיבוכיות i 1,#e 1 e 2... e ונרצה שבמצב אם M הגיע למצב מקבל, אז בסוף כלל הגזירה נגיע למילה מהצורה # n e i qacc e i+1... e כזה המילה תהפך למילה הריקה, ולכן נוסיף לכל אות a את הכללים a q acc P P a P ap P P ɛ ניתן להבחין ש M מקבל את w אם ם (G),ɛ L ולכן ( M, w) A T M אם ם.(G, ɛ) A G (כאשר Σ (x i, y i אם ם יש סדרה סופית של אינדקסים i 1,..., i k כך 3.5.1 שפת ה PCP (Post Correspondence Problem) ( x 1 ) y 1,..., xn y n הגדרה 3.26 המילה P CP ש.x i1... x ik = y i1... y ik אז x 1 x 2 = y 1 y 2 אבל.x 2 x 1 y 2 y 1 y 1 {}}{ ab y 2 {}}{ ו aba x 1 {}}{ a x 2 {}}{ דוגמא: baba הערה 3.27 קל לראות מיד ש RE P CP ע י ריצה על כל האפשרויות. טענה.A G P CP 3.28 רעיון ההוכחה: (לא הבנתי את ההסבר בע פ שהוא נתן... כנראה הוא יחזור על זה בהרצאה הבאה). מסקנה P CP R 3.29 ולכן P CP RE\R ו CoRE.P CP הערה P CP,HALT T M A, T M 3.30 ו A G נקראים שלמים ב RE (שלם במובן שכל בעיה ניתנת לרדוקציה מהם, כלומר L A T M אם ם.(L RE 4 סיבוכיות בפרק זה נרצה לעסוק בזמן ובמקום הדרוש לפתרון בעיה. 4.1 סיבוכיות בזמן הגדרה 4.1 תהא L R ותהא M מ ט כך ש L.L (M) = נגדיר T M (n) = max {Number of steps untill M stops on x} x n הערה 4.2 נשים לב שניתן להגדיר את (n) T M על כל מכונת טורינג שעוצרת תמיד. הגדרה 4.3 נאמר כי M מכריעה את L בזמן (n) T. M 24

4 סיבוכיות 4.1 סיבוכיות בזמן הגדרה 4.4 תהא + R f : N פונקציה מונוטונית עולה ותהא Σ א ב, ונגדיר T IME [f (n)] = {L Σ : Exists a t.m. M decides on L, and T M (n) = O (f (n))} הערה 4.5 חשוב לשים לב ש [( n ) T IM E f] מוגדר עבור מכונת טורינג כפי שהגדרנו אותה עם סרט בודד, ולכן אלגוריתמים שראינו שעל מחשב ניתן לממש ביעילות, לאו דווקא ישארו באותה מחלקת יעילות זמן במכונת טורינג. כמו למשל אלגוריתם quicksort של מיון, הדורש על מחשב (n O, n) log אבל הוא מסתמך על כך שניתן להעביר איברים מצד אחד לצד שני במערך ב ( 1 ) O בעוד שבמכונת טורינג רק מעבר בודד יכול לדרוש זמן לינארי. דוגמא: [n].reg T IME משפט 4.6 תהא + R f : N מונוטונית כך ש ( n f (n) = o (n log ו n f (n) אז (n)] REG = T IME [f (לא יוכח בקורס זה). טענה 4.7 נגדיר (w)} L = {w : # a (w) = # b אז n].l T IME [n log הוכחה: קל לראות מייד שלפחות [2 L T IME [ n ע י מחיקת כל פעם זוגות של a ו b. ניתן גם לשפר זאת ע י... הערה 4.8 כזכור, הראינו שכל מכונת חישוב ניתנת להדמייה ע י מכונת טורינג בעלת סרט אחד עד כדי חזקה כלשהי של זמן הריצה. מכך נובע שלמרות שההגדרה של T IME תלויה במכונה שעליה היא מוגדרת, אבל עם מסתכלים על מחלקות הזמן על כל החזקות הקבועות, אז כבר אין הבדל בבחירה של המימוש.. P = הגדרה k] 4.9 k=1 T IME [ n דוגמאות: 1. קשירות של גרף, זרימה, הפיכות של מטריצה ועוד הן בעיות ב P. K? בהינתן גרף, האם יש בו קבוצה ב ת בגודל IS 2. לא ידוע אם בעיה זו היא ב P. הגדרה 4.10 נגדיר [(n) NT IME f] בתור מחלקת הזמן של מכונת טורינג לא דטרמיניסטית שמכריעה מילה באורך n בזמן (n)).o (f.np := הגדרה k] 4.11 k=1 NT IME [ n פיספסתי את ההרצאה שהייתה בתאריך 13.04.2011 25

4 סיבוכיות 4.2 בעיות NP שלמות ב NP 4.2 בעיות NP שלמות ב NP טענה L NP 4.12 אם ם קיים קבוע k ומ ט לא דטרמיניסטית M שעוצרת תמיד על קלטים באורך n, בזמן k n ומקבלת בדיוק את השפה L. הגדרה 4.13 נגדיר ש L NP היא שלמה ב NP ונסמן L NP C אם ם L NP קיימת רדוקציה פולינומיאלית (הוגדר בשיעור החסר יושלם בקרוב).L p L משפט.CNF SAT NP C 4.14 הערה 4.15 בשיעור החסר המרצה השתמש במשפט זה ע מ להוכיח שבעיות נוספות הן NP שלמות. טענה L NP 4.16 אם ם קיימים קבועים c ו k ומ ט דטרמיניסטית M, כך שלכל קלט w באורך w L n, אם ם קיימת מילה y כך ש M מקבלת את w#y בזמן k c. n הוכחה: : בהינתן M כנ ל, נזהה את L בעזרת מכונה לא דטרמיניסטית שרצה בזמן (k O ( n ע י שננחש y ואז נרוץ כמו M על המחרוזת המתקבל (ננחש y באורך k.(c n : אם L NP אז יש M לא דטרמיניסטית שמזהה אותה בזמן פולינומי. בהינתן,x#y המכונה M תבדוק ש y הוא תיאור של ריצה של M המקבלת את x. הגדרה Bounded A NT M 4.17 הוא השפה המקבלת את השלשלות ) t t) ( M, w, 1 מקודד כמספר אחדות) כך ש M מ ט דטרמיניסטית, w מילה בא ב של M כך שקיים y כך ש t M y, מקבלת את w#y לכל היותר ב t צעדים. טענה.Bounded A NT M NP 4.18 הוכחה: נבנה מכונה לא דטרמיניסטית אשר בהינתן ) t M ),,w 1 מנחשת מחרוזת y באורך t ומסמלצת את ריצת M על w#y במשך t צעדים. כאשר נקבל אם M מקבלת בהמלך הסימולציה. אם ( M, w, 1 t ) Bounded A NT M אז קיימת ריצה מקבלת למכונה שהגדרנו. אם ( M, w, 1 t ) Bounded A NT M אז לא קיימת ריצה מקבלת למכונה שהגדרנו. טענה 4.19 אם L NP מעל Σ אזי.L p B A NT M הוכחה: הראינו בטענה קודמת שיש מ ט M וקבועים,c k כך שלכל Σ w L, w אם ם קיים y כך ש M מקבלת את w#y תוך לכל היותר c n k צעדים כאשר w = n (נסמן תכונה זו ב ( )). עתה נבצע רדוקציה, כך שבהינתן קלט w באורך n הפלט של הרדוקציה הוא ) t,( M, w, 1 כאשר t = c n k (כאשר w n). = זמן הריצה של הרדוקציה הוא אכן פולינומי, ונותר להראות את הנכונות שלה..( M, w, 1 t ) B A NT M בעל התכונה ( ) אם ם w אם ם w L.NP C היא B A NT M מסקנה 4.20 הגדרה 4.21 (פרדיקט (Predicate אם נתונים משתנים A,x 1,..., x k היא קבוצת ההשמות למשתנים, אז A p : 1} {0, נקראת פרדיקט על.x 1,..., x k דוגמאות: 1. נוסחת CNF היא פרדיקט על משתנים בוליאנים..2 הפסוק אם x 1 או x 2 אז x 3 וגם x 4 מגדיר פרדיקט עבור ההשמה 1) (1, 0, 0, = ) 4 (x 1,..., x הפרדיקט שווה ל 0 ועבור הפרדיקט (1,0),0,0 הוא 1. 26

4 סיבוכיות 4.2 בעיות NP שלמות ב NP.3 כל פונקציה 1} {0, k f : {0, 1} מגדירה פרדיקט P f על x 1,..., x k ע י (x 1,..., x k ) = α הערך של.f (α) יהיה P f טענה 4.22 לכל f כנ ל הפרדיקט P f ניתן לייצוג ע י נוסחת.CNF { x i α i = 1.l i = הוכחה: מספיק לשים לב ש P f = α:f(α)=1 D α כאשר D α = l 1 l 2... l k כאשר = 0 i x i α עתה נותר רק להמיר את הנוסחה לעיל לנוסחת CNF (לפורמט הנ ל קוראים D,DNF עבור,(Disjunctive ונוכל לעשות זאת באופן הבא: P f = α:f(α)=0 C α C α =... l k l { 1 l i = x i α i = 1 x i α i = 0 טענה.B A NT M p CNF SAT 4.23 הוכחה: נוכיח את הטענה: 1. בהינתן ) t M ),,w 1 הרדוקציה תבנה קבוצה משתנים ונוסחת ϕ,,cnf מעליהם, כך ש לכל ריצה באורך t של M תהיה השוואה יחידה למשתנים ה מקודדת אותה. ההשמות היחידות ש ϕ מקבלת יהיו ייצוגים של ריצות באורך t המקבלות על קלטים w#y כאשר y. t 2. נגדיר את הנוסחה במפורש: (א) המשתנים של הנוסחה: משתני הסרט: נגדיר לכל {_} Γ s {0, 1,..., t}, i { t,..., 0,..., t}, a את המשתנה X s,a,i שמשמעותו היא בזמן s כתובה האות a במקום i. מיקום הראש: לכל t} s {0, 1,..., t}, i { t,..., נגדיר גם את H s,i שמשמעותו בזמן s הראש במקום i. משתני המצב: לכל s {0,..., t}, q Q אז G s,q שמשמעותו בזמן s מצב המכונה הוא q. בנוסף נשים לב שמספר המשתנים הוא פולינומי בגודל הקלט. (ב) בניית הנוסחה: מניעת הריבוי: בסרט: לכל,s i ו b a נגדיר X s,a,i X s,b,i (בכל זמן במיקום מסויים יכולה להיות רק אות אחת לכל היותר). מצב המכונה: לכל s ולכל q 1 q 2 נגדיר G s,q1 G s,q2 (בכל זמן המכונה יכולה להיות במצב אחד) מצב הראש: באותו אופן כמו מצב המכונה. a Γ (בכל זמן ובכל מיקום בסרט מוגדר ערך התא בסרט) סרט: לכל s ולכל i נגדיר {_} X s,a,i כללי המעבר: 27

4 סיבוכיות 4.3 תכונות הסגירות של N P,G s,q אזי H s,i וגם X s,a,i וגם עבור כל שוויון מהצורה R),δ (q 1, a) = (q 2, b, לכל s, i אם X s+1,a+i מתקיים a, i, s אז לכל H s,i וגם X s,a,i ואם,G s+1,q2 וגם H וגם s+1,i+1 X s+1,b,i (במקרה זה אנו מתארים את הכלל כפרדיקט, אשר לפי הטענה הקודמת ניתן להביע אותו ב CNF באורך פולינומיאלי). באותו אופן עבור כללים שהולכים שמאלה. תנאי התחלה: 0,wi,i X לכל 1 w i 0 (המילה בהתחלה כתובה על הסרט) 0,#, w X (לאחר המילה יש (# 0,0 H ו G q0,0 (מצב הראש ומצב המכונה ההתחלתיים). G. t,qyes מצב מקבל: מסקנה CNF SAT NP C 4.24 (ולכן גם.(SAT NP C 4.3 תכונות הסגירות של NP.L 1 טענה 4.25 אם L 2, L 2 NP אז גם L2 NP הוכחה: עבור L 1 ו L 2 קיימות שפות ב P המקבלות x#y כך ש x. L i בהינתן קלט נוכל לנחש הוכחה y לכל x ולבדוק עבור כל מכונה של L 1 ו L. 2.L 1 טענה 4.26 אם L 1, L 2 NP אז גם L2 NP הוכחה: בדיוק באותו אופן, רק שנקבל מילה x אם ם x L 1 וגם x L 2 (כאשר בקודם היה יחס של או ). טענה 4.27 אם L NP אז גם.L NP הוכחה: בהינתן מילה w, נוכל להסתכל על כל החלוקות שלה, ולנחש הוכחות עבור כל חלק (כאשר נצטרך כל פעם לקדם את כל ה הוכחות לכל חלק של w באותו שלב כדי שאכן נבדוק את כל האפשרויות ולא ניתקע). טענה 4.28 אם L NP אז גם.L c NP הערה 4.29 פתרון נאיבי לבעייה הוא: תהא M מ ט לא דטרמיניסטית המזהה את L. 1 תהא M להיות המכונה המתקבלת מהחלפת המצב המקבל והמצב הדוחה ב M. פתרון זה לא עובד, כיוון שאם w L c אז w L ולכן קיימת ריצה ב M המקבלת את w, אך יכולות להיות גם ריצות שלא מקבלות (כי מספיק אחת כדי ש ( M ) w), L ולכן ב M ייתכן שתהיה ריצה מקבלת על w ונקבל ש ( M) w L בסתירה לכך ש.L (M ) = L c הגדרה 4.30 נגדיר CoNP בתור מחלקות השפות L עבורן.L c NP אבחנה: אם L 1 CoNP ו L L 2 p אזי.L 2 CoNP הוכחה: נשים לב שאם R היא רדוקציית מיפוי מ L 2 ל L 1 אזי T היא רדוקציית מיפוי גם מ 2 L c ל 1 L. c ו L 2 p L 1 גורר ש 1 L c 2 p L c אבל L c 1 NP ולכן,L c 2 NP ומכאן ש.L 2 CoNP הגדרה 4.31 אם L CoNP ולכל L CoNP מתקיים ש L L p אזי נאמר ש L היא CoNP שלמה. 28

4 סיבוכיות 4.4 תמונת מצב עד כה 4.4 תמונת מצב עד כה עד כה ראינו מספר מחלקות של סיבוכיות בזמן ושל סיבוכיות במקום, וכבר ראינו מספר הכלות: EXPTIME PSPACE Co-NP NP P NL L איור 4.1: מחלקות הסיבוכיות שאנו מכירים עד כה בפרקים הבאים נרצה למצוא דרכים נוספות ע מ שנוכל להפריד ממש בין מחלקות שונות. 4.5 משפט ההיררכיה בזמן יהי (n) t ושפות L כך ש [( n ) L T IME [T אבל עבור (n) r (n) < t מתקיים ש [( n ).L T IME [r.l T IME [ n 2] [ ] דוגמא: מצא Lכך T IME n 5 2 ש הרעיון הכללי: M מסיימת לחשב מהר (2 M, ( n עובדת יותר זמן (2.5 ( n ו M תסמלץ ריצה של M ואז תענה ההיפך. הגדרה T : N N 4.32 נתונה, ונניח ש ( n t (n).t (n) = Ω (n log נקראת חשיבה בזמן אם יש מ ט אשר בהינתן 1 n מחשבת את (n) t בייצוג בינארי בזמן ((n) O. t) דוגמאות: n 2 היא חשיבה בזמן כי למצוא את n מתוך 1 n לוקח n, log n ולהעלות בריבוע דורש זמן (n).polylog גם n 3 2 ו n n log הן חשיבות באופן דומה. גם 2 n חשיבה בזמן, כי אפשר לחשוב אותה ב ( n ) O ע י כתיבת 0 אחרי כל 1 שהיה בקלט המקורי ) n 2 בייצוג nth times {}}{ בינארי הוא. 0.. 0.(1 29

4 סיבוכיות 4.5 משפט ההיררכיה בזמן משפט 4.33 (משפט ) היררכיית הזמן) אם t : N N חשיבה בזמן, אזי יש שפה [(n) L T IME t] כך שאין מ ט שמכריעה אותה בזמן o. ( t(n) log t(n) הערה 4.34 כלומר יש שפות שאפשר להכריע אותה בזמן 2n אבל לא בזמן. 2n n מסקנה 4.35 קיימת שפה L כך שלכל k מתקיים ש k] L T IME [2 n ] \T IME [ n ולכן.P EXP T IME משפט 4.36 קיימת מכונת סימולציה S אשר בהינתן (t M ),,w מחשבת (( את הקונפיגורציה ( ( של M בריצת ה על w במשך t צעדים, ומתקיים : אם w n = M + ו n t אז S רצה בזמן.O t M 3 + log t הוכחה: נוכיח: ( 1. נשים לב כי בהינתן מצב q של M ואות a מתוך א ב העבודה של M, ניתן לחשב את (a δ m,q) בזמן (3 M O. 2. בעיות: (א) אם הקידוד של M רחוק מהראש המסומלץ של M, אז חישוב צעד יכול לקחת זמן רב כפונקציה של המרחק מהקידוד. (ב) צריך לדעת מתי לעצור. 3. נפתור את הבעיות הנ ל ע י שנרחיב את הא ב של S כך שכל אות בו תייצג למעשה 3 אותיות, וכך במובן מסויים נסמלץ מכונה עם 3 סרטים אחד מעל השני. הסרט העליון ישמש לסימלוץ הסרט של M, כאשר נמתח את הסימון של התא על מספר תאים, וזאת ע מ שנוכל לאכסן בסרטים שמתחתיו מידע עבור מיקום הראש הנוכחי. עבור כל תא המייצג את מיקום הראש נאחסן בסרט השני את המצב של M והקידוד של M ובסרט השלישי את המונה. כל צעד חישוב של M נעתיק את הקידוד, המונה והמצב הנוכחי למיקום הראש החדש. ( ) 4. כל צעד חישוב של M ניתן עתה לסמלץ בזמן של O, M 3 + log t ולכן בסה כ זמן הסימלוץ הוא לכל היותר ( ( ) ).M של w הוא אורך הקלט n כאשר O t M 3 + log t + n מסקנה 4.37 אם t : N N חשיבה בזמן, אזי יש מכונת סימולציה S, המקיימת:.n על קלטים באורך O (t (n)) רצה בזמן S.1 t S מחשבת את הקונפיגורציה של המכונה M בריצתה על w) ( M, אחרי =.2 בהינתן קלט w),( M, צעדים. t(n) M 3 +log t(n) הוכחה: נשתמש במכונה S מהמשפט הקודם, כאשר נחשב את t כפי שהוא מגדר לעיל, ונשלח ל S את הקלט.( M, ( M, w), t ) חישוב t דורש (n)),o (t וחישוב הנעשה ע י S גם הוא דורש (n)).o (t מסקנה 4.38 (משפט (ההיררכיה בזמן) t : N N חשיבה בזמן, אזי קיימת שפה [(n) L T IME t] אבל אי אפשר להכריע את L בזמן o. הוכחה: נוכיח: ( t(n) log t(n) 30

4 סיבוכיות 4.6 סיבוכיות במקום,t = t(n) M 3 +log t(n) 1. נגדיר את השפה L המקבלת את כל הצמדים (w M ),, כך שעבור (w n = M ), ועבור M בריצה על הקלט (w M ), אינה מקבלת תוך t צעדים. ( ) t(n).r (n) = o בפרט log t(n) 2. עתה נניח בשלילה כי קיימת מ ט, M, 0 המכריעה את L ורצה בזמן (n) r כאשר הדבר נכון כאשר M 0 רצה על קלטים מהצורה (w M ). 0, < (n),r נבחר קלט מהצורה w) ( M 0, ואורכו n כפי שהוגדר t(n) M 0 3 +log t(n) 3. עבור n גדול מספיק מתקיים לעיל. אם M 0 מקבלת w) ( M 0, אזי ( M 0, w) L והגענו לסתירה. אם M 0 דוחה את הקלט, אז ( M 0, w) L ושוב הגענו לסתירה. הערה 4.39 השימוש במשפט הוא ע מ להפריד בין מחלקות סיבוכיות בזמן שונות, למשל P. EXP נרצה בהמשך להוכיח משפט דומה מחלקות סיבוכיות במקום וכך נוכל להראות ש ACE L P SP ו ACE.NL P SP 4.6 סיבוכיות במקום הגדרה 4.40 נגדיר מכונה M עם 3 סרטים, סרט קריאה בלבד שבו נמצא הקלט, סרט העבודה שניתן לכתוב ולקרוא ממנו, וסרט הפלט שניתן רק לכתוב אליו ולכיוון אחד בלבד. נאמר ש M מחשבת את (n) R במקום (n) S אם על הקלט באורך n היא פולטת את (n) R ואז עוצרת, והיא משתמשת ב (n) S תאים מסרט העבודה. הגדרה [(n) 4.41 SP ACE s] היא כל השפות הניתנות להכרעה במ ט שרצה במקום ((n) O. s) הגדרה [(n) 4.42 NSP ACE s] כל השפות הניתנות לזיהוי ע י מ ט לא דטרמיניסטית שרצה תמיד במקום ((n) O. s) הגדרה s : N N 4.43 המקיימת s (n) log n היא חשיבה במקום אם יש מ ט M אשר בהינתן קלט 1 n היא מחשבת את הייצוג הבינארי של (n) s במקום (n)).o (s משפט 4.44 (משפט הסימולציה במקום) יש מ ט S אשר בהינתן שלשה (s M ),,w מקיימת: 1. אם בריצתה על M w, משתמשת בלפחות s תאים, או נכנסת ללואה אינסופית, S תדרכה. 2. אם בריצתה על M w, משתמשת בלכל היותר s תאים ועוצרת, אז S תקבל אם ם M מקבלת..3 S משתמשת בלכל היותר ( M )) O (s log תאים. סקיצת הוכחה: 1. נחשב את M, s ואם הסימולציה תמשך יותר מ M s צעדים אז נדחה (ב M יש לכל היותר M מצבים ואותיות ולכן יש לכל היותר M s קונפיגורציות שונות, ולכן אם עברנו מספר זה אז נכנסנו ללולאה אינסופית). 2. נקצה על סרט העובדה מקום ל s תווים של M ונדחה אם נחרוג. 3. נבצע את הסימולציה. מסקנה 4.45 (משפט ההיררכיה במקום) תהא S : N N חשיבה במקום, אזי יש [(n) L SP ACE S] אבל אין מכונה המכריעה את L ומשתמשת ב (( n ) o S) מקום. מסקנה.L P SP ACE 4.46 הערה 4.47 באופן כללי אנו יודעים ש ACE L NL P NP P SP ACE NP SP ומשערים שכל ההכלות האלו הן הכלות ממש (מלבד אולי L). NL 31

4 סיבוכיות 4.7 הוכחות אינטראקטיביות ואלגוריתמים רנדומיים 4.7 הוכחות אינטראקטיביות ואלגוריתמים רנדומיים הערה 4.48 בפרק זה נרצה להראות ש CoNP IP כאשר IP הן הבעיות הניתנות להכרעה באמצעות המודל של הוכחות אינטראקטיביות אשר הוצג בתרגול 12 (ראה את מערך השיעור במודל). הערה 4.49 בפרק זה נניח שקיים בעולם לווין אשר שולח אותות של רצף מספרים רנדומיים, וכך מכונות טורינג יכולות להגריל מספרים בחינם. 4.7.1 שאלת הזהות הבעיה: נניח קיימות שתי מכונות A ו B ולכל אחת יש ווקטור ) m.α = (α 0,..., α m ), β = (β 0,..., β נרצה לבנות פרוטוקול תקשורת בינהן כך שהן יוכלו לדעת אם שתי הווקטורים זהים בהסתברות קבועה תוך העברת מספר מינימלי של ווקטורים. שלמות :(Completness) אם α = β אז = 1 (Acc) P r (ההסתברות להצלחה היא.(1 1 2 (Acc) P r (כלומר ההסתברות להצלחה היא פחות מ.( 1 2 נאותות :(Soundness) אם α β אז הפרוטוקול: בעזרת הלווין (הרנדומיות המשותפת) Aו B ייבחרו איבר ) m z = (z 0,..., z m ) U ({0, 1} (הסימון ) m U,0}) {1 הוא קבוצה של ווקטורים באורך m מעל {1,0} המתפלגים באופן שווה)..b = ( m i=0 z ib i ) (mod 2) באותו האופן את תחשב ו B a = ( m i=0 z iα i ) (mod 2) תחשב את A a. = b אם ם תקבל ו A v את תשלח ל A B בדיקה: נבדוק כי הפרוטוקל אכן מקיים את הדרישות שלנו. 1. הוא מעביר רק ביט בודד..2 שלמות אם α = β אז a = b ולכן A תקבל ולכן = 1 (Acc).P r 3. נאותות: תרגיל: מטילים 100 מטבעות הוגנים. מה הסיכוי שמספר הפעמים שיופיע פלי הוא זוגי., 1 2 כי בהינתן שב 99 ההטלות הראשונות התוצאה הייתה זוגית או אי זוגית, הזוגיות פתרון: הסיכוי הוא של 100 ההטלות נקבעת בהסתברות חצי ע י ההטלה האחרונה (אם ב 99 היא הייתה זוגית אז הסיכוי 1 2 וב 99 היא הייתה אי זוגית אז הסיכוי שיצא עוד פלי הוא שוב ). 1 2 שיצא פרד הוא לשים לב שזה נובע מכך שבהינתן מאורעות A ו B אז P (B) = P (B A) P (A) + P (B A c ) P (A c ) עתה כיוון שבמקרה זה B הוא המאורע שב 100 ההטלות יצא מספר זוגי של פלי, ו A המאורע שב 99 = 1 2 ) c P (B A) = P (B A ולכן המאורעות היה מספר זוגי של פלי, ואז P (B) = 1 2 =1 {}}{ (P (A) + P (A c )) = 1 2 במקרה זה, נשים לב ש b a = אם ם 2) z i (α i β i ) 0 (mod =. אם α β אז קיים i כך ש.α i β i באותו אופן לתרגיל, נסתכל על ) i c = i j z j (α i β (המקביל לזוגיות), אם = 1 c אז הסיכוי ש 1 = i z ע מ ש 0 = הוא, 1 2 ואם = 0 c אז הסיכוי ש 0 = i z ע מ ש 0 = הוא 1 2 ולכן. 1 2 בסה כ הסיכוי ש 0 = הוא 32