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

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

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

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

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

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

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

Logic and Set Theory for Comp. Sci.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Regular Expressions (RE)

gcd 24,15 = 3 3 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

logn) = nlog. log(2n

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

תורת הקבוצות ניר אדר ניר אדר.

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

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

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

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012

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

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

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

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

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

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

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

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

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

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

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

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

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

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

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

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

Transcript:

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

87 מתרגל: רובי אתר: http://wwwcshujacl/~compu מייל: robl@cshujacl היום נדבר על: קבוצות, יחסים, עצמות אוטומטים סופיים דטרמניסטיים קבוצה: אוסף של איברים, ללא חשיבות לסדר או למספר ההופעות של כל איבר לכן - },, cab { abc,, } = { cba,, } = { A היא המכפלה הקרטזית והיא כל הזוגות הסדורים בהם האיבר הראשון יהו A,B קבוצות, אזי B הוא מA והשני מB {, } A B= ab a A b B R A כלומר B < יחס בינארי R בין A לB הוא קבוצה חלקית למכפלה הקרטזית, אם ab R נסמן R ab או arb ( 5,7) 5< נסמן 7 (, ) ' < ' N N, לדוגמא: מתקיים יחס נוסף: יהי או E V, אזי V G= V, E ara A Rנקרא: יחס A רפלקסיבי אם לכל a A מתקיים arb bra סימטרי - טרנזיטיבי arb brc arc 3 כעת יש כמה דוגמאות של יחסים והאם הם רפלקסיביים, למעוניינים (או אצל דינה) סימטריים, וכיו"ב קיים בסיכום דיסקרטית הגדרה: יחס שקילות רפלקסיבי, סימטרי, טרנזיטיבי יחס שקילות מחלק קבוצה למחלקות שקילות, a A אזי a = b A arb היא מחלקת הגדרה פורמלית: יהי R יחס שקילות על A, [ ] { } R השקילות של A הגדרה: חלוקה של קבוצה היא אוסף זר של קבוצות חלקיות לA, המכסות את A טענה: אוסף מחלקות השקילות לפי יחס השקילות R על A מהווה חלוקה של A [ 7] = { + 3 a a N} R N אזי דוגמא: 3" R= " = mod על a A לכל f A הגדרה: פונקציה מA לB (נסמן ( f : A B הוא יחס B יחיד b B כך ש afb שבו יש איבר f a f a a a A כך ש = פונקציה תיקרא חח"ע (חד חד ערכית) אם לכל פונקציה תיקרא על אם לכל מתקיים f a b f : B A a A קיים b B ש אם פונקציה היא חח"ע ועל, נאמר שהיא הפיכה כלומר קיימת כך f f = ff = Id

, A העוצמה של A עבור קבוצה סופית A היא מספר האיברים (השונים) שבה הגדרה: עבור שתי קבוצות B A, כלשהן (לאו דווקא סופיות), נאמר ש פונקציה חח"ע ועל ביניהן A = B (שוות עוצמה) אם יש N = N דוגמאות: (זוגיים) N = Z גם N = Q דוגמאות נוספות והסברים כאן (או אצל דינה) http://hewkpedaorg/wk/%d7%94%d7%9e%d7%9c%d7%95%d7%9f_%d7% A9%D7%9C_%D7%94%D7%99%D7%9C%D7%9%D7%A8%D7%98 הגדרה: A היא בת מניה אם היא סופית או זהה בעוצמתה לקבוצת הטבעיים נסמן האינסופית הקטנה ביותר) טענה: קיימת קבוצה שאינה בת מניה - R הוכחה: מספיק להראות שאין פונקציה חח"ע ועל אפילו נסתפק ב- א= N f : N R נניח בשלילה שיש פונקציה כזו, ( ( ), ( ),,) נגדיר a = f f [ ] f : N, נניח בה"כ כי הסדרה נראית כך: (העוצמה f f = 3569 = 75963 [,] מהנחת השלילה, מופיעים בה כל המספרים הממשיים בין קנטור מציע את שיטת הלכסון: עבור כל מספר, נסתכל בספרה ה אחרי היחידה כעת, נחליף כל פעם את הספרה ה בספרה אחרת (אם היה רשום שם נשים, וכך הלאה) את כל הספרות שהחלפנו, ניקח למספר חדש (הספרה הראשונה שלו תהיה הספרה שבחרנו כשונה מהספרה הראשונה של הראשון, וכך הלאה) נניח בשלילה שהמספר הנ"ל מופיע במקום ה k בסדרה זה לא יכול להיות, כי הספרה ה kית של xשונה מהספרה ה kית של אותו מספר S היא קבוצת העצמה (כל התת קבוצות של S) הוכחנו הוכחה אלטרנטיבית: תהי S קבוצה אזי בדיסקרטית כי S > S אוטומטים סופיים דטרמניסטיים - DFA אוטומט,,,, כאשר δ :Q Σ Q A= Q Σδ q F - Q קבוצת מצבים - Σ א "ב של הקלט δ- פונקציית מעבר q F - מצב התחלתי F Q - מצביים מקבלים (Σ Σ עבור מילה - אוסף כל המילים, כולל הריקה, מעל w ww w r= rr r, r = q ריצה של A היא סדרה = Σ (תזכורת: כאשר :

r, =δ r, w (, ) δ ε q = q δ qua, = δ δ (, ), u Σ a Σ ( qu a) :Q Q נגדיר: Σ δ באופן רקורסיבי:, w Σ, A Σ Σ - w = u Σ : δ q, w = δ q, u נגדיר יחס שקילות אם אזי (כל המילים שמגיעות לאותו מצב) אזי { } [ ] A L( A) [ w] L A = δ ( q w), A בעצם, מתקיים (כזכור - היא השפה של A) דוגמא לאוטומט: Σ= {,} { mod3 } L= w= w w w = = הוא יראה כך: (נקרא לו A) δ ( q, ε) = q w = = : w L( A) = L { : (, ) } δ (, ) = טענהI : טענה w δ q w = q = L :II q w,כלומר w=, ואכן ε q w q j = = j טענה :III w mod3 הוכחה: באינדוקציה על אורך בסיס: = w ולכן צעד האינדוקציה:

q, w = w mod3 = δ ( q, w ) = δ( δ ( q, w w ), w ) = δ q, w = w mod3 q, w = = w+ mod3 =

637 ציטוט השיעור: 'דברו איתי! אני יושב פה אומלל, מדבר עם עצמי' (מתרגל אלמוני לחישוביות) תרגול אוטומטים לא דטרמניסטיים הסרת צעדי ε נניח ואנו מתעניינים בשפה L L = u v u L, v L L L { } נשים לב שאי אפשר פשוט 'לשרשר' את האוטומטים לדוגמא, אם = מס' אפסים זוגי, = מספר אפסים שמתחלק ב - 5 אם המילה היא פעמים, אזי שרשור לא יפתור לנו את הבעיה אבל היא L (כן יעבוד אם המילה היא 7,( L ו ל שייכת לשפה - אם נחתוך אם נחלק את זה ל אפסים( פעמים, אז כן) L L הבעיה היא מתי עוברים מהאוטומט של לזה של זו לא בעיה קלה כדי לפתור את זה, עוברים למודל לא דטרמניסיטי בהמשך, נוכיח שמודל לא דטרמניסטי שקול לדטרמניסטי, ולכן זה פתרון טוב אוטומט סופי לא דטרמניסטי :(NFA) A= Q, Σ, Q,, F δ Q קבוצת מצבים Σ =Σ { ε} א "ב נסמן - Σ ε קבוצת מצבים תחיליים - שונה מDFA!!! - Q Q Q ) δ : Σ Q Q ε המעברים) ניתן לרשום גם - קבוצת תתי הקבוצות של Q) פונקציית המעברים (או יחס δ Q Σ Q ε F Q r= r r כשלכל - זו קב' מצבים מקבלים w סדרת מצבים היא ריצה של A על המילה =w כ w אם ניתן לכתוב את y y y Σ ε r q לכל ומתקיים : מתקיים r r y δ, r F ריצה היא ריצה מקבלת אם (כלומר המצב האחרון שייך למצבים המקבלים) מילה מתקבלת ע"י האוטומט A אם קיימת עליה ריצה מקבלת = כל המחרוזות של, ים שבהם מופיע בספרה החמישית לפני נניח שאנו רוצים לתאר את השפה L סוף המילה אוטומט מתאים הוא: הסרת צעדי ε

נניח ויש לנו חלק באוטומט כדוגמת q אז הוא שקול ל אם היה מצב התחלתי, אזי היינו הופכים את q גם להתחלתי NFA (,,, δ, ) A= Q ΣQ F NFA משפט: בהנתן אוטומט אין מעברי וכן ניתן לבנות אוטומט =, L A L A ויתר על כן הבניה ε כך שב A = { ' } E q q Q (,,, δ, ) A = Q ΣQ F היא בזמן פולינומיאלי הגדרה: יהי q מצב, אזי יותר מעברים) עבור נגדיר ב או ל' q (=כך שיש מסלול במעברי ε מ q E( q ) { } S q repeat : = E( q) E S { δ( ε) } S S q q'' S, q' q'', + S S q S S Q אלגוריתם: utl = + סימון עבור שמוחזר נסמן s = s טענה: חישוב (q )E עוצר הוכחה: לכל מתקיים S S לכן, אם האלגוריתם לא עצר ב, S אזי יש לפחות מצב אחד + + S שאינו ב משום שלכל מתקיים S Q ברור שהאלגוריתם עוצר תוך לכל היותר Q = צעדים לכל מצב q כל צעד לוקח זמן פולינומיאלי (q )E סה"כ חישוב כל ה (q ) Eים ) O( נחשב את S 4 לוקח ) O( נכונות: מוכיחים באינדוקציה ש היא קבוצת המצבים שניתן להגיע אליהם מ q ב צעדים (או פחות)

NFA (,,, δ, ) = Σ A Q Q F = = E( q) Q E Q q Q (,,, δ, ) = Σ בהינתן A Q Q F NFA ללא מעברי, ε כך: קבוצת המצבים של היא (עם מעברי ε) נגדיר הוא, Σ A δ Q א"ב של A r Σ qr = E qr = E q, δ,, ' q' q, r δ δ מוגדר ע"י = רוצים להוכיח L A L A q w A )של r = q ) r r =w מעל Σ יש ריצה עבור מילה w w אםם יש ריצה t t של A על w k על המסתיימת במצב אם יש ריצה של A על w המסתיימת ב q אז יש ריצה של A על w המסתיימת ב q w= נוכיח באינדוקציה על אורך המילה w w, q Q וע"פ ההגדרה =w ריצה של A על ε היא מצב התחלתי, בסיס: עבור = מתקיים ε קיים q Q כך ש ) q E( q לכן קיים מסלול של מעברי q = xx x ε כך ש x = q l l ולכן יש ריצה של A על ε המסתיימת ב q A w= w w + w w שלב האינדוקציה: נניח נכונות עבור, נוכיח עבור + ויש ריצה של על המילה לכן יש ריצה של A על r δ כמו במקרה בסיס, יש r, w A ריצה של z za a l m+ + m של מעברי ε ולכן A ריצה של r r נסמן, z z ו z = r l m l q' = a a m = q ( r = q ) r r כלומר + + r w w המסתיימת ב 'q ויש מסלול δ ( qw, m+ ) על w שמסתיימת ב q כיוון שני לא נוכיח פורמלית, אבל אם יש ריצה של A על w המסתיימת ב, q אז יש ריצה של A w המסתיימת ב q נוכיח באינדוקציה על מספר רצפי ה εים במילה על

337 ביטויים רגולריים סינטקס סמנטיקה { ε} a { } L L L L = uv u L, v L { w k, w= w w, w L} k L, L L, L ε a Σ, a אם r, r ביטויים רגולריים ששפותיהן r + r אם r, r ביטויים רגולריים ששפותיהן r r r הכוכב של קליני - - שרשור בין ל של - כל המילים מעל L (לא נדרש ניתן למימוש באמצעות L וכוכב) {,} - כל המילים שמופיע בהם ε,,, L + ( + ) דוגמאות: ( + ) ( + ) - ( + ε)( + ε) { exstsregular exp ressor ad L( r) L} REG= L Σ = נראה להוכיח כי REG= NFA = DFA נוכיח REG DFA פשוט נבנה אוטומטים לכל אחד מהמצבים : - - ε לכל -a Σ

=, נניח שיש L A L r כך ש ) ( = ) ( עבור A, שרשור למד בכיתה הכוכב של קליני - ' למה : לכל A NFA בן m מצבים, קיים NFA שקול 'A בן +m מצבים כך של יש מצב התחלתי אחד שאף מעבר (קשת) לא נכנס אליו, וכן יש לו מצב מקבל אחד שאין ממנו מעברים כלל הוכחה: נוסיף מצב התחלתי חדש, נעבור למקוריים בצעדי ε, ובנוסף מצב מקבל חדש, שנחבר אותו לכל הקודמים בצעדי ונהפוך את כל המקבלים הקודמים נהפוך ללא מקבלים A,ε נשנה את האוטומט כפי שמוגדר בלמה, נהפוך את המצב הראשון למקבל, ונוסיף מצב אפסילון מהמצב המקבל (היחיד) לראשון (היחיד) הראנו כי REG NFA נותר להראות כי NFA REG לשם כך נגדיר את GNFA כמו NFA מלבד: יש מצב התחלתי אחד בלבד שאין מעברים לתוכו יש מצב סופי אחד בלבד שאין מעברים ממנו 3 כל מעבר מסומן לא רק באות או ε אלא באיזשהו ביטוי רגולרי w r r ריצה על מילה w Σ היא סדרת מצבים כך שניתן לכתוב את r w שייכת לביטוי הרגולרי על המעבר בין r ל ולכל, המילה כ w תת מילה) ) w w למה : לכל GNFA עם שני מצבים יש ביטוי רגולרי עם אותה שפה הוכחה: זה האופציה: m אסטרטגיית הוכחה: יהי NFA A עם מצבים המטרה מציאת ביטוי רגולרי שקול למה מלמדת אותנו שאפשר לקבל מA GNFA 'A עם +m מצבים למה מלמדת אותנו כי אם יש ''A עם שני מצבים יש ב"ר שקול נותר להפוך GNFA עם +m מצבים לGNFA עם מצבים נעשה זאת רקורסיבית

A' מצבים, עבור <m קיים GNFA עם מצבים כך למה :3 לכל A GNFA עם m ) ( ש = L A L A' r j q j q q, q, q נניח שיש קשתות בין כולן על הקשת בין 3 אינטואיציה: יש לנו לפחות 3 מצבים (ביטוי רגולרי) נשים לב שיתכן גם יש את ל r נניח שאנו רוצים להעיף את q בה"כ הוא לא התחלתי ולא מקבל ברור שאי אפשר פשוט למחוק אותו q 3 ל q ( r ) ( המעבר מ ל ל צריך לספק דרך אלטרנטיבית לו נעשה זאת כך (חשוב לשים יהפך r + r r r 3 3 q, q אבל לא העפנו אותו מכל ריצה אפשרית צריך לבצע את התהליך הנ"ל לכל זוג קודקודים, כולל ( r = r + r r (לדוגמא - q ( ומצב q = q 3 לכל זוג קודקודים q, q 3 f q, q, q = r + r r r פורמלית: (יתכן ש שאינו מצב התחלתי / מקבל נסמן וכל קשת בין שני מצבים w q נביט בGNFA בו הורדנו את 3 3 3 החלפנו את הביטוי הרגולרי ב ),, ( j f q q q q, q j נסמן ב' A את הGNFA שהתקבל ) A' -L( A) L( בהינתן A) w L( יש ריצה =w כך שלכל w, שייך לשפת הביטוי r על המעבר מ t ל w w q בריצה tבאינדוקציה על מספר רצפי ה ריצה מקבלת של 'A המסתיימת ב בסיס: טריוואילי צעד אינדוקציה: ע"פ הגדרת tשל t A על w ולכן יש חלוקה של t נוכיח שיש על t t (בדיוק כמו בהוכחת צעדי ε) נתבונן ב ע"פ הנחת האינדוקציה קיימת ריצה של 'A t t נניח f q t, t t + + l ש רצף ה האחרון על w L r + w w t w w w L r, וכך המסתיימת ב נתבונן במילה - + + l = באופן כללי - ) r w L או פרמוטציה כלשהיא של + l + ( ) האינדקסים ) לכן השרשור שייך לביטוי הרגולרי r r r j k ההוכחה בכיוון השני מאוד דומה אין כאן עומק, אבל יש הממממממממממממממון אינדקסים, יש חלוקה של w p w p למת הניפוח: אם L רגולרית, אז קיים (קבוע הניפוח) כך שלכל מילה המקיימת =w x y z כך ש: w xyz L,

y > { } L= xy p 3 שימושים בעיקר כדי להוכיח ששפה אינה רגולרית לדוגמא נוכיח שאינה רגולרית נניח על הדרך השלילה שL רגולרית, אז קיים נביט בשפה כבלמת הניפוח נביט במילה ע"פ למת xyyz y p p, ובפרט - ו xy p p p p + + +, y כך ש p = xyz p p L ע"פ למת הניפוח, הניפוח, xyyz L מה המילה הארוכה ממש מ הקצרה ביותר בL?, xyz + y לכן xyyz אינה בשפה סתירה = אבל, אורך הוא p p

37 הנושאים להיום: משפט (MN) Myhll-Nerole מינימיזציה של אוטומטים שימושים במשפט MN 3 אלוריתמים ושימושים באוטומטים 4 x, y Σ ~ L שפה L נגדיר את יחס השקילות באופן הבא: משפט MN הגדרה: בהינתן x ~ y ( z Σ, x z L yz L L ) [ w] = { w w Σ w w} הוא ~ L מחלקות השקילות של w לפי L ~ ' ', ~ ' L ~ L הוא סופי משפט: L רגולרית מספר מחלקות השקילות של תוצאה מההוכחה: בכל DFA עבור שפה רגולרית L מספר המצבים של A מספר מחלקות השקילות ~ L עבור האוטומט המינימלי מתקיים שיוויון נתבונן ב השפה שלו היא אבל כמובן יש אוטומט קטן יותר:

pq, Q,,,, δ (, ) δ(, ) ( qaw, ) = δ δ( qa, ), w w Σ q Qa Σ qa = qa δ w Σ p ~ Q F δ ~ F בהינתן A, DFA נגדיר נגדיר את יחס השקילות על Q באופן הבא : ( pw, ) F δ (, ) qw F (שני מצבים הם שקולים, אמ"מ כל ריצה שמתחילה מהראשון מגיעה על מילה מסויימת למצב מקבל אממ כל ריצה שמתחילה מהשני מגיעה על אותה מילה למצב מקבל) הרעיון של מינימזציה של אוטומטים: נשים את כל המצבים באותה מחלקת שקילות, ולאט לאט נחלק אותם שוב ושוב p ~ q - ~ על Q באופן הבא: { δ δ לכל נגדיר את היחס במילים pq, Q, p ~ q w, pw, F qw, F אין סיפא מפרידה באורך בין p ל q p q δ ( pa, ) δ( qa, ) a Σ { F, Q \ F},= > p q עבור עבור אחרת לכל Q =, p q בדוק לכל אם אם כן, Q Q אם עצור δ w, δ pw, F qw, F p q p q j u j> u p q לכל האלגוריתם עוצר = אז לכל אם עצרנו ב u נבנה אוטומט ונוכיח מינימליות מתקיים הוכחה: באינדוקציה a עבור =- החלוקה שלנו היא למצב מקבלים וללא מקבלים, ולכן זה תקין - > b עבור p q a Σ, δ( pa, ) δ ( qa, ) δ ( δ ) δ δ, δ (, ) δ (, ) δ ( q z) F, δ,, a Σ w, qa,, w F qa,, w F a Σ w paw F qaw F z p z F טענות: 3 4 הוכחה:

בכל שלב (פרט לאחרון) באלגוריתם לפחות מחלקה אחת Q Q + היחס מעדן את היחס מתפצלת מספר הפיצולים חסום ע"י ועל כן מספר האיטרציות של האלגוריתם p q p q j u ( ) Σ = O Q 3 Σ O Q Q זמן ריצה: <j מתקיים u אז לכל = 3 טענה: אם עצרנו ב u j= - ברור באינדוקציה על u - j p q j p u j a Σ, δ( pa, ) δ ( qa, j ) p q k Σ Stopped after k a, δ( pa, ) δ( qa, k ) ( k) = ( k ), δ(, ) δ(, ) ( ) ducto hypothess p q a Σ pa qa p q k k k p q p ~ q p ~ q k F הוכחה: צעד: ולכן ([ q] a) δ( qa) δ ', =, A' = Q, Σ, δ ',, F [ q ] ~, ~ ~ נגדיר הוכחת מינימליות: טענה: לכל, xמתקיים y Σ נגדיר δ x ~ y δ q, x q, y L x ~ y z Σ, xz L yz L L, δ (, ) δ (, ) δ δ ( q, x) ~ δ ( q, y) z Σ q xz F q yz F δ δ ( δ ( ) ) Σ z, q, x, z F q, y, z F הוכחה: 4, j,>, שימושים במשפט MN { } L = ww w Σ לכל לכל עבור לכל שני מספרים ראשוניים היא סיפא מפרידה בין p סיפא מפרידה p p j, j L = { gcd (, j) = } p p בין, a b O( W ) w L( A) שאלות על אוטומטים a שייכות של מילה לשפת אוטומט - עבור DFA פשוט מריצים זמן ריצה עבור NFA

( ) O W Q O ( Q + w) אופציה נאיבית בונים DFA שקול - שומר בכל רגע נתון את כל המצבים שאני יכול להיות בהם - בניית אוטומט כזה ובדיקה האם { w} L( A) w L( A) O( Q) הוא ריק מתבצעת ב (w )O Q 3? ריקנות - = A L בעזרת ( Depth frst search) DFS - - בודקים האם יש מסלול מהתחלה? L A = Σ עד אוניברסליות אותו קודם לDFA נהפוך בNFA בודקים ריקנות של המשלים אפשרי רק בDFA b c

837 שפות חסרות הקשר דקדוק חסר הקשר (ח"ה) בצורה נורמלית של חומסקי שייכות של מילה לדקדוק ריקנות של דקדוק G= Σ, V, S, R Alphabet Varables Startg Varable Dervatolaws נסמן דקדוק כך: הגדרה: דקדוק ח"ה בצורה נורמלית של חומסקי אם כל חוקי הגזירה שלו הם מאחת הצורות הבאות: ABC,, V, BC, S כך ש, A BC A V, a Σ, A a L( G) = L( G ') בצורה נורמלית של חומסקי כך ש G ' S ε טענה: לכל דקדוק ח"ה G יש דקדוק ח"ה הוכחה: נטפל בכללים מהצורה: A ε A B A BCD (יותר מ משתנים) 3 4 A bc ראשית, נגדיר משתנה תחילי חדש ' S, ונוסיף חוק S ' S כעת, לכל עבור כל חוק מצורה (כדי שלא נגזור כלום לתוך S) ( נוסיף את ( V) uv, Σ A u ) B uav B uvw uavw uvaw -B ε לא נוסיף אותו u Σ V נוסיף את ) B u, S A ε B uv עבור B uavaw B A - A B עבור כל חוק החוק הערה: עבור לכל נוסיף - אם כבר טיפלנו ב (אלא אם כן טיפלנו בו קודם) לכל, k 3, A uu u כך ש E V) u ( (נשים לב ללא כוכב) k A u u,, A ua נחליף אותו לרשימת הכללים הבאה:, A ua k k k כאשר A A משתנים חדשים k U ונוסיף את Σ) u ( V אם u Σ נגדיר משתנה חדש לכל A uu u החוקים, A Uu ו, U u וכן עבור? w L G 3 4 בעיית השייכות בהינתן דקדוק G, האם

( w = פשוט נבדוק את כל המקרים טענה: אם קיימת גזירה S w אז קיימת גזירה מהצורה ) S AA BBB Z Z Z 3 w w w, w w כלומר - j j אופציה טובה יותר: (משתמש בתכנון דינאמי) G, יהו w נגדיר טבלה המוגדרת כך, T =כל המשתנים שמהם ניתן לגזור את תת המילה j [ ] { A V A w w j} ברור שאנו מתעניינים רק במקרים בהם נמלא קודם כל את האלכסון ([, ]T לכל ), ומשם נמשיך אלגוריתם: T[, ] = { A V A w} אתחול: לכל לכל =k ) k=,, אורך התת מילה פחות ( לכל = ) =,, k מיקום התת מילה שאנו מפצלים ( לכל k - j ) =j,, אורך החלק הראשון פחות אחד) אם יש חוק מהצורה A BC כאשר B T, + j [ ] הוסף את A ל ] +, [ T k ו ], [, c T + j+ + k 3 R סדר גודל זמן ריצה - ריקנות של דקדוק נרצה לשאול - = ) G?L( נשים לב כי אם יש גזירה S w עבור w כלשהיא, אז קיימת מילה כלשהי עם עץ גזירה בעומק + V (הרי כל משתנה נהפך מתישהו לטרמינל, אז אם משתנה נגזר לאחר, אז אפשר להגיע ישר + V, ונראה אם הגענו למילה כלשהיא לטרמינל) על כן, פשוט ננסה את כל הגזירות האפשרויות עד עומק אופציה טובה יותר: נבנה קבוצה E נניח שG בצורת חומסקי נגדיר: ( Effectve )של משתנים שמהם ניתן לגזור מילים { } { } E = A V A aa, Σ E = E A V A BC, BC, E + טענה: = כל המשתנים שמהם ניתן לגזור מילה תוך צעדים (עץ גזירה בעומק ) אלגוריתם, S E מסקנה, S E אי אפשר לגזור מילה אם בשלב כלשהו אם -E = E עצור אם + שאפשר לגזור מילה, וכך אנו עונים על שאלת הריקנות E

זמן ריצה: מספר האיטרציות יהיה לכל היותר כמספר המשתנים ולכן V R בעיית האוניברסליות ) ( האם - L G Σ= לא ידוע אלגוריתם שפותר את זה (הוכח שאין כזה) נזכור כי REG CFL בהמשך נוכיח כי אוטומט מחסנית שקול לCFL עבור כל ביטוי רגולרי יש לנו דקדוק שגוזר את השפה: S S S S ε S a S S r + r r + r r r S S S rr r r S S S r r r ε ε a Σ rr r דוגמאות נכתוב אוטומט מחסנית עבור שפת הסוגריים המכוננים חוקיתפורמלית Σ=, ) סוגריים שמאלי, סוגריים ימני) { {, } # # for every begg, ad overall # # } L= w = { }

357 מכונות טיורינג על סדר היום שקילות בין מכונת טיורינג עם k סרטים למכונה עם סרט יחיד שקילות בין מ"ט לא דרטמניסטית למכונה דטרמניסטית עד כה ראינו כי REG=DFA=NFA ראינו כי CFL=PDA כעת אנו עולים רמה, ומגיעים ל (Turg Mache) ראינו כי CFL תזכורת: מכונת טיורינג: אבל אינה רגולרית, אבל אבל לא ל CFL M = Q, Σ, Γδ,, q, q, q acc rej ראינו כי,Σ Γ וכי Γ \ Σ _ קונבנציה: הסרט מסתיים ב_ (סיום הקלט הוא ב_) c= wq ww w 7 3 4 { } δ : Q Γ Q Γ L, R q 7 5 q 7 w w w _ 4 נגדיר קונפיגורציה כ: מצב המכונה תוכן הסרט מיקום הראש 3 לדוגמא: את פונקציית המעברים מוגדרת כך: בהמשך לדוגמא, אם נרשום כך:,δ q, w = q, t אז המעבר יהיה כזה: 7 5 L q w w w _ 4 w t w _ 4 טענה:לכל מ"ט עם k סרטים, קיימת מ"ט שקולה עם סרט יחיד מה זה בדיוק: הקלט נתון בסרט הראשון יש k ראשים הפונקציה היא k k δ : Q Γ Q Γ L, R Γ #, ונוסיף אותו והוא יהיה { } ( { }) הוכחה: הרעיון היה לרשום על הסרט היחיד שלנו את כל k הסרטים נניח כי הסימן שמפריד בין הסרטים נגדיר את - Γ ) Γ ' Γ= # Γ לכל אות, אפשר לשים אותה עם נקודה למעלה מה שמסמן, שהראש של הסרט הרלוונטי הוא עליה)

נגדיר את k { rght left} { }, LR Q' = q, q Q Γ, (כך נוכל לשמור movg left or rght letter atallheads k { }? Is the head Where the heads at the rghtmost posto Should move foreachtape? If true, should shft rght k את המידע באיזה מצב אנו בכל אחד ב k הסרטים, בתור המצב שלנו) נשים לב שבהגדרת 'Q אנו שומרים את כל המידע הדרוש עלינו להראות: מעבר לקונפיגורציה תחילית (ברור) מעברים (איך לעבור סרט לסרט) (מתואר לעיל) 3 מקבלים / דוחים כמו קודם סיבוכיות נניח שמ"ט עם k סרטים עוצרת על קלט w תוך T צעדים תוך כמה צעדים תעצור על w מכונה עם סרט יחיד? תשובה: מספר הצעדים המקורי (T) מספר הצעדים שנדרש לסמלץ צעד מקורי יחיד כמה צעדים נדרש לסמלץ צעד מקורי יחיד: אורך כל סרט מקורי הואלכל היותר T (שכן לא היינו יכולים לעבור T מקומות בT צעדים) לכן, אורך הסרט המאוחד הוא k T + (כאשר הוא הקלט ההתחלתי, במקרים בהם T הוא קטן זה משפיע, בד"כ זניח) לכן, בכל מקרה, מספר הצעדים הנדרש ) ( הוא O k T לכל צעד מקורי הוא לכן, בסה"כ, המעבר מ k סרטים לאחד הוא מ"ט לא דטרמניסטית ניזכר באוטומט דטרמניסטי באופן דומה, במ"ט דטרמניסטי δ : Q Ε Q ( ) O k T δ, :Q Σ Q בלא דטרמנסטי זה { } Q Γ δ : Q Γ ובמ"ט לא דטרמניסטי, LR, {, } : Q Γ δ Q Γ L R לדוגמא - ( q, a ) { q, br,, q, wr, 5 7 } במ"ט לא דטרמניסטית, δ = w L M אם קיימת ריצה מקבלת של M על w b טענה: לכל מ"ט לא דטרמניסטית קיימת מ"ט דטרמניסטית שקולה הוכחה: נגדיר מכונה עם 3 סרטים: סרט קלט סרט עבודה סרט ניחוש נשים לב שמ"ט לא דטרמניסטית מגדירה עץ (ניחושים) אפשר לעבור על עץ כDFS או כBFS מכיוון שיתכן ענף אינסופי, DFS לא מתאים, אז נעבוד בBFS בכל התחלה של סימולציה, נעתיק את סרט הקלט לסרט העבודה, ונבחור ריצה ע"פ סרט הניחוש נניח שמספר הבחירות המקסימלי בפונקציית המעברים הוא b) for brachg) b לדוגמא, אם נרשום בתא הראשון של סרט הניחוש, הדבר מסמל שבחרתי בbrach הראשון שהגעתי אליו לאופציה הראשונה אם לא הגעתי למצב מקבל, אני אעבור לאופציה השניה (נזכור כי עובדים בBFS ), רושם, וכך הלאה, עד b כשהגעתי לb, עובר לניחוש הבא, וכך הלאה נמשיך עד שאני מגיע למצב מקבל, או עד הסוף (או עד האינסוף) הוכחנו כי מכונה דטרמניסית עם 3 סרטים שקולה למכונה עם סרט אחד, ולכן סיימנו זמן ריצה: נניח שיש למ"ט לא דטרמניסטית ריצה מינימלית (באורכה) שמקבלת את w תוך T צעדים תוך כמה צעדים w תתקבל במכונה הדטרמניסיטית השקולה? T עץ הניחוש הוא בעומק T, ולכן יש בו עלים לא ידוע פתרון טוב יותר

הגדרה: מ"ט היא מכונה מכריעה אם היא עוצרת על כל קלט מ"ט היא מכונה מכריעה אם לכל קלט כל הריצות עוצרות נרצה שאם הפכנו מכונה לא דטרמניסטית לדטרמניסטית, היא תישער מכריעה נוסיף סרט המשך מה הוא יעשה? כל פעם שיורדים רמה, הוא יתאפס אם הגענו למצב לא דוחה באחד המצבים, נדליק אותו אם בסיום הרמה הוא דלק, אז לא ממשיכים (בעצם, אם כל המצבים באותה רמה דוחים, אז גם המכונה הדטרמניסטית תדחה)

, f אשר מקיימת M 667 על סדר היום: רדוקציות הגדרה השפה Regular R co RE משפט Rce INF RE (אם נספיק) תזכורת: R שפות ניתנות להכרעה ע"י מכונת טיורינג RE שפות הניתנות לזיהוי ע"י מכונת טיורינג רדוקציה אינטואיציה:נאמר ש L L אם קיימת פונקציה ניתנת לחישוב x, f x L x L L פורמלית: נאמר ש ניתנת לרדוקציה כך ש, L ונסמן (רדוקציית מיפוי) ל L L אם קיימת פונקציה f, L בסתירה לכך A A f ( x) x L f x L f : Σ Σ חשיבה מהי פונקציה חשיבה: קיימת מ"ט שלכל טענה: אם מחשבת את x ועוצרת L L יותר קשה מ, L L אזי M L R, L L L R M L R E, L L L RE M בRE, L דוגמא: אם טענה:אם הוכחה: נניח בשלילה ש עם מכונה M שמכריעה אבל יש פונקציה ניתנת לחישוב,x, ואז אפשר להשתמש בM כדי להכריע את המקיימת f x L x L ש L RE REG RE { } Re gular= M L M REG Reg RE co RE, Reg RE ולאחר מכן נראה כי () { M, w M sturgmache w L( M) } M, w w L( M) = { } =, L R L RE L RE ומאחר שהוכחנו, A RE \ R ניזכר בשפה טענה: הוכחה: ראשית נראה כי () תזכורת: בכיתה הוכחנו כי A RE נובע כי f, בהינתן M, w נתאר את הפונקציה f A Reg הבאה: תחזיר את המכונה () נראה כי M ניתנת לחישוב

M, w A f M, w = M REG w L M L M REG כלומר -?z על קלט M M, w איך תעבוד אם M מקבלת את w z אם o כן קבל לא דחה אם M לא מקבלת את w (ועוצרת), דחה M ) z אם היא מתבדרת, גם L( M ) = M אם היא דוחה, אז w L M כעת, נניח ש ) ( תתבדר על כל קלט M לא מקבלת את תדחה (לכל קלט Z לא מקבלת אף M w L M REG L M =, z כלומר z M w L( M) ( ) אם מקבלת את אםם L M REG 5?( ), כנדרש M, w A f M, w = M REG M, w מה הראנו? כי מה נעשה אם נחזיר אוטומט רגולרי כלשהו הוא לא יצוג של מכונת טיורינג error)?(sytax לדוגמא, אם נקבל REGULAR RE נעשה רדוקציה - M M, w כעת, נוכיח כי, Regular co RE כלומר נראה פונקציה שבהנתן מחזירה כך M w A, A REGULAR ש M REGULAR Σ M M, w A?z M מה תעשה w) ( M, על קלט -z קבל אם אחרת w על M הרץ את o החזר את תוצאת ההרצה ), כלומר M) w L( L( M ) = בואו ונבדוק: אם M w A,ואז מקבלת את z אםם L( M ) =Σ M REGULAR M w L( M), אזי, z אם M, w A מקבלת כל Z, ואז M REGULAR רגולרית משפט :RICE כל תכונה סמנטית לא טריוויאלית של מכונות טיורינג איננה כריעה בעברית:

? M P P= תכונה: קבוצה {M { לכל מכונה אפשר לשאול L M = L M M P M P (לא סמנטית: תלויה אך ורק בשפה לדוגמא - P ) M ' P תלויה בקידוד, אלא בשפה בלבד) לא טריוויאלית: קיימת מכונה M P וקיימת אינה ריקה ולא כל המכונות) P { } כלומר, מהמשפט נובע כי, L = M M P R לכל P הוכחה: תהי P תכונה סמנטית לא טריוויאלית של מ"ט נניח בה"כ כי ( L( M ) = ) M P כלומר, כל המכונות ששפתם ריקה שייכות לP נוכיח ש L RE P M שייך ל P או, P נראה על הצד הערה: L R L RE L RE מאחר ו L R אזי שייך אליו (ואת זה מותר בה"כ), ומאחר ונוכיח שהוא לא שייך לRE, M ש f תעבוד כיוון שP לא טריוויאלית, קיימת מ"ט ' M כך ש M ' P נראה רדוקציה מ A L P M w A, M L 3 P M 3 כך בהינתן M, w נחזיר כך ש נבנה אותה כך: על קלט z: אם M דוחה את w, דחה אחרת o הפעל את ' M על z, והחזר את התוצאה M P 3 M P 3 L( M 3) = L( M) = L( M '), אזי M לא מקבלת את, w ואז, אזי M מקבלת את, w ומהבניה אם M, w A M L 3 P אם M, w A tm M L 3 P הראינו רדוקציה כנדרש L R P, L RE ובכל מקרה - P, M P ואז (הצדקה נוספת לבה"כ: ( אם, M P אזי L RE אחרת, P M 4 M, w INF = עוד רדוקציה אחת והולכים: M L M s fte { } A INF בהינתן טענה: INF RE הוכחה: נראה כי הרדוקציה מחזירה כך ש w L( M) L( M 4 ) = תעבוד כך על קלט z: z w M M 4 ( M, w) נריץ את על צעדים אם התקבל: Reject נחזיר o אחרת (דחה, או לא סיים להריץ)

M 4, אזי w, אם accept החזר o M M w A לא מקבלת את תחזיר לכל קלט,'accept' כלומר L( M ) L M =Σ = 4 4 Accept M 4 מקבלת את w אחרי k צעדים, אזי תחזיר למספר אם, M, w A אזי M סופי של מילים (עד אורך k) הראנו רדוקציה כנדרש

367 על מה נדבר היום?,P, רדוקציות פולינומיות NP בעיית הריצוף החסום שפות שקשורות לדקדוקים חסרי הקשר במה הקורס עוסק: אוטומטים +) מחסניות) CFL REG, R, REco, RE מה ניתן לחשב? חישוביות - סיבוכיות מתעסק בR כמה זה עולה לנו זמן o זכרון o הגדרנו השפות שעבורן קיימת מ"ט דטרמניסטית שמכריעה קלט באורך תוך השפות שעבורן קיימת מ"ט לא דטרמניסטית שמכריעה קלט באורך תוך NP= P P= NP= N k> N k> } =TIME t( ) ) O t( צעדים} } =NTIME t( ) ) O t( צעדים} k TIME k NTIME P NP נגדיר: ברור כי השאלה שעדיין לא הוכרעה היא אם הן שוות רדוקציות פולינומיות, L ונסמן L L אם קיימת פונקציה חשיבה בזמן L ניתנת לרדוקציה פולינומית לשפה שפה P x L f ( x) פולינומי f : Σ Σ כך שלכל x Σ מתקיים L חשיבה בזמן פולינומי:= קיימת מ"ט דטרמניסטית שרצה בזמן פולינומיאלי ומחשבת את f ברור כי אם L L אזי L P L P P NP P השאלה - L' L P NP Complete שפה L היא NP -שלמה, ונסמנה NPC אם: L NP NPL -קשה : לכל אזי L' NP P= NP ואז, NP P טענה: אם NP -שלמה, L ו L P היא אז נראה שפה NPC נגדיר

s כך שבמיקום,) ( ( - קיים ריצוף חוקי עבור הריבוע s {,,,,, } s BT = T HV t t k (t k (,s) ובמקום,t נמצא נמצא { } T = t, t,, t k HV, T T H,V מסמנים את הזוגות שמותר שיהיו צמודים אופקית ואנכית קיים ריצוף חוקי עבור הריבוע - TILE= T HV t נשים לב שזה דומה ל },,, { כך שבמקום נמצא לכל TILE RE הוכחנו כי t (,) I TILE M HALT ε ε HALT TILE מבנה ההוכחה נראה בהינתן קלט m נבנה מופע של בעיית ריצוף I, כך ש איך נבנה את הריצוף: ( q, a) ( q ) ( q ) ( q L) ( q L),, a a 5 5 ( q, _ 5 ) ( q ) 5, _ q, R q, R,, ( Q ), c Γ Γ Γ לדוגמא b נשים לב, שכל שורה מייצגת קונפיגורציה ) ) c כאשר c abba q d ccda =, 7 7 _ ( q ) δ, _ = q, bl, 5 ( q ) ו,δ, _ = q, a, R 5 t = ( q, _) _ בשרטוט לעיל, רשימת מרצפות: כל המשך השורה יהיה מהצורה:

( q', c), br δ qa, = q', נרצף בצורה ( q R) ', c c Γ נוסיף את המרצפת לכל מעבר אשר מסיט את הראש ימינה, כלומר לכל b ( qa, ) ( q R) ', באופן דומה לכל מעבר אשר מסיט את הראש שמאלה a a לכל a Γ (מילוי), נמצא 3 4,c, אזי אם אפשר לרצף את q q, acc rej נשים לב, שמאחר ו δ לא מוגדר עבור זו, כלומר אפשר לרצף עד אינסוף המכונה לא עוצרת אז מגיעים לקונפיגורציה s כך שבמיקום,) ( ( - קיים ריצוף חוקי עבור הריבוע s נחזור לבעיית הריצוף -BT BT = T, HV,, t, t, s k (t k { } (,s),t נמצא ובמקום נמצא { } T = t, t,, t k s HV, T T נשים לב הקלט באונרית - s אני רושם ע"י אחדות טענה: BT היא NP הוכחה: נראה כי שלמה BT NP - כלומר קיימת מ"ט לא דטרמניסטית שמכריעה את BT בזמן פולינומיאלי איך נעשה זאת? המכונה תנחש ריצוף אקראי, ותבדוק אם הוא חוקי היא תקבל / תדחה בהתאם איך נעשה זאת? נראה? s O s זמן ריצה - גודל הקלט הוא לפחות BT היא NP שלמה נראה שלכל L A BT (הקלט הוא באונרית, כזכור) L BT P A bouded L NP מתקיים זה P bouded M, w, p M so determestc MT whch olom A = bouded acceptswato( p( w) ) L זה ממש ברור נתון לנו הפולינום שחוסם את, L אז נחשב A w M P bouded מה P a ראשית, נראה אותו על w ואת התוצאה נשמור בצורה אונרית, ואז נריץ על עם חסימה של צעדים ברור כי זוהי רדוקציה פולינומית חשוב להבין לאחר הרדוקציה, (w )p - p w מספר p( w) הוא פשוט

w A bouded P כעת, נראה את הרדוקציה BT s' BI = T, GV,, t, t, כך שM מקבלת את M, w, s נבנה כעת ריצוף בהינתן k ( s': = s ) s' תוך s צעדים אםם קיים ריצוף חוקי עבור הריבוע 's נעשה משהו דומה למה שעשינו ב :TILE ( q, a) (, _) (, ) ( q L) ( q L),, a a 5 5 ( q, _ 5 ) ( q ) 5, _ q, R q, R q w w w 3 4 q w w w 3 3 b כלומר בדיוק כמו קודם, עם הבדלים דקים בשורה הראשונה: רשימת מרצפות: (, _) q w + t = כל המשך השורה יהיה, +, b ( qa, ) _, br δ qa, = q', נייצר ( q R) _ מהצורה: _ מעבר ימינה לכל ( q', c) q', R, c Γ, ', c באופן דומה בשמאל, q acc נעשה אותה בכל אותה שורה (שורה מקבלת שלמה) ומעליה וכך נעצור לכשנגיע למרצפת של נשים לב אנו יכולים לקבל קלטים לא דטרמניסטים, ונשתמש בחוסר דטרמניזם שלנו כדי לפתור אותה 3

597 היום נדבר על: מכונת RAM ליכסון מה זה מכונת? RAM שרטוט אצל דינה הסבר על מחשב,CPU,RAM פקודות, אסמבלי קיצר, מחשב מבנה של פקודה: הוראה, אופרנד (ערך להוראה) במכונת הRAM שלנו יהיה רק רגיסטר אחד ששמו אקומלטור נסמן בRAM את הערך שנמצא בתא ה )c ( פקודות אצלנו: Load טען מ a כתובת אבסולוטוית (7) - Add a מקבל מספר אמיתי, ומוסיף אותו לאקומולטור נסמן כ 7= b תוסיף ערך של תא (אבסולוטי) לאקומלטור נסמן כ 7 c תוסיף את הערך של התא הנמצא במיקום ( )c ( ) )c הוא מצביע) לאקומלטור נסמן כ 7 Load operad הכנס את ערך האופרנד לאקומולטור Store operad הכנס את ערך האקמולטור לתא שמספרו כערך האופרנד add operad הוסף לאקומלטור את ערך האופרנד sub operad החסר מהאקומלטור את ערך האופרנד (אם התוצאה שלילית, ערך האקומלטור ) jmp operad שנה את ערך ה( poter IP (structo לערך האופרנד f = jump operad אם ערך האקומלטור שנה את ערך ערך הIP לערך האופרנד f> jump operad כיו"ב read הכנס תו אחד של קלט לאקמולטור accept קבל את הקלט reject דחה את הקלט אבל מה עם קלט ופלט? נניח שיש לנו אמצעי קלט (stream) פלט נאפשר ביט מכונת הRAM מתחילה כשכל הזכרון ריק נראה שמכונת טיורינג מסוגלת לעשות כל מה שמכונת RAM עושה נראה יצוג של קונפיגורציה של מכונת RAM באמצעות קונפיגורציה של מ"ט עם סרטים נקדיש סרטים שונים לתפקידים שונים: סרט קלט סרט תוכנית (לא נרשום עליו את המילה,'load' נשתמש בeum yey ) אז לאחר הפקודה יהיה סוג האופרנד, והערך לאחר כל פקודה, יהיה ',' מפריד חשוב להיות מפריד ערך התא הוא אינסופי, כי הזכרון אינסופי, ולכן כתובת זכרון היא אינסופית איך נסמן את הp נשים נקודה מעל הפקודה שעומדת להתבצע 3 סרט האקמולטור יכיל את ערך האקמולטור

סרט הזכרון מאחר וכל תא מכיל מספר טבעי לא חסום לכן נפריד בין התאים בצורה הזו - - 3,7 כתובת התא היא 3, הערך הוא 7 נשים לב שזה בעצם 6 תוים בזכרון סרטי עבודה 4 5 דוגמא של מימוש פקודה: Add3 רצים על סרט הקפודות, עד שמגיעים לפקודה עם נקודה מעל כותבים 3 על סרט עזר רצים על הזכרון ומחפשים ערך של תא 3 3 c 3 לסרט עזר אם מצאנו מעתיקים את תוכן התא 4 a אם לא מצאנו, מעתיקים לסרט העזר בצורה דומה מחפשים את ערך התא שמספרו כתוב על סרט העזר מוסיפים את מה שכתוב בסרט העזר (תוכן התא הרצוי) למה שכתוב באקומלטור מעבירים את הנקודה בסרט הפקודות לפקודה הבאה j j 5 6 7 נגדיר את המחיר של תא שבתוכו תוכן להיות lg + lg (כתיב בינארי, יענו) הזכרון הנשמר בקונפיגורציה הוא פרופורציוני לסכום מחירי התאים בקונפיגורציית מכונת הRAM מזה נובע שעבור מכונת RAM רצה ( ) Tעל קלט wוסכום המחירים המקסימלי בחישוב הוא, p אזי זמן הריצה של מכונת הטיורינג המסמלצת הוא פרופורציונלי ל T p נזכר, כי אנו מדברים על מכונת טיורינג עם k סרטים להעלות בריבוע כשעוברים למכונת טיורינג רגילה, צריך ליכסון נוכיח כי A R הרעיון הוא להגדיר טבלה למעלה נרשום את כל מכונות הטיורינג מעל Σ (נזכור שמספר מכונות הטיורינג הוא בן מניה) למטה נרשום את כל Σ (גם בן מניה) נגדיר את נגדיר את Σ \Turgmache m m ε A j a,f the 'th word s beg accepted by the j'th mache =,otherwse, B= M M M M,f M s accpepted by M B j =, otherwse, זה לחשב את לחשב את בהינתן j j נשים לב A A j נשים לב אם אפשר לחשב את A, אז ברור שאפשר לחשב את B (מוכלת) ואת

ע( נראה שאי אפשר לחשב את B (ולכן אי אפשר לחשב את A) נתבונן בטבלה הבאה: B (חוץ מהעמודה והשורה הראשונה כמובן) j ברור כי,} { M M M M M נגדיר את מכונת הטיורינג "פ הגדרתה), ולכן נמצאת בטבלא מהגדרה), B = ) M M ( הסתירה היא שאין אף עמודה כזו כך =, B = לא נמצאת בטבלה B, והגענו לסתירה (למה ולא - כי היא לא M k M M

67 היום נראה עוד שתי שפות NP -שלמות: HAMPATH SUBSET-SUM הגדרה: מסלול המילטוני מ s ל t בגרף רגיל מכוון G הוא מסלול מ s ל t שעובר בכל קודקודי G בדיוק פעם אחת } { נגדיר:, st G - HAMPATH = G, גרף מכוון המכיל מסלול המילטוני מ s ל t טענה: HAMPATH היא NP שלמה הוכחה: לt נגריל מסלול, ונבדוק אם הוא המילטוני מs - HAMPATH NP HAMPATH NP hard נראה כי 3SAT HAMPATH בהינתן נוסחה ϕ ב 3CNF נבנה גרף G ונגדיר קדקדים P t ל מסלול המילטוני מs יש ספיקה בG ϕ כך ש: st, k k k x,, x מעל משתנים ϕ= ( l l l ) ( l l l נגדיר ) 3 3 נבנה גרף כך: איך יראה מעוין כזה לדוגמא? כל מעוין יהיה מאותה צורה, כאשר באמצע יהיה קדקדים עבור הפסוקיות בהן הוא משתתף(?)

איך נראה ריבוע כזה לדוגמא? קצת יותר מסודר: לכל משתנה ב ϕ נתאים מעוין שבו 3k+ 3 j לכל פסוקית נתאים זוג קודקדים שכנים קדקדים במאוזן (ראה לעיל) u, v ובכין כל שני זוגות קדקוד רווח j j בנוסף, לכל פסוקית j כעת, אם אם נוסיף קדקד c j x c, j נוסיף מעברים מופיע ב u c v j j j x,c j נוסיף מופיע ב v c u (נשים לב כיוונים הפוכים) j j j (יתכן ואצל דינה זה יותר מסודר) נשים לב, שברור שבניה כזו היא פולינומית בגודל הנוסחה נגדיר כ s את העליון ביותר, את t בתור התחתוון ביותר כעת, נראה כי ϕ ספיקה ב G יש מסלול המילטוני מ s הוכחה: ל t

עוברים על הקודקודים בזיגזג או משמאל לימין, או מימין לשמאל (קטונתי מלצייר זאת) בכל הקדקדים c אין בעיה חוץ מ, x משמעות הדבר ש =, x והפוך כמובן מסלולים בהם אני עובר משמאל לימין במעוין נשים לב בהשמה מספקת, צריך להיות בכל פסוקית ליטרל אחד שמקבל ערך true הוכחה: תהי ϕ ספיקה תהי x { } { } f : x, בהתאם להשמה ) ) ( השמה מספקת המסלול יעבור על כל המעוינים = x f מעבר על מעוין משמאל לימין) c j (זה אפשרי, x נעבור גם ב, x אז במהלך המעבר על קדקדי אם פסוקית j מסתפקת ע"י משתנה בגלל הבניה) נניח שבG יש מסלול המילטוני מ s ל t אם המסלול "יפה" (מהמבנה שאנו רוצים) אזי יש לנו השמה מספקת (מהבניה) c, j אבל לא חזרנו למרובע אם לא, נראה שהוא לא המילטוני נתבונן במרובע כלשהו, ממנו הלכנו ל הנקודה היא שצריך לחזור אליו כדי לבקר בכל שאר הקדקדים בשורה אבל כל שאר הקדקדים שאני מחובר אליהם נוצלו (כי הגעתי לאחד שממנו ברחתי), ולכן אני לא יכול עוד רדוקציה נגדיר ש את השפה - ) {(,,, ) l } SUBSET SUM = y y t I קיים {,, l} ( I y = t SUBSET SUM היא NP שלמה -SUBSET SUM NP ננחש עד, SUBSET SUM NP hard SAT SUBSET SUM טענה: הוכחה: ראשית, ברור כי כעת, נראה כי נתונה נוסחה: של l מספרים ומספר נגדיר טבלה : 3 p k k k ( l l l 3) ( l l l 3) ϕ= t כך ש ϕ ספיקה ונבדוק מעל משתנים קיימת תת קבוצה של המספרים שסכומה t כך גם כאן נראה x,, x נבנה רשימה A B C D T T

x x x A= x x x x x x x x x A: בעמודה יש בשורות, ו בשאר ( ) B= x, c = x x x x x c c c k c j B יוגדר כך : בעמודה j יש בשורות המתאימות לליטרלים המופיעים בפסוקית :C כולו יש בשורות j,j j בעמודה : D t: אחדות בהתחלה (מתחת ל ), AC ולאחר מכן 3 ים (סכימת העמודה מעליו) ברור כי הבניה פולינומית טענה: ϕ ספיקה יש תת קבוצה של שורות שסכומן t (יש להתבונן ב t כמספר עשרוני, וגם על כל שורה) תהי f השמה מספקת ל ϕ מבין השורות העליונות, נבחר את השורות שעבורן ההשמה נותנת ערך, ( C D A C, ( x בחלק x מאחר ו f בגלל ש השמה (נבחר או סכום המספרים הוא בדיוק מספקת, בחלק B לכל עמודה הסכום הוא בין ל 3 מבין k (חלק B D f נבחר את השורות כך שסכום כל העמודות ב יהיה 3

נבנה השמה מספקת ל ϕ: I y = t, כך ש נניח ש k},,, { I + ההשמה תיתן ערך לליטרלים שהשורות המתאימות להם נבחרו לI (מבין העליונות, כמובן) בגלל שסכום כל עמודה בA הוא, קיבלנו השמה חוקית בגלל שסכום כל עמודה ב B D עמודה בB (בשורות שבחרנו) הוא לפחות המתאימה השורות הוא 3, וD תורמת לכל היותר בכל עמודה, נקבל שסכום כל כל הפסוקיות מסופקות תחת ההשמה

- בשורות, כל מכונות הטיורינג בעמודות כל הקלטים אנו 767 הודעות: תרגיל כן להגשה על סדר היום: משפטי ההיררכיה היא Pspace שלמה ALL NFA ( ) ( 3 ) TIME TIME ניזכר בהוכחה של קנטור לכך ש N < R הוכחנו בצורה דומה כי A R כיצד? נגדיר טבלה M M M M 3 נתבונן רק בקלטים שמייצגים מכונות טיורינג נניח בשלילה כי - A R כלומר, היא מסוגלת למלא את הטבלא בזמן סופי A אבל מהגדרתה, M את ההפך ממה שמוחזר ע"י, M j שתחזיר על כל נייצר מכונה דומה - היא לא קיימת בטבלא ולכן, לא קיימת מאחר ויש איזומורפיזם בין M M Σ נשים לב למה אוסף מכונות הטיורינג הוא בר מניה? ל, M אזי ברור כי אוסף מכונות הטיורינג בר מניה space costructo f ( ) הגדרה: f : N N פונקציה לבניה בזכרון) אם קיימת מ"ט זכרון f ( ) lg המקיימת נקראת (ניתנת M f שבהנתן קלט אונרי מחשבת את בייצוג בינארי במגבלת ( ) O f f ( ) = lg נתון לדוגמא: באונרית - - ואני רוצה לחשב את lg איך נעשה זאת? פשוט מאוד, נרשום מונה בבינארי, ונספור כל פעם נגדיל ב = O f = O lg ( ) ( lg ) (נשים לב נתייחס לסרט הקלט כreadoly, ויהיה סרט עבודה החסום ב כמובן שמגבלת הזכרון שלנו היא ( ) (O f נתבונן כעת ב הפלט יהיה בגודל f ( ) = ראשית, נמיר את המספר לבינארי, ואז נכפיל בכתיב בינארי ברור כי ( lg ) lg= O = O L f קיימת שפה הניתנת להכרעה במגבלת זכרון משפט היררכיית הזכרון לכל פונקציה f שהיא,space costructble ( ) O f אך לא במגבלת זכרון ( ) o f

SPACE k ( k k ) מתקיים ) SPACE( k lg SPACE( ) SPACE k < k N k N מסקנות: עבור לכל לכן, מתקיים k lg = SPACE PSPCE SPACE SPACE PSPACE SPACE lg SPACE( ) ( ) ו ועל כן - (וזו מסקנה חשובה!) g g( ) = o( f ( ) ) f o 3 = O 3 3 ) o( f ( היא כזו: ) o o חשוב להבין ההגדרה כאן של 3, f ( ) = אזי לפי ההגדרות כאן - לדוגמא: אם אבל 3 c M הוכחה: אינטואיציות: נגדיר - תהיה מה ש בעיות: מה אם M לא עוצרת? מה אם M חורגת מ עושה על עצמה, ומחזירה הפוך ( )?O f 3, f = נצטרך למצוא מכונה שתעבוד עם L f כלומר, אם מדובר על אותה עם זכרון לדוגמא זכרון, אבל אי אפשר לסמלץ f אפשר להגיד שזה O של f Q Σ f O( f ( ) ) c נשים לב מספר הקונפיגורציות היא M f פורמלית נגדיר הפועלת במגבלת זכרון על קלט ומכריעה שפה שאינה כריעה במגבלת זכרון (space costructble נסמן על סרט החישוב M f - M f (אפשרי מאחר ו ( f ( w = w f ( ) f ( ) ( ) o f מחשבת מחשבת את קטע באורך אם אינה מהצורה (אם במהלך הסימולציה חורגים מהקטע המסומן, עבור כלשהיא - תדחה) f אם מגיעים ל M f דוחה M w M מסמלצת את M על תוך כדי ספירת צעד החישוב w M f דוחה אם M מקבלת M f דוחה, ולהפך 3 4 5 O( f ( ) ) M f צ"ל: כריעה במגבלת זכרון

= g( ) < f ( ) g o f - לכן אנחנו סבבה L f השתמשנו ב ) ~ 3f ( ( ) o f a אינה כריעה במגבלת זכרון נניח בשלילה ש ' M קיים כך שלכל מכריעה את מתקיים במגבלת זכרון לכן על כל קלט בגודל M ' > M f יש ל משאבים לסמלץ את הרצת על הקלט עד תומה ניקח לדוגמא M ' M f w M ' = < את המילה לא מכריעה את (כזכור תסמלץ את על, w ותחזיר תשובה הפוכה ( f ( f) L = L M L f M ' a L f NFA { } ALL = A L A =Σ AsNFA ALL NFA היא Pspace שלמה טענה: L' L P PSPACE L PSPACE L' PSPACE שפה L היא לכל שלמה אם: מתקיים ALL PSPACE NFA ראשית, ראינו בכיתה כי ALL NFA כעת נראה כי לכל כלומר, היא PSPACE קשה נראה רדוקציה מ P NFA L ALL למעשה נראה רדוקציה L PSPACE L ALL P (מספיק לנו, כי PSPACE סגורה למשלים) L PSPACE כלומר, קיימת מכונת טיורינג דטרמניסטית M הפועלת במגבלת זכרון L ומכריעה את s A NFA O( s( ) ), w NFA מ נתונה פולינומיאלית בהינתן ש מילה באורך נבנה במגבלת זכרון כך c c c c l w L M L A Σ # # ## # - M יקבל סדרת קונפיגורציות של A נגדיר A שמקבל חישובים 'לא טובים' של M על : w c לא קונפיגורציה תחילית > כך ש c לא קונפיגורציה עוקבת אחרי קיים l + c l לא קונפיגורציה עוקבת 3 איך יראה? A ינחש אם הוא הולך לקבל בגלל סעיף, או 3, ואז יבדוק אותו אם הוא מגלה שמשהו לא בסדר, אז הוא יקבל (נכנס לבור מקבל) שרטוט של האוטומט אצל דינה ברור שהוא יהיה בגודל ( ) O s