A-PDF Merger DEMO : Purchase from to remove the watermark סוכם על ידי אבי שוע אני מק

מסמכים קשורים
תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

Algorithms Tirgul 1

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

Microsoft Word - ExamA_Final_Solution.docx

מקביליות

מקביליות

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

חשבון אינפיניטסימלי מתקדם 1

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

שיעור 1

מבנים בדידים וקומבינטוריקה סמסטר אביב תשע"ט מספרי רמזי תרגול 11 הגדרה: (t R = R(s, הוא המספר הטבעי הקטן ביותר כך שבכל צביעה של צלעות הגרף וכחול(, קיים

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

áñéñ åîéîã (ñéåí)

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

שעור 6

Microsoft Word - Questions Booklet Spring 2009

Microsoft Word - SDAROT 806 PITRONOT.doc

מבוא לאנליזה נומרית na191 Assignment 2 solution - Finding Roots of Nonlinear Equations y cos(x) שאלה 1 היכן נחתכים הגרפים של? y x 3 1 ושל ממש פתרונות

דף נגזרות ואינטגרלים לשאלון 608 כללים למציאת נגזרת של פונקציה: n 1. y' n x n, y הנגזרת x.1 נכפול בחזקה )נרשום אותה משמאל ל- (. x א. נחסר אחד מהחזקה. ב

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

אנליזה מתקדמת

מבוא לתכנות ב- JAVA תרגול 7

<4D F736F F D20F4FAF8E5EF20EEE5F2E320E020F1EEF1E8F820E120FAF9F2E3>

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

תרגול מס' 1

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

Microsoft Word - hedva 806-pitronot-2011.doc

Microsoft Word - Sol_Moedb10-1-2,4

Microsoft Word - solutions.doc

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

PowerPoint Presentation

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

מבחן חוזר במכניקה 55 א יא יח""ללח פתור 3 מהשאלות 1-5 לכל שאלה 33%. חומר עזר מותר מחשבון ונוסחאון של בגרות. v m sec משך הבחינה 105 דקות. שאלה מספר 1 4

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

מהוא לתכנות ב- JAVA מעבדה 3

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

rizufim answers

בגרות עז יולי 17 מועד קיץ ב שאלון ,000 א. ניתוח הנתונים מחירה של ספה הוא שקלים, והיא התייקרה ב-. 25% כאשר המחיר מתייקר ב- המחיר החדש הוא פי,

מבוא למדעי המחשב - חובלים

Microsoft PowerPoint - Lecture1

<4D F736F F D20FAF8E2E5EC20E0ECE2E1F8E420EEF2E5F8E D F9E0ECE5FA2E646F63>

. m most לכל אורך השאלה, במקרה של כוח חיכוך: = 0.01 [kg]; μ א. נתון: = 0.1 k f k = μ k N = μ k mg a = μ k g תור ראשון: לאחר שג'וני גלגל את הגולה הראשו

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

Microsoft Word - עבודת פסח לכיתה י 5 יחל.doc

פיסיקה 1 ב' מרצים: גולן בל, משה שכטר, מיכאל גדלין מועד ב משך המבחן 3 שעות חומר עזר: דף נוסחאות מצורף, מחשבון אסור בהצלחה! חלק א'

משוואות דיפרנציאליות מסדר ראשון

Untitled

תרגיל בית מספר 1#

Limit

מבוא למדעי המחשב - חובלים

Microsoft Word - c_SimA_MoedB2005.doc

פתרונות לדף מס' 5

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

תאריך הבחינה 30

עב 001 ינואר 12 מועד חורף פתרונות עפר

MathType Commands 6 for Word

מבוא למדעי המחשב

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

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

פתרון וחקירת מערכות של משוואות לינאריות שאלות: 1( מצא אילו מהמערכות הבאות הן מערכות שקולות: 2x+ y= 4 x+ y= 3 x y = 0 2x+ y = 3 x+ 10y= 11 א. 2x 2y= 0

סדנת תכנות ב C/C++

תוכן העניינים

שיטות הסתברותיות ואלגוריתמים חוברת התרגילים 25 באוקטובר 2015 חוברת זו מכילה תרגילים נבחרים מהיסטוריית הקורס ופתרונם. בשעות האימון יוצג מבחר מהתרגילים

<4D F736F F D20F4E9E6E9F7E420FAF8E2E5ED20ECF2E1F8E9FA20E4E2E4E420F1E5F4E9FA20496C616E2E646F63>

Tutorial 11

מדריך למרצים ומתרגלים 1

מתכונת עיצוב 3013

Microsoft Word - Ass1Bgu2019b_java docx

שאלה 2. תכנות ב - CShell

Microsoft Word - ex04ans.docx

תרגול 1

<4D F736F F D20F9E9F2E5F820F1E9EEF0E920E7ECE5F7E4>

PRESENTATION NAME

תוצאות סופיות מבחן אלק' פיקוד ובקרה קיץ 2014

67865 כלים מתמטיים 7 בינואר 2014 מרצה: מיכאל בן אור מתרגל: צור לוריא איני לוקחת אחריות על מה שכתוב כאן, so tread lightly אין המרצה קשור לסיכום זה בשום

<4D F736F F D20F4F2E5ECE5FA20EEE5EEF6E0E5FA20312E646F63>

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

מבוא למדעי המחשב

מצגת של PowerPoint

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

! 1! משוואות מסדר ראשו! (הפרדת משתני*, הומוגנית, לינארית) xyy = 1 x y xy 2 = 2xy 2 מצא את הפתרו' הכללי: x y y = 3 א) y ג) ב) ד) y tan x = y (1 ( x+ y

אוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב'

ex1-bash

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

HaredimZ2.indb

מתמטיקה של מערכות

עמוד 1 מתוך 5 יוחאי אלדור, סטטיסטיקאי סטטיסטיקה תיאורית + לוחות שכיחות בדידים/רציפים בגדול מקצוע הסטטיסטיקה נחלק ל- 2 תחומים עיקריים- סטט

עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה אפריל 5105 קשה בלימודים, קל במבחנים, קל בחיים עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה יש לפתור את כל השאלות

שיעור מס' 6 – סבולות ואפיצויות

תרגיל 5-1

מקומות גיאומטריים השתלמות קיץ הקדמה: נושא המקומות הגיאומטריים הינו מרכזי בתכנית הלימוד ל- 5 יח"ל. פרק זה מאגד בתוכו את כל המרכיבים של הגיאומטרי

PowerPoint Presentation

Microsoft Word - 01 difernziali razionalit

תמליל:

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

2622007 http://wwwcshujiacil/~compu שעת קבלה ב' 8 10 orna@cshujiacil נהלים: שני בחני מגן אמריקאיים מי שפתר את כל תרגילי הבית ולא טיפש במיוחד יצליח לענות 3042007 15% מגן o - 10% מגן עדיין לא הוגדר o על התרגילים מקבלים ציון, אבל נשמר בציונים רק 'עבר' / 'נכשל' צריך לעבור בכולם למעט ב 2 o ספר : אם קונים (או מורידים ( ספר אז את " Computation", Introduction to the Theory of Michael Sipser, PWS Publishing Company מה לומדים בחישוביות? עד עכשיו למדנו: Intro 1 איך להגיד למחשב מה לעשות a DAST 2 מחפשים מבני נתונים יעילים a אלגוריתמים 3 בעיות קשות a ועכשיו הגענו לחישוביות נעסוק ב: האם בעיה פתירה? 1 האם היא 'קלה' או 'קשה'? 2 מה המחשבים יכולים / אינם יכולים לעשות? 3 באיזה מחיר? b הקורס יחולק ל 3 : מודלי חישוב (אוטומטים) 1 חישוביות מה המחשב יכול לעשות / אינו יכול לעשות 2 סיבוכיות באיזה מחיר 3 סיבוכיות st, V נתון גרף מכוון G= יהו V, E מסלול אוילר האם יש מסלול מ s ל tהעובר על כל קשת בדיוק פעם אחת? 1 אוילר הוכיח כי יש רק 2 קודקודים עם דרגה אי זוגית, וכל השאר בדרגה זוגית לכן a הבעיה ניתנת לפתרון בזמן לינארי מסלול המילטוני: מסלול מ s ל tהעובר בכל קודקוד בדיוק פעם אחת? 2 צריך לבדוק את כל האפשרויות a נלמד סיווג של בעיות למחלקות סיבוכיות כדי שנדע לא לשאוף ליותר מדי קירובים / אלגוריתמים רנדומליים לנצל קושי (הצפנה) חישוביות נתון אריחים ( בלטות), t,, t כל בלטה מחולקת ל 4 צבעים, כך: 1 n

n כך שאריחים שכנים יסכימו על הצבע (צבעים אנו רוצים לדעת האם לכל n ניתן לרצף ריבוע n זהים) מותר להשתמש בכל אריח כמה פעמים שרוצים, אבל אסור לסובב אין אלגוריתם כזה מכיוון שהמשפט מדבר על 'לכל ', n ולכן אי אפשר לפתור זה דוגמא נוספת: מחפשים תוכנית המקבלת כקלט : 1 תכנית בjava (P) 2 קלט x לP ומכריעה האם היא עוצרת על x אי אפשר לכתוב תכנית כזו אנחנו נרצה לחלק את הבעיות ל'כריע' ו'לא כריע' Undecidable) (Decidable / מספיק מבוא להפעם נתחיל עם אוטומטים (Automata) אוטומט הוא : 1 מודל בסיסי - "מחשב עם זכרון מצומצם" דוגמא: יש עט ניתן לתת לעט 6 פקודות: ON,OFF, Right, Left, Down, Up רוצים: מערכת שמקבלת סדרת פקודות, ומכריעה האם המילה חוקית מייצרת,Skyline ומתחילה בon ומסתיימת בoff ) מה זה לא חוקי? UD 2 DU 3 4 אסור לחזור

בד"כ תסומן כ{ }=Σ σ,, σ לדוגמא: 1 n }, LR Σ= { OFF, ONU,, D, הוא א"ב (מה הגדרות: 1 אלפבית (א"ב): קבוצה סופית של אותיות, =Σ גם { 0,1} 4,Σ= { 0,1} שהשתמשנו בו קודם) מילה: סדרה סופית של אותיות =w המילה הריקה תסומן כ ε נסמן σσ σ 1 2 k Σ = w: wisword over Σ { } -L Σ כל המילים w כך ש M מקבל את w (מה זה 'M מקבל את w' ראה שפה 3 למטה) M = Q, Σδ,, q, F 0 אוטומט הוא חמישיה - 4 Q- קבוצה סופית של מצבים a - Σ b א "ב :δ c פונקציה δ :Q Σ Q פונקציית המעברים q Q מצב התחלתי d 0 -F Q מצבים סופיים (נציירם כעיגול כפול) e לדוגמא: 2 { } { 0,1 }, M { q, q, q},{ 0,1 }, δ, q,{ q } Σ= = δ 0 1 q q q 1 1 2 q q q 2 3 2 q q q 3 2 2 1 1 2 3 1 2 כאן האוטומט הוא: =w מעל Σ אנו מגדירים בהינתן מילה ww w 1 2 n r, r,, r כך ש: 0 1 n Q 1 q r = (הריצה מתחילה במצב ההתחלתי) ריצה של M על w כסדרת מצבים M 1 (האוטומט לעיל) על r לכן ריצה של w אם הריצה על w מקבל את M M 1 0 0 = δ r, w מתקיים 0 i n 1 i i 00110 תהיה q, q, q, q, q, q 1 1 2 2 2 3 r מקבלת אם rאחרת F rדוחה, n לדוגמא, ) 1 01 L( M i+ 1 + 1 2 לכל נאמר שהריצה מקבלת והאוטומט לפחות 1 אחד, ואחרי ה 1 האחרון יש מספר זוגי של אפסים" (האוטומט שציירנו קודם) נשים לב כי השפה של היא " שי

L M 2 הוא כל המילים המכילות את תת המילה 001 M 2 כך ש כעת נבנה בקוראנו מילה אנו יכולים להיות באחד מהמצבים הבאים: 0 לפני ש 001 מתחיל (בתחילת הקריאה, וכל פעם אחרי שנקרא '1' שלא בא אחרי 00) 1 קראנו 0 2 קראנו 00 3 קראנו 001 האוטומט יראה כך:, 0 n 1 לו היינו רוצים לבנות אוטומט המקבל את כל המילים w בהם w כהכללה של הקודם M = q,, q, 0,1, q, δ, q במקרה הזה מכילה את אזי הוא יראה δ δ n { 0 n+ 1} { } 0 { n+ 1} ( q,0) = q 0 1 ( q,1) = q 1 0 δ( i ) i+ δ( i ) ( q,0 n ) = qn ( q,1 n ) = qn+ 1 ( q,0) = δ( q,1) = q 1 i n 1, q,0 = q, q,1 = q δ δ δ n+ 1 n+ 1 n+ 1 1 0 L( M) = L לא נצליח M { 0 n 1 n : n 0} כעת נבנה אוטומט לשפה =L נאמר כי L Σ אוטומט) היא רגולרית אם קיים אוטומט סופי כך ש (אפשר לבנות לה Σ= 1 2 = { 1 2} = 2 2 { 1 2} L L = { w w w L w L } 1 2 1 2 2 2 1 1 L L w w L w L L L w w L w L concatentation = { 0, iw, L 1 2 k i } = L, שתיהן מעל 1,2,3,4} { 2 { 22,4444} L w w w k תכונות סגור של שפות רגולריות Σ נסמן L, L 1 2 בהינתן דוגמא: נניח כי שפות מעל, L = 1 { 1,333}

L L = 1 2 L L = 1 2 L L = 1 2 L = ε 1 { 1,333,22, 4444} { 122,14444,33322,3334444} n {,1,( 333 ) n,,}

1232007 פינת העברית : להפוך אוטומט לדטרמניסיטי חירצון ראינו בשיעור שעבר כי ניתן להמיר אוטומט NFA לDFA (בתהליך שנקרא,Subset Construction שהומצא ב 1959 ) ע"י הגדרת Q A' = 2, Σ, δ ', Q, F ' ( S c) = δ( sc) δ ',, s S { } F ' = s s F 0 לדוגמא (אוטומט שמכיל את כל המילים שמכילות 10) יהפך ל: על ידי שימוש באלגוריתם הנ"ל אפשר היה לצמצם אותו למצב יחיד) (נשים לב ששני המצבים הימניים הם בור מקבל, אבל די חורני נשים לב שהקפצנו את מספר המצבים באופן אקספוננציאלי נוכיח כי אין ברירה משפט: יש משפחה של שפות : כך שלכל n 1, L,, L 1 n L n 1 (n )O ניתנת לזיהוי ע"י NFA עם מצבים הקטן ביותר עבור צריך לפחות 2 n מצבים L n 2 ה DFA נשים לב: 1 המשפט אכן גורר את החסם התחתון

n 0 L,, L 1 n אם יש בניה פולימוניאלית, נפעיל אותה על המשפחה ומובטח שקיים 2 שעבורו נקבל סתירה (היה צריך משפחה לא די בשפה אחת) 1242#4 L 1222#3 L 13323#1 L 1##1 L 4 4 4 4 L n L = Σ והשפה היא: n { 1,2,, n,# } המשפחה : { n + } { σ,, σ } σ σ 1,, σ σ # σ 1 k 1 n = 1 k k+ 1 σ k+ 1 1 k (n )O מצבים עבור לדוגמא: ראשית, עלינו להראות NFA עם לדוגמא מנחש ש i היא האות האחרונה - הוא ינחש מה תהיה האות האחרונה מאחר ומספר המצבים כאן סופי, 2 n i ב n) O( מצבים A n ולא תלוי ב i, אזי אפשר ליצור אוטומט שמאחד את המקרים לכל DFA מצבים בשלילה, יש 2 n כעת, נראה כי DFA צריך לפחות יש שתי קבוצות עם פחות מ מצבים עבור כך ש ) s ) δ( q,, ( (כי יש 0 1 0 2 q= δ q s = { n} S S 1,, 1 2 L n 2 n קבוצות אפשריות) המקיימות

(q #i A n ( ( q,# ), i) נתבונן ב δ δ i s s 1 2 תבי אם - (לאן הולך (מבחירת בקוראו מהמצב (i s # i L 2 n, אבל s # i 1 s # i L 2 n, q F נקבל ש אם, q F נקבל שהריצה היחידה דוחה, בסתירה לכך שהמילה בשפה f : N N נחזור ל'נשים לב' לדטרמניזציה נתבונן ב תהי כאשר פונקציה פולינומיאלית שמתיימרת להיות חסם עליון L i קיים NFA 3i+ הוא מספר המצבים 2 של n i עבור f n 1, f ( n ) < 2 i סתירה i כך ש ( 0+ 1) 1( 0+ 1)( 0+ 1) ביטויים רגולריים דוגמאות: "1 במקום הלפני לפני אחרון" : 0 10 מילים עם 1 אחד בדיוק: ( + ) לפחות 1 אחד 0 1 0 1 1 2 3 Σ הגדרה פורמלית אינדוקטיבית: ב"ר מעל א"ב בסיס:, ε,a Σ הם ביטויים רגולריים, r, r r, r + r, r r 1 1 2 1 2 1 2, r, r 1 2 אם צעד: הם ביטויים רגולריים הם ב"ר כך גם כאשר Σ={ ab, } ( ΣΣ) L( r) Σ כאשר: L( ) = כל ביטוי רגולרי מגדיר שפה - = { ε} L ε - לדוגמא, כל המילים באורך זוגי - = { } L a a ( + ) = 1 2 1 ( 2) ( ) = 1 2 1 ( 2) ( 1 ) = ( 1) L r r L r L r L r r L r L r L r L r הערה: נהוג להשמיט את סדר פעולות:,, + (מימין לשמאל)

דוגמאות נוספות: ( 0+ 1) 0 - מילים שמסתיימות ב 0 i { 1,, n} ( + + + n) i( + + + ) 1 2 1 2 n # i L n מהוכחת החסם התחתון - { 0 n 1 n n 0} L= L= { ε,01,0011,} w= המילה 0 k 1 k מצבים נתבונן ב =r מעקרון שובך r r rr r k 0 1 k k+ 1 2k A שפות לא רגולריות: כך ש L A = L יש ל A טענה: אין ל DFAL הוכחה: בשלילה יש DFA מתקבלת ע"י A w יש ריצה מקבלת נתבונן בריצה ( 1) + 0 1 k j k q= r = r i j היונים קיימים 0 i< j k כך ש האוטומט מקבל גם את למרות שאינה בשפה (יש שרטוט שמבהיר, סביר שיש אצל דינה (לא היה לי כוח להעתיק אותו)) למת הניפוח : lemma pumping, יש חלוקה של w p w p 1 אם L רגולרית, אז קיים (קבוע הניפוח) כך שלכל מילה המקיימת =w x y z כך ש: w i xyz L, i 0 1 y > 0 2 xy p 3 L= ( 0+ 1) 0( 0+ דוגמא: (1 תנאי הלמה מתקיימים:, x = 0 w כך ש 3 w w ( 0+ 1) 0( 0+ - לכל 1) ניקח p= 3 נתבונן בחלוקה של כזו - y =1 - כלומר - i xyz L המילה,i 0 מתקיים: לכל 2 z (כי הניפוח לא i yz L זה מתקיים כי 1 נוגע בשתי האותיות האחרונות)

y 0 2 ( y = 1, x = 0 (כי xy 3 3

1932007, yz L xz L אבל לא מתקיים ~ 11 10 L z Σ x ~ L y איפיון שפות רגולריות, כך : הגדרנו לכל אזי 11 ~ 111 L ( 0 1) 0( 0 1) L= + + ~ L Σ Σ ראינו לדוגמא עבור כי L 101 אבל L 111 מתקיים ( z=1) ( 01 ~ 11 בנוסף, ) L - כי ε זנב מפריד בשלילה yz L אז x w x y אז ~ L ~ L y ~ L w ו x ~ L y נתבונן ב y z x x ~ L ~ L נשים לב : יחס שקילות נוכיח: מכיוון ש x Σ 1 רפלקסיבי לכל מתקיים 2 סימטריות - y y ~ x x ~ L L 3 טרנזיטיביות צ"ל לכל, yw Σ x, אם יש z כך ש wz L ו xz L (בה"כ) yz L מכיוון ש אז - סתירה z y ~ L נמצא את 2 [ w] = { x x w} ~ L ו 1 L Σ למחלקות שקילות L= ( 0+ 1) 0( 0+ 1) 01 L,ε ~ L על כן, היחס מחלקות השקילות של מחלק את המילים מעל ~ 0 L ~ L עבור נשים לב שקילות - לא מתקיים שכן לכן יש לנו לפחות מחלקות ~ L ( 0 1) 0,ε ( + בנוסף - בנוסף - 00 פותח מחלקת שקילות חדשה (הוא מקבל) 01 גם מחלקת שקילות ~1 L (בגלל ה ε 1 2 3 4 סה"כ מחלקות השקילות : Σ 1 0,10,, 10 1, ε,11, Σ 11 00, Σ 00 01, Σ 01 משפט : Nerode] [Myhill מספר מחלקות השקילות של רגולרית הוכחה: רגולרית מספר המחלקות סופי יהי (כמו שהוגדר לעל) סופי אמ"מ L L אוטומט דטרמניסטי עבור A= Q, Σδ,, q, F δ ( q x) δ 0, = q, y x ~ A y 0 0 2 3 4 ~ A כך - נגדיר יחס Σ Σ ( x, בקריאת y טענה: מספר מחלקות השקילות של גדול או שווה ממספר מחלקות השקילות של - xz L yz L לכל זנב, z (האוטומט מגיע לאותו מצב ~ L וזה מתקיים כי x ~ L y ~ A ~ A x y כך ש x, יהיו y δ q, xz = δ q, yz הוכחה: ) ( (מהגדרה) ולכן 0 0

, 2 הגדרה: זה כמו שנגדיר יחס refinment ('עידון') של 4 הוא 2 נאמר כי 4 הוא גם 4 - ברור כי כל מה ש ~ L 2 הוא הדומה ל ~ A, ו 4 הוא הדומה ל במקרה שלנו הוא מספר המצבים הישיגים ) יש מילה שמגיעה אליהן) DFA x ~ L y L ~ L ~ A 2 מחלקות השקילות של Q טענה 2: מספר של A, שהוא כמובן כיוון ועל כן, מספר מחלקות השקילות של מספר מחלקות השקילות של סופי סופי רגולרית נגדיר אם ~ L עבור L כך : ~ L : 2 A= Q, Σδ,, q, F : Q מחלקות השקילות של ([ x], a) [ xa] = δ נשים לב שההגדרה לא תלויה בבחירת הנציג (אחרת זנב מפריד משרה זנב מפריד אז ל x ו ( y - az ( q w ) [ w ] δ = 0, ya ל xa ל z נשים לב כי מתקיים וניתן להוכיח מאוד על w - ~ L :δ xa ya q = ε 0 [ ] {[ ] } F = w w L בקצרה את זה באינדוקציה 0 - האוטומט הוא בעצם כזה L= ( 0+ 1) 0( 0+ ניזכר ב (1 1 i i j 0 ~ 0 L שימושים של משפט :Myhill-Nerode 1 הוכחת רגולריות / אי רגולריות של שפות 0 n 1 כך ש 0 n אינה רגולרית n a דוגמא: i לכל i j N לא מתקיים אינסוף מחלקות שקילות ~ A - יחס מעל מילים 2 צמצום אוטומטים דטרמניסטיים - תלוי בשפה אפשר להגיע לשיוויון שכן זנב מפריד תלוי במימוש (באוטומט A) יש ~ L Σ

שפות לא רגולריות - שפות חסרות הקשר Languages Context Free דקדוקים חסרי הקשר ( A 0A1 A B B # יש בדקדוק : משתנים ), AB ( טרמינלים ) (0,1,# חוקי גזירה 1,) 0 משתנה התחלתי (A) A A דוגמא לגזירת מילה בשפה: A 0A1 00A11 000A111 000B111 000#111 first law first law first law sec ond law third law גזירת מילה בשפה: התחל מהמשתנה ההתחלתי 1 כל עוד יש במילה משתנים, מצא משתנה במילה והפעל את אחד מחוקי הגזירה הרלוונטיים 2 : עץ גזירה עבור 000#111 (Context Free Languages) CFL מחלקת השפות הניתנות להגדרה ע"י דקדוק חסר הקשר G= V, Σ, R, S Variables Ter min als derivation laws starting variables V ( V Σ) הגדרה: דקדוק חסר הקשר חוק גזירה נראה כך - אם wuv,, V Σ ו A w חוק בדקדוק, אז uav ' -uav uwv מייצר את ' uwv u= u u u = v עבור 1 כך ש u, u אם יש סד'רה u נאמר ש v 1 2 k 1 k

= { Σ } L G w S w w השפה של הדקדוק G {, } { 0,1} V = S A Σ= S A00 S A01 A ε 0 A 1A ( 0+ 1) 0( 0+ נכתוב דקדוק עבור (1 G= { S},{ ab, }, RS, R : S asb SS ε abab,aaabbb,aababb ')' =a ו '('=b אז היא מקבלת את כל עוד דקדוק: מה השפה? מכילה מילים כדוגמת : אפשר להגיד שזו 'שפת הסוגריים המקוננים חוקית' אם הסוגריים המקוננים בצורה חוקית n n = { 0} למה היא לא רגולרית? L G ab ab n בעוד רגולרית והצד הימני של השיוויון לא רגולרי, S A B A 0A1 ε B 1B0 ε { 0 n 1 n n n n 0} { 1 0 n 0} ab דקדוק עבור

E E+ E E E 0 1 9 2632007 דקדוקים רבי משמעות לדוגמא, 3 5+ יכול לגזור את 2 - ולא ברור למה הכוונה (סדר הפעולות) L( G) Σ E D+ E D E D 0 9 פתרון אחר יהיה - הגדרה: דקדוק הוא רב משמעי אם יש מילה w עם שתי גזירות שמאליות ביותר שונות נשים לב יש שפות שכל דקדוק שגוזר אותן הוא רב משמעי { 0 n 1 n 2 n תזכורת: 0}, { 01 i j 2 k נתבונן ב k} i j j L= n CFL ' L= = = L L', אבל לא ההפך n n n n { n } { } ברור ש נשים לב כי 0 1 2 0 2 = 0 1 -L' ואז אפשר לגזור זאת כך S S S 1 1 0 0 1 2 0 0 S TR T 0T 1 ε 1 1 0 0 R 2 R ε S LT 2 2 0 0 T 1T 2 ε 2 2 0 0 L 0 L ε הדקדוק רב משמעי: יש שתי גזירות שמאליות שונות לכל מילה בL אין דקדוק חד משמעי כי דקדוק כזה 'דומה' לדקדוק עבור L שאינה חסרת הקשר

אוטומטי מחסנית Automata) PDA (Pushdown http://hewikipediaorg/wiki/%d7%90%d7%95%d7%98%d7%95%d7%9e%d7%9 8_%D7%9E%D7%97%D7%A1%D7%A0%D7%99%D7%AA נוסיף מחסנית בעומק לא חסום האוטומט קורא את מילת הקלט, וגם את האות בראש המחסנית זה קרוב למחשב, עם הבדל שלמחשב יש גישה אקראית, לא רק מחסנית 0 n 1 n נכתוב PDA עבור בקריאת 0, נדחוף 0 למחסנית בקריאת 1, נשלוף מהמחסנית A= Q, Σ, Γ, δ, Q, F 0 ( { }) { } נגדיר פורמלית: PDA נוסף כאן אלמנט נוסף א"ב המחסנית נסמנו ב Γ (גאמא גדולה) נשים לב ש δ נהפכת לפונקציה ממש יפה: δ : Q Σ ε Γ ε 2 Q,ε σ ( { ε} ) Γ q', γ ' δ, σ, γ נשים לב ש ) q ( אז A עובר למצב משמהו שכשA במצב q, קורא γ, דוחף במקומה את והאות בראש מחסנית היא - כלומר כשA במצב q ותוכן s' qs, γ ' 'q, שולף את קונפיגורציה של A: מצב + מחסנית s= abc לדוגמא -s Γ נאמר ש s' q', אם לעבור ל' q σ, היא σ עוקבת ל ולעדכן את המחסנית ל (מחליפים את האות a Γ { ε} qs, q', s' σ המחסנית הוא s, אז יש אפשרות לקרוא העליונה ל b) זה אפשרי אם s ניתן לחלוקה ל a t כאשר ו t Γ כך ש: w כך ש c,, c 0 n ( q a) q', b δ, σ, s' = b t : w Σ סדרה של קונפיגורציות ריצה של A על מילה כ w w ו{ ε ( w Σ { ו i 1 m q Q עבור c q, 0 0 0 0 לכל 0 i m 1, הקונפיגורציה c היא 1 + 1 c i עוקבת ל ניתנת לכתיבה w i + c m היא מקבלת i q Q 0 עבור q F q, ε qs, קונפיגורציה התחלתית: קונפיגורציה מקבלת: ריצה מקבלת: הריצה עבור cמקבלת,, c אם 0 m ( n N ) 0 n 1 n אחרי ההגדרה האינטואיטיבית הנ"ל, הגיע הזמן לתאר את

A= Q, Σ, Γ, Q, δ, F 0 4 { }, { 0,1 }, { 0,$ }, F { q, q } Q= q Σ= Γ= = i i= 1 1 4 $: אות שנהוגה לסימון תחתית המחסנית q 2 q 2 פשוט נשים $ בתחתית המחסנית ב q 1 ל הרעיון - מ, q 3 ונוריד 0 מהמחסנית ככל ברגע שנראה 1 נעבור ל נערים אפסים כמספר האפסים שקיבלנו $ בהתחלת המחסנית) נרשום את המעברים פורמלית - q,, q,$ 1 ( 1 ) { 2 } = ε δ ε (הוספת q, ε עוקבת ל ε היא q,$ נאמר כי a 1 2 0, 2 q - q,0, לא משנה מה יש בראש המחסנית, אני אדחוף 0 אם קיבלתי 0, q 3 ולא עובר ל, q 3 ולא נשאר ב ( 2 ) { 2 } δ ε = q היא 0 עוקבת ל,0$ q נאמר כי,00$ a 2 2 3, q - q,1,0 = כשאני קורא,1 אני לוקח 0 מראש המחסנית, δ δ { ε 2 3 } מכניס כלום במקום q,1,0 = q, - כשאני קורא, 1 אני מוציא 0 מראש המחסנית, { ε 3 3 } מכניס כלום במקום q,,$ = q, { ε 3 4 } δ ε 4 5 נשיםלב שלא הגדרנו ) 3 $,1, q - δ ( זה מדבר על מקרים בהם יש יותר 1 מ 0 R { } L= w w w Σ ε- אצל דינה 0011 תיאור הריצה של האוטומט על ε כעת נכתוב אוטומט מחסנית לפולינדרומים באורך זוגי הרעיון לדחוף את האותיות הנקראות למחסנית כשננחש שהגענו לאמצע, נוציא אותיות מהמחסנית ונוודא שהן מסכימות עם אותיות הקלט

q 2 - מה שאנו מנחשים שהוא החצי הראשון q- 3 קוראים את החצי השני הדגמת הריצה (המקבלת) ε 0 1 1 ε q, q,$ q,0$ q,10$ q,110$ ( ε 1 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ε 1 1 0 ε ( q,110$) ( q,110$) ( q,10$) ( q,0$) ( q,$) ( q, ε) 3 3 3 3 3 4 { (מילים באורך זוגי / 0) החצי הראשון שווה לחצי השני L= ww w Σ נתבונן ב } זוהי לא שפה חסרת הקשר, קיימת חלוקה w p כך ש w L למת הניפוח לשפות חסרות הקשר אם L שפה חסרת הקשר אז יש 1 p w= המקיימת : uvxyz כך שלכל מילה i i uvxyz L, לכל i 0 vy > 0 xyz p 1 2 3 רעיון ההוכחה: נתבונן במילה w ארוכה יש ל w עץ גזירה יש מסלול מ S לטרמינל, ויש משתנה R שחוזר במסלול לפחות פעמיים נתבונן בחלוקה המושרית מהעץ ונטען שהיא מקיימת את התנאים: S -uxz L יגזור את uxz (ציור אצל דינה) 1 עבור -i= 0 2 עבור - ידוע שS גוזר את וכי, ואפשר לבצע זאת אינדוקטיבית R vry urz i>1

2852007 נכון לעכשיו, לא יהיה בוחן בהמשך הקורס מה כן יהיה בהמשך הקורס: ככה"נ המבחן יזוז ב 3 שבועות קדימה חומר הקורס: 1 אוטומטים, שפות רגולריות, חסרות הקשר, 2 חישוביות 3 סיבוכיות 4 העשרה יום שישי שיעור השלמה בין 9:00 ל 11:00 נדלג על ההוכחה ששפות חסרות הקשר שקולות לאוטומטי מחסנית וכאן נסיים את החלק הראשון, של אוטומטים בשל השביתה, נוותר על ההעשרה כעת נתחיל את תורת החישוביות תורת החישוביות ראינו שני מודלי חישוב - NDFA שפות רגולריות PDA שפות חסרות הקשר Σ= { 0,1,# } נגדיר מודל בשם מכונת טיורינג (באופן לא פורמלי כל מה שמחשב יכול לעשות) נגדיר שפה: { # ( 0 1) } L= w w w + L אינה חסרת הקשר, ולא רגולרית אבל קל לכתוב תכנית שמקבלת כקלט מילה מעל ופולטת 'כן' אממ המילה בL המודל: מכונת טיורינג (1936 Turing, (Allan סרט עבודה אינסופי יכולת לקרוא ולכתוב מ/על הסרט יכולת לזוז עם הראש הקורא ימינה ושמאלה מצבי קבלה ודחיה בואו ונתאר באופן לא פורמלי מ"ט (מכונת טיורינג) עבור { # ( 0 1) } L= w w w + ניקח את הסרט ('נייר טואלט אינסופי' ש) עליו כתובה המילה מה נעשה? M פועלת כך: סורקת את הקלט ומוודה שיש # אחת בדיוק אם לא, דוחה נזגזג בין מיקומים תואמים בסרט הקלט תואמים התא הראשון, והתא הראשון אחרי ה# o אחר כך: התא הראשון הלא מחוק, והתא הראשון הלא מחוק אחרי ה# o אם מסומנים באותה אות, מוחק אותם וממשיך אחרת, דוחה o כשנמחקו כל התאים משמאל ל#, בודק האם יש תאים לא מחוקים מימין אם יש, דוחה אחרת מקבלת

0 0 1 0 # 0 0 1 0 0 1 0 # 0 0 1 0 0 1 0 # 0 1 0 דוגמא לריצה על 1 וכך הלאה M = Q, Σ, Γ, δ, q, q, q 0 states input Work Alphabet Alphabet לדוגמא - ', כותבת b במקום ה a { LR, } accept reject מכונת טיורינג הגדרה פורמלית: Q מצבים - Σ א "ב קלט (אינו כולל את האות 'רווח' _) - Γ א "ב עבודה (תמיד מתקיים,(Σ Γ וגם Γ _ (רווח) :δ עבור מכונה דטרמניסטית: Q Γ, Q Γ כאשר, bl -δ qa, = q', כש M במצב q וקוראת וזזה עם הראש הקורא תא אחד שמאלה Γ עבור מכונה לא דטרמניסטית:, a היא עוברת למצב δ : Q Γ 2 Q קונפיגורציה של מ"ט המצב 1 תוכן הסרט 2 מיקום הראש הקורא 3, uv Γ uqv, היא קונפיגורציה שבה: תאור קונפיגורציה: בהנתן מצב q ומילים המצב הוא q תוכן הסרט u v הראש הקורא מצביע על האות הראשונה בV קונפיגורציה התחלתית: qw (על מילת קלט w) 0 (ניתן להתייחס לזה כ qw (עם רווחים עד אינסוף)) 0 (דוחה) (מקבלת) או שהמצב הוא קונפיגורציה סופית: המצב הוא q rej q acc קונפיגורציות עוקבות: ככה"נ אצל דינה יש המשך 1

ו ) ( δ qb, = q', cl, qq, ' Q,uv Γ,, abc Γ,, uaqbv uqacv ' uaqbv uacqv, cr δ qb, = q', אזי ' יהיו אזי אם c k,( c = qw 0 0 c 0 התחלתית ) qbv qcv ' מקרה פרטי: הראש הקורא מצביע על התא השמאלי ביותר: qbc cqv ' c,, c כך ש 0 k c i הראש לא נופל, פשוט מתעלמים מההוראה שמאלה: w,i 0 M מקבלת את מקבלת, ולכל אם קיימת סדרת קונפיגורציות + c עוקבת ל i 1 השפה של M, מתקיים כי - המילים שL מקבלת L( M) Turing ) L נאמר ש Mמזהה את L אם L M = L שפה L היא Recursively Enumerable (Recognizable אם קיימת מכונת טיורינג המזהה את נשים לב: יש שלושה גורלות אפשריים לריצה: 1 מגיעה לקונפיגורציה מקבלת 2 מגיעה לקונפיגורציה דוחה 3 אינסופית (LOOP) נאמר שM מכריעה את L אם M מזהה את L ובנוסף M עוצרת על כל הקלטים נאמר ששפה L היא Recursive אם קיימת מ"ט המכריעה אותה (נשים לב R RE באופן ברור (אם יש מכונה המכריעה, אז היא מזהה)) נראה בעתיד כי { 0 n 2 n 0 } L= R RE דוגמא: M שמזהה את (מילים שמספר האפסים הוא חזקה של 2) 8 16 L= { 0,00,0000,0,0,} Good k n N, k= 2 n הרעיון: נגדיר פרדיקאט מעל הטבעיים k Good( k) k= 1or good 2 נשים לב כי לכן, M תפעל כך: סרוק את הסרט משמאל לימין, מחק כל 0 שני א אם היה בקלט בשלב א' רק 0 אחד, קבל ב אם היה בקלט בשלב א' מספר אי זוגי של אפסים, דחה ג חזור עם הראש הקורא לתחילת הסרט ד לך לשלב א' ה M = Q, Σ, Γ, q, q, q Σ= { 0} 1 acc rej תאור פורמלי של המכונה:

Γ= { 0, _, } {,,,, 1 5 acc rej} Q= q q q q q 5 הערות: - הופך את ה 0 הראשון לרווח - מספר האפסים עד כה זוגי q 1 q 3 q 4 - מספר האפסים אי זוגי עד כה נישאר בלולאה של q, q עד שנגיע לרווח (מסמן את סיום המילה) 3 4 אפסים ו xים, עד שנגיע לרווח הראשון מחלקות : RE יש מ"ט שמזהה (יתכן ונתקע בלופ) R יש מ"ט שמכריעה (לא נתקע בלופ) Σ L RE כך ש L כל השפות : co RE יקח אותי שמאלה כל עוד יש הגדרה: L co RE L RE משפט: R= RE co RE כיוון אחד: אם, L R אזי, L RE ולכן L co RE (אפשר לקבל מ"ט שמקבלת משלים של שפה על ידי החלפה בין המצב המקבל והדוחה ממ"ט שמכריעה את L) כיוון שני:

162007 התיזה של Church וTuring 1900- Hilbert David נתן 23 בעיות פתוחות במתמטיקה רובן הגדול כבר נפתר (נותרו 10 שעדיין פתוחות) אפשר לחפש על ידי Problems' 'Hilbert בgoogle הבעיה העשירית של Hilbert הבעיה: לתאר אלגוריתם שבהנתן פולינום במספר משתנים, P יכרי האם יש ל P שורש שלםלדוגמא 3 2 2 3 ( y= 5, y= 3, z= 6x yz + 3xy x יש שורש שלם (לדוגמא 0 האם ל 10 אלגוריתם עבור הילברט תהליך שאיתו ניתן להכריע אחרי מספר סופי של צעדים היום יודעים שאין אלגוריתם כזה התזה של Churh וTuring : אלגוריתם Maching Church) Turing לא דיבר על מכונת טיורינג, אלא על משהו דומה, שנקרא (λ calculus L= { p p is polinom with round square} קל לראות: L RE (נניח שיש ל m p משתנים נעבור על כל הערכים האפשריים ל m המשתנים מאחר ומדובר בוקטור של מספרים בני מניה, אין שום בעיה למצוא לוקטור הזה סידור)? L בניסוח הפורמלי הבעיה העשירית היא בעצם R x 0, x 0 אז קיים גם שורש (נשים לב, עבור 1=m, הוכיחו שהבעיה היא ב, R מאחר ואם קיים שורש c c max max c 1 מקדם ראשון) c max מקדם מקסימלי, k - k מספר הביטויים, המקיים k x < 0 c c 1 1 נניח שיש לנו את התזה של Church וTuring (ישכנעו אותנו בתרגולים) תאור אלגוריתם ע"י מכונת טיורינג: 1 תאור פורמלי - Γ = Σ M Q,,, 2 3 - 'זה איכסה, לא עושים' רמת המימוש תיאור בשפה עילית של פעולת מכונת הטיורינג מחק את הסרט a כתוב על הסרט b סרוק את הסרט c d רמה אבסטרקטית תאור האלגוריתם בשפה טבעית x בעיה: אלגוריתמים רצים מעל גרפים, מטריצות, מכונות טיורינג מעל שפות (א"ב Σ) פתרון: קל לקודד נסמן x כדי לסמן קידוד של העצם נשים לב שאין בעיה לקודד מ"ט במ"ט מ"ט המכריעה האם גרף לא מכוון הוא קשור A= G גרף לא מכוון קשיר G - { } M פועלת כך: על קלט G המקודד גרף, אם מילת הקלט אינה מקודדת גרף, דוחים בחר קודקוד V וסמן אותו: חזור עד שלא מסומנים קודקודים חדשים לכל קודקוד ב G, סמן אותו אם אמ"מ יש קשת בינו לבין קודקוד מסומן o

עבור על כל קודקודי G, אם כולם מסומנים קבל, אחרת דחה ענייני מימוש: סמן אותו לדוגמא, אם רשמנו את הגרף כך - האות σ הראשונה בקידוד של,v # v $ v, v 1 2 1 2 v (הקודקוד שאנו מסמנים), באות σ σ σ - לפי סדר, נמצא קודקוד לא מסומן, נסמן אותו כ'קודקוד נבדק' (לדוגמא אפשר להחליף את ( שפות / בעיות כריעות בעיות מתורת האוטומטים: 1 בעיית השייכות: בהנתן A, DFA ומילה w, האם? w L A 2 בעיית הריקנות: בהינתן,A DFA האם A?L LDFA שתי הבעיות בR בואו ונוכיח טענה: { A, w ArepresentsDFA, and w L( A) } =, תסמלץ ריצה של A על w L R DFA A w על קלט :M נעבוד עם 3 סרטים: A w 1 2 3 שני מסמל את המצב שלישי מסמל את מיקום הראש הקורא על המידע אם הסימולציה הסתיימה במצב מקבל, קבל אם במצב דוחה, דחה אם האוטומט הוא לא דטרמניסטי : 1 אופציה א' M תייצר אוטומט דטרמניסטי שקול 2 אופציה ב' לתחזק סרט ובו המצבים שבהן A עשוי להיות בריצה כלשהיא עבור מיקום הראש הנוכחי אי כריעות משפט: יש שפה L R הוכחה (משיקולי ספירה) 'למתחכמים': קבוצה A: כל השפות מעל (אותה עצמה כמו תתי קבוצות של וקטור מעל 0 א 2 - (0,1 { 0,1} מניה קבוצה :B מכונות טיורינג המתארות שפה בR מ"ט קידוד סופי בר מניה על כן - A B < ועל כן, יש L R הוכחה על ידי דוגמא: נגדיר = M, w M representsaturingmachineandm, w = accept { } נטען כי A R (נשים לב כי - A RE ניתן פשוט למסלץ, ואם w מוכל ב ) ( נעצור) - לא בר A, L M אז נשים לב כי נובע כי A RE A { M, w M representsaturingmachinem, ( W) acc} = )

ו (נשים לב בהשלמה, היינו צריכים לקחת גם את כל מה שהוא לא קידוד של מכונה, אבל מזה אנו מתעלמים) זה נכון גם אינטואיטיבית איך אפשר לדעת אם מכונה לא עצרה על מילה? אולי היא עוד תעצור? הוכחת הנשים לב:, A RE ונראה כי A R אם A RE אזי, A co RE ואז A R (מההוכחה מהשיעור הקודם), בסתירה כעת נוכיח כי A R נניח בשלילה כי, A R ועל כן יש מ"ט H שמקבלת קלט, M, w D M (, ) H M w M Accept, M w = accept = Re ject, M w accept מH נבנה מ"ט D, שמקבלת כקלט תאור של מ"ט טיורינג ופועלת כך: H( M M ) accept, M M = accept = reject, M M accept M, היא תריץ את M תפעל כך בהינתן קלט D נבנה 'D שמקבלת כקלט תאור של מכונת טיורינג, q rej q acc D' D' M מ D reject, M M = accept = accept, M M accept ו נתבונן בריצה של על מתקבלת מD ע"י החלפת ו הגענו ( ' ) D' D reject, D' D' = accept = accept, D' D' accept D' D' לסתירה

462007 כי ראינו קודם בשיעור A { M, w MrepresentsTuringmachine w L( m) } = A R לפרטים שיעור קודם, או דינה (יש שרטוט יפה, שאין לי כוח להעתיק) 0 q כי ראינו מכונת טיורינג אוניברסלית מושג: מ"ט אוניברסלית מסומנת בדרך כלל בשם U: מ"ט המקבלת כקלט מכונת טיורינג M ומילה w על M ומסמלצת ריצה של w איך U פועלת? U פועלת כך בעלת שני סרטים (ראינו שזה שקול למ"ט עם סרט אחד בתרגול) סרט הקלט: 1 (סרט הקלט) M, w 2 הקונפיגורציה הנוכחית של M על w (סרט הסימולציה) בהינתן M, w המכונה U כותבת qw על סרט הסימולציה בכל שלב, U קוראת מה המצב הנוכחי a והאות שהראש הקורא מצביע עליה, הקונפיגורציה בהתאם U, q acc מקבלת אם M מגיעה ל U, q rej דוחה אם M מגיעה ל אם M לא עוצרת לעולם, U לא עוצרת לעולם נגדיר δ מחפשת את ( qa, ) { } L = M, w M stopsonwin 5steps ברור כי 5 ואם לא עצרנו תוך 5 צעדים, אז נדחה) בעיית העצירה: בסרט הקלט ומעדכנת את L R 5 { M, w M stopsonw} (שכן אפשר לסמלץ, HALT = A ברור כי HALT R (שקול למה שראינו בשיעור הקודם אם היינו יודעים להכריע בשאלה זו, היינו מכריעים את זוהי רדוקציה) טריוויאלי לראות ש HALT RE A 1 מהי הרדוקציה? HALT אז היינו - A לו היינו יודעים להכריע את HALT קשה לפחות כמו הרעיון נראה ש A מצליחים להכריע גם את משפט: HALT R S נייצר מ"ט HALT הוכחה: בשלילה, HALT R ועל כן קיימת מ"ט R המכריעה את המכריעה את כך: M, w מריצה את R על אם R דוחה (כלומר, M לא עוצרת על w M < - 2 משל את S w), תדחה אם R מקבלת, M עוצרת על S w מריצה את M על מקבלת), וS תדחה / תקבל בהתאם לריצה של M על w מובטח שתעצור w לא מקבלת R (כי

עוד שפה שאינו כריעה (ופותרת תרגילי בית בחצי הראשון של הקורס) Re gular = M L M isregular { } A Regular R A טענה : הוכחה: (רדוקציה מ המקבלת - נראה שאם זה אפשרי, רגולרית, ולא אחרת היתה כריעה) נניח בשלילה שיש מכונה R L( M ') (, ומחזירה כן אם (M )L M איך נבנה מR כזו את רגולרית אמ"מ? (באיזה מכונה ' M (והקלט שלה) נאכיל את R כך שבאמת M, w, M w ) A, M w A נבנה מהקלט M, w אם מהצורה את ' Mשתפעל על קלט x כך: M ', 0 n 1 מקבלת את x (נשים לב מתעלמים מהקלט n w מקבלת את M אמ"מ x ומקבלת את w על M מריצה את M ' x אחרת, הקלט, כזכור ובמקרה זה, היא מתעלמת מהקלט שלה x, אבל תלויה ב M w ש ' Mלא תעצור) נשים לב: L M = n n אם M לא מקבלת את, w אז n REG הם יתכן, ( ') { 0 1 1} { } ( ') ( 0,1) L M M( M ') ) L( M ') ) = REG אם R מקבלת : מR A A, w אז 1 2 אם M מקבלת את כלומר, הצלחנו לייצר את איך בדיוק? כך פועלת המכונה S שמכריעה את M '( mw, ) M ' M, w מייצרת את מריצה את R על אם R דוחה רגולרית), ואז S מקבלת לא רגולרית), S דוחה A R f : Σ Σ 1 2 בשלילה לכך ש פונקציה ניתנת לחישוב היא פונקציה ניתנת לחישוב Function) (Computable אמ"מ קיימת מכונת הגדרה: f ( w) M f, w Σ כך שלכל קלט M f x, y עבור f : x# y x+ y טיורינג דוגמא: נשים לב, שזו יכולה להיות עוצרת עם על הסרט באונרי (או בינארי, או כל בסיס אחר) f : TuringMachine TuringMachine מ"ט ' M כך ש ' M לעולם לא מנסה לפול שמאלה מהסרטגם זו פונקציה ניתנת A ( אם יש פונקציה ניתנת B m ) נסמן B Σ w A f w B = f M לחישוב רדוקציות מיפוי הגדרה: שפה A Σ לחישוב ניתנת לרדוקצית מיפוי כך שלכל, w Σ f ( Σ ) Σ רדוקציה: המרה של שאלות על חברות בA לשאלות על חברות בB (בד"כ כי הוכחנו כבר משהו על B)

w Σ f ( Σ ) Σ, ו, B R אז A R A B m M B משפט( 1 ): אם הוכחה: בהינתן שמכריעה את נבנה ופונקציה שניתנת לחישוב שמכריעה את A כך שלכל f ( w) M B M A f ( w) f ( w) B w A M A על קלט w, מחשבת את ומריצה את על A ו A R אז B R (חסם תחתון) משפט (2): אם B m הוכחה: נובעת לוגית מהמשפט הקודם נשים לב: זהו כלי מרכזי להוכחת אי כריעות! HALT נפרמל את הדוגמא שראינו לאי כריעות נוכיח כי, A HALT ועל סמך משפט 2 והעובדה ש A R ינבע ש HALT R f : M, w HALT M, w A f m עלינו להראות פונקציה ניתנת לחישוב כלומר, זוהי כך ש תחזיר ' M ו' wכך: f M, w M ', w' (, ), - בהינתן M, w חישוב f M w חישוב ' M- על קלט x: x על M מריצה את M ' 1 אם M מקבלת (את x), גם ' M מקבלת 2 אם M דוחה (את 'M x), נכנסת לloop 3 את 'w נגדיר כ w M f, M w A M ', w HALT ) M) ( f ( כזו ש מייצרים ' M אם אז אמ"מ M ', w HALT M ', w HALT, M w A אם M, w A אז (שלב 1 לא יסתיים, או שנגיע לשלב 3)

t = 3 0 (אולי יהיו תרגולי חזרה) 1162007 הודעות: ביום שישי תרגול חזרה לא יהיו עוד שיעורי השלמה לא תהיה הרצאה בשבוע לפני המבחן HV, T T בעיית הריצוף נתון, T = t t (מסמן איזה בלטות אפשר לשים ליד השניה), (מי H = { } 0,, k {( 2,1 ),( 1,2 ),( 2,3) 1,2,3} { =,T ו } {( 1,2 ),( 3,2 ),( 2,3) } הראשון) לדוגמא: מי) ו (בכיוון האופקי את מי מותר לשים מעל = V (מסמן את מי אפשר לשים אחד ליד השני בכיוון האנכי) n n אפשר לרצף בגודל n TILE= T, HV,, t n 1exists n nlegal tile השאלה: האם לכל { 0 נגדיר } ε ε ( TILE RE HALT ε M נטען: TILE (ועל כן { ' ε} (נשים לב - RE HALT = M M doesntstop on T, HV,, t 0,M Already seen כלומר עלינו להראות כי בהינתן ניתן לייצר כך שM לא עוצרת על אםם T, HV,, t TILE הרעיון: נמפה בין הסרט של מכונת הטיורינג לבין הלוח 0 a ( q0 ) ( q ) 0 1 1 ( q, _) q, R q, R, 1, _ ( q, _) ( q, a, R) δ = 0 1 TILE T HV t n exists n nlegal tile אם נשים לב ש{ 1,,, { = 0 שקול ל יש ריצוף חוקי לכל רבע המישור (ע"פ הלמה של קניג) איך נבנה את הלוח: 1 מרצפות השורה הראשונה בלוח: ( q ), _ 0 _ a השמאלי ביותר -

(c Γ = δ נוסיף מרצפות: c Γ q q, q acc rej ( qa, ) ( q', br, ) b _ ( q', R) ( qa, ) ( q', c) ( q', R) c b כל השאר - מרצפות המעברים: 2R: a לכל מעבר עבור כל Γ +1 i ii (המעבר תרם מרצפות חדשות) נוסיף מרצפות: (לכל ( q', c) ( qa, ) ( q', bl, ) = δ כך ש ( q L) ', c a, a ( q L) b ',, a מרצפות ( qa, ) 2L: לכל מעבר i מרצפות ריפוד: לכל b c 2 t = ( q R) ( q ) 0, 0 0 0 0 0 0 ( q R) ( q ) 0 δ δ דוגמא: ( q, _) = ( q, br, 0 0 ) ( q, b) = ( q, br, ) 0 acc המכונה כותבת b עד אינסוף המרצפות: ( q R) _,,,,, _ q, _ q, b _ b,,,,, _ b _ b b

עוד בעיה בלתי כריעה Post correspondence problem (PCP) פלט: האם ניתן לארגן?match (המילה הרשומה למטה זהה ab נתון: אוסף אבני דומינו כל אבן לזאתי למעלה) b a ca abc לדוגמא:,,, P= יש :Match ca ab a c a b ca a abc abcaaabc ab ca a ab c abcaaabc a (מותרות חזרות) טענה: PCP P There exists match RE \ R { } = A M סיפסר הוכיח ש PCP

תורת הסיבוכיות REG, איפיון :1 CFL איפיון 2: כמה משאבים צריך כדי להכריע את השאלה? לא נלמד (תחילת 7 בsipser ) סיבוכיות אסימפטוטית { 0 n 1 n n 0} דוגמא: אלגוריתם להכרעת השפה =L w ( 0+ 1) נוודא ש 0 w 1 כל עוד אפשר, נמחק 0 ראשון ו 1 ראשון נקבל אמ"מ המחיקות של ה 0 ים וה 1 ים הסתיימו בו זמנית בהינתן 1 2 3 t( n) 2 (O( n ) ) n 2 O( n) שלב :1 n) O( שלב 2: כל מחיקה שלב 3: מחיקות אפשר ב (n )O O( 1) 2 בסה"כ ) n )O אפשר פחות? עם שני סרטים, סרט יחיד, הרצה בזמן (מכונה עם שני סרטים, חציה ב 2, חזור) הרצה בזמן מכונה עם 2 (t n ב ) log ( O n n (הסכמה על זוגיות, 1 2 לא ניתן nlogn) o( ידוע L ניתנת להכרעה ב nlogn) L o( רגולרית L = ) ( ) = { } (O t( n) נגדיר : L TIME t n הרצה בזמן ניתנת להכרעה ע"י מ"ט דטרמניסטית בעלת סרט יחיד { 0 n 1 n לדוגמא: nlogn) n 0} TIME( = L ניתנת להכרעה ע"י מ"ט אי דטרמניסטית בעלת סרט יחיד הרצה ( ) = { } בזמן n) O t( NTIME t n L : נאמר שמכונת δ : Q Γ 2 Q Σ עוצרים, Γ נגדיר מכונת טיורינג אי דטרמניסטית במכונה אי דטרמניסיטית טיורינג אי דטרמניסטית מכריעה שפה אם כל החישובים על מילים ב וזמן הריצה של המכונה מוגדר כ: מספר הצעדים המקסימלי בחישוב כלשהו נשים לב, שריצה של מכונה אי דטרמניסטית היא עץ של קונפיגורציות טענה: לכל מ"ט אי דטרמניסטית הרצה בזמן קיימת מכונת טיורינג דטרמניסטית שקולה הרצה t n 2 t n בזמן

- המחלקות P וNP כלומר, קבוצת השפות הכריעות בזמן פולינומיאלי על ידי מכונת טיורינג k N k P= TIME n דטרמניסטית - כלומר, קבוצת השפות הכריעות בזמן פולינומיאלי על ידי מכונת טיורינג k N k NP= NTIME n אי דטרמניסטית? P= השאלה המעניינת היא NP

P= NP = k 1862007 k ראינו P TIME n (קל להכריע) - קל לאמת = NP NTIME n k k ו ) ( ידוע כי P NP לא יודעים אם NP P נדבר על בעיות NP שלמות NPC נאמר כי L NP C אם נמצא פתרון פולינומיאלי לL, אזי נוכיח כי x z) -ψ = ( x y) ( רוצים לדעת אם היא P= NP משפט: 3SAT P מה זה אז? 3SAT בעיית הספיקות: נתונה נוסחה x= 1, y= 0, z= ספיקה השמה מספקת (עד קצר) היא 0 { 1,0} not, or, and משתנה בוליאני : מקבל ערכים פעולות בוליאניות - נוסחה בוליאנית מתקבלת ממשתנים בוליאניים ע"י הפעלת פעולות בוליאניות לדוגמא B 0 1 Var B B B B B Var x, y, z sfika) = ספיקה) כלומר, יש השמה ששווה לאמת w Σ f : Σ Σ SAT f : Var { 0,1} = { ϕ ϕsfika} הגדרות: השמת אמת - בעית הספיקות: רדוקציה פולימוניאלית A - קיימת פונקציה ניתנת לחישוב ראינו B כך שלכל מתקיים ניתנת לחישוב בזמן פולינומיאלי אם יש מ"ט דטרמניסטית M העוצרת בזמן פולינומיאלי w) t( צעדים) f : Σ Σ, ו t פולינום, ולכל M, w עוצרת אחרי m w A f w B t : N N ) - קיימת פונקציה ניתנת לחישוב בזמן פולינומיאלי w A f w B f : Σ Σ f ומחשבת כך שלכל A הגדרה: B P w Σ מתקיים f ( w) w A P B P ו A B P משפט: אם אזי הוכחה: עלינו להראות מ"ט הרצה בזמן פולינומיאלי ומכריעה את A על קלט ומריצה את המכונה של B על מחשבת את f ( w) ( x x x 1 2 3) ( x x x 1 3 4 ) () :3CNF צורה נורמלית לנוסחאות בוליאניות לדוגמא: ( x i x i או ליטרל משתנה או שלילתו ) פסוקית - על מספר ליטרלים נוסחא ב (conjunctive normal form) CNF היא ( and )של פסוקיות

sfika) = ספיקה) L' L p על שום מה ה 3? כי בכל פסוקית יש 3 ליטרלים is written at CNF and sfika { ϕ ϕ } 3 SAT = 3 ידוע: 2CNF P הגדרה: שפה L היא NP) NP-complete שלמה) אם: L NP (חסם עליון) 1 2 L היא NP) NP hard קשה) (חסם תחתון) a מה זה : NP-hard לכל בעיה L NP מתקיים ' ( NP hard ובפרט NP C? N = NP (נכון כי L היא משפט: L NP Complete ו L P אז L' הוכחה: תהי 'L בעיה בNP מכיוון ש L p ( L' ו, L P אזי P for i= 1 to n HV, T T תזכורת מהתרגול: בעיית הריצוף החסום קלט: קבוצה סופית T של אריחים יש לנו גם את t t T תנאי שכנות במאוזן ובמאונך n) צריך להיות בשורה ה t fin ) t init צריך להיות הראשון,, fin init נתון באונרית {,,,,, } init fin BT = TV H t t n existslegaln ntile n נגדיר הבהרה: חשוב להבין: print הוא אקספוננציאלי אם n נתון בבסיס 10!!!!! למה? אם הקלט הוא 9999, הקלט הוא באורך 4, וזמן ריצה הוא 9999 לעומת זאת, אם n נתון באונרי, זה יהיה כמובן לינארי 2 מדוע? BT NP גודל העד n ו n נתון באונרית גודל העד פולינומיאלי בקלט, ניתן לבדיקה בזמן פולינומיאלי p( n) M BT NP hard בהנתן מ"ט M א"ד עם סיבוכיות זמן פולינומיאלית T, HV,, t, t init fin בתרגול הראנו כי : ומילה w Σ מקבלת את נייצר כך ש T, HV,, t, t, p n BT init fin w T, HV,, t, t, n init fin בהנתן ש אפשר לייצר בזמן פולינומיאלי נוסחת ϕ ב 3CNF כך ϕ ספיקה T, HV,, t, t, n BT init fin { n} x i כך ש 1 = x f שקול j,i ואריח t T יהיה משתנה משתני הנוסחה: לכל,1 i, jt,, j, t i, לכך שבהשמה המושרית מ f האריח t נמצא בקוארדינטה j שאלה: האם = 1 x וגם = 1 x? לא, כי לא יכולים להיות שני אריחים באותו מיקום 2,2,1 2,2,5 האם יתכן = x וגם = x? כן, כי אותו אריח יכול להיות בכמה 2,2,5 1 5,2,5 1 קוארדינטות fצריכה לקיים:

ϕ ϕ = x ij t T i, j, t ( x x ) ' i, j = i, jt, i, j, t ' t T t ' t ϕ = x x border n,1, tfin 1,1, tinit θ = i, j x x i, jt, i+ 1, jt, ' ( t, t ') H θ ' i, j = x i, j, t x i, j + 1, t ' t, t ' V א ב ג ד ה לכל מיקום מתאים לפחות אריח אחד לכל מיקום מתאים רק אריח אחד האריח ההתחלתי והסופי מונחים במקום מתקיימים תנאי שכנות במאוזן מתקיימים תנאי שכנות במאונך ' ϕ= ϕ ϕ ϕ θ θ ' i, j i, j border i, j i, j i, j { 1,, n} 1 i n 1 i n 1 j n 1 j n ולכן הנוסחה תהיה TV,, H, t, t, n BT init fin מתנאים א,ב f משרה ריצוף, טענה: ϕ (לעיל) ספיקה אמ"מ ומתנאים ג-ה הריצוף חוקי הוכחה: תהי t השמה מספקת n},( g :{ 1,, n} { 1,, אזי ההשמה 0,1} Var { f : המושרית T יהי g ריצוף ) מ g מקיימת את ϕ כן נראה ('נקבל אינטואיציה') למה מעבר מ ϕ ל 3CNF הוא פולינומיאלי עוברים לCNF כללי (ללא מגבלה של 3) א - אזי נהפוך אותו עוברים מCNF ל - 3CNF נניח וקיבלנו ב z כך שיהיה x x x x 1 2 3 4 נשים לב שאין שקילות אבל נקבע את ( x x z) ( z x x ל ) 1 2 3 4 את אותו ערך כלומר, אם יש השמה מספקת במקור, תהיה השמה מספקת ביעד עבור פסוקית עם m ליטרלים, מוסיפים משתנים חדשים לדוגמא - a a a 1 2 m m 3 ( a a z ) 1 2 1 ( z a z 1 3 2) ( z a z 2 4 3) ( z a a m 3 m 1 m) ( 1,2 ),( 2,1) ( 1,2 ),( 2,1) H = { 1,2 },,1,2,11 V = n=2 x, x, x, x, x, x, x, x 1,1, a 1,1, b 1,2, a 1,2, b 2,1, a 2,1, b 2,2, a 2,2, b x = x = x = x = a b b a 1,1, 1,2, 2,1, 2,2, אזי 1 2 1 1 2 דוגמא עבור נגדיר הריצוף המתאים הוא תהיה לנו השמה מספקת (אנחנו מאמינים להוכחה) וכל השאר יהיו שווים ל 0 L' NP hard L'' L' p L L' p משפט: אם L NP C הוכחה: צריך להראות שלכל אז ו ''L מתקיים NP

L'' L' p p נובע ש מטרנזיטיביות של L L' p ידוע גם L'' L p תהי, ידוע L'' NP עוד בעיה NP-complete k גרף לא מכוון, המכיל קליק בגודל G - k {, } דוגמא: CLIQUE= Gk קליק : C V k קליק קבוצה של קדקדים כך שיש קשת בין כל שני קדקדים בקבוצה : קליק בגודל כאן יש 4 -קליק נראה כי: א ב 1 : CLIQUE NP המכונה הא"ד תנחש CLIQUE NP hard נבנה, Gk כעת נראה כי k -קליק ותבדוק אותו בהנתן נוסחא SAT CLIQUE k קליק 3 P נראה כך ש ϕ ספיקה אמ"מ יש בG ב 3CNF, ϕ לא לדאוג, לא נראה את ב' עכשיו (נותרו 2 דקות), זה יהיה ביום ד' 1 אי דטרמניסטית

2562007 השבוע: רגיל שבוע הבא: יש רק הרצאה ביום שני ואין תרגולים יש תרגיל בית לא להגשה + פתרונו השבוע הבא הבא: יש רק תרגולים תרגולי חזרה סיבוכיות זכרון complexity Space הגדרה: בהינתן מ"ט M, העוצרת על כל קלט סיבוכיות הזכרון של M היא פונקציה s : N N כך n משתמשת בריצה על קלט באורך M חסם על מספר התאים בסרט, בהם s n ( ) SPACE s n ש ) ( נגדיר : L L is decideable on detereminstic Turing Machine = with s( n) Memory? f ( n)? f ( n) ( ) עבור מכונה דטרמניסטית: 1 מה עדיף, זמן f n או שטח TIME f n SPACE f n עדיף שטח, f n כי נוכיח למה זה: כי בכל צעד ניתן לדלג על תא אחד בלבד ( ) ( ) SPACE f n TIME f n ( 2 ) O f n למה זה נכון? נשאל כמה קונפיגורציות שונות יש למ"ט הרצה בשטח Q f ( n ) Which State Head Position f n Γ Tape Contents נענה כי ניזכור כי חישוב עוצר אינו חוזר על אותה קונפיגורציה פעמיים (המכונה דטרמניסטית, ϕ a b חזרה לופ אינסופי) דוגמא: SAT ניתנת לפיתרון בזכרון לינארי בהינתן קלט לכל השמות אמת למשתנים x,, x נשערך את 1 m אם השתערך לtrue, נקבל אחרת, נעבור להשמה הבאה עבור נוסחא בוליאנית ϕ f ביחס ל ϕ בהשמה האחרנה, נדחה ) ϕ) o( תאים) f c 2 1 2 זכרון דרוש: השמת האמת הנוכחית ) m תאים) שערוך הנוסחה לפי ההשמה הנוכחית SAT Linear space נשים לב קיבלנו כי SAT NP complete אבל גם L( A ) = L A =Σ L A =Σ דוגמא: הגדרה: אוטומט A הוא ריק אם אוטומט A הוא אוניברסלי אם בהינתן A דטרמניסטי, הכרע האם - ניתנת להכרעה בזמן פולינומיאלי (PTIME) ALLDFA { A L( A) } = =Σ

- (איך נבדוק? במקום לבדוק אוניברסליות, נבדוק אם המשלים לא מקבל אף מילה השלמה זה קל, ובדיקת ריקנות זה קל) ALL = { A L( A) =Σ AisNFA NFA } כעת, נשאל את אותה שאלה על ALL = A L A Σ AisNFA NFA { } נטען כי - ALL PSPACE כלומר ניתנת להכרעה בשטח פולינומיאלי NFA נשים לב לא יודעים ש ALL NP או ALL co NP (יש עד, אבל לא מובטח שהוא NFA NFA פולינומיאלי w L( A) לכל היותר כך ש 2 Q טענה :1 Σ L( A) קיימת מילה w באורך הוכחה: - ברור L( A) 2 Q ומכיוון שב A יש מצבים, אזי אם יש, L( A) w L A { 0 mod 2, 0 mod 3, 0 mod p i } L= w w = כך ש ) ( L( A) Σ 2 Q באורך אם מילה w דוגמא להדיקות החסם: כלומר w L( A) כך ש 2 Q w = 0 mod 2 3 pi p = O ilogi w i טענה 2: קיימת מילה באורך שמתאימה לריצה של האוטומט הדטרמניסטי המתקבל מA קיימת סדרה של קבוצות של מצבים subset כך ש = (הריצה של ע"י הפעלת (הגרסה הדטרניסטית של A) על ( כי מצאנו מילה A det( A) המקודד : NFA = F, S קבל (את S F i i 1s,, s 0 Q 2 construction ויש σ,, σ מגיעה למצב לא מקבל) 0 i A קלט ALLעל NFA Q 0 נראה מ"ט א"ד עבור כתוב על הסרט את המצבים ב אתחל מונה ל 0 2 Q כל עוד המונה קטן מ (Q ביטים) a אם הקבוצה S על הסרט מקיימת, a שנדחית אחרת, נחש אות עדכן את הקבוצה על הסרט ל ), sa ( δ והגדל מונה ב 1 O( Q) b דחה 1 2 3 4 סיבוכיות הזכרון: קבוצת מצבים - מונה ) Q) (O( σ i כך, ולכל i 0 קיים אות s = Q 0 0 פורמלית - ( s ) s = Q, s =δ s, σ, 0 0 1 0 0 s, i 1 i i + =δ σ 1 ש

O( 1) מצביעים עבור העדכונים - סה"כ Q) O( יש את ההוכחה הזו בסיפסר עם המון טעויות לשים לב ( ( ) n= o s n ) ש כך s n n מתקיים משפט Savitch N N לכל s : ( ) 2 NSPACE s n SPACE s n - NSPACE L L is decideable on idetereminstic Turing Machine = with s( n) Memory (מה זה בדיוק מה שאנו מצפים) ( ) NSPACE s n הוכחה: בהינתן מ"ט א"ד עם סיבוכיות זיכרון (n )s נבנה מ"ט דטרמניסטית שקולה עם סיבוכיות זכרון c 1 Q s ( n ) Which State Head Position 2 d s n c init c acc 2 s n הנחות על M: 1 יש קונפיגורציה מקבלת יחידה יש קונפיגורציה התחלתית יחידה יהי d קבוע כזה כשאין לM יותר מ למה יש קבוע כזה? ניזכר קיים קונפיגורציות שונות s n Γ 2 Tape Contents d s n d כך ש (,, ) reach c c t 1 2 a 2 3 נבנה שגרה דטרמניסטית המכריעה האם ניתן לעבור מקונפיגורציה c 2 ב t צעדים לכל היותר לקונפיגורציה סיבוכיות הזמן של reach תהיה o t+ s n t ( log ) log reach c c (,,2 ds n המכונה ' M תריץ את ) acc init נשים לב: 1 לכל M ', w מקבלת את w אמ"מ M מקבלת את w 2 log 2 ds n ds n 2 סיבוכיות הזכרון של ' -M O + s n log 2 = O s n ( ),, t reach c c 1 2, M ( ) c כעת, נותר להראות את השגרה :reach הרעיון: נעבור על כל הקונפיגורציות של (למצוא קונפיגורציות באמצע) ונבדוק האם וגם t reach cc,, 2 2 c 2 c 1 ל c = c או שיש מעבר של צעד אחד מ 1 2,t=1 תיאור השגרה: 1 אם אם בדוק האם > 1 t אז לכל קונפיגורציה c של M המשתמשת ב (n )s תאים 2

,, t reach c c 1 2 t reach cc,, 2 2 הרץ את הרץ את אם שתי הריצות קיבלו, קבל a b c 3 דחה = k k PSPACE SPACE n (יש כאן שרטוט של עץ רקורסיה אני מוותר) log log 2 d t= s n עומק העץ יהיה המחלקה PSPACE PSPACE= NPSPACE co PSPACE= co NPSPACE? PSPACE= co PSPACE כן נשים לב ממשפט Savitch נובע כי נשים לב שנובע גם כי האם

272007 ציטוט השיעור: 'כשאתה מושך דברים, הם נופלים' הודעות חשובות: אין תרגולים השבוע בשבוע הבא יש תרגולי חזרה מבנה המבחן: יש לענות על 5 שאלות מתוך 6 2 אוטומטים 2 חישוביות 2 סיבוכיות מחלקות Log Space וNLogSpace נתייחס לסיבוכיות מקום מותר להשתמש בזכרון נוסף שהוא לוגריתמי בגודל הקלט (מלבד סרט הקלט) נשים לב שכשדיברנו על סיבוכיות זמן לא היה טעם להתייחס לזמן תת לינארי (כי לפחות קוראים את הקלט) מודל החישוב: יש סרט קלט, שגודלו הוא, n ויש סרט עבודה, שגודלו o( logn) דוגמא: ראינו אלגוריתם שרץ בזמן nlogn) )o (שרץ, מוחק 1, אז מוחק (n )o (כי העתקנו את הקלט) { 0 n 1 n n 0} EQ= 0, וחוזר חלילה), אבל בסיבוכיות מקום n פתרון לוגריתמי: נזכור שליצוג הערך ה 0 ים והאחדות ומשווה את המונים בסרט העבודה נרשום את מס' האפסים, דרושים log n 2 ב ) log ( O n ביטים בסרט העבודה הגדרות: המחלקה LOGSPACE (לפעמים מסומנת גם כ- L ): ) log ( אותן תוך שימוש בזכרון נוסף אח"כ סימן ההפרדה ואח"כ מס' חשיבות לזמן אבל ב- P ) (אין O n המחלקה :NLOGSPACE כנ"ל, רק עם מכונה א"ד מסומנת NL G, st, G is graph, s,t are vertices and ביטים לכן, האלגוריתם סופר את מספר האחדים סה"כ נשתמש כל השפות שיש מ"ט דטרמניסטית שמכריעה PATH : דוגמא :2 there exists a path from s to t תשומת לב: אנחנו רושמים את כל מספרי הצמתים כלומר, אם יש לי 100 צמתים, אני צריך לרשום, ולא רק 100 ככה מוודאים שגודל הקלט הוא ( log ) O n n,1,2,,100 אבחנות פשוטות: 1 PATH P 2 כעת נראה כי PATH NP - כי בהינתן עד (מסלול מ s ל t) אפשר לוודא שאכן מסלול - בDFS או BFS PATH NL O logn ביטים? מה אפשר לשמור ב ) ( למשל:

אינדקס של צומת באופן כללי כל מספר קבוע של צמתים או קשתות (למה האורך של שמירת כל צומת הוא o של מספר הצמתים) ( log) 1 2 המכונה תנחש (נזכור שהיא א"ד) מסלול מ s ל t ובכל רגע תשמור רק את הצומת הנוכחי במסלול בהתחלה תרשום בסרט העבודה את s בכל שלב תחליף בצומת הנכחי בנוסף, נחזיק בסרט העבודה מונה שמאותחל ל 0, וגדל ב 1 בכל איטרציה למה? אם קיים מסלול, קיים מסלול פשוט (בלי חזרות), כלומר n צמתים אם באיזה שלב נכתב t בסרט העבודה, אז הקלט בPATH אם המונה הגיע ל, v הקלט לא בPATH v נוודא שמתקיים: 1 לכל שימוש ב ) log ( O n מקום: כן! כי שומרים רק צומת אחד ומונה אחד שגדל עד היותר (למעשה גם, n t, לצורך ההשוואה) קיימת ריצה מקבלת יש מסלול מ s ל t a ברור אם יש ריצה מקבלת, אז יש מסלול, על פי הגדרתו b קיימים ניחושים שמייצגים ריצה מקבלת 2 NL-Completeness הגדרה: A שלמה ב NL אם מתקיים: A NL 1 A' A קיימת רדוקציה A' NL לכל שפה - A NL hard 2 L אבל איזה רדוקציה נדרוש? בLOGPSACE זה אינה רדוקציה פולינומית בזמן רגילה אלא רדוקציית L -שמשתמשת - L :Log Space Transducer משרן במקום לוגריתמי WriteOnly,ReadWrite,ReadOnly בסרט RW יש פונקציה מ"ט דטרמניסטית בעלת שלושה סרטים O logn תאים נאמר שהמכונה מחשבת f : Σ Σ בסרט הWO דוגמא: קלט: גרף עם משקולות פלט: גרף לא ממשוקל אם לכל מילה w Σ (w f ( הכתובה בסרט הRO M עוצרת עם פלט w: E N, V, E, w ) ( כך ש ' E V, e E ' e E, w e > 7 המשרן משתמש בשלושה סרטים קלט (ארוך), עבודה (קצר), ופלט - ארוך תחילה נעתיק את הצמתים לסרט הפלט, אח"כ נעבור על הקשתות כדי להחליט אם להעתיק קשת לסרט הפלט, נכתוב את המשקל שלה על סרט העבודה ונשווה ל 7 הערה: משקלים בעלי 4 ביטים או יותר לא יועתקו לסרט העבודה בשלמותם כבר בביט הרביעי ניתן > e w להסיק ש ) 7 ( ולהעתיק את הקשת לסרט הפלט A' A L w A' f ( w) A B L ו A B הגדרה: ש משפט: אם הוכחה: בהינתן אם קיים משרן העובד במקום לוגריתמי ומחשבת פונקציה f A L M B L עבור A עבור M A אז, B נבנה כך

M B M B f ( w) M A המכונה תריץ המשרן המובטח לחישוב ותריץ את על o( logw) f ( w) ניסיון 1: על קלט w f ( w) מה לא בסדר? עכשיו מקום כדי לייצר את נחשב חלק מהחישוב, ואינו הפלט המשרן משתמש ב f ( w) f w (w f ( אבל עכשיו נצטרך כשלב ביניים לכתוב את ניסיון 2 (מוצלח): על קלט צריכה כרגע אף פעם לא נרשום את כל, w המכונה תחשב בכל איטרציה את האות מתוך שאותה f w נשים לב שייתכן ונריץ את המשרן המון פעמים (אפילו עבור אותו ביט), ושיהיו ביטים שנחשב מספר פעמים, אבל מותר O n מקום מסקנה: המכונה מכריעה את A תוך שימוש ב ) log ( שפה :NL-Complete G, st, G is graph, s,t are vertices and PATH : there exists a path from s to t -PATH NL ראה לעיל PATH NL HARD ע"י שנראה רדוקציות תהי מ"ט (יתכן א"ד) המכריעה את A בשטח O logn השפה נראה מכל שפה בNL log Space M A בהנתן קלט w ל נייצר גרף G, st, PATH w מקבלת את M A כך ש M A G, st, t תהיה הקונפיגורציה התחלתית, s w בריצה על M A צמתי G יהיו הקונפיגורציות של (נניח שיחידות) איך נראית קונפיגורציה: מצב, מיקום ראש קורא, תכולת הסרט כמה קונפיגורציות יש? המקבלת לייצוג קונפיוגרציה נדרש log O( logn) ( c n c 1 2 ) Q n number of states reading head position ( log ) O n Γ RW tape contents O( logn) log תאים, כלומר Q n ל Γ reading head number position RW tape of states contents ( log ) log c n + log c O n = O logn תאים כלומר 1 2 המשרן: עובר בסדר לקסיגורפי על כל המילים באורך clogn ומעתיק לסרט הפלט שלו את כל המילים שמייצגות קונפיגורציה (אלו הצמתים של G) כעת, נעבור על כל זוגות המילים האלו, ונבדוק האם הזוג מייצג שתי קונפיגורציות עוקבות אם כן, מעתיק לסרט הפלט בהמשך מזהה את הקונפיגורציות ההתחלתית והמקבלת ומעתיק גם אותן PATH NL COMPLETE לכן, A לסיכום: לכל PATH, A NL L משפט: NL P הוכחה: ידוע כי L P (שיעורים קודמים) בהינתן בעיה ב, NL נוריד אותה בLOGSPACEלPATH על PATH ידוע שהיא בP, וכי הרדוקציה שראינו קודם היא פולינומית

מה אנחנו יודעים עד כה? P L NL don't don't know if = know if =