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

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

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

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

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

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

Logic and Set Theory for Comp. Sci.

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

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

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

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

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

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

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

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

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

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

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

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

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

gcd 24,15 = 3 3 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

logn) = nlog. log(2n

Regular Expressions (RE)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

אוטומטים מעל עצמים אינסופיים 67663

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

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

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

לוגיקה למדעי המחשב תרגולים

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

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

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

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

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

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

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

ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי

הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב פרופ' יעקב ורשבסקי

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

Transcript:

מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי תרגולים של שאול אלמגור 21 ביוני 2012 תוכן עניינים 1 אוטומטים........................................................... 1 2 למת הניפוח...................................................... 1.1 2..................................................... דטרמיניזציה 1.2 3............................................... שקילות Myhill Nerode 1.3 3................................................. מינימיזציה של DFA 1.4 3................................................... ביטויים רגולריים 1.5 4............................................ אוטומט דו כיווני 2-way-DFA 1.6 5 מכונת טיורינג......................................................... 2 5.................................................. רקע אלן טיורינג 2.1 5 הגדרה......................................................... 2.2 6.............................................. ממכונות טיורינג למחשבים 2.3 6............................................ מודלים דומים למכונת טיורינג 2.4 6....................................... מ"ט עם סרט חסום משמאל 2.4.1 6........................................... מ"ט עם שני סרטים. 2.4.2 7............................................. הרצות מקביליות 2.4.3 7.......................................... מבעיות הכרעה לשפות 2.4.4 7............................................. RAM-Machine 2.4.5 8....................................................... רדוקציות 2.5 8................................................ EV EN T M 2.5.1 9............................................... USELESS 2.5.2 9 מ"ט אי דטרמיניסטית................................................ 2.6 9 אנומרטורים (מספררים)................................................ 2.7 10........................................................... סיבוכיות 3 10................................................. רדוקציות פולינומיות 3.1 11..................................................... NP והשלמה 3.2 12................................................. Decision to Search 3.3 12................................................... מ"ט אוניברסלית 3.4 12.................................................... סיבוכיות מקום 3.5 14........................................................ L, NL 3.6 15.................................................. מודלים נוספים של מכונות 4 15 מכונות אורקל. Oracle Machine.......................................... 4.1 16 דוגמא לשאלה מהמבחן................................................ 4.2 רשימת אלגוריתמים 1 בדיקה האם עבור מלה x מתקיים. x L r......................................... 4 1 אוטומטים כ"ז אדר תשע"ב (תרגול 2) הגדרה 1.1 יהי F A = Σ, Q, δ, q 0, ומילה Σ,w = w 1... w n הריצה של A על w היא סדרת מצבים s 0, s 1,..., s n Q כך ש,s 0 = q 0 ו ( i n : s i = δ (s i 1, w i. 1 הגדרה 1.2 נאמר שריצה היא מקבלת אם s. n F 1

δ (q 0, a) = {q 0 }. δ (q 0, b) = Q δ (q 1, α) = φ מה לגבי אוטומט אי דטרמיניסטי? נסתכל על האוטומט b} Q = {q 0, q 1 }, F = {q 1 }, Σ = {a, ופונקצית המעבר הגדרה 1.3 יהי F.w Σ,NFA A = Σ, Q, δ, Q 0, ריצה של A על w היא סדרת מצבים s 0,..., s n כך ש s 0 Q 0 ו : i n 1.s i δ (s i 1, w i ) בדוגמא שלמעלה נקבל ריצות של q 0, q 0, q 0, q 1 או.q 0, q 0, q 0, q 1 טענה A 1.4 מקבל את w אם"ם יש ל A ריצה מקבלת את w (תרגיל). 2. ו REG = ℵ 0 כי יש מספר בר מניה של אוטומטים. דוגמא האם יש שפות לא רגולריות? כן. הגודל של Σ, = ℵ0 לכן Σ = ℵ לשפה לא רגולרית, (w)}.l = {w {a, b} # a (w) = 2# b טענה.L = {a m b m m N} REG 1.5 הוכחה: נניח בשלילה ש A = Σ, Q, δ, q 0, F הוא DF A כך ש L.L (A) = נניח ש n. Q = נתבונן במילה.w = a n+1 b n+1 L ותהי 2n+2 s 0, s 1,..., s n+1, s n+2,..., s הריצה של A על.w מעקרון שובך היונים קיים q Q ו 1 + n i < j 0 כך ש q.s i = s j = אזי גם הריצה 2n+2 s 0, s 1,..., s i,..., s j, s i+1,..., s j, s j+1,..., s מקבלת, ולכן המילה n+1 a n+1+(j i) b מתקבלת, וזו סתירה כי.j > i 1.1 למת הניפוח למה 1.6 לכל שפה,L REG קיים,p N כך שלכל מלה,w : w > p אזי קיימים Σ x, y, z כך ש w = xyz ומתקיים xy p y > 0 לכל xy i z L,i N הוכחה: תהי,L REG ויהי DFA A כך ש L.L (A) = יהי.p = n אם w L כך ש p. w > תהי s 0,..., s n,..., s k הריצה המקבלת של A על w. מעיקרון שובך היונים קיימים i < j n 0 כך ש.s i = s j נסמן,y = w i+1,..., w j,x = w 1,..., w i ו,z = w j+1,..., w k אזי לכל.j > i כי y > ו 0, xy = j p היא ריצה מתקבלת. כמו כן s 0,..., (s i,..., s j ) i, s j+1,..., s k הריצה xy i z L אם רוצים להוכיח ששפה אינסופית כלשהי היא לא רגולרית, נבחר קבוע פירוק, צריך להראות שלכל קבוע, ניתן לבחור מילה עבורה.xy i z L לדוגמא } b}.l = {uu u {a, נניח בשלילה ש L רגולרית. מלמת הניפוח קיים p קבוע הניפוח. עבור,a p+1 ba p+1 b L קיים פירוק. יהי x, y, z כך ש xyz.w = נניח ש 0 > y ו p. xy < מכיוון ש p xy אז.xy = a k ובפרט.y = a j עבור > 0.j ואז עבור = 2 i נקבל xy i z = a p+1+j ba p b / L והגענו לסתירה. 1.2 דטרמיניזציה הגדרנו בשיעור,NF,A DF A וטענו בשיעור שלכל NF A יש DF A שקול. בציור 1.1 יש הדגמה של אוטומט NF A ותרגום שלו ל A.DF ראינו שבצענו את הדטרמיניזציה ע"י מעבר לקבוצת החזקה של המצבים. האם ניתן לבצע את הדטרמיניזציה בצורה יותר פשוטה. האם יש שפה שתתואר ב A NF בעל 7 מצבים, אבל יש צורך בA DF בעל 128 מצבים. אם נוכיח שלא, האם יש לנו הוכחה לצורך באקספוננט? נניח שיש (n) f שאומרת מהו גודל DF A המינימלי עבור שפה כלשהי עם NF A בגודל n. אם נראה את הפעולה למעלה, גילינו ש 128 (7) f. זה לא מספיק. אנו רוצים להראות לכל n, כי f. (n) 2n לצורך זה אנו זקוקים לסדרה של שפות, עם אוטומטים באורך 4.n נראה משפחה..., 2 L 1, L של שפות שלכל k N יש ל NF A L k עם + 2 k מצבים, אבל כל DF A ל L k דורש לפחות 2 k מצבים:.L k = {w {a, b} w = w 1... w n w n k = 1} בציור 1.2 יש דוגמא לאוטומט עבור L k עם + 2 k מצבים. טענה 1.7 לכל DF A עבור L k יש לפחות 2 k מצבים. הוכחה: נניח בשלילה ש A עם. Q < 2 k נתבונן ב.{a, b} k מעיקרון שובך היונים יש שתי מילים x y כך ש ( y.δ (q 0, x) = δ (q 0, יש אינדקס i כך ש.x i y i נניח בה"כ.x i = a, y i = b נתבונן ב.xb i, yb i לפי ההגדרה,,xb i L, yb i / L אבל האוטומט אחרי שרץ על,x y ימשיך על b i באותה דרך, ויקבל את שתיהן או ידחה את שתיהן. 2

1.3 שקילות Myhill Nerode ה' ניסן תשע"ב (תרגול 3) הגדרה 1.8 יהא Σ א"ב, Σ,L נגדיר יחס Σ L : Σ ע"י: L). x, y Σ : x L z z Σ (xz L yz משפט 1.9 לכל Σ L REG L, אם"ם מספר מחלקות השקילות של L הוא סופי. דוגמא: } 2.L = { a k k is not pow of יהי.m < n N נתבונן ב.a 2n, a 2m נטען ש a 2m הוא זנב מפריד: = 2 2m a 2m a 2m = a,a 2m+1 / L ולעומת זאת a 2n a 2m = a 2n +2 m אבל 1) + n m 2 n + 2 m = 2 m 2 n m + 2 m = 2 m (2 יש לנו כאן גורם אי זוגי, ולכן הוא לא חזקה של,2 כלומר.a 2n a 2m L לכל a. 2n L a 2m n, < m מכאן ניתן להגיע לכך שיש אינסוף מחלקות שקילות. דוגמא נוספת: a}.l = {w {a, b} w finished at אם x, y מסתיימות ב a, אזי לכל Σ z מתקיים,xz L z = ε z L yz L כלומר.x L y אם x, y לא מסתיימות ב a, אזי,xz L z L yz L כלומר.x L y אם x מסתיימת ב a ו y לא, אז עבור הזנב,xε L,ε ו L,yε / כלומר.x L y בסה"כ יש לנו שתי מחלקות שקילות: L},q 0 = {u u L}, q 1 = {u u ניתן לבנות אוטומט בצורה הזו (לתת מצב לכל מחלקת שקילות). 1.4 מינימיזציה של DFA נחפש אלגוריתם שבהינתן DFA מוצא DFA שקול מינימלי. הגדרה 1.10 בהנתן,A DFA נגדיר A Q Q ע"י ) F. q, s Q : q A s z Σ (δ (q, z) F δ (s, z) אם ידוע לנו, A נגדיר DF A שכל מצב בו היא מחלקת שקילות, ו [( σ δ [q]), (σ = δ],q) (תרגיל: זה מוגדר היטב). בציור 1.3 ניתן לראות כי } 3 {q 0, q 1 }, {q 2, q הן מחלקות השקילות. כדי להראות כי זהו אוטומט מינימלי, יש להוכיח את שתי הטענות הבאות: טענה (A) 1.11 L. A) ) = L כמו כן מספר מחלקות השקילות A הוא לכל היותר מס' מחלקות שקילות L(A). x L(A) y ( z Σ, xz L yz L) ( z, δ (q 0, xz) F δ (q 0, yz)) ( z, δ (δ (q 0, x), z) F δ (δ (q 0, y), z)) F δ (q 0, x) A δ (q 0, y) הוכחה: (2): לצורך האלגוריתם יש לנו צורך לבדוק את מחלקות השקילות של. A הגדרה 1.12 נגדיר יחס i ע"י q i s אם. z, z i : δ (q, z) F δ (s, z) F לדוגמא :,F Q\F 0. איך נעבור מכאן ל? 1 כדי למצוא את 1+i מתוך, i נעבור על כל זוג מצבים,q s כך ש s q, i ונבדוק האם קיימת σ Σ כך ש ( σ.δ (q, σ) i δ (s, נמשיך עד ש i+1. i = איך מגדירים למחשב שפה רגולרית? לפי האוטומט. אם ניתן למחשב אוטומט, הוא יוכל לומר לנו האם מילה בשפה, אבל לא לבנות מהן מילים. 1.5 ביטויים רגולריים דוגמא: b).a (b c).d (b הגדרה 1.13 נאמר ש r הוא ביטוי רגולרי אם r הוא:. ε σ Σ.r, r s, r s 3

למשל השפה b) (a b) bb (a מכילה את כל המילים שבהם יש bb באמצע. עבור ביטוי רגולרי r, נגדיר את (r) L ע"י: L ( ) = L (ε) = {ε} L (σ) = {σ} L (r s) = L (r) L (s) L (r s) = L (r) L (s) L (r ) = (L (r)).l לכל ε L כאשר.L = כאשר עבור Σ,L k = {w 1 w 2... w k i, w i L} = L L... L,L ו n=0 Lk טענה L REG 1.14 אם"ם ל L יש ביטוי רגולרי. הוכחה: נוכיח שלכל ב"ר יש NF A שקול. יהי r ב"ר. נבנה NF A באופן אינדוקטיבי לפי עץ היצירה של r. אם =,r נבנה את } δ,.{{q 0 }, Σ, {q 0 }, עם = σ).δ (q, אם,r = ε נבנה את }} 0.{{q 0 }, Σ, {q 0 }, δ, {q עם = σ).δ (q, אם,r = a נבנה את }} 1,{{q 0, q 1 }, Σ, {q 0 }, δ, {q כאשר } 1,δ (q 0, a) = {q ו אחרת. אם r, = s t נבנה את אוטומט האיחוד (דומה לציור 1.5 בשיעור). אם r = st ראינו בשיעור את אוטומט השרשור. 1.6 אוטומט דו כיווני 2-way-DFA זה הכנה טובה למכונות טורינג. הגדרה 1.15 reject.a = Σ, Q, δ,,, q accept, q כאשר L}.δ : Q Σ Q {R, דוגמא: ראינו לגבי השפה שבה המצב במקום ה k מהסוף הוא a. ניתן אוטומט שזז עד הסוף, ואז חוזר חזרה k צעדים, ובודק את האות. כ"ו ניסן תשע"ב (תרגול 4) נניח ויש לנו ביטוי רגולרי.(a (bb)) bab a בעיה: בהינתן טקסט w, האם קיימת תת מחרוזת של w שתואמת את הביטוי הרגולרי r? אלגוריתם 1 בדיקה האם עבור מלה x מתקיים x L r נבנה אוטומט A r NF A עבור r נבנה DF A שקול ל,A r נסמנו.D r נריץ את D r על x ונבדוק האם ) r.x L (D ( ( 3) w O בהנחה שהבניה פתרון 1: נרוץ על כל תת מחרוזת של w, ונבדוק האם היא ב ( r ) L (הרצה של הבדיקה על (2 w O, ובסה"כ היא בזמן קבוע. פתרון 2: נקח את A, r ולהוסיף לו מצב מעגלי בהתחלה (ציור 1.4). פתרון :3 נריץ את האלגוריתם על הביטוי הרגולרי b).(a b) r (a 4

2 מכונת טיורינג 2.1 רקע אלן טיורינג טיורינג נולך ב 1912. למד בקיימברידג', ובמהלך הלימודים ניסה לתקוף את בעיית אי השלמות של גדל, ובשביל זה הוא בנה את מכונת החישוב, וכך הצליח להוכיח גירסא של משפט אי השלמות של גדל בצורה מבריקה. במקביל אלונז'ו צ'רץ' עשה דבר דומה עם מודל אחר (מסובך יותר). ב 38 36 הוא למד בפרינסטון תחת השגחה של צ'רץ'. ב 40 39 הוא גוייס לעבוד בבריטניה בקריטוגרפיה. הם תקפו את האניגמה. טיורינג המציא את הBombe. מכונה בגודל של ארון, והתרומה שלו למלחמה היתה אדירה. לדוג' הקרב באל עלמיין הגרמנים הפסידו כי לא היתה להם אספקה. כל האוניות שיצאו מאיטליה עם אספקה הותקפו מיד. אחרי המלחמה הקריירה האקדמית שלו היתה במצב גרוע. הוא לא יכל לפרסם את העבודה שלו בשנות המלחמה. הוא הורשע בהומוסקסואליות, עבר סירוס כימי, הורידו לו את הסיווג הבטחוני ואסרו עליו לספר על מה שעשה. שנתיים אח"כ הוא התאבד. יש תערוכה במוזיאון המדע, ותופיע שם מכונת אניגמה. 2.2 הגדרה הרעיון: מוסיפים לאוטומט טייפ אינסופי עם ראש קריאה כתיבה. בהתחלה המילה כתובה על הסרט כשהראש בתחילתה, וכל שאר התווים בסרט מימין ומשמאל למילה ריקים. על כל קשת רשום לדוגמה a,,b R שמשמעותה אם קראת a, תעבור למצב המתאים, תכתוב b במקום בו היה כתוב a, ותנוע ימינה. יהיה לנו גם מצבי q. accept, q reject בהגדרה: Q קבוצת המצבים. Σ א"ב הקלט.._ Γ,Σ Γ א"ב הסרט. Γ.δ : Q Γ Q Γ\ { _ } {R, L} פונקצית מעברים δ המטרה של הקורס להראות שלמכונה הזו יש יכולת חישוב יעילה של מחשב. נראה שאפשר להגדיר מכונה כזו שבה ניתן להגדיר שפה לא רגולרית. למשל (w)}.l = {w {a, b} # a (w) # b נבנה T M המכריעה את L. מתחילים עם w על הסרט. נסרוק את w ימינה עד שנגיע ל a. אם הגענו ל a, נמחק אותו, ונמשיך ימינה עד _. אם לא מצאנו a, והגענו ל _ נקבל. אם הגענו ימינה ומצאנו a נחזור שמאלה ונחפש b. אם מצאנו b נמחק אותו, ונמשיך שמאלה ל _. ונחזור ל 1. אם לא מצאנו b והגענו ל _ נדחה. יש שתי רמות של תיאור: לתאר את המצבים, או תיאור פורמלי עם טבלת מעברים. תיאור :low level נתחיל ב s. a נזיז את הראש ימינה עד a ועוברים ל f a או עד _ ועוברים ל q. acc.s b הולכים ימינה עד._ עוברים ל : f a q. rej או עד _ ועוברים ל f b ועוברים ל a הולכים שמאלה עד s: b s. a הולכים שמאלה עד _ ועוברים ל f: b תיאור פורמלי: δ M = Q, Σ, Γ, q 0, q acc, q rej, כאשר b}.q 0 = s a,q = {s a, s b, f a, f b, q acc, q rej }.Γ = Σ { _, x},σ = {a, נתאר את R} δ : Q Γ Q Γ {L, בטבלה הבאה: δ a b x _ s a (f a, x, R) (s a, b, R) (s a, b, R) (q acc, _, R) f a (f a, a, R) (f a, b, R) (f a, x, R) (s b, _, L) s b (s b, a, L) (f b, x, L) (s b, x, L) (q rej, _, L) f b (f b, a, L) (f b, b, L) (f b, x, L) (s a, _, R) להוכיח את הנכונות של התיאור הזה זה ממש קשה. התיאור הזה הוא גם לא ממש אומר הרבה לקורא. ריצה של T M היא סדרת קונפיגורציות סופית. קונפיגורציה של T M היא w 1 w 2... w i 1 w i w i+1... w n שמשמעותה כי w 1... w n המילה הכתובה כרגע בסרט, ראש הקריאה על,w i q והמכונה במצב q. למשל באוטומט שתיארנו ריצה על המילה ababb תהיה:..., xbabb_ a babb, x b abb,..., כאשר בשלב מסויים מגיעים לקונפיגורציה מסוג sa fa s b x a (לא בדוגמא שלנו), עוצרים את הריצה. qacc bbx 5

2.3 ממכונות טיורינג למחשבים אנחנו מחשבים פונקציות עם מחשבים, כשהמודל הנוכחי לא תומך בחישוב פונקציות. אבל אפשר להסתכל על מה שנכתב בטייפ בסוף, בלי לשנות את המודל. נראה דוגמא לחישוב הפונקציה + 1 n f (n) = ע"י.T M נניח ש n נתון בייצוג בינארי. נכתוב δ עבור המצבים. δ 0 1 _ q r (q r, 0, R) (q r, 1, R) (q f, _, L) q f (q acc, 1, L) (q f, 0, L) (q acc, 1, L) 2.4 מודלים דומים למכונת טיורינג 2.4.1 מ"ט עם סרט חסום משמאל טענה 2.1 תהי M מ"ט עם סרט חסום משמאל, אזי קיימת מ"ט רגילה M כך ש ( M) L. (M) = L הוכחה: M תהיה עם סימן מיוחד $. בתחילת הריצה ב M נכתוב $ משמאל למילה. אח"כ נתנהג כמו M מלבד השינוי שכאשר ראש רואה $ הוא זז ימינה ונשאר באותו מצב. טענה 2.2 תהי M מ"ט, אזי קיימת מ"ט M עם סרט חסום כך ש ( M) L. (M) = L הוכחה: נשנה את Γ להיות Γ Γ עם סימנים מהצורה {$} Γ. נקח שני עותקים של M, ובשני נחליף את R ב L. בתור התחלה בסרט נכניס בחלק העליון את המילה, נכניס $ בתו הראשון למטה. נתחיל בעותק הראשון, ואם הגענו ל$ ו M דורשת לנוע שמאלה, נעבור לעותק השני (בקיצור). 2.4.2 מ"ט עם שני סרטים. י' אייר תשע"ב, כ"ה בעומר (תרגול 5) מודל: מ"ט עם שני סרטי עבודה ושני ראשים. פורמלית R} 2,δ : Q Γ Γ Q Γ 2 {L, כלומר δ היא מסוג R) δ (q, a, c) = (q, d, b, L, שמשמעותו לכתוב d על הסרט הראשון, b על הסרט השני, ולהזיז ראש ראשון שמאלה ושני ימינה. סמנטיקה: 2T M מתחילה עם הקלט כתוב על סרט 1, סרט 2 הוא _. הגדרה 2.3 נאמר ש M שקולה ל M אם לכל מלה Σ w מתקיים:.w מקבלת את M אם"ם w מקבלת את M.w דוחה את M אם"ם w דוחה את M טענה 2.4 תהי M מכונה מסוג 2T, M אזי קיימת לה T M שקולה M. הוכחה: כדאי לנסות כמה אפשרויות. אם יש לנו מכונה עם שני סרטים, ניקח תו מפריד, נשים את שני הסרטים משני צידי התו. הסרטים חסומים בצד אחד ונצטרך לטפל בהם, אבל צריך לקפוץ בין שני ראשים ומצבי חיפוש שלהם. רעיון אחר: נבנה מכונה עם סרט אחד, ונפצל את הרצועה שלו לרוחב. נשים את סרט אחד למעלה ואחד למטה. עדיין אנחנו צריכים להשתמש בראש יחיד עבור שני תווים המסומנים כ"ראש". אנחנו נשתמש ברעיון שמפצל את המכונה לארבע: תוכן סרט 1, ראש סרט 1, תוכן סרט 2, ראש סרט 2. נגדיר את הא"ב של M להיות 1} {0, 1} {0, Γ.Γ המשמעות של האות 0) b, 1, (a, היא שבסרט 1 כתוב,a ונמצא שם הראש של סרט 1, ובסרט 2 כתוב b והראש איננו שם. M תפעל באופן הבא:.(w 1, _, 1, 1) תרוץ שמאלה בסרט ותכתוב באות השמאלית.(σ, _, 1, 0) באות σ תעבור על הסרט ותחליף כל אות M.1 2. M תקודד במצב שלה את המצב של M. בכל שלב M תפעל כך. (א) נמצא את ראש 1, נזכור מה האות שמעליו. (ב) נמצא את ראש 2 ונזכור את האות שמעליו. (ג) נמצא שוב את ראש 1 ונפעל בהתאם ל δ. (ד) נמצא שוב את ראש 2 ונפעל בהתאם ל δ. (ה) אם בשלב כלשהו δ אומרת לעבור ל q acc או q, rej נקבל או נדחה בהתאם. נבדוק מה מחיר הסימולציה. 6

לכל צעד של M, אנו מבצעים (n) O פעולות כאשר n הוא אורך הסרט. ( אם M רצה m צעדים, M תרוץ 2) k) O (m + כאשר k הוא אורך הקלט. סימולציה פולינומית. ( הערה 2.5 אותו פתרון עובד עם t סרטים, ואז זמן הריצה של המכונה המסומלצת הוא (2 O, ( mt וגודל המכונה הוא (t O. 2 t Γ 2.4.3 הרצות מקביליות טענה 2.6 אם,L 1, L 2 RE אז.L 1 L 2 הוכחה: נבנה מ"ט M 3 כך ש { L (M 3 ) = {u#v u L 1, v L 2 באופן הבא: נריץ את M 1 על u. אם M 1 קיבלה, נריץ את M 2 על v ותפעל בהתאם. נשים לב ש M 1 אינה בהכרח מכריעה, ובמצב כזה לא תמיד נדחה מילים. נבנה מכונה M שתזהה את L 1 L 2 בעזרת הרעיון הוא : M תריץ במקביל את M 3 על כל אחד מהפירוקים של הקלט ל u#v, ותקבל אם קיים פירוק ש M 3 קבלה. ל M יהיו 3 סרטים. M תקרא את ערך המונה i בסרט 2, ותריץ את M 3 על כל אחד מהפירוקים של הקלט למשך i צעדים (מההתחלה). אם ניסינו את כל הפירוקים ו M 3 לא קיבלה, נגדיל באחד את המונה. 2.4.4 מבעיות הכרעה לשפות בעיה: בהינתן אוטומט A ומילה w, האם (A) w. L נרצה לעבור מהבעיה לשפה L אותה ניתן להכריע. נסמן {(A) L. =,A)} (w w L נרצה להגדיר את השפה מעל א"ב מסויים. נעבוד מעל {#,1,0}, ונגדיר את הקידוד של אוטומט להיות: Σ. A = σ 1 # σ 2 #... σ כאשר נקודד אותיות בצורה בינארית. בהינתן ## q1 #... # q Q ## δ ## q0 ## F קידוד קבוע נוכל לדבר על השפה } (A).L = { A, w A DF A w Σ (A), w L בצורה דומה ניתן לקודד גרפים וטבלאות וכד'. הנקודה החשובה: קל מאוד לבדוק את חוקיות הקידוד של הקלט עם מ"ט. מתי קידוד עושה בעיות? p מתחלק באחד מהם. מה זמן הריצה? אם p האם ונבדוק כך: נרוץ על כל המספרים שקטנים מ p, L נכריע את L. = p } p P } הוא קידוד אונארי של p, אזי זמן הריצה של האלגוריתם הוא ( p ) O. אם p הוא קידוד בינארי, אז זמן הריצה הוא ( p O. ( 2 י"ז אייר תשע"ב, ל"ב בעומר (תרגול 6) RAM-Machine 2.4.5 מכונת RAM מורכבת מ סדרת פקודות. מערך אינסופי לזכרון, מאונדקס על N. בכל תא אפשר לכתוב מספר מ N. תא מיוחד שנקרא P. C תא 0 מיוחד. סט הפקודות הוא אחד מהבאים:.c (0) לתוך v (op) טען את Load (op).c (v (op)) לתוך c שמור את הערך ב ( 0 ) Store (op).c (0) c (0) + v (op) add (op).c (0) max (c (0) v (op), 0) sub (op) c. v) קרא את מספר הקלט הבא, ושים ב (( op ) read to (op) P C v (op) jump (op).if (c (0) > 0) then P C v (op) jump if > 0 (op) rej acc, דחה \ קבל. (i) c זהו תוכן התא הi. v (op) הוא הערך של,op שיכול להיות אחד מהבאים: 7

קבוע. מסומן x =, לדוגמא 12 =. במקרה זה.v ( = x ) = x כתובת,x ואז (x).v (x) = c מצביע, x ואז (x)).v ( x) = c (c טענה 2.7 עבור השפה A RAM = { P, w P ram, w input, P accept w} R קיימת מ"ט U כך ש.L (U) = A RAM הוכחה: יש הוכחה מפורטת בסיכומים. המטרה היא לבנות את U כך שתסמלץ ריצה של P. נבנה באופן הבא: בסרט 1 תוחזק.P בסרט 2 יוחזק.w בסרט 3 יוחזק ה C P. בסרט 4 נסמלץ את תוכן הRAM ע"י זוגות (c,i), כך שבתא הi כתוב c. בכל צעד U תקרא ת הפקודה המתאימה לC P, ותעדכן את תוכן סרט 4 בהתאם. עלות ההרצה על מ"ט היא בסביבות (k O, n) log כאשר k גודל ה RAM. 2.5 רדוקציות הגדרה 2.8 תהיינה Σ,L 1, L 2 נאמר ש L 1 ניתנת לרדוקצית מיפוי (ניתנת למיפוי) ל,L 2 ונסמן,L 1 M L 2 אם קיימת מ"ט T שלכל קלט T,x תמיד עוצרת עם פלט (x) T כתוב על הסרט, ומתקיים.x L 1 T (x) L 2 גיא התחמק מזה, אבל בד"כ מגדירים את Σ T, : Σ בתנאי שיש מ"ט שמחשבת אותה. משפט 2.9 אם,L 2 R ו L 1 M L 2 אז.L 1 R (ראינו בכתה). משפט 2.10 אם,L 1 / RE ו,L 1 M R 2 אזי L 2 / RE (משפט הפוך לגירסא של המשפט הקודם עבור.(RE EV EN T M 2.5.1.EV EN T M := { M L (M) = {x x even}} טענה.A T M EV EN T M 2.11 הוכחה: בהינתן w, M, אנחנו מחפשים דרך ליצור מכונה,H שאם M מקבלת את,L (H) = {x x even},w אחרת.}. {. (H).L המכונה H, בהינתן קלט y, תבדוק האם y זוגי. אם לא, תדחה, אם כן, תריץ סימולציה של (w) M. מכונת הרדוקציה T תהיה כזו: בהינתן קלט w T,M, תפלוט את H, כאשר H פועלת לפי ההוראות לעיל (סימולציה של (w) M ואח"כ בדיקת זוגיות). T חשיבה, שכן אנו יודעים איך לכתוב מכונה שתסמלץ מכונה על מילה, וכן תבדוק זוגיות של אורך. נכונות: אם,M, w A T M אזי M מקבלת את w, לכן לכל y, אם y זוגי, H תקבל את y. אם y אי זוגי, H תדחה את y, ולכן. H EV EN T M כלומר,L (H) = {y y even} אם M לא עוצרת או דוחה את,w אזי H תקבל אף קלט, ולכן = (H),L ובפרט. H / EV EN T M הערה 2.12 בד"כ ברדוקציה כדי לא להפריד ביניהם בהוכחת הנכונות, נשתמש בלולאה אינסופית למקרה ש M דוחה. כך ההתנהגות של דחייה זהה להתנהגות של עצירה..(A T M = { M, w w / L (M)} (תזכורת:.A T M M EV EN T M טענה 2.13 הוכחה: הרדוקציה T תבנה קידוד של מכונה H שתעבוד באופן הבא: בהינתן קלט y, נריץ את (w) M למשך y צעדים. אם לא קיבלנו, נבדוק את אורך y, ולפי זה נחליט. אם (w) M קיבלה, נדחה. למה זו רדוקציה? אם M מקבלת את w לאחר k צעדים, אזי עבור y = 2k נגלה כי המכונה קיבלה, ולכן נדחה את y, למרות שאורכה זוגי, כלומר H. / EV EN T M אם M דוחה \ לא עוצרת על w, אזי לכל y נקבל אם הוא זוגי, ונדחה אם הוא לא זוגי. 8

U SELESS 2.5.2 השפה { M } U = USELESS = כאשר : קיים מצב q M שלא מגיעים אליו בריצה על אף מילה. טענה.U co RE 2.14 הוכחה: נעבור על כל המילים במקביל, ונסמן מצבים שביקרנו בהם. אם ביקרנו בכולם נדחה. טענה.A T M M U 2.15 הוכחה: פלט הרדוקציה ( w T,M ) הוא קידוד של מכונה H, שבהינתן מילה y, מריצה את (w) M. אם דחינו ניכנס ללולאה (המצבים בצד של "אם קיבלנו" לא נגיע אליהם). אם קיבלנו, אנחנו צריכים לגרום לעבור על כל המצבים. נעבור למצב q traverse שיכתוב סימן מיוחד @ על הקלט, ויעבור למצב אחר. לכל המצבים נוסיף שאם הם רואים @ הם עוברים למצב ספציפי, כך שנעבור בלולאה על כל המצבים. 2.6 מ"ט אי דטרמיניסטית כ"ד אייר תשע"ב, ל"ט בעומר (תרגול 7).δ : Q Γ 2 Q Γ {R,L} היא כמו מ"ט מלבד ש: NT M ריצה של NT M על מילה w היא סדרת קונפיגורציות שמתחילה ב w,(q 0, w 1 ) w 2... w וכל קונפיגורציה עוקבת לזו שקדמה לה לפי.δ מילה מתקבלת אם קיימת ריצה מקבלת של המכונה עליה. השפה של מ"ט א"ד N היא {w L. (N) = w} N has accepted run on ונאמר ש ( N ) L היא השפה המזוהה ע"י N. בשלב זה אנחנו לא מדברים על הכרעה, אלא על זיהוי. עקרונית זה לא נשמע מסובך, אבל ראינו עד כמה הבעיות האלו קשות. דוגמא: coprime}.c = { n n is נראה NT M שמזהה את C: ה M NT תכתוב באופן אי דטרמיניסטי על הסרט כל מספר שקטן מ n. עבור כל מספר שאינו 1 או n, תבדוק האם n מתחלק בו. אם כן, המכונה תקבל. העץ של הריצות יתפצל לנצח. הנקודה היא ש n פריק אם"ם קיים מספר p כך ש n p, וזה אם"ם קיימת ריצה של המכונה על n, שתכתוב את p, תבדוק חלוקה ותקבל. אוסף השפות המזוהה ע"י מכונה אי דטרמיניסטית מכיל את אוסף השפות המכונה ע"י מכונה דטרמיניסטית (טרוייאלי). מה קורה בכיוון ההפוך? משפט 2.16 תהי Σ,L אזי קיימת N NT M כך ש L,L (N) = אם"ם קיימת שפה,K R כך ש { K.L = {x ( ) y s.t. x#y בדוגמא הקודמת,C נגדיר n} x C,K = { n, p : p אם"ם קיים y כך ש K. x, y הוכחה: : נניח שקיימת NT M N כך ש L L. (N) = נראה שקיימת K כריעה כך ש( ). נגדיר את.K = {x#y y encode accept run of N on w} :K אזי: 1. L x אם"ם קיימת ריצה מקבלת של N על x, אם"ם קיים y שמקודד ריצה כזו, ולכן. δ. כי קל לוודא חוקיות של ריצה. צריך לבדוק שכל מעבר עוקב מקודמו ע"י K R 2. : נניח שקיימת K R כך ש. נבנה N NT M כך ש L L (N) = באופן הבא: בהינתן קלט N x, תכתוב באופן א"ד את כל המחרוזות y על הסרט, ועבור כל y תוודא שK x#y ע"י מכונה דטרמיניסטית המכריעה את K. אם y כלשהו גורם ל y,x לקבל, N תקבל. משפט 2.17 תהי,NT M N אזי קיימת D T M כך ש ( M ).L (D) = L הוכחה: מכיוון ש ( N ) L ניתנת לזיהוי ע"י,NT M אזי קיים מוודא V (כלומר מ"ט מכריעה) כך ש {(.L (N) = {x y s.t. x, y L (V D תסמלץ את V באופן סדרתי על y,x לכל מחרוזת y, ותקבל אם קיים y עבורו V קיבלה את y,x. מכיוון ש V מכריעה, אין צורך להריץ במקביל, וברור ש ( N ) L. (D) = L זמן הריצה יהיה גבוה אם = 20 y, נצטרך לעבור על כל המילים בגודל עד 20 ולהריץ את V. אולי זה יקר מידי? 2.7 אנומרטורים (מספררים)?enumerable למה.RE Recursively Enumerable אנומרטור הוא "מ"ט עם מדפסת" עם התכונות הבאות: יש לה סרט לכתיבה בלבד, בנוסף לסרט העבודה (סרט הכתיבה לא משפיע על טבלת המעברים). יש מצב מיוחד q, print כשמגיעים אליו מדפיסים את מה שכתוב על הקלט, ומנקים את סרט הכתיבה. המכונה לא מקבלת קלט (מתחילה עם סרטים ריקים). 9

הריצה של אנו' מדפיסה סדרת מילים (לאו דוקא סופית). השפה של אנו' היא אוסף המילים שמודפסות במהלך הריצה. משפט L RE 2.18 אם"ם קיים אנו' E כך ש L.L (E) = הוכחה: : תהי L, RE נבנה אנו' E כך ש L L: (E) = תהי M מ"ט כך ש L E L. (M) = יריץ את M במקביל על Σ, וכל מילה שתתקבל תודפס. קל לראות ש L.L (E) = L (M) = : יהי E אנומרטור. נבנה מ"ט M כך ש ( E ) L. (M) = L בהינתן קלט M x. תסמלץ את E. כאשר E תדפיס מילה, M תשוואה אותה עם x, ותקבל אם הן שוות. אזי (E) y L אם"ם בסופו של דבר E תדפיס את y, וזה אם"ם M מקבלת את y, ולכן (E) L. (M) = L טענה 2.19 תהי,L RE\R אזי קיימת שפה אינסופית,K R כך ש L.K הוכחה: יהי E אנומרטור כך ש L.L (E) = נגדיר את w} E) K = {w L E print only shorter words before לא מדפיסה מילים ארוכות או שוות באורך ל w לפני w). כעת: מההגדרה ברור כי K. L = K : נניח בשלילה K סופית. אז קיימת ב K מילה ארוכה ביותר E w. חייב להדפיס מילה ארוכה מ w אחרי w (אחרת E מדפיס רק מספר סופי של מילים, ו R L). REG המילה הארוכה מ w הראשונה שתודפס אחרי w גם היא ב K, בסתירה למקסימליות w. : K R נבנה מ"ט M המכריעה את K: בהינתן קלט M x, תריץ את. E אם E תדפיס את M x, תקבל. אם E תדפיס מילה ארוכה (או שווה) מ x, M תדחה. אזי M.L (M) = {x E print x E doesn t print longer word before x} = K בהכרח עוצרת כי אם תדפיס בשלב כלשהו מילה ארוכה מ x. E x, L ב' סיון תשע"ב, מ"ו בעומר (תרגול 8) 3 סיבוכיות 3.1 רדוקציות פולינומיות תזכורת: k).p = k>1 T IME ( n רדוקצית מיפוי פולנומית מ L ל L 2 היא מ"ט T כך שבהינתן קלט T,x עומרת עם (x) T על הסרט, ומתקיים, x L 1 x L 2 וגם T רצה בזמן פולינומי ב x. משפט 3.1 אם,L 1 p L 2 ו,L 2 P אז. L 1 P הוכחה: נסמן f T את זמן הריצה של f 2 T, זמן ריצה של M, 2 כאשר M 2 מכריעה את L, 2 ניתן לזהות את L 1 בעזרת העברת הקלט ב T ואז ב M 2 בסיבוכיות של ( x ))).O (f 2 (f T דוגמאות: טענה.A T M p HALT T M 3.2 הוכחה: נבנה רדוקציה פולינומית T מ A T M ל :HALT T M בהינתן קלט w T, M, תפלוט את הקלט w H, כך ש w,w = וH מתקבלת מ M ע"י שינוי במצב הדוחה ללולאה עצמית. נכונות: אם M, w A T M אז M מקבלת את,w ולכן גם H מקבלת את,w ולכן. H, w HALT T M אם,M, w / A T M אז M אינה מקבלת את w. אם M לא עוצרת על w, אז גם H לא עוצרת על w. אם M דוחה את w, עדיין H לא עוצרת על,w ולכן. H, w / HALT T M כרוך ( זמן ריצה: T צריכה לוודא שהקלט מהצורה w,m ולשנות את פונקצית המעברים של M כך שבמקום q rej תהיה לולאה עצמית. זה בהחלפת לכל היותר M מעברים בפונקצית המעברים. ולא יקח יותר מ M. 3 כמו כן T צריכה להעתיק את w, זה לוקח (2 w O. הגדרה 3.3 יהי E) G = (V, גרף לא מכוון. קליקה ב G היא קבוצת קודקודים S V כך שלכל.{u, v} E,u, v S הגדרה 3.4 כיס קודקודים ב G הוא קבוצה L V כך שלכל צלע e E קיים u L כך ש e u. נגדיר את השפות k},clique = { G, k G contain clique S = ו { k.v C = { G, k G has cover L = טענה.CLIQUE p V C 3.5 הוכחה: בניה: נראה רדוקציה T שתפעל כך: בהינתן קלט k, G, כאשר E) T,G = (V, תפלוט את הקידוד k G, V, כאשר G הוא הגרף המלשים של G. 10

( זמן ריצה: הרדוקציה צריכה לעבור על כל טבלת הצלעות (2 V O ולהפוך כל תא בטבלה. כמו כן, צריך לחשב את V k וזה אפשרי ב ( O. V ) כלומר זמן ריצה פולינומי. נכונות: נניח שCLIQUE,G. k קיימת C V כך ש k C = ו C קליקה בG. תהי D. = V C\ נטען ש D היא V C ב G : תהי D כלומר,v D או u D וזו סתירה. לכן e / E קליקה. לכן C כי e E ולכן,u, v C אזי,u, v / D וגם,e = {u, v} אם.e E היא.V C כמו כן D, V k = ולכן G, V k V C. נניח G, V k V C. תהי V C D V בגודל. V k נגדיר.C = V \D נטען ש C היא k קליקה ב G : יהיו,u, v C אם בשלילה,{u, v} / E אזי,{u, v} E אבל u, v / D ולכן D לא V C בסתירה. כלומר C היא k קליקה, ולכן. G, k CLIQUE הגדרה P ropositional logic f ormula 3.6 היא נוסחה מהצורה: פסוק אטומי x ψ ϕ כאשר ψ, ϕ נוסחאות ϕ כאשר ϕ נוסחה הגדרה 3.7 נוסחה ϕ ספיקה אם קיימת השמה לאטומים כך שערך הנוסחא הוא 1. נגדיר את השפה satisfied}.sat = { ϕ ϕ is טענה.CLIQUE p SAT 3.8 אינטואיציה: y v,i יושם ל 1 אם v הוא הקודקוד ה i בקליקה. χ 1 היא 1 אם"ם לכל i יש קודקוד שהוא ה i בקליקה. χ 2 אין שני קודקודים שונים ששניהם ה i בקליקה. χ 3 אותו קודקוד לא יכול להיות גם במקום i וגם במקום χ 4 j. לכל,u}, {v / E לא ייתכן ש u ו v בקליקה. הוכחה: נבנה רדוקציה T שתפעל באופן הבא: בהינתן k,g, הרדוקציה תפלוט נוסחה ϕ כך: לכל i k,1 ולכל,v V יהיה פסוק אטומי.y v,i הנוסחה ϕ תהיה.ϕ = χ 1 χ 2 χ 3 χ 4 כאשר χ 1 = χ 2 = χ 3 = χ 4 = 1 i k v V y v,i 1 i k u v V 1 i<j k u V 1 i,j k {u,v} E (y v,i y u,i ) (y u,i y u,j ) (y u,i y v,j ) זמן ריצה: יש V k משתנים, וכתיבת ϕ היא פולינומית כי חשוב הנוסחאות מצריך לכל היותר מעבר על טבלת הצלעות. נכונות: נניח שCLIQUE. G, k תהי k קליקה. C V נסמן } k.c = {v 1,..., v נבנה השמה מספקת ל ϕ כך: = 1 vi,i y לכל [k] i, ו 0 = u,j y אחרת. ההשמה אכן מספקת כי: יספק את הפסוקית ה i. y vi,i i, מסופקת כי לכל χ 1.y vi,i רק = 1,i כי עבור,y v,i y u,i לא מתקיים u ו v i לכל χ 2 χ 3 אם,i j לא יתקיים y u,i y u,j מאותה סיבה. מכיוון שיש צלע בין כל v i ל v, j הנוסחה מסתפקת. נניח כי ϕ ספיקה, נראה כי. G, k CLIQUE מ χ 1, χ 2, χ 3 יש בדיוק k משתנים שערכם.1 בה"כ נסמן אותם.y v1,1... y vk,k נוכיח, ( y vi,i y vj,j) ש { C = {v 1,..., v k קליקה. אם בשלילה קיימים {v 1, v j } C כך שE,{v i, v j } / אזי בנוסחא χ4 הפסוקית = 0 בסתירה לכך שההשמה מספקת. N P 3.2 והשלמה ט' סיון תשע"ב (תרגול 9) תהי N מכונת NT M הרצה בזמן פולינומי. נרצה NT M ל ( N ) L. אי אפשר להחליף את המצב הדוחה והמקבל, אם נחליף נקבל NT M הרץ בזמן פולינומי N כך ש { w L. ( (N = w} exists reject run of Non טענה V C p SubsetSum 3.9 11

הוכחה: נבנה רדוקציה פולינומית T כך שבהנתן k G, הרדוקציה תפלוט t {x 1,..., x m }, כך שב G יש V C בגודל k אם"ם הפלט ב SubsetSum. בנייה: בהינתן E G = V, ו N,k נסמן [n].v = לכל i V יהיה מספר.a i לכל צלע,{i, j} E יהיה מספר.b ij המספרים יוגדרו 1 1 (a i ) 1 1 (a j ) 1 0 0 0 בבסיס 4 ע"י המטריצה הבאה M: 0 1 (b i,j ) 0 0 0 0 ב M יהיו + 1 E עמודות. השורות יאונדקסו על..., ij a 1,..., a n, b (הקודקודים והצלעות). בעמודה השמאלית ביותר יהיה 1 בכל איברי.a i, a j, b ij יהיה 1 בשורות של,{i, j} ו 0 בשאר. בעמודה המתאימה לצלע,a.t = k 4 E + E 1 i=0 נגדיר את t להיות הייצוג של 4 i 2 זמן ריצה: T בונה טבלה בגודל ( E E ) + (1 V ) + סה"כ פולינומי, והפלט מורכב ממס' פולינומי של מספרים שהייצוג שלהם בגודל. E + 1 נכונות: :נניח שב G יש V C בגודל k, בה"כ {k S. =,1}..., נראה שיש ת"ק של הפלט סנסכם ל t. נגדיר את תת הקבוצה כך: לכל i S נבחר את a. i לכל,i}, {j E אם רק אחד מתוך,i j נמצא ב S, נבחר את b. ij כעת: בכל ספרה r בסכום מלבד MSB בדיוק שני מספרים הם 1 בספרה הr ביצוג בבסיס 4, שכן S הוא V, C ולכן לכל צלע (עמודה, וספרה בסכום) או שבחרנו את הצלע וקודקוד שמופיע בה, או שני קודקודים. כמו כן, בMSB ייסכמו בדיוק k אחדות, ולכן הסכום סה"כ יהיה k. 4 E + 2 4 i = t : נניח שיש ת"ק שנסכמת ל t. כל a i שנסכם תורם E 4 לסכום. חישוב אלגברי פשוט מראה שכדי לקבל t צריך בדיוק a. i k כעת בכל שאר הספרות בסכום יש 2. מכיוון שאין נשאים בסכום, אזי בכל טור במטריצה נבחרו בדיוק פעמיים 1 r. מאחר ובכל עמודה יש 1 בדיוק בשני קודקודים ובצלע אחת, אזי לכל עמודה (=צלע) נבחר לפחות קודקוד אחד שנובע בה, ולכן קבוצת הקוקודים שנבחרה היא V C בגודל.k M = a 1.. a n b i,j. b E Decision to Search 3.3 עד כה עסקנו בבעיות הכרעה. בחיים יש הרבה בעיות בהם יש לנו בעיית חיפוש. למשל: CLIQU E ראינו כבעיית הכרעה. בעיית החיפוש המתאימה לבעיית הכרעה זו: בהינתן גרף G, מצא קליקה בגודל מקסימלי. בהינתן אלגוריתם לבעיית החיפוש, קל לפתור את בעיית ההכרעה. טענה 3.10 אם קיים אלגוריתם יעיל ) P) המכריע את,CLIQUE אז ניתן לפתור את בעיית החיפוש בזמן פולינומי. הוכחה: נבנה אלגוריתם המוודא גודל הקליקה המקסימלי ע"י שימוש חוזר באלגוריתם לבעיית ההכרעה (חיפוש בינארי). יהי k גודל הקליקה המקסימלית. כעת נמצא קליקה מקסימלית באופן הבא: עבור כל קודקוד v, V נסיר את v מהגרף. ונבדוק האם לאחר ההסרה קיימת קליקה בגודל k. אם אין, נחזיר את v, אחרת נמשיך להסיר עד שנישאר עם קליקה בגודל k. טענה.NP EXP 3.11 הוכחה: אלגוריתם הדטרמיניזם של מ"ט פועל כך: נכתוב על הסרט סדרה באורך פולינומי של תווים שעשויה להיות ריצה מקבלת של N על w, ונבדוק האם זו אכן ריצה מקבלת. אם כן נקבל, אם לא, נעבור לסדרה הבאה. סה"כ בכל זמן נתון כתובה על הסרט סדרה פולינומית של תווים, ומספר הסדרות הללו אקספוננציאלי יחיד. לכן המכונה הדטרמיניסטית עובדת ב.EXP (צריך לשים לב שהמקום הדרוש הוא פולינומי, נדבר על המחלקה P SP ACE שבוע הבא). דוגמאות לשאלות של אורנה מהמבחנים: אם.P = NP האם נובע?NP = conp כן. כי.P = cop אם קיימת שפה שהיא NP h אבל לא,NP c האם נובע P? NP לא יודעים. בעצם, אנחנו יודעים שקיימת שפה NP h ולא.NP c ט"ז סיון תשע"ב (תרגול 10) 3.4 מ"ט אוניברסלית קיימת מ"ט U, כך שבהינתן w U,M, מדמה את (w) M. ננתח את סיבוכיות המקום של U. נניח שM משתמשת ב n תאים בריצתה על U w. משתמשת ב w M + w + n תאים, כי קידוד של אות על הסרט לוקח לא יותר מ M תאים ב U. בסה"כ אם ( M ) n = Ω זה ( M O. n) 3.5 סיבוכיות מקום נעבוד במודל של מ"ט עם שני סרטים. סרט אחד הוא לקריאה בלבד, ובתחילת הריצה כתובה עליו w. סרט 2 הוא סרט העבודה. הגדרה 3.12 נאמר ש M רצה במקום (n) f אם לכל M w, = n עוצרת בריצתה על w תוך שימוש בלכל היותר (n) f תאים בסרט 2. 12

הערה 3.13 אם f, (n) n מספיק סרט יחיד. למקרה האי דטרמיניסטי נאמר ש N עובדת במקום א"ד (n) f אם כל הריצות של N על w ) = (n w עוצרות תוך שימוש בלכל היותר (n) f תאים בסרט.2 הגדרה ( )} 3.14 {L SP ACE (f (n)) = :( ) L ניתנת להכרעה ע"י מ"ט העובדת ב (( n ) O (f זכרון. באופן דומה (n)) N SP ACE (f עבור מכונות א"ד (לכל הריצות). P SP ACE = k>0 SP ACE ( n k), NP SP ACE = k>0 NSP ACE ( n k) דוגמא: CNF SAT P SP ACE מ"ט דטרמיניסטית יכולה לכתוב את כל ההשמות האפשריות לנוסחה y, ועבור כל השמה לבדוק האם היא מספקת. כתיבת השמה אחת לוקחת ( ϕ ) O תאים, ובדיקת ספוק לוקחת זמן פולינומי, ולכן גם מקום פולינומי. אבחנה: מ"ט הרצה בזמן פול' יכולה להשתמש בלכל היותר מקום פול'. טענה.NP P SP ACE 3.15 הוכחה: תהי L, NP אזי L. p SAT תהי T רדוקציה פולי' מ L ל.SAT אזי עבור קלט x, ניתן לבדוק במקום דטרמיניסטי האם P. SP ב ACE CNF SAT המכריעה את במכונה שגודלו פולינומי ב x T (x) בזמן פולינומי, והרצת הפלט T (x) ע"י חישוב x, L טענה 3.16 אם מ"ט רצה במקום (n) f, היא רצה בזמן O(f(n)) n2. הוכחה: למכונה אסור לחזור על קונפיגורציה, אחרת היא לא תעצור. לכן זמן הריצה חסום ע"י מס' הקונפיגורציות שהוא = (n) Q Γ f(n) n f O(f(n)) n2 בעזרת אלגברה. מסקנה.NP SP ACE NEXP,P SP ACE EXP 3.17 שאלה מאוד חשובה האם P? SP ACE = NP SP ACE אנחנו פחות מסוגלים להתעסק עם הזמן, אנחנו לא מבינים אותו. מקום הוא מאוד מובן אנחנו יודעים להתעסק עם מקום. זה נותן לנו תקוה שנוכל להוכיח את זה לפני השאלה P. =? NP הצעה: נראה NP SP ACE P SP ACE ע"י סימולציה. למה לא? עץ הריצה של NT M נדרש לקידוד כמסלול בעץ. כדי לבצע סימולציה, צריך לעשות BF S/DF S על העץ. כדי לבצע זאת צריך לכתוב את עומק העץ כדי לתאר ריצה. זה עשוי להיות O(f(n)) 2, ולא להיכנס במקום פולינומי. משפט 3.18 סאביץ :(70') תהי n),f (n) = Ω (log אזי ) (n).nsp ACE (f (n)) SP ACE ( f 2 הוכחה: נוכיח תחת שתי הנחות. ראשית, f. (n) n כמו כן נניח ש( n ) f חשיבה מבקום. הגדרה 3.19 פונקציה f היא חשיבה במקום אם קיימת מ"ט כך שבהינתן 1 n פולטת את (n) f תוך שימוש ב (( n ) O f) מקום. אינטואיציה: גרף קונפ' של מכונה מכיל O(f(n)) 2 קודקודים. M מקבלת את w אם יש מסלול בגרף מ c 0 ל c. acc האלגוריתם יהיה לבחור קודקוד כנקודת אמצע, ולבדוק רקורסיבית אם יש מסלול שעובר דרכו. נתאר את הפרוצדורה t) CanY ield (c 1, c 2, האם ניתן להגיע מ c 1 ל c 2 בזמן :t אם = 1,t נבדוק האם (c 1, c 2 ) E (או האם ) 1 (c 2 δ (c כדי לאפשר מסלולים קצרים יותר, נאפשר גם.c 1 = c 2 אם > 1 t, אזי לכל קונפיגורציה c, n שמשתמשת לכל היותר ב ( n ) f מקום, נריץ את: CanY ield (c 1, c n, t/2) CanY ield (c n, c 2, t/2) קבל אם שניהם מקבלים. אם עברת על כל הקונפיגורציות ולא מצאת דחה. בהינתן N NT M הרצה במקום (n) f. נניח בה"כ של N יש רק קונפיגורציה אחת לכל מילה w (אחרת נשנה את N כך שבהגעה ל q acc ננקה את הסרט). כעת, נתאר מ"ט D המכריעה את (N) L במקום ) (n) O: ( f 2 כעת D תריץ את df(n) t = 2 עבור d כלשהו. בהינתן D w, תחשב את (n) f וחסם על מספר הקונפיגורציות של N על w, שהוא df(n).cany ield (c 0, c acc, t) ננתח את המקום ש D צורכת: חישוב (n) f צורכת ((n) O f) כי f חשיבה במקום. חישוב df(n) 2 לוקח (n)) O (f מקום. ב ield :CanY עומק הרקורסיה הוא (n).log t = log 2 df(n) = df בכל רמה, עוברים על כל הקונפיגורציות, וקונפיגורציה לוקחת (n) nf מקום (צריך לזכור גם את c 1, c 2 שגם הם קונפיגורציות). סה"כ (n),4nf לכן סך המקום הוא ) (n) O. ( f 2 נכונות: D מקבל את w אם"ם יש מסלול באורך לכל היותר t מ c 0 ל c, acc וזה אם"ם יש ריצה מקבלת של N על w. 13

מסקנה conp SP ACE = cop SP ACE = P SP ACE = NP SP ACE 3.20 אנחנו לא יודעים האם P. SP ACE = NP זו מחלקה מאוד מעניינת. לכן מוגדר P. SP ACE hard אילו שפות יש ב ACE P? SP הבעיה האם שפה של אוטומט NF A היא Σ היא P שלמה. SP ACE כ"ג סיון תשע"ב (תרגול 11) משפט 3.21 (ההיררכיה במקום) תהי s : N N כך ש n s (n) log חשיבה במקום, אזי קיימת שפה L כריעה במקום ((n) O, s) אבל לא כריעה במקום (n)).o (s הוכחה: סימולציה: שבוע שעבר ראינו מ"ט אוניברסלית כך שבהינתן w,m, מסמלצת את (w) M במקום ( M O, M ) + k כאשר k הוא מספר התאים ש M צריכה בריצתה על w. כמו כן סימולציה של צעד יחיד לוקחת M תאים. ע"י שימוש בסרט "כפול", ניתן לצמצם { זאת ל ( M O. k).l := M, w Mdoesn't accept M, w using s cells, s = s (n) } תהי w, n = M, M נראה כי (n)] :L SP ACE [s נבנה מ"ט D המכריעה את L כך: 1. בהינתן w D,M, תחשב את (n) s במקום ((n) O, s) ותבמן (n) s תאים על הסרט. אם בשלב כלשהו ריצת D עוברת את הסימן D תקבל. 2. D תחשב את חסם על מספר הקונפיגורציות של M בשימוש ב ( n ) s תאים ) O(s(n)) 2), ותכתוב אותו על הסרט (ישמש כמונה הזמן). 3. D תדמה את ריצת M על w,m עם s תאים. בכל צעד D תקטין את המונה. אם המונה מתאפס, D תקבל. אם M מקבלת את w,m במהלך הסימולציה, D תדחה. D מכריעה את L ב (( n ) O s) מקום (נראה לפי כל צעד): 1. s חשיבה במקום. 2. ניתן לחשב את O(s(n)) 2 תוך שימוש ב (( n ) O s) תאים. ( ) s (n) O (s M ) = O תאים..3 בעזרת מ"ט אוניברסלית כל צעד לוקח (n)) M M = O (s כמו כן, D מקבלת את w,m אם"ם M לא מקבלת את w תוך שימוש ב s תאים אם"ם M דוחה, או חורגת בריצתה מ s תאים, או שרצה למשך יותר מ O(s(n)) 2 צעדים ולכן לא עוצרת. נראה כי (n))] :L / SP ACE [o (s נניח בשלילה שקיימת מ"ט T הרצה במקום (n)) r (n) = o (s ומכריעה את.L יהי n מספיק גדול כך.r (n) < s (n) ש T s ( T + n) תהי w מילה באורך n. אזי, אם T מקבלת את w,t, היא מקבלת אותה תוך שימוש ב s r, T ) + (n < = ולכן T, T, w L תאים, אזי s תוך שימוש ב T, w לא מקבלת את T והגענו לסתירה. מאידך, אם, T, w דוחה את T ולכן, T, w L ולכן T מקבלת את w,t, ושוב הגענו לסתירה. L, NL 3.6 עבור פונקציות s, (n) n נעבוד במודל של מ"ט עם שני סרטים. סרט אחד לקריאה בלבד, ומתחיל עם _w_, וסרט נוסף לעבודה. נאמר ש M רצה במקום (n) s אם לקלט M w, = n עוצרת תוך שימוש בלכל היותר (n) s תאים בסרט 2. נגדיר n).nl = NSP ACE (log n),l = SP ACE (log נשים לב כי NL NP,L P כי ראינו O(f(n))].SP ACE (f (n)) T IME [ 2 לא ידוע האם L. = NL מניחים שהם שונים. ידוע כי.NL = conl נגדיר רדוקציה במקום לוגריתמי: הגדרה 3.22 משרן במקום לוגריתמי זו מ"ט עם שלושה סרטים: 1. סרט קלט לקריאה בלבד. 2. סרט עבודה עם (n O (log תאים. 3. סרט פלט לכתיבה בלבד. הפלט של הרדוקציה הוא מה שכתוב בסרט 3 בסוף הריצה. הגדרה 3.23 נאמר ששפה A היא NL hard אם לכל B NL מתקיים B, L A כלומר קיימת רדוקציה מ B ל A הניתן לחישוב ע"י משרן לוגריתמי..A NL hard וגם A NL אם NL complete היא A 14

משפט 3.24 אם,A L ו A,B L אזי.B L דוגמא: תהי t}.p AT H := { G, s, t Ggraph, s טענה.P AT H NL complete 3.25 הוכחה: ראשית נוכיח כי P: AT H NL יהי n מספר הקודקודים. המכונה A תספרו את n בבינארית. בכל איטרציה, A תנחש קודקוד בגרף, ותבדוק אם יש קשת מהקדקוד הנוכחי אליו, ואם כן, תעבור ותוריד את המונה ב 1. אם הגענו ל t נעצור ונקבל, ואם המונה מתאפס נדחה. בכל רגע נשמר על הסרט קידוד של n, ושני קודקודים, סה"כ לוגריתמי. נראה כי P: AT H NL hard תהי B, NL ותהי M מ"ט המכריעה את B במקום לוגריתמי א"ד, ונניח ש M תמיד עוצרת עם סרט עבודה ריק (ל M קונפיגורציה מקבלת יחידה). נראה B L P AT H בהינתן קלט x ל B, הרדוקציה T תחשב את גרף הקונפיגורציות של M על x באופן הבא: T תעבור על כל קונפיגורציות בסדר לקסיקוגרפי, ותכתוב אותה לפלט כקדקוד. לאחר מכן תעבור על כל זוגות הקונפיגורציות ותכתוב כל זוג שיש בין חביריו צלע בגרף. לבסוף, T תפלוט את s הקונפיגורציה ההתחלתית, ו t הקונפיגורציה המקבלת. מסקנה NL P 3.26 הוכחה: תרגיל. ר"ח תמוז תשע"ב (תרגול 12) תזכורת: רדוקצית מקום לוגריתמי עם 3 סרטים, כתיבה, קריאה ועבודה (לוגריתמי). משפט 3.27 אם,A L ו A,B L אזי.B L הוכחה: ניזכר במשפט.A p B B P A P הראינו שניתן לבנות מכונה שתריץ את (x)).m B (T כאן זה לא יעזור לנו, כי (x) T יכולה לפלוט משהו לא לוגריתמי, ולכן המכונה שתריץ את ((x) M B T) יכולה לכתוב פלט ביניים (x) T שאינו לוגריתמי. הפתרון: ל M B יש סרט קלט אינסופי. אני משקר לה, ואומר לה שיש לה קלט אינסופי. M B שואלת אותי מה האות הראשונה? אנחנו נריץ את (x) T (בלי לכתוב) עד שנגלה מה הפלט (x) T במקום הראשון. נבנה מכונה K המכריעה את A ב L : בהינתן קלט K x, תפעל כך: תריץ את M. B בכל פעם ש M B רוצה לקרוא את האות ה i ב ( x ) K T, תדמה את (x) T עד שתפלט האות ה i, ותעביר אותה ל.M B המקום הדרוש: סרט העבודה של M B x ).O (log T (x) ) = O (log מיקום הראש הקורא של M: B כנ"ל (דרוש מונה לסימולציה באותו גודל). סימולצית T דורשת x ) O (log מסקנה 3.28 אם A, NL complete ו L A, אז L. = NL (יש לנו דרך לבדוק אם הם שוות או שונות). הערה 3.29 באותו טריק ניתן להוכיח.A L B B L C A L C (עד כאן החומר למבחן) 4 מודלים נוספים של מכונות 4.1 מכונות אורקל Oracle Machine נניח שיש לנו שפה A. p B המשמעות: אם היתה לנו מכונה שפותרת את B אנחנו יכולים לפתור את A. אבל לא רק זה, אנחנו יכולים לפתור גם את A, או להשתמש בהרצות חוזרות של B. לכן בא התחום שחוקר מה היינו יכולים לעשות עם מכונה שפותרת את B? הגדרה 4.1 תהי Σ O. מ"ט עם אורקל O היא מ"ט עם סרט מיוחד (Oracle) ומצבים מיוחדים q. yes, q no, q query כשהיא מגיעה למצב q. no תעבור ל אחרת בצעד הבא אם על סרט אורקל רשום מילה ב O, q yes היא תעבור ל q, query הגדרה 4.2 נגדיר P O להיות אוסף השפות הניתנות להכרעה ע"י מ"ט פולינומית עם אורקל ל O. באופן דומה נגדיר.NP O דוגמאות: 15

.1 SAT.SAT P (בהינתן ϕ נשאל את האורקל האם,ϕ SAT ונענה הפוך). 2. תהי L. P אזי P. L = P (ניתן לדמות מכונת P L בזמן פולינומי ע"י הרצת המכונה וחישוב פלט האורקל ב P בכל שאילתא)..3 תהי,L EXP complete אזי.P L = NP L הוכחה:.EXP P L לכל שפה ב EXP יש רדוקציה פולינומית ל L, ואז ניתן להכריע ע"י האורקל. P L NP L באופן טריוויאלי. :NP L EXP ניתן לדמות מכונת NP L בזמן אקס' ע"י סימולציה של NP בזמן אקס', וסימולציה של צעד יחיד גם הוא אקס' אם יש שאילתא לאורקל. לכן,EXP P L NP L EXP כלומר.EXP = P L = NP L משפט 75) 4.3 (B.G.S. קיימים אורקלים A, B כך ש NP A = P A ו.NP B P B הוכחה: תהי A EXP complete כלשהי, אזי.P A = NP A לכל שפה B נגדיר n}.u B = {1 n x B, x = נשים לב שלכל שפה.U B NP B,B נרצה לבנות שפה B כך ש.U B / P B נבנה את B בשלבים. בשלב,0 =.B יהיו..., 2 M 1, M כל המכונות עם אורקל שרצות בזמן פולינומי. נניח שלכל M k,k פועלת בזמן (n).p k בניית B בשלב i: 1. יהי n גדול כך ש ( n ) 2, n > p i ו n גדול מאורך כל מילה שנשקלה בצעת קודם. (בכל שלב שוקלים מספר סופי של מילים, ולכן יש n גדול מספיק)..2 נריץ את M i על.1 n (א) בכל פעם ש M מבצעת שאילתא למילה שנשקלה בעבר, נענה בעקביות. (ב) בכל שאילתא אחרת על מילה x, נקבע x. / B 3. בסוף הריצה, (א) אם M i קבלה את 1, n נגדיר שכל המילים באורך n אינן ב B. (ב) אם M i דחתה את 1, n נבחר מילה באורך n שטרם נשקלה, x, ונגדיר x B (קיימת, כי בריצה הנוכחית שאלנו לכל היותר (n) p i מילים). נניח בשלילה ש U, B P B תהי M i המכונה המכריעה אותה. יהי n המספר הנבחר בשלב i 1 בבניית B. ונתבונן בריצת M i על 1: n אם M i מקבלת את 1, n זו סתירה כי מההגדרה אין ב B מלים באורך n. אם M i דוחה את 1, n זו סתירה לשלב i. 3b עד כה ראינו הוכחות להבדלת מחלקות שהסתמכו על: אפשר לקודד מכונה כמחרוזת, ואפשר להריץ מכונה אוניברסלית ולהשתמש בלכסון. המשפט הזה מראה שהוכחות שמשתמשות בלכסון, לא מספיקות, כי עם לכסון אפשר להוכיח גם לאורקלים, ולאורקלים יש שפות בהם.NP A = P A ושפות בהם,NP B P B הערה: באתר של שנה שעברה יש מבחנים, תרגילים, פתרונות וסיכומים. 4.2 דוגמא לשאלה מהמבחן תהי L RE\coRE ותהי M כך ש L L. (M) = הוכח או הפרך:.1 לכל n קיימת w > n,w כך שM מקבלת את.w 2. לכל n קיימת w > n w, כך שM לא עוצרת על w. שתי הטענות נכונות. אם יש רק מספר סופי של מילים ש M מקבלת, L סופית, ולכן כריעה. אם מס' סופי של מלים שבהם M לא עוצרת, אפשר ליצור מכונה אחרת שתבדוק קודם את המילים האלו, ורק אם M לא עוצרת, נריץ ב M. 16