פונקציות פרימיטיביות רקורסיביות 4 הרצאה œ חישוביות הוכחה קיומית 1 המשך
Transcription
פונקציות פרימיטיביות רקורסיביות 4 הרצאה œ חישוביות הוכחה קיומית 1 המשך
פונקציות פרימיטיביות רקורסיביות ! האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית ? חישוביות – הרצאה 4 לא ! ! נראה שתי הוכחות: ! ! ! הוכחה קיומית :קיימות פונקציות שלמות שאינן פרימיטיביות רקורסיביות הוכחה מעשית :נראה דוגמה של פונקציה שלמה שאינה פרימיטיבית רקורסיבית 2 ! חישוביות -ד''ר אנה מוס המשך הוכחת טענה 1 ! הגדרת : fr הוכחה קיומית ! fr(i) = fi(i) + 1לכל i≥0שלם ! טענה :1קבוצת כל הפונקציות המלאות אינה בת מנייה הוכחה: ! ! ! אבחנה :לא יתכן כי frקיבלה מספר jכלשהו כי אחרת מצד אחד ) fr(j) = fj(jומצד שני fr(j) = fj(j) + 1 מסקנה :קיבלנו סתירה לכן קבוצת הפונקציות המלאות אינה בת מנייה ! ! ! ! 4 פונקציות רקורסיביות )המשך( זיהוי שפות ע''י מכונות טיורינג חישוביות -ד''ר אנה מוס 3 נשתמש בשיטת הלכסון נתייחס רק לפונקציות ממספרים טבעיים למספרים טבעיים נניח בשלילה כי קיים מספור כל הפונקציות כנ''ל נסמן ע''י fiאת הפונקציה שקיבלה מספר iבמספור נבנה לשם סתירה פונקציה frאשר לא קיבלה מספר חישוביות -ד''ר אנה מוס הוכחה קיומית – סיכום ! ! ! 6 ניתן למנות פונקציות פרימיטיביות רקורסיביות לא ניתן למנות את כלל הפונקציות המלאות מסקנה :יש "הרבה יותר" פונקציות מלאות מאשר פונקציות פרימיטיביות רקורסיביות ,כלומר ,רוב הפונקציות המלאות אינן פרימיטיביות רקורסיביות חישוביות -ד''ר אנה מוס פונקצית אקרמן – המשך ! ! 8 אקרמן הוכיח כי הפונקציה אינה פרימיטיבית רקורסיבית דוגמת חישוב של פונקצית אקרמן: = ) )A(2,1) = A(1, A(2,0)) = A(1, A(1, 1 = )A(1, A(0, A(1,0))) = A(1, A(1,0) + 1 = )A(1, A(0,1) + 1) = A(1, 2+1) = A(1,3 = A(0, A(1,2)) = A(1,2) + 1 = A(0, A(1,1) ) + 1 =A(1,1) + 1 + 1 = A(1,1) + 2 = A(0, A(1,0)) + 2 A(1,0) +1 + 2 = A(1,0) + 3 = A(0,1) + 3 = 2+3 = 5 חישוביות -ד''ר אנה מוס הוכחה קיומית )המשך( ! ! טענה :2קבוצת הפונקציות הרקורסיביות הפרימיטיביות הינה בת מנייה רעיון ההוכחה: ! ניתן להגדיר סדר בין פונקציות רקורסיביות פרימיטיביות במספר הפעלות של שני הכללים לקבלת הפונקציה ובסדר הפעלתם חישוביות -ד''ר אנה מוס 5 הוכחה מעשית ! ! נביא דוגמה של פונקציה מלאה שאינה פרימיטיבית רקורסיבית פונקצית אקרמן: A(0, y) = y + 1 y≥0 )A(x,0) = A(x − 1,1 x>0 A(x, y) = A(x − 1, A(x, y − 1)) x, y > 0 7 חישוביות -ד''ר אנה מוס כלל המינימיזציה ! ! סיכום הדיון נגדיר כלל נוסף )שלישי( לקבלת פונקציות חדשות בהינתן פונקציה ) f(y,x1,…,xnהפונקציה המתקבלת ע''י כלל המינימיזציה היא: ! ! וגם h( x1 , x2 ,K , xn ) = min{ f ( y, x1 , x2 , K , xn ) = 0 נראה בהמשך כי פונקציות פרימיטיביות רקורסיביות ניתנות לחישוב ע''י מ''ט ) וגם ע''י מחשב באופן כללי( האם יתכן שפונקציות פרימיטיביות רקורסיביות מכסות את כל הפונקציות הניתנות לחישוב ? ! y }מוגדר ) ∀y′ < y f ( y′, x1 , x2 , K , xn ! אם לא קיים yכזה h(x1,x2,…,xn) ,אינה מוגדרת חישוביות -ד''ר אנה מוס 10 פונקציות רקורסיביות הגדרה: ! 9 "אבחנה :פונקציות רקורסיביות כוללות גם פונקציות פרימיטיביות רקורסיביות חישוביות -ד''ר אנה מוס מסקנה :ישנן פונקציות נוספות הניתנות לחישוב מלבד פונקציות פרימיטיביות רקורסיביות חישוביות -ד''ר אנה מוס כלל המינימיזציה – הסברים ! פונקציה שניתנת לביטוי בעזרת פונקציות היסוד תוך שימוש מספר סופי של פעמים בכללי ההרכבה, הרקורסיה הפרימיטיבית והמינימיזציה נקראת פונקציה רקורסיבית 12 ! פונקציות פרימיטיביות רקורסיביות כולן פונקציות מלאות לכן זה לא מכסה פונקציות חלקיות ישנן פונקציות מלאות )לדוגמה ,פונקציות אקרמן( אשר ניתנות לחישוב במחשב אך לא רקורסיביות פרימיטיביות הערך yשמקבלת הפונקציה hהוא " הערך המינימלי המאפס את הפונקציה f " yבנוסף צריך לקיים שלכל ערך ` yקטן יותר הפונקציה f מוגדרת #אם אין yכזה h ,לא מוגדרת #אבחנה h :יכולה להיות פונקציה חלקית ! 11 חישוביות -ד''ר אנה מוס דוגמה – 1פתרון ! אבחנה :הפונקציה הינה חלקית לכן נצטרך להשתמש בכלל המינימיזציה פונקציות רקורסיביות – דוגמה 1 ! xזוגי אחרת איזו פונקציה של yו x -מתאפסת כאשר yהוא חצי של xולא מתאפסת כלל כאשר xאי זוגי ? | f ( y, x) =| 2 y − x 14 חישוביות -ד''ר אנה מוס פונקציות רקורסיביות – דוגמה 2 ! נגדיר את פונקצית השורש: k x = k2 sqrt ( x) = אחרת אינו מוגדר ! 16 ! 13 x/2 half ( x) = אינו מוגדר נוכיח :פונקצית החצי היא פונקציה רקורסיבית חישוביות -ד''ר אנה מוס דוגמה – 1המשך הפתרון ! מימוש של fכפונקציה רקורסיבית: ))f ( y, x) = abs _ diff (add ( P12 ( y, x), P12 ( y, x)), P22 ( y, x ! מימוש של halfכפונקציה רקורסיבית: }half ( x) = min{ f ( y, x) = 0 נוכיח :פונקצית השורש היא פונקציה רקורסיבית חישוביות -ד''ר אנה מוס נגדיר את פונקצית החצי באופן הבא: y 15 חישוביות -ד''ר אנה מוס דוגמה – 2המשך הפתרון ! מימוש של הפונקציה :mult(x,y)=x*y דוגמה – 2פתרון ! )Z ( y x=0 mult ( x, y ) = g ( x − 1, mult ( x − 1, y ), y ) x > 0 ))g (a, b, c) = add ( P23 (a, b, c), P33 (a, b, c 18 חישוביות -ד''ר אנה מוס פונקציות רקורסיביות – דוגמה 3 ! נגדיר את הפונקציה: ) (x + zמתחלק ב ( x + z ) / 3 3 - sum _ div3( x, z ) = אחרת אינו מוגדר ! 20 | f ( y, x) =| y 2 − x הערה :אם הפונקציה היתה מתאפסת בכמה ערכי yהיינו שואלים את השאלה הנ''ל לגבי הערך yהראשון )הקטן ביותר( בו הפונקציה מתאפסת 17 חישוביות -ד''ר אנה מוס דוגמה – 2המשך הפתרון ! מימוש של הפונקציה | f ( y, x) =| y 2 − x ))f ( y, x) = abs _ diff (mult ( P12 ( y, x), P12 ( y, x)), P22 ( y, x ! מימוש של הפונקציה sqrt }sqrt ( x) = min{ f ( y, x) = 0 נוכיח :הפונקציה הנ''ל הינה רקורסיבית חישוביות -ד''ר אנה מוס איזו פונקציה של yו x -מתאפסת כאשר yהוא שורש של xולא מתאפסת כלל אם xאינו ריבוע של מספר שלם ? y 19 חישוביות -ד''ר אנה מוס דוגמה – 3המשך הפתרון ! מימוש הפונקציה :f דוגמה – 3פתרון ! f ( y, x, z ) = abs _ diff (mult ( P13 ( y, x, z ), C3 ( P13 ( x, y, z ))), איזו פונקציה של x ,yו z -מתאפסת עבור yהשווה ל (x+z)/3 -אם ) (x+zמתחלק ב 3-ולא מתאפסת כלל אחרת ? ))) add ( P23 ( y, x, z ), P33 ( y, x, z ! | ) f ( y , x , z ) =| 3 y − ( x + z מימוש הפונקציה :sum_div3 }sum _ div3( x, z ) = min{ f ( y, x, z ) = 0 y חישוביות -ד''ר אנה מוס 22 הוכחת משפט 1 ! ! ! ! 24 21 מכונות טיורינג ופונקציות רקורסיביות ההוכחה באינדוקציה על מספר הפעלות של כללים )הרכבה, רקורסיה פרימיטיבית ,מינימיזציה( בסיס :נוודא שפונקציות היסוד ניתנות לחישוב ע''י מ''ט ! חישוביות -ד''ר אנה מוס פונקצית האפס :Z(x)=0 המכונה תכתוב 0בתא הראשון ,תזוז צעד ימינה ותעצור פונקצית העוקב :S(x)=x+1 ראינו בכיתה מ''ט לחישוב הפונקציה הנ''ל פונקציות ההיטל n) Pin(x1,…,xn)=xiו i-קבועים עבור מ''ט מתאימה(: המכונה על קלט x1#x2#...#xnתסמן את תחילת הסרט ב ,$-תספור בעזרת מצבים את הסימנים #ובהגעה ל xi-תזיז את המילה שמאלה עד ל ,$-תלך ימינה לרווח או #ותעצור חישוביות -ד''ר אנה מוס ! משפט :1 כל פונקציה רקורסיבית ניתנת לחישוב ע''י מכונת טיורינג ! משפט :2 כל פונקציה הניתנת לחישוב ע''י מכונת טיורינג היא פונקציה רקורסיבית ! ניסוח שלישי לתזה של צ'רץ': כל מודל סביר וכללי של חישוב מאפשר חישוב כל הפונקציות הרקורסיביות ורק אותן 23 חישוביות -ד''ר אנה מוס הוכחת משפט – 1המשך ! מקרה :1הכלל האחרון שהופעל לקבלת hהוא כלל ההרכבה ! ! ! ! 26 חישוביות -ד''ר אנה מוס מקרה :2הכלל האחרון שהופעל הוא כלל הרקורסיה הפרימיטיבית ! ! ! ! 28 ! ! ! ! ! נניח שהטענה נכונה עבור הפונקציות שהתקבלו ע''י nהפעלות כללים לכל היותר נוכיח כי הטענה נכונה עבור הפונקציות אשר מתקבלות ע''י ) (n+1הפעלות כללים תהי hפונקציה שהתקבלה ע''י ) (n+1הפעלות כללים נראה מכונת טיורינג Mhהמחשבת את הפונקציה h נבדיל בין 3מקרים ,בהתאם לכלל האחרון שהופעל לקבלת הפונקציה 25 חישוביות -ד''ר אנה מוס מקרה – 1המשך ! המכונה Mhעל קלט x1#x2#...#xmתפעל באופן הבא: ! תהינה fו g -כמו בהגדרת כלל הרקורסיה הפרימיטיבית אבחנה f :ו g -התקבלו ע''י nהפעלות כללים לכל היותר לפי הנחת האינדוקציה קיימות מכונות טיורינג MfוMg - המחשבות את הפונקציות הנ''ל נבנה מ''ט Mhהמחשבת את h חישוביות -ד''ר אנה מוס צעד: ! תהינה f,g1,…,gnכמו בהגדרה של כלל ההרכבה אבחנה :כל אחת מ f,g1,…,gn -התקבלה ע''י nהפעלות כללים לכל היותר מסקנה :לפי הנחת האינדוקציה קיימות מכונות טיורינג Mf, Mg ,…,Mgהמחשבות את הפונקציות הנ''ל 1 n נבנה מכונה Mhהמחשבת את h הוכחת משפט – 1המשך ! הוכחת משפט – 1המשך עבור כל ,1≤i≤n ,iתחשב ) yi = gi(x1,…,xmע''י הפעלת מכונת טיורינג Mg i 27 ! תחשב בעזרת מ''ט Mfאת )h(x1,…,xm) = f(y1,…,yn ! אם אחת המכונות אינה עוצרת ,גם Mhלא תעצור חישוביות -ד''ר אנה מוס הוכחת משפט – 1המשך ! מקרה :3הכלל האחרון שהופעל הוא כלל המינימיזציה ! ! ! ! מקרה – 2המשך ! תהי fפונקציה כמו בהגדרת כלל המינימיזציה fהתקבלה ע''י nהפעלות כללים לכל היותר לפי הנחת האינדוקציה קיימת מ''ט Mfהמחשבת את f נבנה מ''ט Mhהמחשבת את h המכונה Mhעל קלט i#x1#...#xnתפעל באופן הבא: ! ! ! 30 חישוביות -ד''ר אנה מוס זיהוי שפות ע''י מכונות טיורינג ! ! לעיתים נוח יותר לדבר על זיהוי שפות ע''י מכונות טיורינג ולא על חישוב פונקציות הגדרה: 29 ! המכונה Mhעל קלט x1#...#xnתפעל באופן הבא: ! ! ! תעבור בלולאה על ערכי …y = 0,1,2,3, לכל ,yתחשב בעזרת מ''ט Mfאת )f(y,x1,…,xn אם התקבלה התוצאה Mh ,0תעצור עם פלט שהוא הערך yהנוכחי ☺ "אבחנה :לכל מכונת טיורינג קיימת מ''ט שקולה בעלת שני מצבים סופיים 32 חישוביות -ד''ר אנה מוס מקרה – 3המשך מכונת טיורינג לזיהוי שפות היא מכונת טיורינג בעלת שני מצבים סופיים }F = {qACC,qREJ חישוביות -ד''ר אנה מוס אם i=0 ! תחשב את ) h(0,x1,…,xn) = f(x1,…,xnבעזרת מ''ט Mf אם i>0 ! תחשב את ) w0 = f(x1,…,xnבעזרת מ''ט Mf ! עבור k=0,1,…,i-1תחשב את )wk+1 = g(k,wk,x1,…,xn בעזרת מ''ט Mg פלט המכונה הינו wi 31 חישוביות -ד''ר אנה מוס השפה המתקבלת ע''י מכונת טיורינג ! הגדרה :השפה המתקבלת ע''י מכונת טיורינג M המסומנת LMהיא אוסף כל המילים אשר Mמקבלת זיהוי שפות ע''י מ''ט – המשך ! ! " אין דרישה כי Mתעצור על כל קלט " קלטים עליהם Mלא עוצרת וגם הקלטים עליהם M עוצרת במצב qREJאינם בשפה LM " LMהיא אוסף קלטים עליהם Mעוצרת במצב qACC חישוביות -ד''ר אנה מוס 34 דוגמאות – המשך ! דוגמה :3השפה } L = {anbncn| n>0מתקבלת ע''י מ''ט הבאה: ! ! ! ! ! ! 36 המכונה היא בעלת 4סרטים המכונה תסמן את תחילת הסרטים 3 ,2ו 4-ב$- המכונה תעבור על הקלט הרשום בסרט הראשון ותעתיק -aים לסרט השני, -bים לסרט השלישי ו-c -ים לסרט הרביעי אם תוך הסריקה מסתבר שאחרי bאו cמופיע aאו אחרי cמופיע b המכונה תעצור במצב qREJ המכונה תחזור לתחילת הסרטים 4 ,3 ,2 המכונה תסרוק במקביל סרטים ,3 ,2ו 4-ואם מגיעים לרווח בכל שלושת הסרטים באותו זמן ,המכונה תעצור במצב qACCאחרת תעצור במצב qREJ חישוביות -ד''ר אנה מוס הגדרה :נאמר כי מ''ט )לזיהוי שפות( Mמקבלת קלט xאם החישוב של Mעל קלט xמסתיים במצב qACC הגדרה :נאמר כי מ''ט )לזיהוי שפות( Mדוחה את הקלט xאם החישוב של Mעל xמסתיים במצב qREJ אם Mלא מקבלת את ,xהאם זה אומר ש M-דוחה את ? x 33 חישוביות -ד''ר אנה מוס זיהוי שפות ע''י מ''ט – דוגמאות ! דוגמה :1השפה * Σמתקבלת ע''י מ''ט הבאה: ) ∀σ ∈ Γ, δ (q0 , σ ) = (q ACC , σ , S ! דוגמה :2השפה ∅ מתקבלת ע''י מ''ט הבאה: ) ∀σ ∈ Γ, δ (q0 , σ ) = (qREJ , σ , S 35 חישוביות -ד''ר אנה מוס