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

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר אוטומטים, שפות פורמליות ו ח ישוּב יוּת פרטים אדמיניסטרטיביים המרצים בקורס: ברנד, ברפמן, קנטורוביץ' ואבו-עפאש אתר הקורס: את כל ההתכתבויות (במייל) נא לבצע מול הכתובת כל המידע לגבי בחנים, עבודות וכו' נמצא באתר הקורס בעיות כריעות ולא כריעות נדון במספר בעיות כלליות אשר תשובה להן בכל מקרה פרטי היא אחת מתוך שתי תשובות אפשריות נאמר "כן" או "לא" [[ כלומר אנחנו נתעסק בבעיות שהתשובה להן היא או "כן" או "לא" למשל "האם מספר הוא זוגי?", ולא "מה הסכום של המספרים 3 ו -5?" ]] דוגמאות לבעיות עם תשובה בוליאנית 1 לחצן ההדלקה של מחשב או טלוויזיה מעביר את המכשיר ממצב פעולה למצב אי- פעולה, ולהיפך נניח כי מתחילים במצב אי-פעולה בהנתן סדרת לחיצות, האם בסופה המכשיר במצב פעולה? [[ השאלה כאן היא למצוא אלגוריתם, שבהנתן קלט כלשהו, מכריעה האם התשובה עבור אותו הקלט היא "כן" או "לא" ]] לחיצה פועל לא פועל לחיצה [[ החץ המפותל מציין את נקודת ההתחלה ]] בהנתן סדרת לחיצות עוברים ממצב למצב לפי הדיאגרמה כאשר מסיימים לעבור על הסדרה יודעים אם המכשיר פועל או לא לפי המצב אליו הגענו קל לאפיין את הסדרות המובילות למצב פעולה אלה הן הסדרות באורך אי-זוגי של לחיצות ברדיו מסויים 4 ערוצים בורר הערוצים מורכב ממתג העלאה ומתג הורדה נניח כי מתחילים בערוץ 1 כיצד נקבע אם סדרת פעולות מעבירה אותנו למצב 3 או 4, או שלא? 2 ניתן להשתמש בדיאגרמה: הרצאה 1 עמוד 1 מתוך 5

2 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר סדרה של פעולות מקיימת את התכונה הדרושה אם כאשר מתחילים במצב 1, ועוברים ממצב למצב לפי החצים, מגיעים בסוף התהליך לאחד המצבים 3 או 4 גם כאן ניתן לאפיין את הסדרות הרצויות באופן ישיר: "קל" לראות כי הסדרות בעלות התכונה הדרושה הן אלו בהן ההפרש בין מספר ה-"+"-ים למספר ה-"-"ים הוא 2 או 3 מודולו 4 [[ כלומר, מחזירים עבור קלט מסויים "כן" אם ורק אם [[ (numofpluses numofinuses) % 4 >= 2 בהנתן סדרה (סופית) של אותיות, או תווים כלשהם, קבע אם היא פלינדרומית כלומר זהה לסדרה המסודרת בסדר הפוך (למשל "יללי") [הערה: תמיד נדבר על קלטים סופיים] 3 ניתן, למשל, להכניס את איברי הסדרה למחסנית, ואז לעבור במקביל על איברי הסדרה ואיברי המחסנית (הנשלפים ממנה בסדר הפוך למקורי, כיוון שזוהי מחסנית) אם כל האיברים המתאימים שווים, הסדרה פלינדרומית, ואם לא כולם שווים אז לא הערה: יכולנו לפתור זאת בדרך יעילה יותר (אנחנו עושים כאן השוואות מיותרות, למשל על החצי השני של הסדרה), אבל זה לא מעניין אותנו כאן אנחנו רק רוצים לדעת האם מחשב מסוגל לבצע את הנדרש ולפתור את הבעיה נציין כי במקרה זה לא ברור קיום "מכונה" פשוטה כמו בדוגמאות הקודמות, העוברת על איברי הסדרה וקובעת לבסוף האם הסדרה פלינדרומית [כלומר, עליה להשתמש בזיכרון ע"מ לבצע את האלגוריתם, בניגוד למכונות הקודמות שהראינו] 4 בהנתן מספר טבעי, קבע האם הוא ראשוני m 1 אם המספר הוא, m בודקים את התחלקותו בכל אחד מהמספרים מ- 2 אם הוא מתחלק באחד מהם הוא לא ראשוני; אם לא הוא ראשוני ועד הרצאה 1 עמוד 2 מתוך 5

3 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר נעיר כי אלגוריתם זה הוא מאוד בזבזני [אנחנו מבצעים כאן פעולות מיותרות כמו לבדוק מספרים זוגיים שאינם 2, וולעבור על מספרים הגדולים מ- ], m אך נקודה זו אינה חשובה מבחינתנו נעיר גם כי ניתן לנסח את האלגוריתם במונחי סדרת הספרות המגדירה את המספר ע"י כך שרושמים אלגוריתמים לפעולות אריתמטיות שונות על מספרים הנתונים כסדרת ספרות מבלי להתייחס אליהם ישירות כמספרים (זה בעצם מה שהמחשב עושה [[ נראה איך בדיוק מתבצעת השוואה בין שני מספרים במחשב בקורס מערכות ספרתיות ]]) דוגמאות לבעיות עם תשובה לא בוליאנית יש בעיות רבות שהתשובה למקרים פרטיים שלהן מסובכת יותר מ- 2 אפשרויות ההבדל אינו עקרוני, היות שתשובה מסובכת ניתן לרישום במונחי תשובות פשוטות רבות כזה המצב בדוגמה הבאה: בהינתן מספר טבעי,, n מצא את פירוקו למכפלת ראשוניים 5 ניתן לעבור על המספרים מ- 2 עד 1 n : בכל פעם בודקים התחלקות אם יש התחלקות, מצרפים את המחלק לרשימת הגורמים הראשוניים, וממשיכים לבדוק התחלקות עבור מנת המספר בגורם שמצאנו (כאשר המספר אינו ראשוני, האלגוריתם יסתיים לפני שנגיע ל- 1 ) n ]] כלומר: עבור = p 2 עד 1 n, אם = 0 p nmod אז צרף את p לרשימת המחלקים, ובצע n [[ p = או n 1 n המשך עד אשר =1 n p 1 ), שמכל אחד מהם יש נתון מספר סופי של סוגי אריחים בעלי צורה של ריבוע יחידה (1 כמות אינסופית יש להניח אריחים זה לצד זה כך שכל המישור ירוצף נתונים אילוצים לגבי אילו זוגות של אריחים ניתן להניח זה לצד זה, ואילו זוגות ניתן להניח אחד מעל השני ["מעל" כלומר עם ערך גבוה ב- 1 של, y ולא אחד על השני] בהנתן מערכת ריצוף מסוג זה, קבע האם היא מאפשרת ריצוף של כל המישור או לא [[ שימו לב שלמרות שהבעיה היא ריצוף של מישור אינסופי, הקלט שהתוכנה מקבלת הוא מספר סופי של אריחים ומספר סופי של אילוצים כלומר הקלט סופי ]] 6 מסתבר שבעיה זו איננה פתירה משפט [כריעות של ריצוף] אין אלגוריתן הקובע, בהנתן מערכת ריצוף, אם היא מאפשרת ריצוף של כל המישור לא נוכיח את המשפט כאן [[ אולי בהמשך הקורס? מי יודע? מיהו?John Galt ]] משוואה דיופנטית היא משוואה פולינומיאלית בה המקדמים שלמים, ועל כל המשתנים לקבל ערכים שלמים למשל: הרצאה 1 עמוד 3 מתוך 5

4 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר למשוואה הראשונה והשלישית יש פתרונות, לשניה ולרביעית אין, ולחמישית יש רק פתרונות טריוויאליים מסתבר שגם את זה לא ניתן לעשות 15x+ 259y = x 432y = 158 x x + y = y = x + y = z משפט [כריעות משוואה דיופנטית] אין אלגוריתם הקובע, בהינתן משוואה דיופנטית, אם יש לה פתרון או לא הגדרה [בעיה כריעה [(decidable) בעיה היא כריעה [[ decidable ]] אם קיים אלגוריתם לפתרונה, ואי-כריעה אחרת בהמשך הקורס יתברר כיצד ניתן להוכיח אי-כריעות לגבי בעיות כריעות, נתעניין באיזה "חוזק" של מכונה דרוש ע"מ לפתור אותן [[ ב"חוזק" לא מדובר על מהירות מעבד, או על כמה פעולות דרוש לבצע ע"מ להריץ את האלגוריתם, אלא אילו מאפיינים ויכולות יש למכונה כגון זיכרון, כפי שהראינו בבעיית הפלינדרום ]] אלפבתים ושפות הגדרות [אלפבית, תווים/סימנים/אותיות, מילה/מחרוזת] אלפבית הינו קבוצה סופית לא ריקה איברי הקבוצה נקראים תווים, סימנים או אותיות בד"כ נסמן אלפבית ב- Σ מילה, או מחרוזת, היא סדרה סופית של איברי Σ דוגמאות דוגמאות לאלפבית: האלפבית העברי בן 22 אותיות (או 27, אם מתייחסים בנפרד לאותיות הסופיות) האלפבית האנגלי בן 26 אותיות (או 52, אם מתייחסים בנפרד לאותיות גדולות) האלפבית העשרוני האלפבית הבינארי האלפבית { 0,1,, 9} { 0,1} { +,,,/,(,)} (1 (2 (3 (4 (5 דוגמאות למילים: הרצאה 1 עמוד 4 מתוך 5

5 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר מילים מעל האלפבית העברי: שפה, אוטומט, ארון, שיבוחיוט [אנחנו לא מתייחסים למשמעות של מילים מדובר רק על רצף אותיות מתוך האלפבית] מילים מעל האלפבית האנגלי: langitch, zevedhkb מילה מעל האלפבית שבדוגמה 5 לעיל: ) / (( (1 (2 (3 { 0,1} ברוב הדוגמאות שלנו האלפבית יהיה }, ab { או סימונים של מילים קיימת מילה ריקה בה אין סימנים מילה זו מסומנת ב- ε מילה טיפוסית תסומן ב- [מלשון ["ord" אורך מילה מסומן ב-, ומוגדר כאורך הסדרה המגדירה את הרצאה 1 עמוד 5 מתוך 5

6 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר המשך אלפבתים ושפות מגדירים דוגמאות: ε = 0 [{ 0,1} 000 = 3 [זו המילה בת 3 -האותיות "000" מעל האלפבית ababb = 5 מילים ופעולות עליהן הגדרה [רישא, סיפא, תת-מילה] רישא של מילה היא מילה המורכבת מחלק התחלתי של המילה המקורית סיפא של מילה היא מילה המורכבת מחלק סופי של המילה המקורית תת-מילה היא חלק רצוף של המילה עם סדר האותיות המקורי רישא וסיפא של מילה הן תתי-מילה שלה דוגמאות: הרישות של המילה bba, ba, a, ε והסיפות שלה הן,ε, b, bb, bba הן bba מפר הינה רישא של מפריד יד הנה סיפא שלה פר וכן פרי הם תתי-מילה (1 (2 y x שרשור וחזקות של מילים על קבוצת כל המלים מוגדת פעולת השרשור תוצאת השרשור של מילים, xy היא המילה המתקבלת ע"י רישום מילה זו מסומנת ב- y, x או פשוט כ- xy ולאחריו לכל מילה ε= ε מגדירים = דוגמאות: some thing = something 5 9 = 59 חש מל = חשמל מלחש = מל חש (1 (2 (3 בדוגמה האחרונה רואים כי בד"כ הכפל [לעתים נקרא לשרשור "כפל"] אינו קומוטטיבי קל לראות, לעומת זאת, שהוא אסוציאטיבי: ( ) ( ) x, y, z xy z = x yz בפרט, ניתן להגדיר חזקות של מילה [באופן אינדוקטיבי]: הרצאה 2 עמוד 1 מתוך 6

7 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר [[ או, ברישום טיפה שונה: כפי שנהוג במתמטיקה ]] מילה הפוכה המילה ההפוכה למילה 0 = ε = 1 n n 1 n, 0 n ε n = n = n 1, n 1 R מסומנת ב- ומוגדרת כמילה המורכבת מאותן אותיות בסדר הפוך [[ R שימו לב: זה לא "הופכי" של פעולה, כלומר לאו דווקא מתקיים = ε (למעשה זה מתקיים רק עבור ) = ε אין איברים הופכיים ביחס לפעולת שרשור ]] דוגמאות: R (שכר) = רכש R (רשע) = עשר R ניתן להגדיר את המילה באינדוקציה על אורך המילה כדלקמן: אם = 0 R אז = ε ]] 0 = אם"ם, = ε לכן אנו מגדירים כך [[ אם n 1 = אז נרשום = va באשר a Σ ו - Σ v מילה באורך 1 n, ונגדיר: R R = av [[ מה שזה אומר, זה שאם יש ב- לפחות אות אחת, ונניח שהאות האחרונה בה היא R a Σ כלשהי אז ההיפוך שלה, היא המילה בה a היא האות הראשונה, ואחריה מופיע ההיפוך של שאר האותיות במילה ]] 1 2 [פעולת ההיפוך היא לא פעולה מעניינת במיוחד מבחינה תאורטית, אך נשתמש בה הרבה בקורס בדוגמאות] :emma היפוך של שרשור לכל שתי מילים, xy מתקיים: הוכחה: ( ) R R R xy = y x באינדוקציה על y = 0 y בסיס: אזי, y = ε ולכן: הרצאה 2 עמוד 2 מתוך 6

8 אוטומטים, שפות פורמליות וחישוביות ( ) ( ) ( ) סיכום מאת תומר גודינגר y= ε zz, ε= z zz, = εz R ε= ε y= ε R R R R R R R R xy = xε = x = εx = ε x = y x z R ( ) ( ( )) ( ) y = n y צעד: נניח את נכונות הטענה לכל מילה תהי מילה באורך עם n +1 נרשום, y = za באשר a Σ ו - Σ z מילה באורך = n R ( ) ( ) ( ) ( ) ( ) R R R R R R R R R R xy = x za = xz a = a xz = a z x = az x = za x = y x y אזי: מהנחת האינדוקציה R מהגדרת ההיפוך שפות ופעולות עליהן הגדרה [שפה פורמלית] שפה (פורמלית) היא אוסף כלשהו של מילים מעל אלפבית מסויים דוגמאות: השפה המורכבת מכל המילים מעל אלפבית Σ מסומנת ב- Σ הקבוצה הריקה,, אף היא שפה { 50} R { } = Σ = = Σ = = { bed, desk, closet, chair, Hannibal} באופן טיפוסי שפה מוגדרת כקבוצת איברי Σ בעלי תכונה מסויימת עבור אלפבית (סופי, כמובן, לפי הגדרה), הרי Σ להיות ריק ]] אפילו אם האלפבית מכיל רק אות אחת, תמיד אינסופית ובת-מניה [[ כי האלפבית לא יכול a}, Σ= { האוסף n { ε a aa aaa aaaa } { a n } =,,,,, = Σ הוא אינסופי הוכחה: n n היא סופית ולא ריקה [[ למעשה, אם נסמנה בתור, Σ אז [[ קבוצת איברי Σ מכל אורך נתון { aaa 1 2 3an ai } n n Σ = Σ = Σ הרצאה 2 עמוד 3 מתוך 6

9 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר Σ = n= 0 Σ n Σ, שהוא האיחוד הזר של כל השפות הנ"ל [[ כלומר ]], הינה על כן אינסופית ובת- מניה [[ הוכחנו בקורס מבוא ללוגיקה ותורת הקבוצות שאיחוד בן-מניה של קבוצות סופיות הוא קבוצה בת-מניה ]] פעולות על שפות פעולות בסיסיות שפות הן קבוצות, ולכן מוגדרות עליהן באופן אוטומטי הפעולות הפעולות הבוליאניות איחוד, חיתוך, השלמה (ביחס ל- Σ, כאשר Σ ידוע) 1 2 1, 2 שרשור שפות עבור שתי שפות, השפה מוגדרת בתור: {, } = זוהי השפה בה יש את כל המילים המורכבות ממילה מ- שמיד אחריה מופיעה מילה מ- 2 a bc?, מהו מס' המילים ב- 2 1 כלומר יכול להיות שתהיינה בה פחות nn 1 2 = n, = n בהנחה ו - התשובה היא לכל היותר {, }, {, } 1 2 למשל, אם וגם ע"י המילה, = a ab = bc c אז המילה abc מתקבלת גם ע"י השרשור 1 2, וכיוון שזוהי אותה המילה, היא תופיע רק פעם אחת ב- ab c 2 ו - 1 נקראת גם מכפלת (לא מכפלה קרטזית) 1 2 השרשור הוא אסוציאטיבי: ( ) = ( ) [זה נובע מהאסוציאטיביות של שרשור מילים] חזקות של שפה חזקות של שפה מוגדרות באינדוקציה ע"י: 0 = { ε} = 1 n n 1 n דוגמאות: { } 0,1,, באשר המסתיימות ב- 1 היא קבוצת המילים המתחילות ב- 0, ו - 2 היא קבוצת המילים ( הרצאה 2 עמוד 4 מתוך 6

10 אזי אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר היא השפה המורכבת מכל המילים המתחילות ב- 0 ומסתיימות ב- 1 =, כלומר, במקרה הספציפי הזה מתקיים: { 0} { 0,1} = { 0,1} { 1} = { 0}{ 0,1} { 0,1} { 1} { 0}{ 0,1} { 1} = = Σ Σ =Σ { 0,1} { 1}{ 0}{ 0,1} { 0,1} { 10}{ 0,1} = = { 10} נוכל גם לרשום: אזי: [שימו לב: השפה היא השפה בה יש מילה בודדת יחידה בת 2 אותיות, והיא המילה 2 1 ["10 " לכן היא שפת כל המילים המכילות את הבלוק " 10" n n בנוסף, 1 היא שפה המורכבת מכל המילים בעלות לפחות אפסים ומתחילות ב- 0 1 תהי אוסף המילים באורך זוגי, 2 אוסף כל המילים באורך אי-זוגי ו - אזי: (2 = n 1 n 1 1 = \ { ε} 2 n 2 1 { 2 } { 2 1} = Σ n = Σ n+ 2n = = R : השפה ההפוכה ל- : בהנתן שפה נגדיר את השפה ההפוכה ל-, ונסמנה R { } R = (3 [שוב, אין לזה הרבה ערך תיאורטי, אך זה שימושי לדוגמאות] 4) הסגור של שפה: הרצאה 2 עמוד 5 מתוך 6

11 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר בהנתן שפה נגדיר את הסגור של, או -קליני של השרשורים של מספר כלשהו של מילים ב-, ונסמנה, להיות השפה המתקבלת מכל : = n= 0 n כמו-כן, נגדיר את הסגור החיובי של, ונסמנו +, להיות: + = n= 1 n ε + = נציין שאם ε אז ; + = אחרת, } \{ הרצאה 2 עמוד 6 מתוך 6

12 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר Σ המשך שפות ופעולת עליהן אם רואים את Σ כשפה מעל עצמה, אז הסגור שלה, מתלכד עם השפה שסומנה קודם ב- Σ [[ כלומר: ניתן לחשוב על אז אם נסמן כך Σ מצד אחד, אמרנו ש- Σ גם בתור קבוצת כל המילים ב- Σ? אז מהי משמעות הסימון, = Σ היא קבוצת כל המילים מעל הא"ב שאורכן הוא 1 Σ מצד שני, אמרנו ש- היא קבוצת כל השרשורים של מספר כלשהו של מילים השייכות לשפה = Σ שני הדברים הללו הן למעשה בדיוק אותה הקבוצה, לכן אין בעיה בסימון ]] דוגמאות: = { 0, 01} אזי היא השפה המורכבת מכל המילים מעל { 0,1} אשר מתחילות ב- 0 ואינן מכילות את הבלוק 11 וכן המילה הריקה (היא תמיד נמצאת ב- ) ע"מ להוכיח ששתי ההגדרות של השפה הנ"ל זהות, יש להראות הכלה דו-כיוונית (שפה היא קבוצה, אחרי הכל) (1 נראה שכל מילה ב- מתחילה ב- 0 ואינה מכילה את הבלוק 11, או שהיא המילה הריקה: המילה הריקה כמובן מקיימת את הגדרה זו כל מילה אחרת ב- מתחילה או במילה 0 או במילה 01 לכן היא בכל מקרה מתחילה ב- 0 מדוע היא לא מכילה את 11? משום שכל מופע של האות 1 במילה מ- מופע של האות 1 חייבת להופיע האות 0 נראה שכל מילה שמתחילה ב- 0 נמצאת ב- מקורה מהמילה הבסיסית, 01 לכן לפני כל ואינה מכילה את הבלוק 11, או שהיא המילה הריקה, שוב, המילה הריקה מקיימת את ההגדרה משום ש- ε כעת נניח שיש לנו מילה לא ריקה שמקיימת את ההגדרה הנ"ל ניתן לפרק אותה לשרשור של מילים מ- באופן הבא: מתחילים מהאות הראשונה היא בוודאות 0 כעת, אם האות הבאה היא 1 אז זוהי המילה הבסיסית 01 אם לא, אז זוהי המילה הבסיסית 0 כך נמשיך ונפרק את כל המילה תמיד בפעם הבאה נתחיל מהאות, 0 משום שלא מופיעה במילה הבלוק 11 (2 { ε} { ε} { ε} =, = + { ε} { ε} + =, = הרצאה 3 עמוד 1 מתוך 4

13 לכן אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר השפה לא מכילה אף מילה גם לא את ε! שרשור של שתי מילים מ- לא יכול להניב שום מילה כי אין מילים ב- k = 0 אבל כיוון ש- לכן בשפה למרות שב- 1 לכל k מוגדר להיות 0 = { ε} { ε}, אז גם 0 =, לכל שפה { ε} = = = { ε} { ε} אין אותה = = = לעומת זאת, ב- = = = אין את ε יש את ε, ביטויים רגולריים ושפות רגולריות בהנתן שפה, מעוניינים בתיאור סופי שלה אם השפה סופית [כלומר שפה שיש בה מס' סופי של מילים], ניתן (לפחות עקרונית) לרשום את כל המילים בה עבור שפות אינסופיות, האפשרות לא קיימת מובן כי רוצים שהייצוג יהיה חד-משמעי הייצוג הינו סדרה סופית מעל אלפבית מסויים לכן יש רק מספר בן-מניה של שפות הניתנות לייצוג סופי היות ו- Σ Σ בת-מניה אינסופית, הרי שאוסף כל השפות מעל הוא בעוצמת הרצף [[ כלומר שווה-עוצמה ל- ; בעוצמה ℵ ולא לכן רק חלק מזערי של השפות ניתן לייצוג סופי, Σ דהיינו אוסף כל תתי-הקבוצות של [[ ℵ 0 שאלה מעניינת היא: כיצד ניתן "להציג" באופן מפורש שפה שאיננה ניתנת לייצוג סופי? אחת השיטות לייצוג סופי של שפות היא באמצעות ביטויים רגולריים Σ { (,,,), } הגדרה [ביטוי רגולרי] בהינתן אלפבית לאוסף המינימלי המקיים:, Σ ביטוי רגולרי מעל הינו מילה מעל האלפבית השייכת Σ א) ב) ג) ד), וכל איבר של Σ הוא ביטוי רגולרי אם α ביטוי רגולרי אז גם ( α ) אם, αβ ביטויים רגולריים אז גם אם, αβ ביטויים רגולריים אז גם הוא ביטוי רגולרי ( α β) ( αβ ) ביטוי רגולרי ביטוי רגולרי [הערה: אנו מניחים שב- Σ אין את האותיות {,,,, ( ) } כמו-כן, ביטוי רגולרי מעל Σ הוא מילה, אבל לא מעל Σ (אלא מעל האלפבית שהגדרנו); יש לשים לב לכך, שכן זה קצת מבלבל] :{ דוגמאות לביטויים רגולריים מעל האלפבית },, abc הרצאה 3 עמוד 2 מתוך 4

14 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר c, b, a ( b ), ( b ) c ( a ) ((( b ) c )(( a ) )) Σ { (,,,), } כל מילה מעל דוגמה למילה שאינה ביטוי רגולרי: שלא מתקבלת מהחוקים הנ"ל איננה ביטוי רגולרי )(( ( משמעות ביטוי רגולרי לביטוי רגולרי מתאימה באופן מיידי שפה: 2 ו - { a} השפה המתאימה לאות a ב- Σ נניח ש- α ו - β בהתאמה אז: היא הם ביטויים רגולריים, ו - 1 השפה המתאימה לביטוי היא הן השפות אליהן הם מתאימים, α השפה המתאימה לביטוי α β היא השפה המתאימה לביטוי αβ היא o o o ((( 0 ) ) (( ) )) דוגמה: השפה המתאימה לביטוי הבא: היא אוסף כל המילים הלא-ריקות מעל {0,1 { בהן האות האחרונה שונה מכל הקודמות לה, אז למען הפורמליות, יש להבחין בין ביטוי רגולרי לשפה אותה הוא מייצג לדוגמה, אנו רואים את הסימן כחסר קשר לאיחוד קבוצות יש פונקציה, שנסמנה ב-, המעתיקה כל ביטוי רגולרי לשפה מסויימת [המתאימה לו] { a} { b} [[ כלומר, אם נקח את הביטוי הרגולרי ( a ) b אשר השפה המתאימה לו היא ( α ) = { } { } [[ a b (((( ) ) ) ) ab a a b דוגמאות: השפה מורכבת מן המילים אשר מתחילות במספר כלשהו של וכן המילה b 2 a עוקבים ולבסוף -ים ab ( הרצאה 3 עמוד 3 מתוך 4

15 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר { ab, } השפה (( ) ) (( c )( a )) ( a )( b ) המילים מעל מורכבת מכל המילים מעל וכן מכל { ac, } שאינן מכילות את הבלוק ac ; זוהי פשוט השפה ((( a )( b )) ) = ( a b) ( ) [שימו לב כי [{ ab, } (2 ניתן לחסוך בהרבה סוגריים אם מסכימים על סדר: קודם לכפל, כפל קודם לאיחוד, a Σ { a} הגדרה [אוסף השפות הרגולריות] אוסף השפות הרגולריות מעל Σ הוא האוסף המינימלי הכולל את והשפות לכל וסגור תחת -קליני, איחוד ושרשור [משמעות הדבר היא: כל השפות המתקבלות ע"י וכל ה- {a { כך ש- Σ a למשל, עבור וכל איחוד ושרשור שלהן יניבו ביחד את אוסף השפות הרגולריות מעל -קליני, איחוד ו/או שרשור של השפות הבסיסיות { a} { b} { c} השפות הבסיסיות הן, Σ= { abc,, } Σ= { abc,, },,,, זה שדרשנו שזה יהי האוסף המינימלי אומר שאנחנו לא לוקחים שפות שלא מקיימות את התנאים הללו] 1 מובן כי שפה היא רגולרים אם"ם היא מתאימה לביטוי רגולרי [כלומר קיים ביטוי רגולרי α כך ש- היא שפה רגולרית אם"ם [ ( α ) = 1 מתברר כי יש שפות פשוטות מאוד שאינן רגולריות בהמשך נוכיח כי השפה n n { ab n 0} [[ אגב, גם שפת כל הפלינדרומים מעל [למשל] אינה רגולרית, Σ כאשר 2 Σ, היא לא שפה רגולרית ]] ברוב הדוגמאות שראינו, התייחסנו לשפה המוגדרת בצורה: { : ( )} = Σ P ]] כאשר ) ( P היא טענה כלשהי לגבי הקבוצות) ]] כאן P היא תכונה אשר צריכה להיות "מוגדרת היטב" במו-כן, היינו רוצים שיהיה קיים אלגוריתם אשר, בהינתן מילה התכונה P או לא (כמו הפרדיקטים שראינו במבוא ללוגיקה ותורת, יבדוק אם היא מקיימת את [זה שאין אלגוריתם כזה לא פוסל את ההגדרה; זה פשוט נחמד אם יש לנו דרך להכריע עבור ) ( P מתקיים או לא] אם הרצאה 3 עמוד 4 מתוך 4

16 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר המשך ביטויים רגולריים ברוב הדוגמאות שראינו, התייחסנו לשפה המוגדרת בצורה: { : ( )} = Σ P P ( ) היא טענה כלשהי לגבי (כמו הפרדיקטים שראינו במבוא ללוגיקה ותורת הקבוצות) [[ כאשר [[ ביטוי רגולרי מגדיר שפה, אך אינו נותן אלגוריתם כנ"ל [לא תמיד פשוט לראות אם מילה מסויימת שייכת לשפה המוגדרת ע"י ביטוי רגולרי כלשהו] לעומת זאת, הוא נותן דרך לייצר מילים השייכות לשפה, מה שלא תמיד נכון עבור שפות הנתונות בהצגה הקודמת כמו-כן, קיום אלגוריתם לקביעת שייכות מילה לשפה אינו נותן דרך ברורה לייצור ביטוי רגולרי המתאים לה (אפילו אם קיים ביטוי כזה) [לדוגמה: שפת כל המילים בהן אורך הרישא בשלישית ועוד אורך הסיפא בשלישית שווה למספר אחר (שלם) בשלישית קל לבדוק את תנאי זה (עוברים על כל האפשרויות לחלק את המילה לרישא ולסיפא ובודקים אם זה מתקיים עבור אחת מהן), אבל לייצר מילה שעבורה זה מתקיים זה לא דבר פשוט] אוטומטים סופיים ניתן לראות אוטומט סופי כמודל של מחשב מחשב ללא זכרון חיצוני הוא מקבל כקלט סדרה של תווים, קורא אותן אחד אחד ולבסוף נותן כפלט "הודעה" אם קיבל [מלשון [accepted את סדרת התווים או לא [[ מהו אוטומט סופי? אוטומט הוא מכונה המורכבת ממצבים, שמטרתה להחליט עבור קלט מסויים אם הוא "מתקבל" או "לא מתקבל" הדרך שבה הוא עושה זאת היא ע"י מעבר בין המצבים שלו כל אוטומט נפרד מורכב ממצבים קבועים (לא ניתן לשנות אילו מצבים יש או את הקשר ביניהם בזמן ריצה) o כשאני מציין "זמן ריצה" אני מדבר על זמן ריצה תאורטי, של "אם נפעיל מכונה שעושה כזה דבר, אז מה היא תעשה?" הקלט מיוצג ע"י מחרוזת, ומתקבל בזמן ריצה ע"י האוטומט אות אחרי אות o לא ניתן לחזור לאותיות קודמות, לדלג על אותיות או כל דבר אחר, פרט למעבר אות אחר אות אין לאוטומט זיכרון בו הוא יכול להשתמש; כל מה שאוטומט יודע בכל רגע זה את המצב הנוכחי, והוא מבצע כל מעבר בין מצבים לפי כל אות שמתקבלת אנחנו מייצגים אוטומט בד"כ ע"י שרטוט של המצבים לאוטומט יש מצב התחלתי, בו הוא נמצא התחילת ה"ריצה", ומצבים "מקבלים" אם לאחר עיבוד האות האחרונה של הקלט, האוטומט נמצא במצב "מקבל," הקלט נחשב כקלט ש"מתקבל" ואם הוא נמצא במצב "לא מקבל" בסוף הקלט (שזה כל מצב אחר), אז הקלט נחשב כקלט ש"לא מתקבל" הרצאה 4 עמוד 1 מתוך 4

17 + אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר זה יהיה ברור יותר ברגע שנתחיל לראות דוגמאות ]] לדוגמה, האוטומט מקבל סדרת תווים האמורה לייצג מספר שלם הוא עובר עליהן ומודיע אם הסדרה אכן מייצגת מספר שלם (מופיעות רק ספרות, אולי בתוספת בהתחלה) או לא בקריאה של מספר ממשי יש יותר מצבים: או בהתחלה עשוי להופיע סימן בכל שלב עשויה להופיע נקודה עשרונית אך אם הופיעה, אסור שתופיע שוב עשוי להופיע התו, E אבל רק פעם אחת [ניתן לכתוב את המס' העשרוני למשל בתור E (ה- E מייצג "כפול עשר בחזקת")] וכו' האוטומט עובר על סדרת התווים פעם אחת תוך-כדי הוא עובר ממצב למצב בהתאם לתו הנקרא המידע לגבי חלק הסדרה שכבר נקרא מתבטא רק במצב בו נמצא האוטומט ההחלטה אם הקלט מתקבל או לא היא לפי המצב בו נמצא האוטומט בתום קריאת הסדרה הגדרה פורמלית אוטומט דטרמיניסטי סופי Automaton) (DFA = Deterministic Finite הינו חמישיה (,, δ,, ), = QΣ באשר: sa Q קבוצה סופית של מצבים [[ אלה כמו קודקודים בגרף ]], Σ הינו אלפבית, QH הוא המצב ההתחלתי, s Q היא קבוצת המצבים המקבלים [[ אם הקלט מסתיים על אחד מאלה, הקלט מתקבל ]] A ו - δ היא פונקציית המעבר בין מצבים, δ : Q Σ Q [ניתן לעבור מכל מצב לכל מצב (גם ממצב מקבל למצב לא מקבל, ולהיפך); אין משמעות למצבים המקבלים מעבר לבדיקת האם המצב אליו מגיעים בסוף הריצה הוא אחד מהם או לא] [[ פונקציית δ היא בתכל'ס חץ היא אומרת, עבור כל מצב, ועבור כל אות שיכול להיות שתתקבל, לאיזה מצב האוטומט עובד למשל, כדי לציין שבמצב, X אם מקבלים את האות a אז עוברים למצב Y, פונקציית δ תקיים ד- ( X, a) [[ δ = Y : Off דוגמאות 1) טלוויזיה: נגדיר מצב פועל,, On ומצב כבוי, Q = { On, Off} נגדיר א"ב בעל אות יחידה, המייצגת לחיצה על כפתור: Push} =Σ { נגדיר את פונקציית המעבר בין המצבים: הרצאה 4 עמוד 2 מתוך 4

18 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר δ δ ( On, Push) ( Off, Push) = Off = On כמו-כן, נתחיל את המכונה במצב כבוי: s = Off ונגדיר שהמכונה מקבלת קלט שבסופו הטלוויזיה פועלת: A = { On} 2) בורר הערוצים (כמו הדוגמה שעשינו בעבר): Q δ δ = { 1,2,3,4} {, } ( a, + ) = a+ 1( mod 4) ( a, ) = a 1( mod 4) Σ= + s = 1 A = { 3, 4} δ [[ הכוונה כאן היא ש- ) +,a δ ( שווה ל- 1 +, a כאשר חוזרים חזרה להתחלה (כלומר ( a, ) וש-,(δ ( 4, + ) = 1 [[ (δ ( 1, ) = 4 שווה ל- 1, a כאשר חוזרים חזרה להתחלה (כלומר [כשנתנו את הדוגמה הזו בעבר, הגדרנו שמתחילים מערוץ 1, ושרוצים להגיע ל- 3 או ל- 4 ] המשמעות של קבוצת המצבים המקבלים היא שמבדילים בין הקלטים שעבורם, כאשר מתחילים במצב ההתחלתי ועוברים ממצב למצב בהתאם לתו הנקרא, מגיעים לבסוף למצב מקבל, לבין אלו שעבורם מגיעים למצב לא מקבל נגדיר זאת כעת באופן פורמלי: הגדרות [קונפיגורציה, מובילה תוך צעד, מילה מתקבלת, שפה מתקבלת] קונפיגורציה של DFA היא איבר של Q Σ = σ 1 2 ( q, ) 2 2 כלומר, קובעים מצב באוטומט וסדרת אותיות באלפבית אומרים כי קונפיגורציה ( q1, 1) ( q, ) q מובילה תוך צעד אחד לקונפיגורציה אם עבור δ σ = 1 2 σ Σ מסויים ומתקיים, או פשוט, אם ברור מיהו האוטומט עליו מדובר נסמן יחס זה ב הרצאה 4 עמוד 3 מתוך 4

19 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר + הסגור הטרנזיטיבי של מסומן ב- [זהו אותו היחס כמו, רק שמוסיפים אליו זוגות סדורים של איברים שעומדים ביחס עד שהוא נהיה טרנזיטיבי וזהו] ( q, ) + ( q, ) ברור כי אם"ם עבור סדרה מתאימה של קונפיגורציות ביניים כלשהי מתקיים: ( q, ) ( p, u ) ( p, u ) ( p, u ) ( q, ) n n 2 2 הסגור הטרנזיטיבי רפלקסיבי מסומן ב- [וכפי שהוספנו איברים ליחס כדי שיהפוך לטרנזיטיבי, כאן גם אנחנו מוסיפים איברים כך שהיחס יהפוך לרפלקסיבי כלומר אנו מוסיפים ליחס את כל הזוגות ו - Σ [ q Q הסדורים )), q (( q, ),( כאשר i i ב- נסמן את היחס של מעבר תוך צעדים דוגמה: ( q1, a) ( q2, ε ) ( q1, b) ( q3, ε ) ( q, bbbab) ( q, bbab) ( q, bab) ( q, ab) ( q, b) ( q, ε ) ( s, ) ( qε, ) כך ש- q A נאמר כי מילה Σ מתקבלת ע"י האוטומט אם קיים המילים המתקבלות ע"י מסומנות ב- ) ) ונקראות השפה המתקבלת ע"י הרצאה 4 עמוד 4 מתוך 4

20 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר הגדרה [מילה/שפה מתקבלת] מילה ( ) ( ) מתקבלת ע"י האוטומט, Σ אוסף כל המילים המתקבלות ע"י s, qε, כך ש- q אם קיים A ) ) הוא שפה המסומנת ב- ונקראת השפה המתקבלת ע"י [[ כלומר מילה נקראת "מתקבלת" אם, כאשר לוקחים אותה בתור הקלט של האוטומט, מתחילים מהמצב ההתחלתי של האוטומט,, s ועוברים צעד צעד לפי כל האותיות במילת הקלט על פני המצבים של האוטומט לפי פונקציית δ (=לפי החיצים) אז מגיעים בסוף למצב שהוא מצב מקבל (כלומר שנמצא בקבוצה (A 0E A כלומר שמסומן בשני עיגולים בשרטוט ; A גם במקרה בו מילת הקלט היא ε והמצב ההתחלתי הוא מצב מקבל "מתקבלת" ]] דוגמאות: המילה ε נקראת עבור טלוויזיה [הדוגמה שראינו בשיעור שעבר]: ( ) 2 ( ) = Push ( Push ) (1 [הכוונה כאן היא שהשפה המתקבלת ע"י המכונה הקודם זהה לשפה המתקבלת ע"י הביטוי הרגולרי " ביטוי זה משמעותו "כל הביטויים שיש בהם את האות שהגדרנו עבור טלוויזיה בשיעור " Push 2 ( Push ) Push ואחריה מספר כלשהו (0 או 2 יותר) של המילה Push = Push Push (זו מילה עם שתי אותיות, ששתיהן ) Push השפה המתאימה לביטוי זה היא כל המילים בהן האות Push מופיעה מספר אי-זוגי של פעמים] עבור בורר הערוצים [גם זו דוגמה משיעור שעבר]: בדוגמה זו הרי ( ) םי- ה-" " הוא 2 או 3 (מודולו 4) להלן שרטוט האוטומט שראינו בשיעור שעבר: מורכבת מכל המילים בהן ההפרש בין מספר ה-" + "-ים למספר (2 ( הרצאה 5 עמוד 1 מתוך 6

21 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר ]] נזכיר שכל חץ בשרטוט מתאר הפעלה של פונקציית δ למשל, ( q, a) [[ δ = q 1 2? q 2 נשאל: אילו מילים האוטומט הנ"ל מקבל? אילו מילים למשל מאפשרות לנו להגיע למצב המקבל דוגמאות למילים שמתקבלות ע"י האוטומט: a ba bba bbbbbba baba aaa bba bbaaa ( ( ) ) ( ) = ba ( a ) b ba במקרה זה: q 1 ואמנם, ע"מ להגיע מ- q 2 יש ל- q 2 צורךבמילהמ-( ba, ) וכל מילה כזו אכן מביאה ל- הרי כל אות מוציאה מחוץ למצב זה,ושובנחוצהמילהמ- ba, q 2 לאחר שנמצאים ב- q 2 לחזור ל- ע"מ ( הרצאה 5 עמוד 2 מתוך 6

22 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר אפשרות ראשונה: q 1 קבוצת המילים המובילות מ- q 4 ל- q 1 מבלי לעבור ב- באמצע היא ( ( b) ) ba a q 1 מעבר מ- q 1 לעצמו מבלי לעבור ב- תוך-כדי כך מתבצע ע"י או a ( ) 2 b a b לכן בסה"כ: (( a b a ) ( ) ) ba a b 2 ( ) ( b) = אפשרות נוספת: q 2 להתחיל מכך שההגעה הראשונה ל- מתבצעת ע"י מילים ב-( ab ) q 2 הגעות נוספות ל- נעשות ע"י ( ( b) a b) b a לכן: ( ab( b a b a b) ( ) ) a a b ( ) ( ) = נשים לב לכך שבדוגמאות הנ"ל, פרט לדוגמה מס' 2, מצאנו ביטוי רגולרי שהתאים ל- ( ) בהמשך נוכיח כי זה תמיד המצב [[ עד עכשיו, ברוב הדוגמאות לאוטומטים מצאנו שהשפה המתקבלת ע"י האוטומט היא שפה רגולרית (ואלה שלא, סתם לא טרחנו למצוא עבורן ביטוי רגולרי) זה לא מקרי נוכיח בהמשך ששפה היא רגולרית אם"ם קיים אוטומט שמקבל אותה (כלומר, אם שפה מתקבלת ע"י אוטומט אז היא רגולרית, ולכל ביטוי רגולרי קיים אוטומט שמקבל את השפה המתאימה לו)] טענה [דוגמה לשפה שלא מתקבלת ע"י אוטומט] השפה n n { ab n 0} סוגים אחרים של אוטומטים) ]] אינה מתקבלת ע"י שום [[ DFA = אוטומט סופי דטרמיניסטי (עדיין לא הכרנו הרצאה 5 עמוד 3 מתוך 6

23 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר הוכחה: נניח בשלילה כי אוטומט המקבל שפה זו נקח n שגודלו לפחות כמספר איברי Q [כלומר, n ממספר המצבים באוטומט] נתבונן בסדרת הקונפיגורציות המראה כי המילה כאשר n n ab מתקבלת ע"י האוטומט: n n n ( ) ( 1 n n ) ( 2 n n s0, ab s1, a b s2, a b ) ( sn, b ) ( s2n, ε ) s 2n A s0 ו - = s עפ"י עקרון שובך היונים, בין 1+ n הקונפיגורציות השונות יש לפחות שתיים בעלות אותו רכיב מצב [[ זה החלק השמאלי בזוג הסדור אזי: לכן: k l ( q, ) [[ נסמן זאת ע"י s = s = q (כאשר ( 0 k < l n n n n k n + n l n + ( s0, ab ) ( q, a b ) ( q, a b ) ( s2n, ε ) ( ) ( s, a n l k b ) n ( q, a n l b n ) + ( s, ) 0 2 n ε, a מה שמביא לסתירה n + l k b n מכאן ש- ) ( [[ הרעיון של הנ"ל הוא: אנחנו לוקחים מילה שאורכה הוא לפחות פי 2 ממס' המצבים באוטומט מסתכלים על המסלול שמתבצע בין המצבים באוטומט עבור המילה הזו החצי הראשון של המסלול כולל מעבר על יותר מצבים מאשר כמות המצבים בכלל באוטומט, לכן (לפי עקרון שובך היונים), חייב להיות איזשהו מצב שמבקרים בו לפחות פעמיים מצב זה אומר שהתבצעה "לולאה" במעבר על המצבים באוטומט אז נוריד מהמילה את החלק שהאוטומט קרא במשך הלולאה הזו עדיין נגיע לאותו מצב סופי גם עם המילה החדשה (כי רק הורדנו לולאה מתוך המסלול; זה לא משנה את היעד הסופי שלו) כיוון שכל זה התרחש רק בעת קריאת החצי הראשון של המילה, מה שהורדנו מורכב רק מ- a םי- לכן במילה החדשה יש את אותה כמות של b -ים, אבל פחות a -ים כיוון שבמילה המקורית מס' ה- a -ים היה שווה למס' ה- b -ים, כאשר מורידים מספר -ים, מקבלים מילה בה יש פחות a -ים מאשר b -ים חיובי כלשהו של a בפרט, במילה החדשה מס' ה- a םי- שונה ממס' ה- b -ים מילה זו, כאמור, גם מתקבלת, למרות שהיא לא שייכת לשפה בסתירה להנחה שהאוטומט מקבל בדיוק את השפה המדוברת זהו ]] הרצאה 5 עמוד 4 מתוך 6

24 אוטומטים סופים אי-דטרמיניסטיים אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר אי-דטרמיניסטיות משמעה, במקרה שלנו, היא שהתנהגות האוטומט נקבעת לא רק ע"י מצבו ההתחלתי והקלט, אלא גם ע"י גורמים חיצוניים כלומר, כאשר נמצאים במצב מסויים וקוראים אות מסויימת, יש מספר מסויים של מצבים (אולי 0) אליהם ניתן לעבור כמו-כן, יש אפשרות למעבר ע"י קריאת מילה ריקה [[ כלומר אפשר לעבור בין מצבים בלי לקרוא אות מהקלט ]] הגדרה [אוטומט אי-דטרמיניסטי סופי] אוטומט אי-דטרמיניסטי סופי (NFA) הינו חמישים עבור,DFA אלא ש- החזקה של היא פונקציה מ- ; Q כלומר קבוצת כל תתי-הקבוצות של (,,,, ) 2 Q ]] הכוונה ב- 2 Q ל- Q ( Σ { e} ) ; Q כלומר } { = ) ( = QΣ sa בה כל הרכיבים הם כמו היא ל- (Q )P [[ ( P Q A A Q (קבוצת [[ ההבדל מאוטומט דטרמיניסטי הוא הפונקציה לעומת δ פונקציית δ של אוטומט דטרמיניסטי הגדירה עבור כל מצב, ועבור כל אות ב- Σ לאיזה מצב האוטומט עובר לעומתה, פונקציית של אוטומט אי-דטרמיניסטי מגדירה עבור כל מצב ועבור כל אות ב-, Σ לאילו מצבים הוא עשוי לעבור (לכן פונקציית מחזירה קבוצת מצבים אפשריים, ולא מצב החלטי יחיד) כמו-כן, מאפשרת לעבור בין מצבים גם מבלי לקרוא אות מהקלט (גם עבור זה מוגדרת קבוצה של מצבים אפשריים שאפשר לעבור אליהם מכל מצב) ]] דוגמה לייצוג גרפי של NFA כלשהו: [[ שימו לב שמהמצב העליון, למשל, אפשר עם האות b להגיע לשני מצבים שונים ]] לכאורה, האי-דטרמיניסטיות אינה מתאימה לראיית האוטומט כמודל של מחשב בהמשך יתברר כי ל- DFA יש את אותו כח חישוב כמו ל- NFA, ומכיוון שקל יותר להציג NFA המחשב משהו מאשר DFA המחשב את אותו הדבר, הרי בעיות מסויימות תהיינה יותר פשוטות נציין כי "אי-דטרמיניסטי" משמעו "לא בהכרח דטרמיניסטי, כך ש- DFA הינו למעשה מקרה פרטי של NFA הרצאה 5 עמוד 5 מתוך 6

25 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גודינגר [כלומר: אוטומט אי-דטרמיניסטי הוא מקרה כללי יותר מאוטומט דטרמיניסטי; הוא לא חייב להיות לא דטרמיניסטי (כלומר, אפשר בעזרת ההגדרה הנ"ל ליצור אוטומט דטרמיניסטי לכל דבר), אבל הוא יכול להיות לא דטרמיניסטי] הרצאה 5 עמוד 6 מתוך 6

26 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר אוטומט לא דטרמיניסטי (,,,, ) = QΣ sa תזכורת הגדרנו אוטומט סופי אי-דטרמיניסטי, ההבדל העיקרי מאוטומט דטרמיניסטי הוא בפונקציית המעבר, מה משמעות הדבר הבא: ( q, c) { q, q, q } = q 4 משמעותו היא שכאשר נמצאים במצב ומקבלים את האות, c מגיעים לאחד המצבים } q { q, q, (לא ניתן לדעת מראש לאילו מביניהם, ובכל "ריצה" של האוטומט יכול לקרות משהו אחר) [[ ההבדלים הנוספים הם: ניתן לעבור בין מצבים מבלי לקרוא קלט (ולכן אפשר גם לעבור בין מצבים לאחר שמסיימים לקרוא את הקלט כולו) אפשר "להיתקע" אם פונקציית מחזירה קבוצה ריקה עבור מצב ואות מסויימים, אז כאשר מצב זה קורה, האוטומט נתקע ולא ממשיך "לרוץ" 1 2 [[ הגדרות עבור NFA [קונפיגורציה, הובלה תוך צעד אחד, קבלת מילה, שפה] [אנו מגדירים קונפיגורציה בדיוק באותו האופן כמו שהגדרנו עבור DFA זה פשוט זוג סדור, [ ( q, ) Q Σ, ( q, ) ( q, ) , ונסמן ( q, ) 2 2 ( q, ) 1 1 קונפיגורציה אם מתקיים אחד משני התנאים הבאים: מובילה תוך צעד אחד לקונפיגורציה q, 2 1 מסוי ם, ו - ) σ ( q q = σ 1 2 א) ב) עבור σ Σ ( ), 2 1 q ε - ו = 1 2 q 2 מתחילה באות מסוימת נניח σ Σ והמצב [[ הסבר התנאים הנ"ל: 1 המילה א) מחזירה עבור הזוג (בדוגמה לעיל, למשל, נמצא בקבוצה שהפונקציה cc כי המילה ( q, cc ) ( q, c ) 4 3 q ( q, ε 1, אז ניתן לעבור ממצב 1 ) ( ( ) 1, q σ ( q ( מתחילה באות c ו )- 4 3 מעבר ריק: ב ( q 2 אם המצב למצב נמצא בקבוצה ש- מבלי לקרוא מהקלט, ואז מחזירה עבור הזוג ) ( q, ) ( q, (לא הורדנו אות מהמילה 1 2 q הרצאה 6 עמוד 1 מתוך 6

27 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [[ לדוגמה: כאן מתקיים: ( q4, caba) ( q3, aba) ( q4, caba) ( q10, aba) ( q4, caba) ( q12, aba) ( q, caba) ( q, caba) 4 3 הפעם היחס אינו פונקציה [[ כלומר הוא לא יחס חד-ערכי, והמקור שלו לאו-דווקא מכסה את כל ( q2, 2) ( q3, 3) ( q, ) כך ש- ; כמו-כן, יכול להיות שקיים אבל כך שלא קיים 1 1 ( q1, 1),( q2, 2),( q3, האפשרויות; יכולים להיות (3 ( q1, 1) ( q3, 3) וגם ( q1, 1) ( q2, 2) [[ ( q, ) ( q, ) עבורו ( q, ) i + DFA מוגדרים בדיוק כמו עבור - ו היחסים, המושג של קבלת מילה ע"י אוטומט והשפה ( ) מוגדרים כמו עבור DFA [[ ההבדל הוא שבאוטומט דטרמיניסטי, עבור מילה מסויימת יש בדיוק דרך אחת לנוע בין המצבים באוטומט עד שמגיעים למצב האחרון, והמילה נקראת "מתקבלת" אם מצב זה הוא מצב מקבל לעומת זאת, באוטומט אי-דטרמיניסטי יכולות להיות הרבה דרכים לנוע בו עד שמגיעים למצב "האחרון" (ואז עוד אפשר להמשיך לעבור בין מצבים מבלי לקרוא קלט, עם מעברי ε) אז אנו מגדירים שמילה מסויימת נקראת "מתקבלת" אם יש דרך כלשהי להגיע איתה למצב מקבל בסוף (גם אם יש מיליון דרכים להגיע למצב לא מקבל, ודרך אחת להגיע למצב מקבל היא נקראת "מתקבלת") ההגדרה כן נראית אותו הדבר כי כבר שהגדרנו "מילה מתקבלת" עבור אוטומט דטרמיניסטי לקחנו זאת בחשבון (אם כי אז לא היתה לזה הרבה משמעות) ]] הרצאה 6 עמוד 2 מתוך 6

28 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר דוגמאות 1) האוטומט: (( ) ) מקבל את השפה a b 2) שני האוטומטים הבאים: { a 3 ba, a 2 ba} שניהם מקבלים את השפה הרצאה 6 עמוד 3 מתוך 6

29 אוטומטים, שפות פורמליות וחישוביות ( ) וגם ה- DFA הבא מקבל את אותה שפה: סיכום מאת תומר גוֹדינגר [[ הסיבה היחידה שהאוטומט הראשון לא היה DFA היא שהיו מצבים שלא הוגדר עבורם מה לעשות עבור כל האותיות אז פשוט הוספנו מצב "זבל," ועשינו שכל המעברים החסרים עוברים אליו, וכן שהוא עובר תמיד לעצמו, כך שנשארים תקועים בו אז זה כן,DFA והוא נתקע בדיוק באותה צורה כמו ה- NFA, אם כי בצורה יותר "מכוונת" ]] הגדרה [אוטומטים שקולים] שני אוטומטים, הם שקולים אם ( ) = ( ) [זהו כמובן יחס שקילות (זה נובע ישירות מכך שיחס השוויון בין קבוצות הוא יחס שקילות)] משפט [הפיכת NFA ל- DFA ] לכל NFA קיים DFA שקול הוכחה: ההוכחה אלגוריתמית (,,,, ) = QΣ sa נתון,NFA עבור כל מצב כמו-כן נגדיר: q נתבונן באוסף המצבים אליהם ניתן להגיע מ- q { ( ε) ( ε) } q Q E( q) = p Q q, p, ( ) ( ) R Q E R = Eq q R לדוגמה, עבור חלק מאוטומט שנראה כך: ע"י קריאת המילה הריקה: הרצאה 6 עמוד 4 מתוך 6

30 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר מתקיים: ( ) = {,,,, } E q q q q q q ( δ ) ' = Q', Σ, ', s', A' כעת נגדיר,DFA ע"י: Q Q ' = 2 = P( Q) ( ) ( ( )) δ ' R, σ = E r, σ R Q, σ Σ s' = Es () r R { } A' = R QR A [[ הרעיון הוא: מגדירים אוטומט חדש, שכל מצב בו מייצג קבוצת מצבים באוטומט המקורי למשל, אם באוטומט ה- NFA המקורי ישנם מצבים q, q, q 1 2 3, אז באוטומט החדש יהיה לנו את המצבים " } q { q,," 1 2 { q, q, q } ", " ","{ q 1 } " " וכן הלאה אחד עבור כל אפשרות כיוון שמכל מצב באוטומט ה- NFA המקורי ניתן להגיע לאחד מכמה מצבים, איננו יודעים לאיזה מצב נגיע אבל אנחנו כן יודעים לאן אפשר להגיע אז אנחנו לוקחים בכל רגע את קבוצת המצבים שבה אנחנו יכולים להיות (למשל, בהתחלה אנחנו נמצאים ב- NFA או במצב s או באחד המצבים אליהם ניתן להגיע מ- s בעזרת מעבר ε וקבוצת כל המצבים הללו בדיוק נקראת () Es ; זה השם שנתנו לה, לפי הגדרת הפונקציה E שעשינו קודם) עבור כל מצב בקבוצת המצבים שבהם אנחנו יכולים להימצא, אנחנו שואלים לאן אנחנו יכולים להגיע בעת קריאת אות בודדת מהקלט אוספים את כל המצבים שאנו מקבלים מהתשובות לכל השאלות הללו (כולל מצבים שניתן להגיע אליהם במעברי ε אחרי קריאת האות מהקלט) ואז, לאחר קריאת האות מהקלט אנחנו בוודאות נימצא באחד המצבים שאספנו (הרי אספנו את כל האפשרויות) אז אנחנו מגדירים שעבור האות הזו, נעבור מהמצב שמייצג את קבוצת המצבים ב- NFA בה היינו למצב המייצג את קבוצת המצבים ב- NFA שעכשיו אספנו אילו מצבים הם מצבים מקבלים באוטומט החדש? אלה הם המצבים שמייצגים קבוצת מצבים ב- NFA המקורי שבה יש לפחות מצב אחד מקבל זאת משום שלפי ההגדרה שלנו, ה- NFA מקבל אם"ם אפשר להגיע למצב מקבל אז אם אנחנו הרצאה 6 עמוד 5 מתוך 6

31 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר מסיימים את הריצה במצב ב- DFA שמייצג קבוצת מצבים ב- NFA שבה יש מצב מקבל כלשהו, זה אומר שמתחילת הריצה היתה לנו אפשרות להגיע למצב שהוא מקבל לכן ה- DFA שלנו גם הוא צריך לקבל מילה שמביאה אותו למצב שכזה הערה: בעקרון היינו אמורים גם להתחשב ב- ) σ ) Er (,( בהגדרה שלנו של ' δ, כדי לתמוך באפשרות בה קודם מבצעים מעבר ε ורק אז קוראים את האות σ אבל למעשה זה שבחרנו להתחילב-() s' = Es s' = ולא ב- {s { קודם מתחשבים במעברי ε ורק אז מסתכלים על הקלט ]] מטפל לנו כבר באפשרות זו (כי כך אנחנו בכל שלב תמיד ברור כי ' הוא [[ DFA הרי מוגדר לו באופן חד-משמעי מכל מצב ועבור כל אות בקלט לאן הוא עובר, ואין לו אפשרות לעשות מעברי ε אז ההגדרה שלנו של ' מקיימת את ההגדרה של אוטומט סופי דטרמיניסטי ]] יש להראות כי הוא שקול ל- דוגמה: מהאוטומט הבא: מקבלים ע"י הבניה את האוטומט: b { q1 } b { q1, q2 } a a a Ø a,b b { q2 } הרצאה 6 עמוד 6 מתוך 6

32 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר המשך הוכחת המשפט [הפיכת NFA ל- DFA ] עד כה הגדרנו אוטומט דטרמיניסטי ואי-דטרמיניסטי הגדרנו בפעם שעברה, לשם הגדרת אוטומט דטרמיניסטי השקול לאוטומט אי-דטרמיניסטי: ( ) { (, ε) (, ε) } ( ) ( ) q Q E q = p Q q p R Q E R = E q Q Q ' = 2 = P( Q) ( ) ( ( )) R Q, σ Σ δ ' R, σ = E r, σ s' = Es () q R r R { } A' = R Q: R A בסוף השיעור שעבר הראינו את הדוגמה הבאה: [[ בשיעור שעבר העתקתי את הדוגמה לא נכון, אבל ציירתי את האוטומט הדטרמיניסתי בהתאם במקום לתקן אותה, אכתוב עכשיו את הדוגמה הנכונה ]] האוטומט הדטרמיניסטי שמתקבל: { q 1 } b a {q 1, q 2 } b b Ø a,b a { q 2 } a נראה למה זהו אכן האוטומט שמתקבל: הרצאה 7 עמוד 1 מתוך 5

33 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר ( 1) = { 1, 2}, ( 2) = { 2} ' = ( 1) = { 1, 2} ' = {{ 2},{ 1, 2} } '(, a) =, δ '(, b) = '({ q1}, a) = { q2}, δ '({ q1}, b) = '({ q2}, a) =, δ '({ q2}, b) = { q1, q2} '({ q1, q2}, a) = { q2}, δ '({ q1, q2}, b) = { q1, q2} E q q q E q q s E q q q A q q q δ δ δ δ [[ פשוט עברנו על הגדרת ה- DFA שעשינו עבור NFA בהוכחה, וכתבנו מה כל דבר אומר בהגדרת הפונקציה ' δ של ה- DFA שלנו, עלינו לכתוב לאיזה מצב עוברים מכל מצב בכל אות בקלט ב- DFA שהגדרנו, כל מצב מייצג קבוצה של מצבים מה- NFA ; כלומר קבוצת המצבים של ה- DFA היא (Q, )P לכן עבור כל איבר ' δ מחזירה עבורם, Q כלומר }, ab,( Σ= { עלינו להגדיר מה קבוצת כל תתי-הקבוצות של קבוצת המצבים של ה- NFA, ( ) p ועבור כל אות σ Σ (בדוגמה זו P Q ( p ) (כלומר מהו δ) ', σ זה מה שעשינו כאן בדוגמה הציור מתאר אחד לאחד את מה שכתבנו כרגע בצורה פורמלית (המצב ההתחלתי מיוצג עם חץ מסולסל, המצבים המקבלים מיוצגים ע"י עיגול כפול, ופעולתה של פונקציית ' δ מתוארת ע"י החצים) ]] { } q 1 דרך אגב, המצב באוטומט שהתקבל מיותר, מכיוון שלא ניתן להגיע אליו מן המצב ההתחלתי, Σ= { ab, } ולכן ניתן להשמיטו תופעה זו נכונה באופן כללי כאשר רוצים לפשט אוטומטים קל לראות כי השפה המתקבלת ע"י האוטומטים הנ"ל מורכבת מאוסף המילים מעל שאינן מכילות שני a -ים רצופים [[בדקו זאת בשני האוטומטים ותראו רק זכרו שהאוטומט האי- דטרמיניסטי מקבל מילה מסויימת אם"ם ניתן עבור מילה זו להגיע למצב מקבל בדרך כלשהי (גם אם יש עוד מלא דרכים להגיע למצב לא מקבל); במילים אחרות, מילה לא מתקבלת ע"י NFA אם"ם בלתי אפשרי להגיע איתה למצב מקבל תוך מעבר על המצבים באוטומט ]] { : (, ) (, )} R= p s pε ( s', ) ( R, ε ) ' למה אם אז [[ כלומר, אם באוטומט הדטרמיניסטי ניתן להגיע עם המילה ממצב ' s למצב R (ולסיים את כל המילה), אז ה- R הזה שמגיעים אליו בסוף הוא קבוצת כל המצבים p Q של האוטומט האי- דטרמיניסטי, שבאוטומט האי-דטרמיניסטי ניתן להגיע אליהם ממצב s עם המילה (ושוב, בתנאי שמסיימים את כל המילה) ]] הוכחה: באינדוקציה על הרצאה 7 עמוד 2 מתוך 5

34 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר בסיס: עבור = 0, הרי = ε R= מכיוון ש-' דטרמיניסטי, הרי 's מצבים מבלי לקרוא אות ]], ומתקיים: [[ כי באוטומט דטרמיניסטי לא ניתן לעבור בין = ε { ( ε) ( ε) } ( ) ( ε) { } s' = E( s) = p: s, p, = p: s, p, ' n הנחה: נניח את נכונות הלמה עבור מילים באורך n +1 צעד: תהי מילה באורך = n- ו σ Σ באשר = ' נרשום את בצורה σ דטרמיניסטי, קיממים מצבים יחידים ', RR שעבורם: מכיוון ש-' ( s', ' ) ( R', ε), ( s', ) ( R, ε) ' ' ( ) δ ' R', מכאן ש- R σ = [[ כלומר, כאשר קוראים את המילה ' מגיעים מההתחלה למצב ' R, וכאשר קוראים את R ועוג אות אחת מגיעים מההתחלה למצב ' שזה בסה"כ בדיוק לכן בהכרח כשנמצאים במצב ' R וקוראים את האות האחרונה ב- (שזו σ), מגיעים ל- [[ R { : (, ) (, )} R= p s pε עלינו להראות כי: במילים אחרות, יש להראות כי: (, ' σ) (, ε) p R s p { : (, ) (, )} p R p p s pε [[ זו למעשה הכלה דו-כיוונית; הטענה אומרת ש- { : (, ) (, )} R, ובאופן דומה להיפך ]] p s pε על סמך הנחת האינדוקציה, ( ) ( ) r R' s, ' rε, [[ זה אומר שכשמתחילים מ-, s לאחר קריאת המילה ' ניתן להגיע ל- r ]] הרצאה 7 עמוד 3 מתוך 5

35 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר לכן: ( σ) ( σ) r R' s, ' r, [[ זה בעצם אומר בדיוק את אותו הדבר, רק שאחרי שקראנו את ' עוד לא סיימנו לקרוא את כל הקלט, ועדיין עלינו להמשיך אבל זה לא משנה את העובדה שלאחר קריאת ' יכולנו להגיע בדיוק לאותם המצבים ]] q Qr, R' p δ '( R', σ) ( r, σ ) לפי הגדרת ' δ, הרי אם"ם קיימים מצבים כך ש: p Eq ( )- ו q E ( ( r, σ )) [[ זה נובע מהגדרת ' δ שלנו, כי אמרנו ש- כלשהו; כלומר, ( ) ( ( )) R Q, σ Σ : δ ' R, σ = E r, σ ( ) r R הגדרה זו אומרת שכל איבר ב- δ ' R,' σ הוא תוצאה של r, ואז הולכים ממנו בעזרת σ לאחד מהמצבים האפשריים, לוקחים איזשהו מצב 'R ולאחר מכן אולי מבצעים מעברי ε כל המצבים אליהם אנו מגיעים כך נמצאים ב- r R' '( R ', ) ( R', ) δ, σ ורק הם אז p δ ' σ אחר, (כלומר אם"ם קיים איזשהו מצב כך שאפשר להגיע מ- r לאיזשהו מצב ע"י מעברי ε ל- ( r, σ ) q ז"א שניתן להגיע מ-, p Eq ( כך ש-(,( = q [[ ( ( q, ε) ( p, ε) q p (כלומר ו - ( R', ) p, כלומר, p δ ' σ אז מ- לכן, אם R נובע: ( s, ' σ) ( r, σ) ( q, ε) ( p, ε) [[ ( s, ) = ( s, ' σ) ( p, ε) [[ ולכן, מטרנזיטיביות, בכך הראינו את הכיוון להיפך, אם ב-, הרי אם ניקח תחנת ביניים בסדרת המעברים לקראת ( s, ' σ) ( p, ε) השלב בו נקראת σ נקבל שקיימים qr, Q שעבורם: ( s, ' σ) ( r, σ) ( q, ε) ( p, ε) [[ כלומר, אנו מפרקים את המסלול באוטומט האי-דטרמיניסטי מ- s ל- p תוך קריאת כל המילה לחלק שלפני קריאת האות האחרונה + קראת האות האחרונה + 0 או יותר מעברי ε למצב הסופי ]] r R' ( s, ') ( rε, ) מהמעבר השמאלי נובע כי, לכן לפי הנחת האינדוקציה, הרצאה 7 עמוד 4 מתוך 5

36 מ- אוטומטים, שפות פורמליות וחישוביות ( ) נובע עתה כי סיכום מאת תומר גוֹדינגר ( ', ) p R=δ ' R σ מכאן הכיוון ב-, מה שמסיים את הוכחת הלמה המשך הוכחת המשפט נסיים כעת את הוכחת המשפט [[ q R ( ) ( ) ( ) אזי קיים יהי s, qε, כך ש- q A { : (, ) (, )} R= p s מכילה איבר של ]] A בקיצור: pε [[ q באשר R A ]] כי A ( s', ) ( R, ε ) ' כלומר, הקבוצה לפי הלמה, לכן q וגם R [[ כי הגדרנו את המצבים המקבלים של ' בתור כל המצבים R עבורם ( ') R A, אז אותו R שקיבלנו כאן הוא מצב מקבל ]] הכיוון ההפוך מוכח באותו אופן מכאן המשפט הרצאה 7 עמוד 5 מתוך 5

37 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר משפחת השפות המתקבלות ע"י אוטומטים סופיים [[ FA בתרגול קראנו לזה נסמן משפחה זו ב- זהות) ]] Λ DFA או Λ NFA (הרי כבר הראינו ששתי אלה משפט [סגירות לפעולות בסיסיות] FA סגורה תחת איחוד, חיתוך, השלמה, כפל [[ = שרשור ]] ו - -קליני [תזכורת: הכוונה ב"השלמה" היא "השפה המשלימה," כלומר המשלים של השפה עבור שפה המשלים של, Σ הוא [ = Σ \ [משפט זה נכון רק למס' פעולות סופי (חיתוך/איחוד מספר סופי של קבוצות) זה לא נכון עבור איחודים/חיתוכים בני-מניה את זה קל להראות בכך שאומרים שכל שפה שהיא היא תת-קבוצה של Σ, ולכן היא בת-מניה אפשר להציג אז כל שפה ע"י איחוד בן-מניה של יחידונים, שכל יחידון מכיל מילה אחת בשפה כל שפה של יחידון ניתן לקבל ע"י אוטומט (קל להראות זאת), לכן לפי ההגיון הזה, אם המשפט היה נכון לאיחוד אינסופי בן-מניה של שפות, כל שפה היתה אפשרית לקבלה בעזרת אוטומט ואנו כבר יודעים שזה לא נכון] הוכחה: הרעיון, בכל אחד מחלקי המשפט, הוא להתחיל מאוטומטים (או אוטומט, במקרה של משלים ו - -קליני) המקבלים את השפות הנתונות, ולבנות אוטומט המקבל את השפה שיש להוכיח את FA שייכותה ל- לאור המשפט הקודם, ניתן להתחיל (אם רוצים) באוטומטים דטרמיניסטיים ולסיים באי-דטרמיניסטי חלק א': איחוד, נניח כי מתקבלות ע"י ה- NFA -ים: 1 2 (,,,, ) (,,,, ) = Q Σ s A = Q Σ s A Σ 1 [לא כתבנו, Σ 2 כי מבחינתנו הא"ב שלנו כולל את כל האותיות שכל שפה מכילה] ו - בה"כ Q Q = 1 2 [אם יש מצבים באותו שם בין האוטומטים, אפשר לשנות את השמות של המצבים כך שזה לא יקרה, מבלי לשנות את אופן פעולת האוטומטים] ע"מ לקבל את, ניקח אוטומט המורכב מ"איחוד" שני האוטומטים, ונוסיף מצב חדש, ממנו 1 2 s 1 ניתן לעבור ע"י ε הן ל- s 2 כלומר: והן ל הרצאה 8 עמוד 1 מתוך 7

38 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר 1 s 1 A 1 s ε ε 2 s 2 A 2 (,,,, ) { } ( ) = QΣ sa Q= Q Q s s Q Q A= A A ( q, α), q Q1, α { ε} 2( q, α), q Q2, α { ε} { s, s }, q = s, α = ε Σ Σ ( q, α ) = 1 2, q = s, α ε נגדיר אוטומט זה פורמלית: הרצאה 8 עמוד 2 מתוך 7

39 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [[ הסבר על פונקציית : מגדירה כל מעבר שהוא באוטומט אלה לא הפעולות שמתבצעות עבור מילה מסויימת, אלא החצים שמגדירים את האוטומט עצמו 1 1 באוטומט יהיו בדיוק את אותם המעברים שיש באוטומט המקורי, אנו רוצים שבחלק של באופן דומה, אנו רוצים שבחלק של 2 באוטומט בנוסף, הגדרנו מצב חדש, s 2 s 1 ול- אנו רוצים להגדיר שמ- s ניתן לעבור ל- לכן הגדרנו ש- } s ( s, ε ) { s, יהיו בדיוק את אותם המעברים שיש ב-, s לכן עלינו לומר אילו מעברים קיימים ממנו (אילו חיצים יש ממצב זה) = (זה אומר שניתן לעבור מ- s ע"י ε, ולא ניתן לעבור לאף מצב עם אות ע"י ε לאחד מהמצבים s1,,( וכן s2 ( ),s לכל σ Σ (כי אנחנו לא רוצים לאפשר לעבור מהמצב החדש למצב אחר תוך ש- = σ קריאת אות מהקלט) ]] מילה ( ) שייכת ל- זה קורה אם"ם קיים כלומר, אם"ם לכן: אם"ם כך ש- ), qε ( a, ) ( q A ( ) ( ) q A 1 1 כך ש- s, q, ε או קיים כך ש- ) ε ( s, ) ( q, q A 2 2 ( 1 ) או ז"א ש- ) ( ) ( 1 2 ( 2 ) ( ) = ( ) ( ) 1 2 חלק ב': השלמה נניח כי מתקבלת ע"י ה- DFA : (,, δ,, ) = QΣ sa אזי Σ \ מתקבלת ע"י: ( δ ) ' = Q, Σ,, sq, \ A [[ יש לנו את שעושה מעברים כלשהם, ובסוף מכריע אם מילה מתקבלת או לא לפי אם הוא הגיע למצב מקבל או לא ע"מ לקבל את השפה ההפוכה, פשוט נהפוך את המצבים המקבלים ללא- מקבלים ולהיפך, וזאת עושים ע"י הגדרת קבוצת המצבים המקבלים להיות כולם חוץ ממי שהיה מצב מקבל במקור ]] שימו לב שהבניה לא היתה עובדת עבור NFA לדוגמה: : הרצאה 8 עמוד 3 מתוך 7

40 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר ': כאן הפכנו את המצבים המקבלים והלא-מקבלים, אבל: ( ) = ( ') = {, } a b חלק ג': חיתוך, מתקבלות ע"י אוטומטים סופיים, אז גם: אם (( ) ( )) =Σ \ Σ \ Σ \ מתקבלת ע"י אוטומט לאור שני החלקים הקודמים [[ אולי יהיה קצת יותר נוח להסתכל על השוויון הנ"ל כך: 1 2 = 1 2 זה נובע מאחד מחוקי דה-מורגן לקבוצות ]] חלק ד': מכפלה [שרשור], כמו בחלק א' יהיו s 1 A 1 ε ε ε 2 s 2 A 2 s עם מילים ב- יש לשרשר מילים ב- לייצור מילים ב- 2 1, A 1 אשר יפסיקו להיות מקבלים, אל, s 1 ומוסיפים מעברי ε מאיברים לשם כך מתחילים ב- פורמלית: הרצאה 8 עמוד 4 מתוך 7

41 Q= Q Q s = s 1 A= A אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר ( q, α), q Q, α { ε} ( q, α), ( q, ε) { s }, q q Q \ A, A, α α ε ε ( q, α), q Q, α { ε} 1 1 Σ = ( q, α ) = = 2 2 Σ,( A 1 1 [[ הסבר על פונקציית : בחלק של אנחנו רוצים להוסיף מעברי ε מכל המצבים המקבלים של (אלה הם 1 2 ובחלק של אנחנו לא רוצים לעשות שינוי כלל לכן פיצלנו את המעברים הקשורים ל- 1 ל- 3 מקרים: מעברים שבהם קוראים אותיות מהקלט מהמצבים שאינם מקבלים (כלומר, שנמצאים ב- 1 נשארים זהים לכפי שהם היו ב- \Q1 ), מעברי ה- ε נשארים אותו הדבר A1 A 1 מהמצבים המקבלים (כלומר אלה שב- s 2, 1 אבל עכשיו גם אפשר להגיע ל- להגיע מהם ב- ), ניתן להגיע בעזרת ε לאיפה שהיה אפשר 2 של ( s, ) ( p, ε ) כך ש- ) ε ( s ) ( q 1,,, = 1 2 p A 1 q A 2 [[ מילה מתקבלת ע"י זה קורה אם"ם קיימות מילים אם"ם קיים ומצב כך ש- 1, 2 ( s, ) ( q, ו - ) ε וזה קורה אם"ם ( ) = 1 2 לכן מקרה ה': -קליני הרעיון הוא להוסיף מעברי ε מכל אחד מהמצבים המקבלים אל המצב ההתחלתי הבעיה היא, שאם המצב ההתחלתי אינו מקבל אז המילה ε לא תתקבל (אל אם-כן ניתן להגיע מהמצב ההתחלתי למצב מקבל ע"י מעברי [[ ε הפואנטה היא שאם ε, כאשר היא השפה המקורית, אז ε לא יהיה כך באוטומט שלנו, שאמור לקבל את, ושם כן יש את ]] ε לכן נוסיף מצב חדש, שגם הוא מקבל, אשר ממנו יש מעבר ε למצב ההתחלתי המקורי הרצאה 8 עמוד 5 מתוך 7

42 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר 1 ε s' ε s A 1 ופורמלית: ( ) { } ( ) ' = Q', Σ, ', s', A' Q' = Q s' s' Q s = s' = { '} ( q, α), q Q\ A, α Σ { ε} ( q, α), q A, α ε ( q α) ( q ε) { s} q A α ε A' A s ', =,,, =, q = s', α ε { s}, q = s', α = ε [[ הסבר על פונקציית : מעברים של מצבים שאינם מצבים מקבלים נשארים אותו דבר מעברים ממצבים מקבלים שדורשים אות ממשית (ולא ε) גם נשארים זהים ממצבים מקבלים ניתן לעבור עם ε לאותם מצבים שיכולנו קודם, אבל גם ל- s מהמצב החדש, ' s, לא ניתן לעבור תוך קריאת אות ממשית לאף מצב אחר מהמצב החדש, ' s, ניתן לעבור עם ε למצב s וזהו [[ הרצאה 8 עמוד 6 מתוך 7

43 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר שפות רגולריות ושפות המתקבלות ע"י אוטומטים משפט [הן זהות] שפה היא רגולרית אם"ם היא מתקבלת ע"י אוטומט Dum-dum-dummm! הרצאה 8 עמוד 7 מתוך 7

44 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר Previously, on Automata שפות רגולריות ושפות המתקבלות ע"י אוטומטים אמרנו משפט: משפט [הן זהות] שפה היא רגולרית אם"ם היא מתקבלת ע"י אוטומט הוכחה: "רק אם:" [[ הכלה ראשונה ]] יש להראות כי משפחת השפות הרגולריות ] [ REG מוכלת ב- FA REG נזכור כי תחת איחוד, כפל ו - -קליני המשפחה זו המשפחה המינימלית הכוללת את, את לכל σ} {,σ Σ וסגורה FA כוללת את, כפי שרואים כ"י התבוננות באוטומט: [זה אוטומט לא דטרמיניסטי, כי לא לכל אות בא"ב כתוב לאן הולכים מכל מצב] וכן היא כוללת את :{ σ} [[ האוטומט האי-דטרמיניסטי הנ"ל מקבל בדיוק את השפה לכן {σ }, כי הדרך היחידה שמילה FA תתקבל היא אם היא מתחילה ב- σ, ואז מיד נגמרת כל דבר אחר מביא למצב לא מקבל או "תוקע" את האוטומט ]] FA יש שלוש תכונות הסגור הדרושות לאור המשפט הקודם, ל- הרגולריות מכילה את המשפחה המינימלית בעלת תכונות אלה, כלומר את משפחת השפות לכן כל שפה רגולרית מתקבלת ע"י אוטומט [[ בתכל'ס, למה כל שפה רגולרית מתקבלת ע"י אוטומט? ראינו כבר (במשפט הקודם) איך לוקחים בונים אוטומט עבור שפה שהיא איחוד של שפות של אוטומטים, וכן גם שרשור ו - -קליני אז איך נבנה אוטומט שמקבל שפה רגולרית כלשהי? לוקחים את הביטוי הרגולרי, ומפרקים אותו לחלקים הקטנים ביותר שלו ראינו פה שיש אוטומט עבור ביטוי רגולרי בסיסי ) או σ) כל מה שהביטוי הרגולרי מתאר זה שרשור, איחוד ו - -קליני בין שפות רגולריות, אז נוכל לבנות את האוטומט ע"י שרשור, איחוד ו - -קליני "בין אוטומטים" (כלומר בניית אוטומט עבור פעולות אלה בין שפות של אוטומטים אחרים) הרצאה 9 עמוד 1 מתוך 6

45 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר תהי נניח שפה המתקבלת ע"י אוטומט, נאמר ( ) = באשר { } s = q 1, Q= q, q,, qr ובה"כ נניח ש- 1 2 אז אם המצב ההתחלתי הוא המצב ההתחלתי] מתקיים:, q 5 אפשר להחליף בין השמות של דטרמיניסטי [השמות של המצבים באמת לא חשובים, q 5 q 1 ו - q 1 ואז {,,, 1 j } ( ) ( ) ( j ε ) = Σ q q q A = יהיה [[ כלומר זוהי שפת כל המילים שניתן להגיע איתן מהמצב ההתחלתי למצב מקבל כלשהו תוך קריאת כל המילה ]] { ( q1, ) ( qj, ε )} = Σ jq : j A [[ כל קבוצה באיחוד מתארת הגעה למצב מקבל ספציפי; הקבוצה כולה היא איחוד כל הקבוצות הללו עבור כל המצבים המקבלים של האוטומט ]] מכיוון שאוסף השפות הרגולריות סגור תחת איחוד[סופי!], ניתן להניח כי בודד, נאמר A A= { q j0 } מורכבת מאיבר [[ כלומר: אם נצליח להוכיח שכל קבוצה באיחוד היא רגולרית, אז גם האיחוד, כיוון שהוא REG סגורה תחת איחוד סופי, גם היא תהיה רגולרית איחוד סופי ו - אז אנו נניח שיש לאוטומט שלנו רק מצב מקבל אחד, ונוכיח זאת עבור מקרה זה, ואז מזה ינבע שהשפה הנ"ל, המורכבת מהאיחוד, גם היא רגולרית ]] עבור למצב q i, נסמן ב-(, jk )T,i את קבוצת המילים המעבירות ממצב 0 k r, 1 i, j r q j מבלי לעבור באמצע דרך שום מצב q l עם ( ) = ( 1,, ) T j r 0 l > k כמובן, [[ הסבר: ), jk )T,i זו קבוצת כל המילים שאפשר להשיג כאשר מתחילים מהמצב, q j ובאמצע (כלומר בכל מצב שהוא לא נקודת ההתחלה ומסיימים ב- ), q j לא עוברים בשום מצב למשל, q i q i q l l > k עבורו T היא קבוצת כל המילים שניתן להשיג ע"י התחלה במצב ( 4,6,3), q 6 ושבדרך עוברים רק באחד המצבים ולא נקודת הסיום, q 4 סיום במצב { q, q, q } (אלה כל המצבים שהאינדקס שלהם לא גדול מ- ) 4 שימו לב, אין קשר בין קבוצת המילים שאנו מקבלים כך, לשפת המילים המתקבלת ע"י האוטומט (הרי לאו דווקא התחלנו במצב ההתחלתי ואנו לאו דווקא מסיימים במצב מקבל) q 1 אבל ספציפית המקרה בו i =,1 j = j, k = r הוא בדיוק המקרה בו אנו מתחילים ב- (שזה המצב ההתחלתי), מסיימים ב- q j0 במצבים שהאינדקס שלהם גדול מ- r (שזה המצב המקבל היחיד), ובדרך לא עוברים אבל כל המצבים באוטומט הם, לכן { q q } 1,, r תנאי זה חסר משמעות, ובסה"כ אנו מקבלים דרישה של להתחיל במצב ההתחלתי ולסיים במצב המקבל וזהו קבוצת המילים הללו הן בדיוק השפה המתקבלת ע"י האוטומט ]] הרצאה 9 עמוד 2 מתוך 6

46 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [דוגמה עבור "טיול" שנותן מילה ב-( j,3 )T:],i נראה, ביתר כלליות ממה שנדרש, כי ההוכחה באינדוקציה על o בסיס: עבור i, jk, רגולרית לכל T( i, jk, ) (0,j )T,i סופית היא מורכבת מכל המילים בנות אות אחת, בתוספת ) ε = ( k q j ל- = 0 k, הרי המעבירות מ- q i אם, i = j כך שזו שפה רגולרית q j ל- [[ הסבר: q i כאשר = 0 k, הדרך היחידה להגיע מ- עבורו בלי לעבור בשום מצב q l l > 0 (שזה כל המצבים), היא ע"י מעבר ישיר מ- q i עליו אות כלשהי אז המילים היחידות שיכולות להיות בשפה באורך אחד למשל, אם יש חץ מ- q i q j ל- באמצע ע"י חץ שכתובה j,0) T( i, הן מילים q j ל- (,,0) = { ab, } T i j שכתוב עליו ", ab " אז qj מבלי לעבור = ל- qi q i עוד עניין אחד קטן: אם, i = j אז אפשר להגיע מ- במצבים בדרך גם אם נשארים במקום, לכן במקרה זה עם המילה הריקה ε תהיה ב- j,0) T( i, הרצאה 9 עמוד 3 מתוך 6

47 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר בכל מקרה אנו מקבלים שפה סופית, לכן היא רגולרית ]] ( i, j k הנחה: נניח שהטענה נכונה עבור מסויים (לכל o [[ כלומר, הנחת האינדוקציה שלנו אומרת: i, 1, השפה ), jk T( i, היא רגולרית [[ לכל j r צעד: ]] נראה שהטענה נכונה עבור +1 k : [[ o (,, + 1 ) = (,, ) (, + 1, ) ( + 1, + 1, ) ( + 1,, ) T i jk T i jk T ik k T k k k T k jk q l q j ל- ואמנם, ע"מ לעבור מ- q i מבלי לעבור באמצע דרך שום מצב עם +k, l > הרי או שלא עוברים באמצע בשום מצב עם אינדקס < k, או שמגיעים 1 תחילה ל- מבלי לעבור במצבים עם אינדקס < k, לאחר מכן עוברים מ- q k + 1 q k + 1 q - k + 1 ל בעל אינדקס מספר כלשהו של פעמים, כאשר בכל מעבר לא עוברים באמצע בשום מצב q j ל- מבלי לעבור דרך מצבים עם q k + 1 < k, ולבסוף עוברים מ- q j ל- q i אינדקס < k [[ הסבר: איך נראה "טיול" מ- שמבקר בדרך רק ב- 1 + k המצבים הראשונים, q k + 1 q j ולסיים ב-? {,,, } q q q + 1 k k 1 הוא יכול להתחיל ב- q i שעושה זו היא בדיוק מבלי בכלל לבקר את קבוצת המילים T( i, jk, ) k לטייל ב-, q i הוא יכול גם להתחיל ב- כלשהו של פעמים (לפחות 1), ואז בסוף להגיע ל- q j המצבים הראשונים, מתישהו להגיע מספר זו קבוצת המילים k (,, + 1) ( + 1, + 1, ) ( + 1,, ) T i jk T k k k T k jk q k + 1 למה? כי זה בדיוק מסלול שמתחיל ב- q i באמצע (זו מילה מ- k) 1, +, ( ומגיע ל- רק בעזרת המצבים הראשונים ), אז מגיע ל- 1 +, k מבצע מספר כלשהו של T ik q k + q ל- 1 k + 1 פעמים טיול מ- ב- רק בעזרת k המצבים הראשונים (זו מילה הנמצאת k שוב רק בעזרת, q j q ל- k + 1 ( + 1, + 1, ) ), T k k k ואז בסוף מבצע טיול מ- ( T k מכאן המשפט המצבים הראשונים (זו מילה מ- ), jk 1, + ( לכן בסה"כ אנו מקבלים מילה מהשרשור של שלושת שפות אלה ]] הרצאה 9 עמוד 4 מתוך 6

48 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר דוגמה באוטומט הבא (הדומה לזה מהדוגמה עם בורר הערוצים): השפה המתקבלת מורכבת מכל המילים מעל }, ab { ה- b -ים הוא 1 מודולו 3 בהן ההפרש בין מספר ה- a -ים למספר ( ) = T( 1, 2, 3) לבניית ביטוי רגולרי, נשתמש בהוכחת המשפט: q 2, q 1 המצב המקבל הוא [שימו לב, זה במקרה יצא "3,1";,2 זה כי המצב ההתחלתי הוא מצבים] ויש 3 ( ) ( ) { } ( ) ( ) { } ( 1,2,3) = ( 1,2,2) ( 1,3,2) ( 3,3,2) ( 3,2,2) T T T T T ( ) { } ( ) { } ( ) { ε, ba} ( ) { ε, ba} ( ) { ε, } = a = a = = ba ( ) {, } = b = a = = a bb ( ( ) ) T 1, 2, 2 = T 1, 2,1 T 1, 2,1 T 2, 2,1 T 2, 2,1 = a ba ( ( ) ( )) 1,3, 2 = 1,3,1 1, 2,1 2, 2,1 2,3,1 = T T T T T b a ba a bb נפרק כל אחד מהמרכיבים: ( ) ( ) ( 3,3, 2) = ( 3,3,1) ( 3, 2,1) ( 2, 2,1) ( 2,3,1) = ( )( a) ( a bb) T T T T T ab b aa b ( 3, 2, 2) = ( 3, 2,1) ( 3, 2,1) ( 2, 2,1) ( 2, 2,1) = ( )( ) ( ) T T T T T b aa b aa ba ba [תזכורת: השפה המתאימה לביטוי הרגולרי כתבנו כאל השפה המכילה רק את ε] היא {ε }; אתם יכולים להתייחס לכל מקום בו אם מציבים את ארבעת הביטויים האחרונים בביטוי הבסיסי עבור (3 (,1,2 T, מקבלים הצגה כנדרש הרצאה 9 עמוד 5 מתוך 6

49 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר נציין כי התחלנו מלמעלה ע"מ להימנע מחישובים מיותרים החישובים ככלל מייגעים למדי 3 יש לחשב כ- r ביטויים אשר הולכים ומסתבכים ככל ש- k גדל [[ ז"א: בעקרון, בהוכחה הלכנו מלמטה למעלה; חישבנו את כל השפות פעם שחישבנו את כל ה-(, jk )T,,i חישבנו את בדוגמה, עשינו להיפך, כי ע"מ לחשב את עבור (0,j )T,,i ואז לאחר כל T( i, jk, ) T( i, jk+, 1) T לא באמת צריך את כל השפות ( 1, 2, 3) ]] P= אז חבל המטרה במדעי המחשב היא לעשות כמה שפחות, k הרצאה 9 עמוד 6 מתוך 6

50 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר משפט ניפוח והוכחות אי-רגולריות אנו יכולים לבנות שפות רגולריות רבות ידוע לנו כי רוב השפות אינן רגולריות, אך עד כה ראינו רק דוגמה אחת לשפה כזו n n { ab : n 0} ננצל את השיטה בה השתמשנו באותה דוגמה להוכחת משפט שיאפשר להוכיח כי שפות רבות אינן רגולריות משפט [למת הניפוח emma) [(Pumping תהי שפה רגולרית אינסופית n 0 v ε עם uv Σ,, אזי קיימות שלוש מילים, n uv כך ש- לכל [[ כלומר, אפשר למצוא מילים u, (שלאו דווקא נמצאות בשפה), ואיזושהי מילה לא ריקה נוספת, v (שגם לאו דווקא נמצאת בשפה), כך שאם נשרשר את ל-, u וביניהם נכניס את v כמה פעמים שבא לנו (גם 0 פעמים) אז תמיד נקבל מילה שכן נמצאת בשפה (אם לוקחים v = ε כן ריקה אז זה תמיד מתקיים בכל שפה ואז זה לא מעניין) למשל, בשפה שמתאימה לביטוי הרגולרי המילים הבאות נמצאות בשפה: =v, ואז כל b- ו = cc, u = aa, aab cc ניתן לבחור ( ) ( ) ( ) ( ) u = aacc aab cc uv = aabcc aab cc uvv = aabbcc aab cc uvvv = aabbbcc aab cc ו - ) ( [[ ( v = b aab cc = cc ( aab cc), u = aa aab cc (למרות ש- ) ( ברור שתוצאת המשפט אינה נכונה עבור סופית אך מכיוון ששפה סופית היא בהכרח רגולרית, אין בכך הפסד [[ כלומר לא איכפת לנו ממצב זה ]] הוכחה: יהי אוטומט דטרמיניסטי המקבל את [[ הרעיון הוא למצוא לולאה באוטומט, ולקרוא למילה שמתקבלת בביצוע לולאה זו ; v אז אפשר להכניס את v במקום זה עוד כמה פעמים שנרצה (או אפילו לוותר עליה לחלוטין) ועדיין נחזור בכל פעם לאותו מקום (הרי זה אוטומט דטרמיניסטי) ]] z בעלת אורך גדול ממספר המצבים של [[ בהכרח יש כזו כי אינסופית; אם היו ב- ניקח רק מילים מאורך k עבור k קבוע כלשהו (כגון מס' המצבים ב- ( אז היא היתה שפה סופית ]] z = σσ 1 2σl אם אז מתקבלות הקונפיגורציות: הרצאה 10 עמוד 1 מתוך 4

51 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר ( s, σ σ σ ) ( s, σ σ ) ( s, σ ) ( s, ε) l 1 2 l l 1 l l להיפך, בוודאות נחזור על אותו מצב יותר מפעם אחת מתישהו s i s i j s l A s0 ו - באשר = s [הערה: אנו לא אומרים ש- s s i את המצב אליו הגענו לאחר i צעדים] אנו רק מסמנים ב- = s j 0 i< על-סמך עקרון שובך היונים, קיימים j l כלומר, המילה לעצמו כך ש- s i σ מחזירה מ- i+ 1 לכן במקום בו היא מופיעה נוכל להכניסה מספר פעמים כרצוננו u = σ σ 1 v = σ = σ i+ 1 j+ 1 i σ j σ l σ j נסמן: z = σσ 1 2σiσi+ 1σjσj+ 1σl = uv u v [[ אולי יהיה יותר ברור בצורה הבאה: u ל-, האוטומט v n uv לכל 0 n, כי כל פעם שאנחנו מכניסים את ועכשיו מתקיים ש- מבצע לולאה וחוזר לאותו המקום ]] בין אזי: v ε si= sj (, ) (, ) (, 1 ) (, n n + n + + s ) (, ) 0 uv s (, i v si v si = sj sl ε ) n uv לכן מכאן המשפט דוגמה :1 n a n b n n { : 0} השפה n = ab אינה רגולרית [[ נוכיח זאת עכשיו שוב עם למת הניפוח ]] ואמנם, נניח כי היא רגולרית תהיינה,, uv כמו במשפט מספר מופעי a במילה כלשהי ב- שווה למספר מופעי b במילה, ולכן גם ל- v תכונה זו (כי הן ל- u והן ל- uv תכונה זו) [[ כלומר, v מוסיפה אותיות ל- u כאשר מוסיפים אותה באמצע, אז ע"מ שהשוויון בין הכמויות של a ושל b ישמר, גם ב- v חייבים להיות מספר שווה של a -ים ושל b -ים ]] הרצאה 10 עמוד 2 מתוך 4

52 מכיוון ש- v אבל אז אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר אינה ריקה, יש בה לפחות מופע אחד של a ומופע אחד של b n uv ולכן גם, ba מכילה את הבלוק, n 2 n, v עבור מכילה אותו, מה שגורר סתירה u+ + nv n דוגמה 2: סדרה חשבונית של אורכי מילים מהמשפט נובע בפרט כי אם רגולרית אינסופית, אז לכל המספר הינו אורך של מילה ב- [[ זה אומר שאם רגולרית אז אפשר למצוא סדרה חשבונית כלשהי, שלכל מספר שנמצא בה יש מילה בשפה שזו אורכה כך ניתן, למשל, להוכיח שהשפה { { 0 } : is prime } אינה רגולרית, כי אורכי המילים בה הם כל המספרים הראשוניים, ואין שום סדרה חשבונית שכל איבריה הם מספרים ראשוניים ]] בפרט, הקבוצה לכן, לדוגמה, השפות { : } 2 n { a : n 0} הינה בעלת הפרשים חסומים p ו - p} ראשוני : a { אינן רגולריות [[ "הפרשים חסומים" משמע שאם נמיין את כל המילים בשפה לפי אורכן, אז ההפרש בין כל שני אורכים צמודים לעולם לא יעלו על מספר קבוע מראש כלשהו ]] [[ ההפרשים בין אורכי המילים בשפה 2 n { a : n 0} הם ( ) 2 2 n+ 1 n = 2n+ 1 חסומים למה ההפרשים בקבוצה השניה (עם הראשוניים) לא חסומים? נרצה להראות שלכל מספר N קיימים זוג ראשוניים שההפרש ביניהם N! + 2,! + 3,! + 4,,! נסמן + 2 N, = ונתבונן בסדרת המספרים + כל אחד מהם לא ראשוני, כי לכל, 2 k ( ( )( ) ), לכן הם לא! + k = 123 k + k = k 123 k 1 k+ 1 לכן מספר זה מתחלק ב- + 1, k ולכן הוא אינו ראשוני אז ניקח את המספר הראשוני האחרון שלפני סדרת מספרים זו, ואת הראשון שאחריה, ונקבל שההפרש ביניהם הוא לפחות 2 = N [[ אם מתבוננים בהוכחת משפט הניפוח, רואים כי בעצם הוכחנו את המשפט הבא: משפט [פירוק למילים ארוכות בשפה רגולרית] תהי שפה רגולרית = xyz N ( ) אזי קיים קבוע N = N כך שלכל מילה עם קיים פירוק המקיים: y א) ε xy ב) N n 0 n xy z ג) לכל הרצאה 10 עמוד 3 מתוך 4

53 [הערה: ה- ( ) אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר N = N הזה תלוי בשפה, ויכול בהחלט להיות שונה עבור כל שפה] [עוד הערה: המשפט נכון באופן ריק לגבי שפות סופיות (פשוט בוחרים את המילה הארוכה ביותר בשפה), אבל הוא לא מעניין במקרה זה כלל] N [[ משפט זה מוסיף על למת הניפוח רק עוד פיסת אינפורמציה אחת, שזו מסקנה ב): להיות גדול מאורך xy N ה- N הזה הוא בדיוק מספר המצבים של אוטומט דטרמיניסטי כלשהו שמקבל את השפה הרעיון הוא שבקריאת N אותיות או יותר, חייבים לעבור על אותו מצב פעמיים, ואז מקבלים מילה שאפשר להשתמש בה לניפוח לכן כבר ב- N האותיות הראשונות חייבת להסתתר מילה כזו (למעשה בכל רצף של N אותיות של מילה המתקבלת ע"י האוטומט, אבל המשפט אומר זאת רק לגבי N האותיות הראשונות) בשימוש במשפט לא באמת איכפת לנו מה ערך ה- N הזה ומאיפה הוא מגיע ]] דוגמה :1 m a m b n a השפה m n m { a ba : mn, 0} אינה רגולרית ואמנם, נניח [בשלילה] כי היא רגולרית יהי N כמו במשפט ניקח את המילה N N aabaa N N a ba אם מנפחים אותה כמו במשפט, מקבלים מילה מהצורה y הרי ה- ]] N' עם > N N ' N a ba מהמשפט נמצא ב- N האותיות הראשונות במילה, לכן ניפוח המילה עם עוד y -ים בהכרח מוסיף עוד a -ים לחלק הראשון של המילה (ולא לשני) ]] כלומר קיבלנו מילה מחוץ לשפה סתירה הרצאה 10 עמוד 4 מתוך 4

54 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר המשך למת הניפוח דוגמה 2: שפות לא רגולריות המקיימות את תוצאת המשפט קיימות שפות המקיימות את תוצאת המשפט, אך אינן רגולריות לדוגמה, תהי השפה המורכבת מכל המילים מעל { 0,1} הכוללות את הבלוק 00 או כוללות את הבלוק 11 או שאורכן ריבוע [[משמעות הדבר "מילה שאורכה ריבוע" היא שקיים מספר טבעי n כך 2 שאורך המילה הוא ]] n [המילים שלא עונות על שני הקריטריונים הראשונים הן כל המילים בהן כל אות שונה מהאות שלפניה (למשל או 1010); מתוכן, לוקחים גם את המילים שאורכן ריבוע] [ N = 3 שפה זו מקיימת את תוצאת המשפט ואמנם, תהי מילה באורך 3 או יותר [עבור שפה זו, אם היא כוללת את הבלוק 00 או את 11 אז ננפח במקום אחר אם לא, אז היא, למשל, מן הצורה, באשר אורכה ריבוע אז נוכל לנפח כרצוננו את ה- 1 במקום השני [אם נוריד אותו, נקבל 00 ואז המילה בשפה; אם נוסיף לו, נקבל 11 וגם אז המילה בשפה] [[ לכן השפה מקיימת את תוצאת המשפט ]] אינה רגולרית, כי חיתוכה עם שפת כל המילים שאינן מכילות לא 00 ולא 11 אינה רגולרית [[ אנו מוכיחים זאת בשלילה: נניח בשלילה ש- רגולרית אזי חיתוך שלה עם שפה רגולרית גם היא רגולרית למשל עם Σ { 00} Σ ועם Σ { 11} Σ אבל חיתוך זה הוא שפת כל המילים בעלי אותיות מתחלפות שאורכן הוא ריבוע לאחר שהוכחנו את למת הניפוח הגענו למסקנה שהפרשי האורכים של המילים בשפה רגולרית חייבת להיות חסומה לכן הסקנו ששפת כל המילים שאורכן ריבוע אינה רגולרית, ובדיוק מסיבה זו גם השפה הזו שיש לנו כאן איננה רגולרית ]] פישוט אוטומטים בהינתן DFA נראה כיצד לבנות DFA שקול בעל מספר מינימלי אפשרי של מצבים הגדרה [סיפא מפרידה] שפה, ו - תהי xy Σ, מילה Σ z היא סיפא מפרידה ביחס ל- אם אחת משתי המילים xz, yz לא שייכת ל- והאחרת הרצאה 11 עמוד 1 מתוך 3

55 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [שימו לב: x ו - y לאו דווקא שייכות ל- בעצמן], Σ השפה המורכבת מכל המילים באורך זוגי מעל ו -, xy מילים באורך זוגי, אז אין עבורן סיפא מפרידה [כי אם z באורך זוגי אז xz ו - yz שתיהן מאורך זוגי, ולכן שתיהן בשפה; ואם z באורך אי-זוגי אז xz ו - yz שתיהן באורך אי-זוגיף ולכן שתיהן לא בשפה; לכן כל סיפא נותנת את אותה התוצאה עבור שתי המילים x ו - y ] דוגמאות (1 לעומת זאת, אם x באורך זוגי ו - y באורך אי-זוגי, אז כל סיפא מפרידה n n { : 0} (2 תהי n = ab 10 i 10 + b ( a הן סיפות מפרידות i b, b j i, אז j i x= a, y = a j אם עם (וכן, לדוגמה, ביחס ל- שקילות מילים בשפה xy, אם לא קיימת סיפא מפרידה ל- x נסמן y אם רגולרית, ו - y, / x ו - אוטומט DFA המקבל את אז מהמצב s מגיעים למצבים שונים ע"י קריאת המילים xy, ואמנם, אילו היינו מגיעים לאותו מצב, אז גם ע"י המילים היתה סיפא מפרידה xz, yz היינו מגיעים לאותו מצב, כך שלא קל לראות כי הינו יחס שקילות: רפלקסיביות: ברור ש- x x y x x y סימטריה: גם ברור שאם אז z ; אם y טרנזיטיביות: אם z וגם x y y אז לכל אז x ואז גם x Σ, אם z לכן z ואז גם y אז x מההערה הקודמת נובע כי מספר המצבים בכל DFA המקבל את הינו לפחות כמספר מחלקות בפרט, אם יש מס' אינסופי של מחלקות שקילות, אז אינה רגולרית [[ כי אין השקילות של אוטומט סופי שמקבל אותה ]] הרצאה 11 עמוד 2 מתוך 3

56 דוגמה תהי אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר { { } } 2 : 0,1 = [ yx = x נתבונן במילים,01,001,0001 לכל שתי מילים שונות, xy ברשימה, הרי סיפא מפרידה = xx אבל [למשל, אם = 001 x ו = y, אז לכן יש אינסוף מחלקות שקילות, כך שהשפה אינה רגולרית Rank ( ) הגדרה [דרגה של שפה] הדרגה של מסומנת ב- ומוגדרת כמספר המחלקות השקילות של [דרגה של שפה יכולה להיות גם ] משפט [תנאי הכרחי ומספיק לרגולריות] רגולרית אם ורק אם ( Rank ( סופי Rank ( ) הוכחה: הוכחנו כבר שאם אינסופי אז רגולרית אז לא רגולרית] סופי [הוכחנו את ה- contrapositive שאם Rank ( ) נניח כי ) Rank ( סופי יש לבנות אוטומט המקבל את הרעיון הוא שמצבי האוטומט מתאימים למחלקות השקילות של = N ( מחלקות השקילות {,,, } Q= q q q 1 2 S i (,, δ,, ) = Q Σ q A N 1 i תהיינה S1, S2,, SN (באשר ) Rank ( בה"כ נניח ש- ε S 1 S i לכל מחלקה נבחר באופן שרירותי נציג { i i } ( { i i }) i, = j : i j ( i j) A= q = q S ( ) { } δ q σ q σ S S σ S נבנה :DFA באשר: הרצאה 11 עמוד 3 מתוך 3

57 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [המשך צמצום אוטומטים] נמשיך את ההוכחה מהפעם הקודמת: משפט [תנאי הכרחי ומספיק לרגולריות] רגולרית אם ורק אם ( Rank ( סופי Rank ( ) המשך הוכחה: הנחנו כי סופי אנו רוצים לבנות אוטומט המקבל את הרעיון הוא שמצבי האוטומט מתאימים למחלקות השקילות של = N ( מחלקות השקילות {,,, } Q= q q q 1 2 S i (,, δ,, ) = Q Σ q A N 1 i תהיינה S, S,, SN (באשר ) Rank ( 1 2 בה"כ נניח ש- ε S 1 S i לכל מחלקה נבחר באופן שרירותי נציג { i i } ( { i i }) i, = j : i j ( i j) A= q = q S ( ) { } δ q σ q σ S S σ S נבנה :DFA באשר: i { :( 1, ) ( i, )} S = q q ε ברור כי: [ [אפשר להוכיח זאת באינדוקציה על, q מה ששקול לכך ש- i A i ( ) S i, S מה שקורה אם"ם [[ i נותר להראות כי = וזה אם"ם ]] ואמנם, תהי Σ ניקח את ה- i שעבורו אם"ם אזי ( ) מכאן המשפט הרצאה 12 עמוד 1 מתוך 4

58 הערה ראינו כי אם אוטומטים, שפות פורמליות וחישוביות ( ) רגולרית, ו - כמספר מחלקות השקילות של סיכום מאת תומר גוֹדינגר הוא DFA המקבל את בהוכחת המשפט בנינו אוטומט בו מספר המצבים היה בדיוק לכן זהו מספר המצבים המינימלי של DFA המקבל את אז מספר המצבים ב-, Rank ( ) הוא לפחות : Σ המקבל את, ניתן להגדיר יחס שקילות באופן הבא על בהינתן DFA אם המילים xy, מובילות לאותו מצב כאשר מתחילים ב- s x y כלומר: ( sx, ) ( q, ε) ( sy, ) ( q, ε) [קל לראות שזה יחס שקילות (זה ממש מיידי)] ברור שהיחס הינו עידון של היחס [[ למדנו את מושג העידון במבוא ללוגיקה בתורת הקבוצות משמעות הדבר היא שהחלוקה העדינה יותר מחלקת את מחלקות השקילות של החלוקה המקורית לעוד תתי-מחלקות ]] Σ x y x כלומר אם y תרשים: אז מחלקות שקילות של מחלקות שקילות של לכן כל האוטומטים המינימליים המקבלים את כדי שינוי שמות המצבים ]] הם איזומורפיים [[ כלומר הם ממש אותו הדבר, עד הרצאה 12 עמוד 2 מתוך 4

59 דוגמאות תהי אוטומטים, שפות פורמליות וחישוביות ( ) Rank ( ) סיכום מאת תומר גוֹדינגר R { { 0,1} } = ע"מ להראות כי אינה רגולרית, די להראות כי אנו נראה שכל מחלקות השקילות של הן יחידונים אינסופית (1 מילים שונות ב- Σ x xy, y ואמנם, תהיינה נניח, למשל, כי [בה"כ] סיפא מפרידה [זאת משום, y ואז ב- R, כך ש- x R yx כך שהאות ה- i ב- x שונה מזו של R אם x אינה רישא של, y אז xx אך שאם x אינה רישא של, y אז יש מיקום i במקום ה- i (וברור ש- מההתחלה יופיע דבר אחד, ובמקום ב- i מהסוף יופיע דבר אחר, לכן = 0 ' [( xx R R yx R yx נניח איפוא כי y = x נניח, למשל, כי אזי אך מתחילה ב- 0, נאמר 11x סיפא מפרידה [זאת משום שבמקום ה- R כך ש-, y11x R 1 R R x11x R משמאל במילה x מופיע,0 ובמקום ה- 1 + x0 '1 x = y11x מימין, מופיע 1] x +1 { } { }{ } { } { } = = n n 2 0,1 00,11 0,1 0,1 :, 0 2) תהי: [ראינו דוגמה זאת בעבר בתור שפה שמקיימת את מסקנת למת הניפוח אך איננה רגולרית כעת נראה שיש לה אינסוף מחלקות שקילות, אם כי הרוב המכריע של המילים ב- {0,1 { (כל אלה שמכילות את הבלוק "00" או את הבלוק "11") נמצאות באותה מחלקת שקילות של [ ( 01) k z 0101 אנו טוענים כי כל שתי מילים שונות מהצורה 01 ואכן, תהיינה אינן שקולות, xz באשר m< n ( 01 ) m, y ( 01) = x=, עם 2 n n נרחיב את x למילה באורך [[ פשוט כדי שהאורך יצא ע"י כך שניקח את המילה מהצורה או 2 2 כלומר, נרצה ש- 2m, z = n x = n אז אם ) ( זוגי, ולא נוכל לעשות k 2 n k ( 01) 0 אי-זוגי, נצטרך להוסיף עוד "0" בסוף (אחרת z = 01 = 2k 2 z = n 2m ( ) yz = n+ n m n + n< n + n+ = n+ 2 n זאת) ]] אזי: הרצאה 12 עמוד 3 מתוך 4

60 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [[ לכן שאין עוד מספרים שהם ריבוע של מספר שלם בין 2 ל- n +1) 2 n (, לא יכול להיות ש- 2 n yz n ( 1) 2 < < + הוא ריבוע של משהו, ולכן הוא לא בשפה ]], xz כך ש- z סיפא מפרידה לכן yz לכן אינה רגולרית [בניית אוטומט מינימלי] בהינתן,DFA ניתן ע"י רעיונות דומים לבנות בצורה אלגוריתמית DFA שקול בעל מספר מינימלי של מצבים תחילה זורקים מ- Q לאחר מכן ניתן לבדוק עבור כל זוג מצבים אם יש מילה את כל המצבים אליהם לא ניתן להגיע מ- s qq, ' אם ניתן למזגם: כך שמאחד המצבים q או ' q מגיעים ע"י קריאת למצב מקבל ומהאחר למצב לא מקבל אז ברור כי לא ניתן למזג את q '- ו q קל לראות כי די לבדוק מילים עד אורך שאינו עולה על חסם מסויים (נעיר כי אלגוריתם זה אינו היעיל ביותר, אך מראה כי יש לבעיה פתרון אלגוריתמי) 2 { { 0,1 }, 10} = = דוגמאות תהי: 1) [זו השפה של כל המילים באורך 20 שהחצי הראשון שלהן שווה לחצי השני שלהן] כל המילים באורך גדול מ- 20, וכן כל המילים באורך בין 11 ל- 20 בהן האותיות מהמקום ה- 11 עד הסוף אינן שוות בהתאמה לאותיות הראשונות בשפה כולן שקולות [לא משנה מה מוסיפים להן, בכל מקרה תתקבל מילה שלא בשפה] (מחלקת "זבל") כל המילים באורך עד 10 שייכות למחלקות שונות [[ אם הן מאורך שונה אז קיימת סיפא שניתן להוסיף להן כך שהאורך של מילה אחת יהיה 20 ושל השניה לא, ולכן זו סיפא מפרידה; אם הן מאותו אורך, אך שונות, אז אם מוסיפים לאחת סיפא כך שתתקבל מילה בשפה, אותה סיפא לא תביא את המילה השניה להיות מילה בשפה ]] עבור מילים באורך 11 עד 20 מהטיפוס עם באשר [זאת משום שע"מ ש-, הרי מילים כאלה 1 2 = 10 -ים שונים שייכות למחלקות שונות, ואילו מילים עם אותו 2 2 x תהיה בשפה, צריך להתקיים ש- ' כך ש-, ' המילה מילה אחרת, ' בשפה] הן באותה מחלקה =x, ואז גם עבור x= ' ' גם ' ' ] שרטוט האוטומט [ הרצאה 12 עמוד 4 מתוך 4

61 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]המשך בניית אוטומט מינימלי[ ]המשך דוגמאות[ k k 0,1 : 10 2, 2 1 2( עבור k טבעי כלשהו נסמן: )שפת כל המילים בהן האות ה- k מהסוף היא 0( ]] הערה: ראינו דוגמה זו גם בתרגול מס' 6, אם כי כתבנו את הגדרת השפה בצורה קצת שונה [[ : k נבנה NFA עבור 0, 1 q 0 q 0-0, 1 0, 1 1 q k k באורך 1, אם שתי מילים 2 האותיות האחרונות שוות ]ואם ניקח את כל המילים בקבוצה בתרגול בפירוט מלא([ לכן מספר מחלקות השקילות של שקולות ביחס ל- k 0,1 k k אז הסיפות שלהן המורכבות מ- k, אז כל שתיים מהן לא שקולות )הראינו זאת הינו לפחות 2 k כלומר, הבניה של DFA השקול ל- NFA נתון, בה היינו זקוקים ל- DFA בעל 2 Q NFA בעל הכללי Q מצבים עבור מצבים, לא ניתנת לשיפור משמעותי מבחינת מספר מצבי ה- DFA במקרה End of Chapter 1 ]כאן מסתיים החלק הראשון של הקורס )והחומר לבוחן([ הרצאה 31 עמוד 1 מתוך 6

62 ב) ג) ד) ה) ו) ז) ח) ט) י) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר Context-Free anguages פרק ב': שפות חסרות הקשר שפות חסרות הקשר ביטוי רגולרי ניתן לראות כיוצר שפה, אם כי לא ברור מלכתחילה כיצד בודקים אם מילה נתונה שייכת לשפה עבור אוטומטים המצב הפוך דרך נוספת לייצור שפה הינה ע"י כללי דקדוק הקובעים מה ניתן להציב במקום בלוק מסויים דוגמה: נתונים הכללים: )א( ) ) ) ) ) ) ) ) ) משפט משפט נושא נושא נשוא נשוא מתאר-מקום מתאר-מקום לוואי לוואי נושא נשוא מתאר-מקום נשוא נושא לוואי אתה ים מסתכל שוצף בהוואי באופק נחמד גדול ]] אנו תמיד מתחילים בנקודת התחלה כלשהי בדוגמה זו, במשפט ע"מ לבנות משפט, צריך לבחור באחד משני הכללים שמגדירים אפשרויות בנייה עבורו ))א( או )ב(( יש לבצע החלפות לפי הכללים עד אשר מתקבל משהו שאין בו שום דבר שמופיע באגף ימין )כלומר עד שכל הטקסט שחור( )אם אין לכם צבעים, לכלו תסתכלו בסיכום שלי על מחשב במקום לבזבז נייר ולהדפיס אותו >_>( [[ להלן מספר משפטים שניתן להרכיב ע"י כללים אלה: אתה מסתכל בהוואי ים שוצף באופק מסתכל ים נחמד מסתכל אתה גדול באופן כללי, מתחילים מסמל Start( S או,)Sentence ומפעילים בכל שלב כלל דקדוקי עד שמגיעים לביטוי בו אין חלקים מהם מסתעף כלל דקדוקי ]ניתן גם להגדיר כלל "רקורסיבי", למשל: נושא נושא ונושא אם היינו מוסיפים כלל זה לאוסף הכללים הנ"ל, אז גם המשפט "אתה וים מסתכל באופק" היה יכול להתקבל[ הרצאה 31 עמוד 2 מתוך 6

63 א) ב) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר הגדרה ]דקדוק חסר-הקשר Grammar( ])Context-Free דקדוק חסר-הקשר G הינו רביעיה, N, R, S בה: N אלפבית של אותיות "לא-סופיות",, N אלפבית זר ל- R N N ו- N S סימן ההתחלה )Rules( קבוצה סופית ]הערה: המונח "לא-סופיות" לא קשור בשום צורה לקבוצות סופיות ואינסופיות, אלא מציין רק משמעות של "מוצר לא מוגמר" או "מוצר לא סופי" האותיות ה"לא סופיות" האלה הן הדברים שנמצאים מימין לחצים בדוגמה הקודמת )אלה שעדיין אפשר להחליף אותן במשהו; המילים הצבעוניות([ ]מעתה והלאה נסכים בינינו שאותיות גדולות מסמלות "אותיות לא סופיות" ואותיות קטנות מסמלות "אותיות סופיות" אין בזה איזשהו הכרח פורמלי, אך נקבע זאת הינינו לבין עצמנו כדי שיהיה לנו יותר קל לעשות סדר בדברים[ ]] הסבר: N הוא קבוצה של "Placeholders" )"ממלאי-מקום"( בכל מקום שבו מופיע בביטוי מסויים איזושהי "אות" מתוך, N ניתן להחליף את אות זו בביטוי אחר לפי הכללים שמוגדרים בדקדוק )שהם האיברים ב-, R אותה מיד אסביר( הוא אלפבית בדיוק כפי שהוא היה בעבורנו בקורס עד עכשיו לדוגמה, 0,1 או The English alphabet R היא קבוצה של כללים כל כלל ב- R אומר "את ה'אות' הזו ניתן להחליף בביטוי הזה" לדוגמה, אם A,my name is B, אז בכל מקום בו מופיעה האות A את הביטוי " B " my name is ואז, אם למשל יש ב- R את הכלל B,schnitzel, אז ניתן לבצע את ההחלפה: ניתן במקומה לכתוב A my name is B my name is schnitzel זה בדיוק כמו הכללים שכתבנו בדוגמה מקודם נכתוב זאת בצורה שכתבנו שם: my name is B A ) schnitzel B ) לסיכום: o o האיבר הראשון בזוג שנמצא ב- R הוא ה"אות" שניתן להחליף האיבר השני הוא "מחרוזת" של במה ניתן להחליף אותה S הוא אחד הסימנים שניתנים להחלפה אשר ממנו מתחילים בדוגמה שכתבנו קודם, ה- S שלנו היה "משפט" הרצאה 31 עמוד 3 מתוך 6

64 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר זאת נקודת ההתחלה שלנו בכל תהליך ההחלפה הזה Hello! y name is <ENTER_NAE_HERE>! You killed my <ENTER_REATIVE_HERE>! Prepare to <ENTER_ETHOD_OF_DEISE_HERE>! S, <ENTER_NAE_HERE>, N <ENTER_REATIVE_HERE>, <ENTER_ETHOD_OF_DEISE_HERE> a,b,c,,z,a, B,C,,Z,,! Space דוגמה: נניח שאני רוצה לכתוב קבוצה של טקסטים שנראית ככה: אז אני יכול להריץ תהליך החלפה שכזה, עבור: Hello! y name is <ENTER_NAE_HERE>! S,, You killed my <ENTER_REATIVE_HERE>! Prepare to <ENTER_ETHOD_OF_DEISE_HERE>! <ENTER_NAE_HERE>,Inigo ontoya, <ENTER_NAE_HERE>,anny Calavera, R <ENTER_REATIVE_HERE>, father, <ENTER_ REATIVE_HERE>, client, <ENTER_ETHOD_OF_DEISE_HERE>, die, <ENTER_ETHOD_OF_DEISE_HERE>,be sprouted S S ]] S S as נתונים הכללים: דוגמאות ) הרצאה 31 עמוד 4 מתוך 6

65 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר n as n a ניתן להגיע מ- S לכל מילה מהטיפוס או 2( אם נוסיף את הכלל: S bs a b S הרי ניתן להגיע לכל מילה ב- x, 1, y A, ]הגדרות: מוביל, מוביל, שפה מתקבלת[ R עם N ו- A עבור N נסמן A G N ו- A N G N עבור,u נרשום v v אם קיימים כך ש-, אנו 1 ו- A G xay v, x y ]במילים אחרות, אם ניתן לבצע החלפה על המילה v כך שנקבל את המילה רושמים ] v G G הסגור הרפלקסיבי טרנזיטיבי של מסומן ב- G G 1 G השפה המתקבלת ע"י מסומנת ב- ומוגדרת ע"י: : G S ]הערה: עבור דקדוק שבו אין שום כלל שאומר שאות לא-סופית כלשהי עוברת למילה שמכילה רק אותיות מ- )כלומר רק אותיות סופיות(, בהכרח השפה המתקבלת תהיה ריקה )כי אי-אפשר להיפטר מהאותיות הלא-סופיות([ G a, b G, G ובדוגמה,2 a דוגמאות 1( בדוגמה 1 לעיל, 2( עבור הכללים: או ב- ( asa S asa )באשר קו אנכי מציין ריבוי כללים במקרה זה ניתן להחליף את S ב- ]כלומר, זהו סימון מקוצר למספר כללים יחד במקרה זה הכללים הם: S S asa 4 S asa aasaa a בדוגמה זו נקבל, למשל: הרצאה 31 עמוד 5 מתוך 6

66 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ] הרי: 2 a G 3( עבור: S abs הרי: ab G ] ab ab, ]שימו לב, לא אלא 4( עבור: S asb נקבל: 3 3 S asb aasbb a Sb n n : 0 G a b n כלומר: כך ששפה חסרת-הקשר אינה בהכרח רגולרית 5( עבור הכללים: S asb bsa מתקיים: S bsa bbsaa bbasbaa bbabsabaa bbabasbabaa R : G ]לדוגמה[ אזי: באשר המילה הצמודה ל- )כל a מוחלף ב- b ולהיפך( ]הערה: זה לא סימון מקובל, אלא סתם לשם הדוגמה[ הרצאה 31 עמוד 6 מתוך 6

67 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר המשך שפות חסרות הקשר המשך דוגמאות 6( עבור הכללים: S asb SS ab, הרי G ]] כלומר השפה של הדקדוק הזה [[ מורכבת מכל המילים מעל המקיימות: א מספר מופעי a שווה למספר מופעי b ב בכל רישא, מספר מופעי הינו לפחות כמספר מופעי b a ]מתקיים, לדוגמה: S asb assb aasbasbb aabaasbbb aabaabbb ] במילים אחרות, אם נסמן: k k j j m1 n1 m2 n2 mk nk a b a b a b k 0, mi ni, j mi ni i1 i1 i1 i1 הרי יש להראות כי G ]] הערה: שתי דרכי הרישום שכתבנו, אחת עם תנאים א' ו-ב' באופן מילולי, ואחת עם רישום מתמטי של קבוצה, הן זהות מה שאנו רוצים להראות כאן, זה שהשפה המתקבלת ע"י הדקדוק היא בדיוק השפה הזו [[ : G ]] נגריל שיטת הוכחה! שמנו בשק פתקים של כל הדרכים להוכיח דברים, והוצאנו פתק באקראי ובצורה אקראית לחלוטין, קיבלנו אינדוקציה! [[ נראה, ביתר כלליות, כי אם S N G ]] כלומר, נראה שגם מילים שמכילות אותיות מתוך אז מקיימת את תנאים א' ו-ב', S ואנו מגיעים אליהן מ-, N מקיימת את תנאים א' ו-ב' )למרות שמעניינות אותנו רק מילים מתוך בלבד( אנו עושים זאת משום שאז נוכל להשתמש בהנחת האינדוקציה כראוי )יכולנו לעשות זאת אחרת, אבל בדרך זו ההוכחה תהיה יותר פשוטה, ואנחנו גם רוצים להדגים הוכחה כללית יותר שכזו [[ ההוכחה באינדוקציה כל מספר הצעדים r בהם מגיעים ל- והטענה ברורה S הרי, r עבור 0 o ]צעד = החלפה אחת[ הרצאה 41 עמוד 1 מתוך 4

68 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר נניח כי הטענה נכונה עבור מילים המתקבלות ב- צעדים צעדים, ותהי המתקבלת r ב- 1 r אזי, באשר ' ' G מילה אליה הגענו תוך r שלבים o ' הגענו ל- asb ב-, S או ב- SS גם ל- ב- ע"י החלפת מופע מסויים של מ- אחד -ים ו- b -ים ובאחד נוסף בשניים מהמקרים לא נוספו שווה למספר מופעי ב- מכיוון שלפי הנחת האינדוקציה מספר מופעי תכונה זו a ' a a אחד ו- b, b G לגבי תכונה ב': ' באשר יהי usv uxv x לפי הנחת האינדוקציה, בכל רישא של ה- b -ים היא אחת המילים asb או, SS ' SS a x, ברור כי גם ל- ו- b מספר ה- a -ים הוא לפחות כמספר תכונה זו ]הרי לא ביצענו שום שינוי או היא אם במילה[ שקשור לאותיות, הרי: אם ברישות לפני נקודת ההחלפה לא השתנה דבר, הוא הוספת ברישות הכוללות נקודה זו השינוי לעומת אחד, as ולא את, b הרי הוספנו רק a וברישות הכוללות את a או לרישא מסויימת של לכן גם תנאי ב' מתקיים עבור a ' ' x asb אחד ו- b G : G תהי יש להוכיח כי ההוכחה באינדוקציה על ]] כבר יש לנו פתק שכתוב עליו "אינדוקציה" מה, נטרח ונוציא אחד אחר? [[ נמצאת בשתי ]] אמורה להיות כאן בדיקה למקרה הבסיס, אבל היא טריוויאלית, כי השפות [[ מילה באורך r 1, ותהי נניח כי הטענה נכונה לכל המילים עד אורך מסויים נבחין בין שני מקרים: r j m i i1 i1 j קיים 1 j k1 כך ש- n i )i במקרה זה שתי המילים מקיימות את תכונות א' ו-ב לכן, לפי הנחת האינדוקציה, m1 m m 1 j mj 1 a b a b ו- 2 m1 j1 mj1 mk mk a b a b, S ולכן: G 2 S וגם G הרצאה 41 עמוד 2 מתוך 4

69 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר S SS S G G G S asb a1 b G G a b 1 לא קיים j כנ"ל במקרה זה נרשום 1 ברור כי גם ל- לפי הנחת האינדוקציה, תכונות א' ו-ב' ולכן S G 1 )ii a b G מכאן הטענה G נציין כי אינה רגולרית ואמנם, אילו היתה רגולרית, אז גם אבל: היתה כזו n n : 0 G a b a b n ) b ( a אשר ידוע כי אינה רגולרית עוד נציין כי אם מחליפים את ב- ואת ב-, אז מקבלים את שפת הסוגריים המאוזנים ]] כלומר, זוהי שפת כל המילים שהן "סדרות מאוזנות" כפי שלמדנו במספרי קטלן [[ משפחת השפות החסרות-הקשר CFG נסמן משפחה זו ב- משפט ]סגירות בסיסית[ סגורה תחת איחוד, כפל ]= שרשור[ ו- -קליני CFG הוכחה: ]] 1, 2 איחוד: א( תהיינה יהיו שפות חסרות-הקשר,,,,,,, G N R S G N R S דקדוקים המקבלים שפות אלה N N 1 2 בה"כ ]] אם החיתוך לא ריק, זה יכול להרוס לנו את הבני שאנו עומדים N 1 לעשות אבל אם החיתוך לא ריק, ניתן לשנות את שמות כל האותיות שמופיעות ב- N 1 ) R 1 כך שב- )ואת החוקים הרלוונטיים להן ב- נגדיר דקדוק לא תהיינה אותיות שמופיעות גם ב- N 2 G ע"י: הרצאה 41 עמוד 3 מתוך 4

70 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר G N N S,, R R S S, S S, S באשר ]] S N N שוב, אם כן, נשנה את השמות כך שזה לא יהיה ככה )השמות של האותיות כאן באמת לא חושבים, בדיוק כפי ששמות של מצבים באוטומט אינם חשובים( [[, 1 2 ]הערה: אם הא"ב של שני הדקדוקים שונים,, ניתן לקחת בתור הא"ב שלנו את 12 וזה לא ישנה דבר בהוכחה; לכן אנו פשוט מניחים שזהו אותו הא"ב[ S G, הרי S S 2 ו- ) S S 1 S G G G 1 2 אנו טוענים כי ואמנם, היות שהכללים היחידים בהם מעורב אם"ם או )עבור הינם, ובפרט עבור כל S S 2 G S 1 G S 1 G 1 S 1 G N1, מכיוון ש- N2 ובדומה עבור זרות, הרי אם"ם G 2 G 1 S 2 G לכן אם"ם או הרצאה 41 עמוד 4 מתוך 4

71 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ב( המשך הוכחת המשפט ]סגירות בסיסית של ]CFG כפל: הרעיון דומה, כאשר הדקדוק שבונים הוא: G N N S,, R R S S S, S R,, G N,, בונים את: S -קליני: ג( בהינתן דקדוק G' N S ',, R S ', S ' S, S ' S ' S ', S ' אוטומט מחסנית ראינו כי יש שפות חסרות-הקשר שאינן מתקבלות ע"י אוטומט סופי נביא הרחבה של מושג האוטומט שתקבל שפות אלו ]] הרעיון הוא להוסיף לאוטומט זיכרון נוסף מחסנית שניתן להכניס אליה והוציא ממנה ערכים, כך שנוכל לבצע פעולות עם הערכים שמוציאים מהמחסנית הסיבה שלא יכולנו לקבל, למשל את השפה n n a b : n 0 a היתה לנו דרך "לזכור" כמה פעמים הופיעה האות אם יש לנו מחסנית, כן ניתן לבצע זאת בכל פעם שמתקבלת האות למחסנית ערך כלשהו )נגיד את ; זה לא משנה( a b a לא יכולנו לקבל ע"י אוטומט סופי, כי לא בחלק הראשון, נכניס אז, כשנתחיל לקרוא את ה- b -ים, עבור כל שאנו קוראים, נוציא ערך מהמחסנית נקבל את המילה שנתנו לנו אם ורק אם המילה מסתיימת בדיוק בנקודה שבה המחסנית שוב ריקה הרי זה בדיוק אומר שכמות ה- a -ים שקיבלנו שווה לכמות ה- b -ים שקיבלנו [[ לדוגמה, את השפה n n a b : n 0 יכולנו לקבל אילו לאוטומט היתה מחסנית: a כאשר מגיע, a מכניסים אותו למחסנית כאשר קוראים לראשונה, b מתחילים להוציא איברים מהמחסנית אם קוראים שוב המילה לא בשפה אם נשארים בסוף עם מחסנים ריקה המילה בשפה אם מנסים להוציא איבר מהמחסנית בהיותה ריקה, או נשארים בסוף הקלט עם מחסנית לא ריקה המילה לא בשפה הרצאה 51 עמוד 1 מתוך 7

72 הגדרה ]אוטומט מחסנית[ אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר אוטומט מחסנית PDA( )Push-Don Automaton, הינו שישיה בה, Q,,,, s, A,s,Q, הם כמו ב- NFA, היא אלפבית המחסנית ו- היא פונקציית המעבר: A : Q 2 Q [[ הערה: כל תתי הקבוצות 2 Q PQ היא קבוצת החזקה של, Q כלומר קבוצת ]] R R Q ]] הסבר: Q,, s, A הם בדיוק כמו ב- NFA ; אין שום הבדל היא אלפבית של אותיות שיכולות להימצא במחסנית היא פונקציה שמגדירה לאן ניתן לעבור מכל מצב ועבור כל אפשרות של מה שנמצא בראש המחסנית, וכן היא מגדירה אם יש להכניס ערך כלשהו למחסנית או לא : למשל, המשמעות של המעבר הבא שמוגדר ב- q, c, q,, q,, q, היא שכאשר נמצאים במצב q 3, קוראים את האות c מהקלט, והאיבר שבראש המחסנית q 5 הוא הסימן )אשר צריך להימצא ב- ) אז קודם כל מוציאים מהמחסנית את הסימן שנמצא בראשה, ואז ניתן לבצע אחד משלושה דברים )זה אוטומט אי-דטרמיניסטי, אז ניתן להגדיר מספר אפשרויות(: ולהכניס למחסנית את הסימן q 10 q 12 לעבור למצב o לעבור למצב o o לעבור למצב המשמעות של במקור של המשמעות של בתמונה של ולא לגעת במחסנית ולהכניס למחסנית את הסימן היא שלא מוציאים דבר מהמחסנית היא שלא מכניסים דבר למחסנית ]] המשמעות האינטואיטיבית של השייכות q, p, x, היא כי אם האוטומט נמצא במצב או ( ובראש המחסנית מופיע קוראים מהקלט את אם איננו רוצים להוציא שום דבר מהמחסנית( אז ניתן לעבור למצב, q לשלוף את ולהכניס את, p x )שהוא אות ב- )שזו או אות ב-, )שגם היא צריכה להיות אות ב-, או אם לא רוצים להכניס כלום( או מהמחסנית ]] הערה: אם בוחרים ללכת למצב המתואר בשלישיה כזו, אז חייבים לעשות את הכל גם לקרוא את האות מהקלט )אם (, x גם להוציא את האות מהמחסנית אשר רשומה במקור (, או אם אז לא להוציא מהמחסנית כלום(, וגם להכניס למחסנית את האות שרשומה ביעד הנבחר (, או אם אז לא להכניס למחסנית דבר( [[, נסמן:, אם זה קורה, אז לכל הרצאה 51 עמוד 2 מתוך 7

73 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר p, x, q,, זהו יחס על Q הוא הסגור הרפלקסיבי טרנזיטיבי של יחס זה s,, q,, מקבל מילה אם q מסויים עבור A s ]] כלומר אם אנחנו מתחילים מ- כאשר שוב המחסנית ריקה, אז עם מחסנית ריקה, ויכולים להגיע עם המילה מתקבלת ע"י האוטומט [[ למצב מקבל q,, abcb ]] עוד מלא הסבר: נניח שאנחנו כרגע בקונפיגורציה אני רוצה להראות איך מבצעים מעבר שבו מכניסים אות חדשה למחסנית ו/או מוציאים אות מהמחסנית או לא נוגעים במחסנית לצורך ההדגמה, אני לא אגע ב- זה שקול למעברי למצב ב- q ' q כפי שראינו בעבר כמו-כן, תמיד אעבור ממצב NFA אבל קודם הערה: המחסנית למעשה בכל שלב מכילה מילה הוצאת אות מהמחסנית היא למעשה מחיקת אות מתחילת המילה הכנסת אות למחסנית היא למעשה שרשור של המילה שמכילה את האות החדשה לתחילת המילה שנמצאת כרגע במחסנית, אז x q', q,, באופן כללי, המשמעות של היא שאם המחסנית היא מהצורה ו- מחליפים אותה ב- x כאשר מבצעים את המעבר ו/או יכולים להיות, מה שמאפשר לנו לבחור לא להוציא ו/או לא להכניס אות לאוטומט )כי למשל אם אז ( xx אסביר את האפשרויות של המעברים עם דוגמאות: ) למחסנית, אני מבצע את המעבר q', d q,, a בשביל גם להוציא אות )את ) a וגם להכניס אות )את d q,, abcb q',, d bcb לשם כך פונקציית המעבר שלי צריכה לכלול את האפשרות בשביל להוציא אות מהמחסנית מבלי להכניס אות למחסנית, אני מבצע את המעבר q', q,, a q,, abcb q',, bcb q',, bcb לשם כך פונקציית המעבר שלי צריכה לכלול את האפשרות אל תחשבו על זה בתור "להכניס למחסנית" אלא בתור "לשרשר למילה שנמצא במחסנית כרגע את המילה בהתחלה" בשביל להכניס אות )את ) d למחסנית מבלי להוציא אות מהמחסנית, אני מבצע את q', d q,, q,, bcb q,, bcb q',, המעבר d bcb לשם כך פונקציית המעבר שלי צריכה לכלול את האפשרות בשביל לבצע מעבר מבלי להוציא אות ומבלי להכניס אות למחסנית, אני מבצע את המעבר q,, abcb q,, abcb q',, abcb q',, abcb q', q,, לשם כך פונקציית המעבר שלי צריכה לכלול את האפשרות הרצאה 51 עמוד 3 מתוך 7

74 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]] מורכבת מכל המילים המתקבלות כאשר במחסנית בכל שלב מחליפים ב-,PDA הוא מקרה פרטי של NFA נשים לב לכך שהגדרנו אנלוג ל- NFA ולא ל- DFA האנלוג ל- DFA הוא,)Deterministic Push-Don Automaton( DPDA והוא יותר חלש: DPDA PDA ]כלומר ישנן שפות שניתן לקבל ע"י PDA ולא ע"י ]DPDA מה שמוציאים מה שמכניסים מהמחסנית למחסנית מה שקוראים מהקלט דוגמאות )1 )ליד כל מעבר מציינים מה קוראים מהקלט, מה יוצא מהמחסנית ומה נכנס אליה ]את מה שקוראים רושמים לפני הפסיק, ואז את מה שמוציאים מהמחסנית כותבים משמאל לקו ואת מה שמכניסים כותבים מימין לקו; למשל "a ",a משמעותו שקוראים את האות a מהקלט, לא מוציאים דבר מהמחסנית, ומכניסים את למחסנית[ a דרך טובה לזכור את הסדר: אם מבצעים גם הוצאה וגם הכנסה, אז קודם צריך להוציא ורק אז אפשר להכניס( n n : 0 a b n נראה כי: : o n n n1 n n n n n n1 n1 s, a b, s, a b, a s, b, a f, b, a f, b, a f,, b : בכיוון ההפוך, נשים לב לכך שלאחר שקוראים אי-אפשר לקרוא, a ולכן כל מילה o שמתקבלת שייכת ל- a b הרצאה 51 עמוד 4 מתוך 7

75 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר a b מספר ה- a -ים במחסנית בסוף התהליך הוא a b n n ab לכן המחסנית ריקה רק אם לכן המילה היא מהצורה )2 a b ab,, באשר נראה כי לכל רישא של אוסף המילים מעל המקיימות ו- ]] זו שפת מחרוזות הקטלן שראינו בשיעור שעבר )דוגמה u u a u b ]] )6 : מתקיים )באינדוקציה(: o s s, 1, 1, 2, 2 2 a 2 a 2 b 1 a 1 a 1 b בפרט, אם אז: s,, s,, : לפי a a b a a b a b uv נאמר, תהי u אזי: רישא של k s,, s, v, a הרצאה 51 עמוד 5 מתוך 7

76 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר : לפי v a v k a a b a a b 0 k v v k a a b b u u a b u u k 0 a b S asb SS : ההוכחה דומה לזו שעבור הדקדוק o השפה המתקבלת בדוגמה הקודמת היא של כל הסוגריים המאוזנים ]] אם מחליפים את a בסוגר שמאלי ואת בסוגר ימני [[ אם יש מספר סוגי סוגרים, ניתן לדון בביטויים חוקיים תוך התייחסות לסוגים השונים,, הביטוי ([)] b לדוגמה, עבור הסוגים בפני עצמו ]לעומת זאת, הביטוי אינו חוקי למרות שהוא חוקי מבחינת כל סוג i ב-" " i וסוגר כן חוקי מכל בחינה[ ניתן לבדוק כי הדקדוק הבא מקבל שפה זו )באשר נחליף סוגר שמאלי מסוג :)" ימני מסוג זה ב-" i )3 S SS isi n עבור i1,, n )אם ישנם סוגים של סוגרים( S S SS S S ]לדוגמה, בדקדוק זה מתקיים: ] אוטומט מחסנית המקבל שפה זו: הרצאה 51 עמוד 6 מתוך 7

77 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר הרצאה 51 עמוד 7 מתוך 7

78 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר קשר בין CFG לאוטומט מחסנית ]ע"מ להוכיח את המשפט העיקרי כאן, תחילה נבצע קצת בנייה )הגדרה ולמה(:[ הגדרות ]צמודה לשמאל, מוביל- [ סדרת גזירות בדקדוק, היא צמודה לשמאל אם בכל שלב הכלל 1 2 n G G G הדקדוקי מופעל על האות השמאלית ביותר במילה שאינה מ- S abca ]] דוגמה: נניח שיש לנו את המילה, ואת כלל הגזירה 1 bcabcsabbbaa אז ניתן לבצע על המילה את הגזירה, ולקבל: bcabcsabbbaa bcabcabca abbbaa 1 2 ) B סדרת הגזירות איננה צמודה לשמאל, כי ישנה אות שאינה ב- )האות 1 2 G שנמצאת משמאל לאות שאותה החלפנו )שהיא ( S לעומת זאת, אם יש לנו גם את הכלל, B accca אז סדרת הגזירות: bcabcsabbbaa bcaacccacsabb baa 1 3 היא כן צמודה לשמאל [[, uax, uvx G 1, 2 N באופן פורמלי, אם, נרשום אם באשר u ו- A vr G הסגור הרפלקסיבי-טרנזיטיבי של מסומן ב- G 1 2 G למה ]שקילות חלקית בין מוביל למוביל- [ עבור הוכחה:, N מתקיים אם ורק אם 1 2 G 1 2 ה"אם" ]] כלומר הכיוון [[ נובע מכך שהיחס G מוכל ביחס לכן ההכלה נכונה גם עבור הסגורים הרפלקסיביים-טרנזיטיביים G לגבי ה"רק אם" ]] כלומר הכיוון [[, נאמר רק, באופן אינטואיטיבי, כי לא ישנה אם נפעיל את הכלל, המופעל בסופו של דבר על האות השמאלית ביותר במילה, כבר בשלב הנוכחי 2 אין אותיות לא סופיות )כלומר, 2 כשב- 1 ל- ]] כלומר, אם יש דרך לבצע גזירות כדי להגיע מ- לא ניתן להמשיך לגזור עוד(, אז הסדר בו אנו מבצעים גזירות בשלב ספציפי לא משנה דבר [[ הרצאה 61 עמוד 1 מתוך 5

79 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר נחזק את המושג של אוטומט מחסנית: הגדרה ]אוטומט מחסנית משוכלל[ אוטומט מחסנית משוכלל הוא שישיה, מחסנית רגיל, אלא שפונקציית המעבר בעלת תחום וטווח שונים: s, Q,,,, בה כל הרכיבים הם כמו באוטומט A : Q 2 Q ]] Q 2 P Q [[ תזכורת: ]מה ההבדל? שבאוטומט מחסנית משוכלל, ניתן להכניס / להוציא לא רק אות אחת במחסנית, אלא מילה באורך סופי כלשהו[,]] יש גם לדרוש כי פרט למספר סופי של אברי התחום ]] ל- מעבירה כל איבר כמו-כן, מעבירה כל נקודה לתת-קבוצה סופית של Q Q 1 אם הכוונה ]בהגדרה זו[ היא שבכל שלב ניתן להוציא מהמחסנית ולהכניס לתוכה גם מילים באורך q, p, x, אז,, ולכל מתקיים:, p, x, q,, ]1 ]זה בדיוק כפי שהגדרנו באוטומט מחסנית, רק שכאן ו- יכולים להיות מילים באורך נראה כי המכונות שקולות במובן זה שכל חישוב שניתן לבצע על סוג אחד, ניתן לבצע גם על הסוג האחר: מכיוון שאוטומט מחסנית הוא מקרה פרטי של אוטומט משוכלל, יש לבדוק רק כי ניתן לבנות אוטומט מחסנית שקול לאוטומט משוכלל נתון ואמנם, בשלב ראשון נעבור לאוטומט בו בכל שלב מכניסים למחסנית לכל היותר אות אחת לשם כך, נחליף כל מעבר מהצורה: p x, α β q בסדרת המעברים: p x, α p k q 1 ε, ε β k-1 q 2 q k-1 ε, ε β 1 q,) k 2 ( 1 2 בשלב השני נעבור לאוטומט מחסנית ע"י כך שאת המעבר הנ"ל, בו k נחליף בסדרה: הרצאה 61 עמוד 2 מתוך 5

80 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר p x, α 1 ε q 1 x, α 2 ε q 2 q k-1 ε, ε α k q ]שימו לב: אין קשר בין ההחלפה הקודמת שעשינו, שטיפלה בנפרד במקרה של הכנסה של מילה ארוכה למחסנית, להחלפה הזו, שמטפלת במקרה של הוצאת מילה ארוכה מהמחסנית השתמשנו באותן אותיות כי אלה מקרים שונים, אך אם היינו עושים זאת בבת אחת, האורכים של ההחלפות היו יכולים להיות שונים, וכן המצבים היו שונים )זרים, אפילו([ ]] זו די היתה הוכחה בנפנוף ידיים, אבל הרעיון כולו כתוב כאן [[ משפט ]שפה מתקבלת ע"י אוטומט מחסנית אם"ם היא חסרת הקשר[ שפה מתקבלת ע"י אוטומט מחסנית אם ורק אם היא חסרת-הקשר הוכחה: ]נוכיח רק כיוון אחד; הכיוון השני הרבה יותר כבד הכיוון שנוכיח הוא ה"אם" )כלומר את הכיוון ([ G : יהי R, G N,, דקדוק חסר הקשר S נבנה אוטומט מחסנית משוכלל עם,,,,,, s f N s f s,, f, S,,, : f,, f, f A f A R, באשר: באופן ציורי: ε, A 1 1 s ε, ε S f ε, A k k σ 1, σ 1 ε σ t, σ t ε הרצאה 61 עמוד 3 מתוך 5

81 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר S asb SS דוגמה: עבור הדקדוק מקבלים את האוטומט: ε, S ε s ε, ε S f ε, S asb ε, S SS a, a ε b, b ε לסדרת הגזירות: S SS asbs abs abasb abab G G G G G s, abab, f, abab, S f, abab, SS f, abab, asbs מתאימה סדרת המעברים: f, bab, SbS f, bab, bs f, ab, S f, ab, asb f, b, Sb f, b, b f,, S f נחזור להוכחה באוטומט שבנינו חייבים לעבור תחילה למצב נראה כי בשלב כלשהו, אם עד כה נקראה המילה באשר לא קראנו מאומה ובמחסנית יש N u ובמחסנית יש, v אז S uv ההוכחה באינדוקציה על מספר המעברים G ] S S S G,, u והטענה נכונה ]כי v S בסיס: בהתחלה, צעד: נניח כי הטענה מתקיימת בשלב מסויים, A הרי במעבר הבא u לא אם v מתחילה באות לא-סופית, נאמר Av' v עם N תשתנה ]כי באוטומט שהגדרנו, כשיש בראש המחסנית אות לא סופית, תמיד קוראים מהקלט )כלומר לא קוראים כלום([, ו- v תוחלף ב- ' v, באשר A R לכן: הרצאה 61 עמוד 4 מתוך 5

82 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר והטענה מתקיימת S uvuv ' G G אם v מתחילה באות סופית, נאמר v' v עם, אז בהכרח u מוחלפת ב-, u ובמחסנית נשארים עם ' v במקום v כלומר, שרשור שתי המילים לא השתנה ]קודם המילה היתה uv' uv ועכשיו היא ] uv u v' בפרט, כאשר מגיעים למצב בו המחסנית ריקה, הרי המילה שנקראה שייכת ל- ולכן, G G לכן הכיוון ההפוך מוכח בצורה דומה, באינדוקציה על מספר צעדי הגזירה )הצמודים משמאל( G הרצאה 61 עמוד 5 מתוך 5

83 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר [תכונות סגירות של שפות חסרות הקשר] משפט [סגירות חלקית של חיתוך ב- CFG ] חיתוך של שפה חסרת-הקשר ושפה רגולרית הוא שפה חסרת-הקשר הוכחה: [רעיון: נבנה אוטומט מכפלה, כדי לבצע הוכחה הדומה לזו שעשינו עבור חיתוך שפות שמתקבלות ע"י DFA לא ניתן לעשות זאת עבור שני אוטומטי מחסנית, כי כל אחד מהם משתמש במחסנית, ויש לנו רק מחסנית אחת, לכן יכול להיות שהשימוש שלהם במחסנית האחת שלנו יתנגש לעומת זאת, כן ניתן לעשות זאת עבור אוטומט מחסנית ואוטומט,DFA כי רק אוטומט המחסנית עושה שימוש במחסנית שלנו] : 2 2 ו יהי אוטומט מחסנית המקבל את DFA המקבל את Q,,,, s, A Q,,, s, A Q Q,,,, s, s, A A נגדיר אוטומט מחסנית ע"י: כאשר:,,,, q 1 1 p1 x p1, p2, x, q1, q2, p, x q 2 p, ( (כאשר בגדרנו p [[ כלומר, קבוצת המצבים באוטומט המכפלה אליהם ניתן להגיע ממצב האות p p 1, 2 x (או לא קוראים דבר, אם ( x ובראש המחסנית מופיעה האות המחסנית, אם ( זוהי קבוצת כל המצבים q q 1, 2 כך שניתן להגיע מ- כאשר קוראים את (או ללא תנאי על q 1 p 1 ל- q 2 ל- הראשון ומ- p 2 באוטומט השני באוטומט במילים אחרות, כל מעבר באוטומט החדש מבצע במקביל מעבר על שני האוטומטים הנתונים בכל רגע, אנו שומרים את המצב בו אנו נמצאים ב- DFA וכן את המצב בו אנו נמצאים ב- PDA ואת מצב המחסנית עבור ה- PDA את כל ההתעסקות עם המחסנית אנו מעתיקים מאוטומט ה- PDA הנתון ]] 2 1 אזי מילה מתקבלת עבור אם"ם היא מתקבלת הן עבור והן עבור מכאן המשפט הרצאה 17 עמוד 1 מתוך 6

84 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר טענה [רגולריות מוכלות ממש בחסרות הקשר] Reg CFG הוכחה: הכלה חלשה ) Reg ( נובעת מכך שאוטומט סופי הוא מקרה פרטי של אוטומט מחסנית [[ פשוט לא נוגעים במחסנית ]] [גם ראינו בתרגול שיש משפחת דקדוקים מיוחדת (דקדוקים רגולריים) המקבלים את כל השפות הרגולריות, לכן גם מכך נובעת ההכלה החלשה] [אפילו עוד דרך להראות זאת: אמרנו ש- היא האוסף המינימלי של שפות המכיל את ואת לכל, וסגורה לאיחוד, שרשור ו - -קליני את השפה ניתן להשיג בעזרת דקדוק שאין בו חוקים (ואז אי-אפשר לעבור מ- נקבל שום מילה) את השפה CFG כיוון ש- S ניתן להשיג ע"י הדקדוק עם החוק הבודד S Reg לשום דבר, ולא סגורה תחת איחוד, שרשור ו - -קליני, היא כוללת לפחות את כל השפות שנמצאות ב-, שכן הגדרנו אותו בתור האוסף המינימלי שמקיים את תכונות אלה] n n ab : n 0 העובדה שהמשפחות שונות [[ כלומר שאין שוויון ]] נובעת, למשל, מכך שהשפה חסרת-הקשר אך לא רגולרית עצי גזירה, משפט ניפוח והוכחות אי-חסרות-הקשר הגדרה [עץ גזירה] יהי דקדוק חסר-הקשר G N,, R, S N עץ גזירה עבור G הינו עץ מושרש שקודקודיו מסומנים ע"י אברי באשר: S א) ב) שורשו מסומן ב- אם קודקוד מסויים שלו מסומן ב-, A והבנים של קודקוד זה, משמאל לימין, מסומנים ב- Att 12 tk R אז,t1, t2,, t k דוגמה להלן עץ גזירה עבור הדקדוק : S asb SS הרצאה 17 עמוד 2 מתוך 6

85 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר S a S b S S a S b a S b ε ε [העץ הזה מתאר סדרת גזירות: SaSbaSSb aababb assb הוא לא מתאר לנו איזה S ממילא] החלפנו בביטוי קודם, אבל מידע זה לא ממש מעניין אותנו המילה הנגזרת מעץ גזירה היא המילה המתקבלת ע"י שרשור הסימנים על עלי העץ משמאול לימין (תוך השמטת -ים) ברור כי G אם"ם קיים ל- G עץ גזירה שהמילה הנגזרת ממנו היא [הערה: יכולים להיות הרבה עצי גזירה שונים שנותנים את אותה המילה SSS למשל, בדוגמה הנ"ל, ניתן לעשות גזירה "חסרת תועלת": S S אפשר לדחוף את הגזירה הזו לתוך עץ כמה פעמים שרוצים ולקבל עצים שונים שיתנו בסוף את אותה המילה] הרצאה 17 עמוד 3 מתוך 6

86 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר משפט [למת הניפוח לשפות חסרות-הקשר] בהינתן שפה חסרת-הקשר, קיים קבוע K כך שלכל מילה עם K קיים פירוק uvxyz עם vxy K - ו vy 0 n n, כך ש- uv xy z לכל n 0 [משפט זה עובד גם בשפות רגולריות למת הניפוח הפשוטה יותר שלמדנו אז גוררת את המשפט הזה, כי אם n xy z n 0 לכל, אז גם 2n1 n n xy z xy yy z לכל n 0 אבל הכיוון השני לא בהכרח נכון;; ישנן שפות חסרות הקשר בהן ניתן לבצע ניפוח כפי שכתוב במשפט זה (של שני דברים במקביל), אך לא כפי שהוא כתוב בלמת הניפוח של שפות רגולריות (של דבר אחד)] [הערה: המשפט נכון באופן טריוויאלי עבור שפות סופיות, שכן ניתן לקחת את K מאורך המילה הארוכה ביותר בשפה, ואז אין מילה הוכחה: להיות גדול יותר עם [ K G N,, R, S יהי דקדוק המקבל את l יהי האורך המירבי של אגף ימין של איזשהו כלל ב- R S asb הכלל הארוך ביותר הוא, S asb SS [נניח גם ש- 1 l לכל עץ גזירה בגובה [למשל בדקדוק עם הכללים [ l asb ;; לכן עבור דקדוק זה, 3, אחרת זהו מקרה מאוד טריוויאלי בו השפה מורכבת רק ממילים שאורכן [1 m מתאימה מילה באורך m l אות היא ילד), ואז מספר העלים בעץ הוא לכל היותר נמצאים ברמה התחתונה, ובה יש לכל היותר קודקודים)] ניקח [כי לכל קודקוד יש לכל היותר l m l m l ילדים (כל (כי במקרה הכי גרוע, כל העלים בעץ קודקודים, כי בכל רמה i יש לכל היותר l i K m 1 l, m ויהי N K מילה באורך תהי נתבונן בעץ גזירה של בעל מספר מינימלי של קודקודים גובה העץ הוא לפחות m 1 [עקב מה שאמרנו בפסקה הקודמת] ניקח עלה ברמה m 1 במסלול מהשורש לעלה זה יש לפחות m 2 קודקודים, שרק אחד מהם מסומן ע"י אות של לכן יש שני קודקודים המסומנים באותה אות, נאמר או A ] שרטוט העץ [ u תהי תת-המילה המתקבלת מעלי העץ שמשמאל לתת-העץ הנוצר ע"י ה- A הראשון, המילה האנלוגית מימין, המילה המתקבלת מעלי העץ הנוצר ע"י ה- A הראשון שמשמאל לתת-העץ המילה המתקבלת מעלי העץ הנוצר ע"י ה- A השני הנוצר ע"י ה- A השני, y z v האנלוג מימין, ו - x [[ כלומר: עוברים על כל האותיות בעץ כדי ליצור את המילה, כפי שעושים בעץ גזירה באופן כללי (כמו שהדגמנו בהגדרת עץ גזירה) מסמנים כל חלק במילה לפי המקום בעץ בו היינו כשרשמנו את האותיות שבו: הרצאה 17 עמוד 4 מתוך 6

87 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר כל האותיות שהגיעו מהעץ שמשמאל u ביחד כל האותיות שנמצאות בתוך העץ ששורשו ה- A לעץ ששורשו הוא ה- A A כל האותיות שנמצאות בתוך העץ ששורשו הוא ה- A השני, נקראות ביחד v כל האותיות שנמצאות בתוך העץ ששורשו ה- A השני, נקראות ביחד השני (הנמוך יותר), נקראות הראשון, אך משמאל לעץ ששורשו הוא ה- השני, נקראות ביחד הראשון, אך מימין x y z כל האותיות שהגיעו מהעץ שמימין ביחד לעץ ששורשו הוא ה- A לעץ ששורשו הוא ה- A השני (הנמוך יותר), נקראות אנו מקבלים כך ש- uvxyz אזי: uvxyz [[ S uaz, A vay, A x G G G : לכן (באינדוקציה) לכל n 0 נראה כי ואמנם, אם n n S uaz uvayz uvvayyz uv Ay z uv n xy n z G G G G G vy 0 vy 0 אז מה- A הראשון גזרנו רק את ה- A השני וממנו את x יכולנו להחליף את עץ הגזירה שלנו בזה המתקבל ממנו ע"י החלפת תת-העץ היוצא מה- A בזה היוצא מן ה- A השני, בסתירה למינימליות העץ v ]] כלומר, אם vy 0 (ואז y הראשון, בעץ הקטן, ששורשו הוא ה- A קודקודים, בסתירה למינימליות ]] נותר להראות ש- vxy K ייתכן כי, vxy ואולם ע"י שינוי קטן נוכל למנוע זאת K ( אז אפשר להחליף את העץ הבינוני, ששורשו הוא ה- A הראשון השני, והיינו מקבלים את אותה המילה עם עץ שבו יש פחות מעלה כלשהו ברמה מירבית נלך לכיוון השורש עד אשר נפגוש לראשונה קודקוד בעל סימן שראינו קודם מהשיקולים דלעיל, אם ניקח קודקוד זה במקום ה- A הראשון דלעיל, נקבל תת-עץ בגובה m 1 [כלומר, נפגוש לראשונה אות שחוזרת על עצמה לאחר שנעבור לכל היותר על m 1 קודקודים שאינם עלים, כי כל אחד מהם מכיל אות מ-, N ו -m, N אז לפי עקרון שובך היונים בסדרה של m 1 אותיות מ- N תהיה לפחות אות אחת שתופיע לפחות פעמיים] תת-עץ זה נותן מילה באורך, K שכבר בתוכה נמצאים שני החלקים המתנפחים מכאן המשפט הרצאה 17 עמוד 5 מתוך 6

88 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר abc n n n : n 0 דוגמה ] n [a n b n c השפה: אינה חסרת הקשר ואמנם, לאחר ניפוח של מילה בשפה זו נקבל מילה ב- abc רק אם החלקים המתנפחים הם חזקות של אות אחת [אחרת נקבל ערבוב של האותיות] אבל אז לאחר ניפוח לא כל שלוש האותיות תופענה באותה חזקה מסקנה [אין סגירות כללית לחיתוך והשלמה] CFG אינה סגורה תחת חיתוך והשלמה 1 2 m n n n n : m, n 0 : 0 m m n m m : m, n 0 : 0 c a b c a b c n a b c a b m הוכחה: נגדיר שתי שפות: 2 1 ו - מהסגירות לשרשור, חסרות הקשר, אך חיתוכן הוא: abc n n n : n 0 [שכאמור, אינה חסרת הקשר לכן אין סגירות לשרשור] DFA כפי שראינו בהוכחה ש- חיתוך לכן CFG CFG סגורה תחת חיתוך, סגירות תחת איחוד והשלמה גוררת סגירות תחת אינה סגורה תחת השלמה [הרי אחרת, מההוכחה שעשינו אז, היה נובע עכשיו ש- סגורה גם תחת חיתוך וכרגע ראינו שזה לא נכון] סיימנו בזאת את חלק זה של הקורס (), ועם זאת גם עוזב אותנו המרצה () הרצאה 17 עמוד 6 מתוך 6

89 א( ב( ג( אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר פרטים אדמיניסטרטיביים קיבלנו מרצה חדש דנדש שם המרצה: כתובת מייל: חדר קבלה: רונן ברפמן בניין 37, חדר 209 מכונות טיורינג [מכונת טיורינג היא מכונה עם סרט אינסופי של זיכרון, ויכולת לגשת לכל תא בו היא המודל החישובי החזק ביותר, וניתן לתאר באמצעותה כל תהליך חישובי שהוא מכונה תאורטית זו הומצאה ע"י המתמטיקאי אלן טיורינג Turing),(Alan ולמעשה קדמה לרעיון האוטומטים הסופיים] הגדרה לא פורמלית חלקים: סרט זיכרון אינסופי מערכת בקרה (דומה לאוטומט סופי) ראש קורא/כותב המצביע על אחד מתאי הסרט (1) (2) (3) אופן הפעולה: בכל צעד חישוב, המכונה עושה את הדברים הבאים: (1) קוראת את האות בתא שעליו מצביע הראש (2) מחליטה בעזרת יחידת הבקרה מה לעשות על-סמך התו הנ"ל והמצב הנוכחי של יחידת הבקרה הפעולות האפשריות מורכבות מהדברים הבאים: ( מה לכתוב במקום התו ( לאיזה מצב לעבור ( לאיזה כיוון להזיז את הראש [זה דומה לאוטומט מחסנית, רק ששם אין לנו אפשרות להזיז את הראש הקורא (הוא תמיד מצביע לראש המחסנית)] הגדרה פורמלית מכונת טיורינג היא שביעיה: Q,,,, s, q, q acc rej הרצאה 18 עמוד 1 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

90 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר קבוצת מצבים סופית א"ב של הקלט (כאשר אנו מסכימים ש- B ריקה (Blank) Q כאשר: היא אות מיוחדת המייצגת משבצת א "ב של הסרט, B פונקציית המעברים: acc rej : Q\ q, q Q, R, S בהינתן מצב נוכחי ואות נוכחית על הסרט, פונקציית המעברים מגדירה לנו לאיזה מצב לעבור, מה לכתוב במקום אותה אות בסרט והאם לעבור שמאלה ),(eft, ימינה ) R, (Stay, S ) או להישאר במקום (Right sq מצב התחלתי qacc qrej Q Q מצב מקבל מצב דוחה [בניגוד לאיך שאנו רגילים באוטומט רגיל, בו יש "קלט", כאן הקלט כתוב על הסרט, כאשר הוא מתחיל בקצה השמאלי של הסרט, וממשיך ימינה לאחר סוף הקלט יש אינסוף תאים ריקים (כלומר שיש בהם )] B החישוב מתחיל כשהקלט בצדו השמאלי של הסרט והראש נמצא בקצה השמאלי של הסרט [הקלט לעולם לא יכיל את האות המיוחדת B (לשם כך דרשנו ש- B );; לכן לא יתכן שיהיה קלט לאחר ה- B הראשון בסרט] [ברגע שמגיעים למצב מקבל או דוחה, המכונה עוצרת] a 2, n n דוגמה [חזקות של 2] נגדיר את השפה: [שפה זו לא רגולרית ולא חסרת הקשר כי קבוצת הפרשי אורכי המילים שלה אינה חסומה לכן לא ניתן לקבל אותה ע"י אוטומט או אוטומט מחסנית כעת נראה שמכונת טיורינג כן מסוגלת לקבל אותה] תאור המכונה במילים שלב :0 אם הקלט ריק אז נעצור ונדחה שלב 1: סרוק את הקלט משמאל לימין ומחק כל a שני אם הסרט מכיל מספר אי-זוגי של a -ים אז נעצור ונדחה הרצאה 18 עמוד 2 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

91 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר a שלב 2: חזור שמאלה ובדוק: אם הסרט מכיל בודד, עצור וקבל שלב 3: חזור ל- 1 Q q,, q, q, q s q a abe,,,! acc rej תאור פורמלי התו E יסמן עבורנו את הקצה השמאלי של הסרט [אין למכונה אפשרות לדעת מתי היא נמצאת בקצה השמאלי של הסרט, לכן נסמן את תחילת הסרט ע"י האות המיוחדת הזו] התו! ישמש לסימון אות מחוקה פונקציית המעברים: דוגמת ריצה: [כאשר הכוונה ב- D היא שקוראים מהסרט את האות, כותבים את האות וזזים בכיוון [ D [הכיוון אליו זזים כאשר עוברים למצב q acc או במצב הסרט או בהיכן הראש, אלא רק באם הגענו ל- q acc, q rej שכן קבלת או דחיית המילה לא תלויה [ q rej או ל- עבור הקלט : aaa הרצאה 18 עמוד 3 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

92 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר a a a B B E a a B B E X a B B E X a B B E X a B B עבור הקלט : aaaa a a a a B E a a a B E X a a B E X a a B הרצאה 18 עמוד 4 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

93 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר E X a X B E X a X B E X a X B E X a X B E X a X B E X X X B E X X X B E X X X B הרצאה 18 עמוד 5 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

94 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר E X X X B E X X X B E X X X B E X X X B B קונפיגורציה של מ"ט [=מכונת טיורינג] מכילה את כל המידע הנדרש על-מנת להמשיך את החישוב: מצב הסרט מצב יחידת הבקרה מקום הראש בסרט (1) (2) (3) לכן ניתן לתאר קונפיגורציה ע"י: uqv כאשר: u היא המילה שנמצאת על הסרט מקצהו השמאלי ועד הראש (לא כולל הראש) qq מצב יחידת הבקרה v המילה הכתובה על הסרט מהראש ימינה לדוגמה: הרצאה 18 עמוד 6 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

95 א( ב( אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר ] שרטוט דוגמה [ [היחס מוביל תוך צעד אחד] [מסמנים: ] נניח ש- מילת הקלט אזי קונפיגורציית ההתחלה תהיה [[ s s תזכורת: s הוא המצב ההתחלתי ]] ( B אז v (אם כאשר v v 0 בהינתן קונפיגורציה uqv נסמן uqvu ' q ' v uqvuq ' ' v 0 0 q, q', ', R אזי q, q', ', S אזי q, q', ', אזי ייתכנו שני מקרים: u כאשר (כלומר הראש הקורא לא נמצא בקצה השמאלי של u' ( אם uqvu ' q ' ' v 0 אם אם אם הסרט) אזי ( אם u (כלומר הראש הקורא כן נמצא בקצה השמאלי של הסרט) אזי ' ]] uqv qvq ' כלומר הראש נשאר בקצה השמאלי [[ v 0 (1) (2) (3) q q, q acc rej אבחנה [מ"ט דטרמיניסטי] לכל קונפיגורציה uqv בה דטרמיניסטית יש קונפיגורציה עוקבת אחת בדיוק כלומר זוהי מ"ט ניתן להגדיר גם מ"ט אי-דטרמיניסטית (נעשה זאת בקרוב) [היחס מוביל כוכב] טרנזיטיבי ורפלקסיבי של סגור q rej q acc [תנאי עצירה] חישוב של מ"ט מסתיים כאשר מגיעים למצב או [לכן ניתן, למשל, להגדיר מכונה שלא עוצרת לעולם, בכך שהיא אף-פעם לא מגיעה לאחד המצבים הללו] הגדרה [מילה מתקבלת / נדחית / אינה עוצרת על-, שפה מתקבלת, מחלקת [RE, אם מתקיים: ונסמן, נאמר שמילה מתקבלת ע"י מ"ט s uqaccv הרצאה 18 עמוד 7 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

96 א( ב( עבור כלשהם אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר uv, נאמר שמילה נדחית ע"י מ"ט אם מתקיים: s uq v rej uv, עבור כלשהם אם איננה מתקבלת ואיננה נדחית ע"י מ"ט נאמר ש- אינה עוצרת על נסמן אם: נדחית ע"י אינה עוצרת על, או ( ( accepts ולכן: נקראת השפה ש- מקבלת נגדיר את מחלקת השפות RE (מלשון Enumerable","Recursively או "ניתן למניה רקורסיבית"): RE קיימת מ"ט כך ש- הגדרה [מכריעה, מחלקת R] מ"ט מכריעה את השפה אם מתקיים: (1) לכל, עוצרת על (2) [[ כיוון שהמילים שלא נמצאות בשפה יכולות או להידחות ע"י המכונה או שהמכונה לא תעצור עליה, לא מובטח שעבור כל מילה בשפה של המכונה נקבל תשובה אם המכונה כן נותנת תשובה עבור כל מילה בעולם (בין אם כן ובין אם לא), אז אומרים שהמכונה מכריעה את השפה ]] : נדגיש את ההבדלים בין מכונה שמכריעה את למכונה שמקבלת את אם מכריעה את אזי: uv, s uqaccv לכל מתקיים עבור כלשהן (1) הרצאה 18 עמוד 8 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

97 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר uv, s uq v rej לכל מתקיים עבור כלשהן (2) אם מקבלת את אזי מתקיים: s uqaccv מתקיים לכל לכל עבור, uv כלשהן s uq v כך ש- uv, acc לא קיימות [[ שימו לב שזה לאו דווקא אומר שקיימות [[ s uq v כך ש- uv, rej (1) (2) כעת נגדיר מחלקת שפות נוספת: R קיימת מ"ט אשר מכריעה את R אזי RE [כי לכל שפה שקיים אוטומט שמכריע אותן, אותו אוטומט גם מקבל אותן] מסתבר שקבוצות השפות נראות כך: RE R P מכונות טיורינג למשימות פשוטות (1) הזזת תוכן הסרט ימינה σ 1 σ 2 σ n B B σ 1 σ 2 σ n B הרצאה 18 עמוד 9 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

98 אוטומטים, שפות פורמליות וחישוביות ( ) סיכום מאת תומר גוֹדינגר רעיון: בכל פעם נזכור את התו האחרון בעזרת מצב מתאים : ab, נדגים עבור a BR a ar q a B as q 1 a br b ar q 2 b BR q b b br B bs [דוגמת ריצה: ] שרטוט [ [ הרצאה 18 עמוד 10 מתוך 10 קבוצה 2, פרופסור רונן ברפמן

99 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר המשך מכונות טיורינג, Q,,,, s, q, q כאשר: acc rej חזרה נזכיר שהגדרנו מכונת טיורינג בתור שביעיה, acc rej : Q \ q, q Q, R, S קבוצת מצבים סופית א"ב הקלט א"ב הסרט פונקציית המעברים, המצב ההתחלתי המצב המקבל המצב הדוחה Q B qacc qrej sq Q Q קונפיגורציה של מ"ט: u q v כאשר: u תוכן הסרט מצד שמאל של הראש )לא כולל( q המצב הנוכחי v תוכן הסרט מהראש ימינה קונפיגורציה התחלתית עבור קלט היא s s uv, uv, s uqaccv מ"ט מקבלת את אם מ"ט דוחה את אם עבור s עבור uq v מ"ט אינה עוצרת על אם לא מתקיימת אף אחת מהאפשרויות הנ"ל rej כאשר מייצג צעד חישוב אחד, ו- מייצג 0 או יותר צעדי חישוב accepts הגדרנו: מקבלת את השפה אם מכריעה את אם: כלומר מקבלת את )1( לא מקבלת את )2( הרצאה 91 עמוד 1 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

100 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר מכריעה את השפה אם וגם עוצרת על כל מילה מכריעה את אם: כלומר מקבלת את )1( דוחה את )2( הגדרנו מחלקות של שפות: R A Turing achine exists such that decides RE A Turing achine exists such that accepts וכמובן מתקיים R RE המשך מכונות טיורינג למשימות פשוטות מכונת טיורינג המביאה את הראש לקצה השמאלי של הסרט [ נבחר אות אחרת שלא נמצאת ב- ]אחרת $ הנחה: רעיון: )1( נחליף את התו הנוכחי ב- $ ונזוז שמאלה )2( אם נראה $ אנחנו בקצה, אחרת לא )3( נתקן את הסרט ונמשיך : 0,1 שרטוט לדוגמה עבור הרצאה 91 עמוד 2 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

101 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר k מכונת טיורינג מרובת סרטים זוהי הכללה של מ"ט שמתנהגת בדומה למ"ט רגילר, אלא שיש לה קוראים/כותבים )כאשר k קבוע( סרטים ו- k ראשים רעיונית: בתחילת הריצה: )1( הקלט מופיע בסרט הראשון, בקצהו השמאלי, וכל שאר הסרטים ריקים ( B ( )2( כל הראשים נמצאים בקצה השמאלי של הסרט בכל צעד חישוב: )1( המכונה קוראת את התווים מתחת k הראשים )2( לפי מצב יחידת הבקרה ותוכן התווים הנ"ל, המכונה מחליטה מה לכתוב תחת כל ראש, לאן להזיז כל ראש, ולאיזה מצב לעבור פורמלית: סרט אחד: acc rej : Q \ q, q Q, R, S k סרטים: k k acc rej : Q \ q, q Q, R, S k דוגמה ]העתקת סרט[ נראה דוגמה למ"ט המעתיקה את תוכן הסרט הראשון לסרט השני הנחה: שני הראשים נמצאים בקצה השמאלי בתחילת העבודה רעיון הפעולה: )1( אם יש B תחת ראש 1 עצור )2( אחרת, העתק את התו תחת ראש 1 לתא שמתחת לראש 2 וזוז ימינה בשני הראשים )3( חזור ל- 1 שרטוט: )עבור ) ab, (B,)->(B,B)(S,S) (a,)->(a,a)(r,r) (b,)->(b,b)(r,r) הרצאה 91 עמוד 3 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

102 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]מצבים מקבלים / דוחים לא מעניינים אותנו במקרה זה[ משפט ]שקילות המכונות[ לכל מ"ט מרובת סרטים קיימת מ"ט חד-סרטית ' כלומר: השקולה לה אם מקבלת את אזי ' את אזי ' על אזי ' מקבלת את אם אם דוחה לא עוצרת דוחה לא עוצרת את על רעיון ההוכחה: נבנה מ"ט ' חד-סרטית המסמלצת את ריצת רעיון ציורי: מכונה מקורית: k ^ # # ^ # ^ k # מכונה חדשה: # הרצאה 91 עמוד 4 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

103 ד) ב) ג) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]ע"מ לדמות את הראשים השונים של המכונה המקורית, נוסיף תווים מיוחדים שנשתמש, 1,, כך שמיקומם יתאימו למיקומי הראשים באחד מהם בתוך המילים השונות k הרלוונטיים בכל רגע כלומר, אם למשל אחד הראשים נמצא במקום 3, וכתוב שם, a אז נחליף את התו a המתאים בסרט האחד שלנו ב- â כדי לסמן שעליו נמצא הראש ] הוכחה פורמלית B )א( נשתמש בסימן מיוחד # על-מנת להגדיר k מקטעים על הסרט היחיד ולהפריד ביניהם כל אחד מסמל את הסרטים של א"ב העבודה של ' יכיל גם תו מהצורה ˆ לכל תו מא"ב העבודה של בכל עותק וירטואלי של סרט של יסומן מיקום הראש ע"י החלפת התו המקורי שנמצא בסרט של בתו ˆ, 1, המכונה תשנה את תוכן הסרט כנ"ל: אתחול המכונה: עבור קלט n σ 1 σ 2 σ n ) ) ) # ^ # B^ # # B^ # σ 1 σ 2 σ n k-1 כלומר ' תסמלץ k סרטים ש- k 1 מהם מכילים B והראשון מכיל בכל אחד הראש בקצה השמאלי לאחר האתחול המכונה ' תעבור למצב שמדמה מצב התחלתי של סימולציה של צעד חישוב k הראשים k התווים תחת )1( ' תסרוק את הסרט משמאל לימין כדי ללמוד מהם הוירטואליים המקורי( מידע זה יישמר במצב של יחידת הבקרה של ' )וכן גם המצב של זה אפשרי מכיוון שיש מס' סופי וידוע מראש של אפשרויות )סדר גודל ) k לאחר מעבר זה, נגיע למצב יחידת הבקרה המאפיין את השילוב של k התווים שנקראו והמצב של, ויחידת הבקרה של ' תעבור כעת למצב המשקף את השינויים שיש לעשות בכל אחד מהסרטים הוירטואליים )גם כן, סדר גודל של ) k k k k, R, S 3 כעת ' תעבור שוב על הסרט ותבצע את העדכון המתאים בכל סרט: כתיבת התו החדש והזזת הראש הוירטואלי אם בעדכון הסרט הוירטואלי עלינו לזוז ימינה לסימן #, תתבצע פרוצדורה שתסיט את תוכן הסרט ימינה ותוסיף, B ואז נמשיף כנדרש )2( הרצאה 91 עמוד 5 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

104 ב) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר סיבוכיות הסימולציה אורך הסרט k אורך סרט מקסימלי של בסימולציית צעד חישוב של ', עשויה לבצע k 2 מעברים על הסרט ]מעבר אחד הלוך )זה 1(, ואז במעבר חזור )זה עוד 1(, אם יש להפעיל את פרוצדורת הזזת הסרט עבור כל אחד מהסרטים הוירטואליים, ונתייחס לכל הזזה כסדר גודל של סריקת כל הסרט, אז יש עוד k כאלה[ כלומר חישוב של צעד אחד בסימולציה דורש לכל היותר: יהי k 2 k) )אורך סרט מקסימלי ב- מספר צעדי החישוב שביצעה T אזי אורך הסרט המקסימלי שלה T לכן סיבוכיות החישוב של צעד בסימולציה היא: לכן אם O 2 k T OT שכל צעד של ביצעה T צעדי חישוב, אז ' תבצע צעדים ]הרי אמרנו O T 2 עולה ל-' סדר גודל של ]T דוגמה חשובה ]פלינדרומים עם 2 סרטים[ נציע מ"ט דו-סרטית עבור שפת הפלינדרומים תאור המכונה בהינתן קלט, העתק את לסרט 2 חזור לתו השמאלי ביותר בסרט 1 בכל צעד בדוק אם התו מתחת לשני הראשים זהה )א( אם לא עצור ודחה ) אם כן הסט את ראש 1 ימינה ואת ראש 2 שמאלה אם הגעת ל- B בסרט 1, עצור וקבל חזור ל- 3 )1( )2( )3( )4( )5( ]] אנחנו מניחים שלאחר ההעתקה, ראש 2 נמצא על התו הלא-ריק האחרון בסרט [[ זמן ריצה: On משפט ]הכרעת שפת הפלינדרומים[ 2 n לא קיימת מ"ט חד-סרטית המכריעה את שפת הפלינדרומים בזמן הקטן מ הרצאה 91 עמוד 6 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

105 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר מסקנה ]מינימליות הפתרון שהצענו[ לא ניתן לבנות אלגוריתם סימולציה למכונה רב-סרטית שעובד טוב יותר מזה שהגדרנו )אסימפטוטית( ]] זאת משום שאם היה אפשר, אז היינו יכולים לעשות זאת עבור המכונה הדו-סרטית הנ"ל, ואז היינו מקבלים סתירה למשפט שכרגע ציינו לגבי שפת הכרעת הפלינדרומים [[ הרצאה 91 עמוד 7 מתוך 7 קבוצה 2, פרופסור רונן ברפמן

106 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]] לא הייתי בתחילת השיעור; אשלים כשאוכל [[ הרצאה 02 עמוד 1 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

107 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר סוגי ריצות אפשריות: ריצה שמסתיימת במצב מקבל ריצה שמסתיימת במצב דוחה ריצה שאיננה עוצרת ריצה שנתקעת )1( )2( )3( )4( הגדרה ]שפה של מ"ט א"ד[ השפה של מ"ט א"ד היא: כלומר, : acc u v s uq v אם קיים חישוב מקבל כלשהו אם אין אף חישוב מ- se שמוביל לקונפיגורציה מהצורה uqaccv דוגמה: מ"ט המקבלת את השפה: : 0, is a prefix of , 0,1 למשל, עבור היא מילה בשפה, ו היא לא תיאור המכונה: בהינתן קלט, המכונה תרוץ ימינה על הקלט עד ש"תחשוב" שזוהי חלוקה אפשרית היא תסמן תו זה ע"י ^ ותבדוק האם המילה עד ^ היא רישא של המילה מימין ל-^ בשלב ראשון, המכונה תרוץ ימינה ותבחר בין שתי אפשרויות: לסמן את האות הנוכחית לא לסמן ולהמשיך ימינה )1( )2( מהרגע שבחרנו חלוקה, שארית החישוב דטרמיניסטית עץ חישוב של מ"ט א"ד זהו עץ המתאר את כל החישובים האפשריים של מ"ט א"ד על קלט כל קודקוד הוא קונפיגורציה הרצאה 02 עמוד 2 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

108 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר השורש מכיל את הקונפיגורציה ההתחלתית, s הבנים של קודקוד X הן כל הקונפיגורציות אליהן ניתן להגיע בצעד אחד מ- X ]יש עץ שונה עבור כל מכונה ועבור כל מילת קלט[ דוגמה עבור 0101, והאוטומט לדוגמה עליו בדיוק דיברנו: כך ש- D N D משפט ]שקילות המכונות[ לכל מ"ט אי-דטרמיניסטית N קיימת מ"ט דטרמיניסטית N ותקבל אם באחד המסלולים, N רעיון ההוכחה: D תבצע סימולציה של כל מסלולי החישוב של מקבל הגיע למצב בעיה: גם עבור מילה שמתקבלת כלומר מעבר סדרתי על כל החישובים האפשריים איננו פתרון טוב במקום זאת, נבצע מעבר בשיטת [[ Breadth-First Search ]] BFS כל החישובים מאורך 1, כל החישובים מאורך 2 וכו' ייתכנו מסלולי חישוב אינסופיים ב- N אם באחד החישובים N מגיעה למצב מקבל D תעצור ותקבל אם כל החישובים יסתיימו לאחר מספר צעדים סופי, D תעצור ותדחה אחרת D לא תעצור ולא תקבל אבחנה: לכל מ"ט א"ד קיים קבוע q, C : ו- qq כך שלכל C ]זאת משום שפונקציית המעברים מחזירה איבר מהצורה כאשר q, q', ', m הרצאה 02 עמוד 3 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

109 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר, Q לכן כמות האפשרויות C, R, S כלומר איבר מתוך qq, ', m, R, S השונות לכך היא לכל היותר, Q,,R S Q 3 שזה מספר סופי )יתכן ש- קטן יותר; למשל באוטומט שראינו מקודם, הבנייה: C 2, כי לכל קודקוד יש בדיוק 2 בנים([ יהיה לכל מצב ואות qq נסדר בצורה כלשהי )שרירותית( את המעברים האפשריים ב- : q, q, 0, 1,, CN 1 i j C N לכל j qrej, B, S כאשר אם q,, m i i i i q i C, N אז נגדיר q acc t בהינתן נסתכל על עץ החישוב של T ; נסמנו N ב- s הוא T השורש ב- ולכל קודקוד יש C N בנים או 0 בנים )אם המצב או הוא כל חישוב ב- N על T מתאים למסלול ב- כל חישוב סופי מתאים מסלול סופי ניתן לייצג חישוב סופי על-ידי סדרת ספרות מעל הבסיס C N המזהה את סדרת הבחירות ]] למשל, אם בחרנו מהשורש לרדת לבן מס' 5, וממנו לבן מס' 0 )השמאלי ביותר(, ואז לבן מס' 3, מתאים לבחירה זו המספר [[ 503 ) q rej o o o N ' בנייה: שלב א', אשר בהינתן סדרת בחירות סופית ומילה נגדיר מ"ט דטרמיניסטית שמתאים לסדרת הבחירות הנ"ל על סימולציה של החישוב של : תיאור אתחול: o מכונה דו-סרטית יופיע על הסרט הראשון ) C N תופיע בסרט השני סדרת הבחירות )סדרת ספרות מעל בסיס N N ' N ' מבצעת i ביצוע הסימולציה: )1( ' N קוראת אות בכל סרט )מהסרט הראשון, אות מהמילה או מה שנוצר ממנה; מהשני, זוהי הבחירה של המעבר( )2( על-סמך המצב, q תו הקלט והמספר i בסרט השני, היא מבצעת את q, ]] שכאמור, קבענו מראש [[, וכותבת את התו הנדרש המעבר ה- ב- בסרט 1 בסרט 2 היא זזה ימינה )3( [[ תנאי עצירה: ]] אם הגענו למצב מקבל ' N עוצרת ומקבלת o הרצאה 02 עמוד 4 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

110 ב) ג) ד) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר אם הגענו למצב דוחה אם הגענו ל- B בסרט 2 N ' N ' עוצרת ודוחה עוצרת ודוחה על מבצעת חישוב סופי אחד מתוך מספר חישובים אפשריים של הערות: א עוצרת ודוחה ]] זה רק אומר שיש אפשרות אם ב שבו היא דוחה את הקלט; יכול להיות שיש אחד אחר שמקבל אותו [[ לחישוב של : זהה לזו של קבוצת המצבים של ג N N ' N ' עוצרת ודוחה, אין זה גורר ש- N N N ' N נניח שהמעבר ה- N ב- j על qa, הוא אזי: q', a', q a j q a' j R ',, ',,,, j N ]] האותיות המסומנות בכחול נוגעות לסרט הראשון, ואלה המסומנות באדום נוגעות לסרט השני כלומר, אם אומרת במעבר ה- שממצב בקריאת האות a כותבים את האות q a ' וזזים לכיוון, אז המכונה שלנו, ממצב הראשון( והספרה q ובקריאת האות a j )בסרט השני(, נעבור למצב ' a, את האות בסרט השני נשאיר להיות תמיד נזוז בכיוון q ' j בקלט )בסרט, נכתוב בסרט הראשון את האות, בסרט הראשון נזוז בכיוון R )ימינה( ]] ובסרט השני N בנייה: שלב ב' בניית דטרמיניסטי כך ש- D N D o תיאור כללי: D בהינתן קלט, מבצעת סימולציה של כל החישובים של באורך 1, אז באורך 2 וכך הלאה אם D מוצאת חישוב מקבל, היא עוצרת ומקבלת תכיל שלושה סרטים: )1( סרט הקלט )2( סרט העבודה למעשה סרט 1 של )3( סרט הבחירות למעשה סרט 2 של ' N על N ' D פעולת המכונה: בהינתן קלט, המכונה : D )1( מאתחלת את סרט הבחירות ל- 0 ]] כלומר שיכיל את הספרה הבודדת '0' [[ )2( מבצעת לנצח ]] עד אינסוף [[: )א( העתק את לסרט =( 2 סרט 1 של ' N ) ) הרץ את ' N על סרטים 2 ו- 3 ]] לא יתכן ש- ' N תרוץ לנצח כי היא תעצור לכל המאוחר לאחר שתסיים לעבור על הסרט השני [[ ) אם החישוב קיבל D עוצרת ומקבלת ) ]] אחרת, [[ אם החישוב הסתיים: א מוחקים את תכולת סרט 2 o הרצאה 02 עמוד 5 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

111 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ב מגדילים את המונה בסרט 3 ב- 1 ]] כלומר מבצעים ++; זה לא יותר מדי בעייתי לכתוב תיאור של פרוצדורה שמבצעת זאת )זה ממש כפי שמבצעים חיבור ארוך(; לא טרחנו לעשות זאת כאן [[ נכונות הבנייה: אם קיים חישוב באורך N בשלב מסויים, i כלשהו המקבל את N ב- D תעבור על כל החישובים באורך i, ובפרט על החישוב הנ"ל, ולכן תעצור ותקבל כלומר, קיים חישוב i אם D סופי של D אזי מצאה סדרת החירות באורך המקבלת את N המקבל את N, ולכן הרצאה 02 עמוד 6 מתוך 6 קבוצה 0, פרופסור רונן ברפמן

112 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר המשך מכונות טיורינג אי-דטרמיניסטיות משפט ]מ"ט דטרמיניסטית המקבל אותה שפה כמו מ"ט א"ד[ לכל מ"ט אי-דטרמיניסטית N הוכחנו את המשפט בשיעור שעבר קיימת מ"ט דטרמיניסטית כך ש- D N D הגדרה ]מ"ט א"ד מכריעה שפה[ מ"ט א"ד מכריעה שפה אם: m m לכל קלט לכל היותר קיים כך שכל חישוב של על מסתיים לאחר צעדים )1( )2( ]לכן אם מכונה כזו מכריעה שפה מסויימת אז עץ החישוב של כל מילה ב- )העומק המקסימלי שלו יהיה לכל היותר במכונה זו יהיה סופי ]) m D משפט ]מ"ט דטרמיניסטית המכריעה שפה של מ"ט א"ד[ אם עבור שפה קיימת מ"ט א"ד המכריעה את N המכריעה את, אזי קיימת מ"ט דטרמיניסטית D בהוכחת המשפט הקודם שבנינו עבור הוכחה: נסתכל על נשתמש באותה בנייה בתוספת קטנה: N בכל פעם שנסיים לעבור על כל החישובים מאורך i אם כן נעצור ונדחה כלשהו, נבדוק האם כולם הסתיימו ]] זאת אומרת: במכונה שבנינו בשיעור הקודם, יש מקום שבו אנו מבצעים החלטה של "נתחיל סדרת חישובים באורך הגדול ב- 1 ממה שעשינו כרגע" הפעם, כשנעשה זאת, גם נכתוב בתא הראשון של סרט נוסף )שבו לא השתמשנו בבניה הקודמת(, למשל את התו "0" בכל שלב בסימולציה, אנו יכולים להפסיק את סימולציית החישוב מכמה סיבות או כי המכונה (, q rej או כי החישוב לוקח יותר מדי המסומלצת סיימה את החישוב שהיא עושה )הגיעה ל- או ל- q acc צעדים אם אנו מפסיקים מהסיבה השניה, נכתוב "1" במקום ה-" 0 " ששמנו בסרט הנוסף בפעם הבאה שנחליט להתחיל להריץ סדרות חישובים באורך גדול יותר, ראשית נבדוק את הערך שכתוב בסרט הנוסף אם הוא 0, סימן שכל החישובים הסתיימו באופן טבעי במכונה המסומלצת, לכן אין טעם להריץ אותם שוב עם מגבלה גבוהה יותר של מס' צעדים, ואפשר להגיע למסקנה שהמכונה לא מקבלת את המילה הרצאה 12 עמוד 1 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

113 )זאת כמובן בהנחה שלא הגענו ל- אוטומטים, שפות פורמליות וחישוביות ) ( q acc המילה, כפי שעשינו בבנייה המקורית( [[ סיכום מאת תומר ג ודינגר מתישהו בדרך אז בכל מקרה אנו עוצרים מיד ומקבלים את מכריעה את מכיוון ש: D i אם אזי קיים חישוב מקבל כלשהו באורך כלשהו לכן עבור כל יהיה חישוב אחד לפחות שלא הסתיים ולכן לא נעצור לפני שעברנו על j i החישובים באורך, i ואז כשנעבור על החישוב המקבל, נעצור ונקבל D D צעדים לכל היותר, ולכן כש- m N m אם לא קיים חישוב של על המקבל את, ולכן לא תעצור ותקבל מצד שני, קיים כך שכל חישוב על עוצר לאחר תסיים את סימולציית כל החישובים באורך, היא תזהה שכולם סיימו, ותעצור ותדחה m )1( )2( הערה ]שקילויות[ כמובן ניתן להגדיר מ"ט א"ד רב-סרטית והיא שקולה למכונה א"ד חד-סרטית מ"ט דטרמיניסטית חד-סרטית מ"ט דטרמיניסטית חד-סרטית מ"ט דטרמיניסטית חד-סרטית מ"ט דטרמיניסטית חד-סרטית הערה צדדית: מודלים נוספים לחישובים ישנם מודלים נוספים לתהליכים חישוביים, חוץ ממכונות טיורינג )למשל תחשיב פונקציות רקורסיביות( התזה של :Church כל המודלים הסבירים לחישוב שקולים, מכונת טיורינג אוניברסלית ]Universal[ ]הסבר כללי: עד כה, ע"מ לבצע חישוב מסויים, הגדרנו מכונה שעושה זאת זה די מסורבל דמיינו שכל פעם שהייתם רוצים לבצע חישוב כלשהו, הייתם צריכים לבקש שיבנו עבורכם מכשיר שמחשב ספציפית את מה שאתם רוצים נרצה להגדיר מכונה אחת, ספציפית, המסוגלת לבצע כל חישוב )אשר היא תקבל כקלט( כיצד נתאר את החישוב שברצוננו לבצע? כפי שאמרנו כעת, כל חישוב כזה תיארנו עם מכונת טיורינג אז נייצג את החישוב שאנו רוצים בתור מכונת טיורינג, ואותה ניתן כקלט למכונה האולטרה-גנרית שלנו הרצאה 12 עמוד 2 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

114 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר רעיונית, ניתן לחשוב על מכונת טיורינג כעל תוכנה, ועל מכונת טיורינג אוניברסלית כעל מחשב שמריץ תוכנות a b c n n n : n 0 הערה: ניתן לתאר מכונת טיורינג אחת בכמה דרכים )נגיד המכונה שמקבלת את המקבלת את בתכל'ס עושות את אותו הדבר, פשוט שאחת קוראת לאותיות והמכונה n n n : n 0 בשמות מסויימים, והשניה בשמות אחרים ע"מ להפוך דברים לאחידים, ולראות את שתי המכונות הללו כזהות מבחינתנו, נתאר עוד מעט דרך "קנונית" להציג מכונות טיורינג )נניח בה"כ שכל מ"ט היא מצורה מסויימת([ רעיון: נרצה תיאור פורמלי של מ"ט שניתן להשתמש בו כקלט למ"ט אחרת אשר תסמלץ את ריצת המכונה המקורית קידוד מכונת טיורינג כמחרוזת יהיו: Q,,, q, q, q, קבוצות אינסופיות בנות-מניה קבוצת כל הסימנים בא"ב קבוצת כל המצבים האפשריים Q, Q,,,, s, q, q אפשר להניח בה"כ כי: acc rej בהינתן מ"ט q q,,, Q q,, q B t s q acc rej q q 1 n r r,,,, t AC, קידוד של מ"ט יהיה מילה מעל הא"ב i i A i הקידוד של i qi A גם הוא q i הקידוד של 3 2,, i q i נסמן נסמן נסמן ]זה יסתדר, אל תדאגו[ S A A R A )1( )2( )3( הרצאה 12 עמוד 3 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

115 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר qi, j qk, p, D לקידוד מעבר מהצורה, נכתוב: C T q C C q C C D ij i j k p A i q i ]] כלומר נכתוב את הקידוד של המצב הקידוד של האות )שהוא )שהוא פעמים האות פעמים האות (, אז את האות, אז את, וכן הלאה )כמובן, הסדר C אז שוב האות (, A C ו- A j j חשוב( זה לא קידוד נוח במיוחד, אבל בהינתן סדרה של אותיות ניתן באופן חד-משמעי לומר מהו המעבר למשל: שמייצגת קידוד תקין של מעבר, A C AA C AA C AAAAC AAA q q S q, q,, S )זה קצת כמו קידוד בינארי, והרי אפשר בעזרת מספרים בינאריים לקודד כל דבר סופי( [[, והוא: נסמן קידוד של מכונת טיורינג ע"י r t m CA CA CA CT CT C CT C mt כאשר נזכיר כי: r t m Q ]] הפואנטה כאן היא להראות שאפשר לקודד מכונה כמחרוזת; לא באמת נתבקש בקורס לקודד מכונה ספציפית או לפענח קידוד נתון אני ממליץ לכם לוודא שאתם מבינים את הקידוד ולמה הוא תקין, ולהמשיך הלאה )אבל זו רק דעתי האישית( [[ אבחנה ]הקידוד הוא חד-חד-ערכי[ מגדיר באופן יחיד את AC, הנחה להמשך הקורס כל מילה מעל הא"ב מקודדת מכונת טיורינג אם היא מצורת הקידוד שראינו, אזי היא מקודדת את המכונה כפי שהסברנו הרצאה 12 עמוד 4 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

116 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר אחרת, נניח שהיא מקודדת מכונת טיורינג שמיד בצעד הראשון שלה עוברת ל- תלות בקלט, ללא q rej ]הערה: זה אמנם יכול להיות מייגע, אך זה בהחלט אפשרי, ולא מסובך כ"כ, עבור מ"ט לקבל קלט מעל הא"ב AC, ולקבוע אם הוא תקין או לא[ הגדרה ]מ"ט אוניברסלית, U[ עד עתה תיארנו מ"ט עבור פעולה בפציפית נתאר מ"ט שתתנהג בדומה למחשב, המסוגל לקבל קידוד של חישוב / אלגוריתם )תוכנית( ומילת קלט, ולהפעיל את התוכנית על הקלט נקרא למכונה זו קלט: קידוד של מ"ט כאשר קידוד של וקידוד של מילה, כלומר,,, 1 n הוא C C C 1 2 n תאור הרצה: תבצע סימולציה צעד אחר צעד של ריצת על עוצרת ומקבלת או דוחה אם עוצרת ומקבלת או דוחה )בהתאמה( אם איננה עוצרת על, אזי גם לא תעצור על ]וריאציה: הרצה חלקית[ נגדיר באופן דומה מכונה קשר בינו לבין ה- ריצה: t המקבלת את הקלט t t ב- ]] ה- t t הוא חלק מהשם; אין שמתקבל בקידוד מעבר לכך שעל שם הפרמטר הזה נקראת המכונה [[ t אם מבצעת בימולציה של ריצת על למשך t עוצרת על תוך t צעדים לכל היותר, t צעדים לכל היותר תפעל בדיוק כמו t עוצרת לאחר שסימלצה חישוב, ודוחה על צעדי t, מחזירה קידוד של סרט t צעדי על הגדרה ]שפת הקבלה / העצירה[ שפת הקבלה,, acc של מכונת טיורינג האוניברסלית מוגדרת בתור: acc, halt מוגדרת בתור: ושפת העצירה, הרצאה 12 עמוד 5 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

117 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר halts on acc, RE acc halt טענה ]שפות אלה נמצאות ב- RE [ הוכחה: acc acc ]] הסבר: RE אם קיימת מכונת טיורינג כלשהי, אבל יש מכונה שמקבלת את כלומר, כך ש- acc זו בדיוק המכונה ]] acc acc RE ואז, acc )1( halt עבור ' נבנה מ"ט הדומה ל- : דוחה תקבל גם אם עוצרת, ' היא תפעל באותה צורה, אלא שברגע ש- ]] הסבר: עבור כל מילה בשפה, המכונה halt עוצרת עליה אבל השפה של היא לא שפה זו, כי לאו-דווקא מקבלת את המילה, שכן זה תלוי באם קיבלה את אז פשוט נגדיר מכונה שכן מקבלת בכל פעם ש- עוצרת עבור, ואז השפה שלה תהיה ]] halt )2( d הגדרה ]שפת האלכסון[ ]] כלומר, זוהי שפת כל הקידודים של מכונות טיורינג, שלא מקבלות את המילה שמייצגת את הקידוד שלהן עצמן למשל, אם נגיד הקידוד של מכונה מסויימת הוא המילה, וכאשר אנו נותנים את בתור קלט ל-, המכונה לא מקבלת אותה )כלומר היא דוחה / לא עוצרת עליה( אז ]] d d RE משפט ]חשוב![ קידודים של מ"ט שהמכונה שהם מקודדים לא תקבל את הקידוד שלה d הרצאה 12 עמוד 6 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

118 ב) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]זה משפט חשוב, כי הוא למעשה אומר שלא ניתן לכתוב תוכנת מחשב שתקבל את השפה הזו[ הוכחה: d נניח בשלילה שקיימת מ"ט קיימים שני מקרים אפשריים: d אשר מקבלת את בסתירה d d, אבל d d d אבל לפי הגדרה, אבל לפי הגדרת d d d d )א( נובע שלכן d d d שוב בסתירה אבל כאמור d ) d מסקנה: לא קיימת מ"ט כנ"ל, ולכן RE ]] זה ממש אותו דבר כמו האלכסון של קנטור [[ הרצאה 12 עמוד 7 מתוך 7 קבוצה 1, פרופסור רונן ברפמן

119 ב) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר : RE acc : halts on RE halt : RE d הגדרנו וראינו: acc halt וכמובן,, כיוון שכל מכונה שמקבלת מילה גם עוצרת עליה : d ]] עוד קצת הסברים על, שאם נבנה מכונה לפי מה שרשום ב- )ציינו בעבר שאפשר זוהי שפת כל המילים להסיק מתוך קידוד נתון מהי המכונה שהוא מקודד(, ונקרא למכונה זו אז כאשר נפעיל את וניתן לה בתור קלט את אותה בו השתמשנו בשביל לבנות את אז לא תקבל אותה )כלומר תדחה / לא תעצור( קידוד של המכונה שדוחה את כל הקלטים בעולם נמצא ב- d קידוד של המכונה שמקבלת את כל הקלטים בעולם לא נמצא ב- d ]] d RE משפט ]שפת האלכסון לא נמצאת ב- RE [ הוכחה: ]] ראינו כבר הוכחה בשיעור שעבר, אבל נעשה אותה שוב, כי היא קצרה אך מורכבת להבנה, ויש לנו זמן, ואנחנו רוצים לעשות לסטודנטים רע!!WAHAHAHA [[ נניח בשלילה ש- לכן קיימת מ"ט נסתכל על חישוב ישנם שני מקרים: d RE d המקבלת את d d על d d d d d d )א( מתקיים אבל, d, שוב בסתירה d d d d לכן לפי הגדרת לכן לפי הגדרת d בסתירה מתקיים d ) d בכל מקרה הגענו לסתירה, לכן RE הרצאה 22 עמוד 1 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

120 תכונות סגור של R ו- RE ]] תזכורת: אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר RE קבוצת כל השפות שקיימת מכונה שמקבלת אותן R קבוצת כל השפות שקיימת מכונה שמכריעה אותן ]] טענה ]סגירות של R[ R סגורה תחת איחוד, חיתוך, שרשור ומשלים הוכחה: ]לא נוכיח כאן סגירות לשרשור; זה יהיה בתרגיל[, בהתאמה 1, 2 1, 2 1, 1 תהיינה R ותהיינה מ"ט המכריעות את ]] הערה חשובה: כאשר אומרים שמכונה מכריעה שפה, זה גם אומר שהמכונה תמיד עוצרת על כל קלט )גם עבור מילים שלא בשפה( למעשה, לא הדגשנו זאת, אבל כשאומרים שמכונה מכריעה שפה, זה אומר שני דברים: שהמכונה תמיד עוצרת לתנאי זה בכלל אין קשר לשפה של המכונה שהשפה שהמכונה מקבלת היא השפה שאומרים שהיא מכריעה 1 2 לכן תמיד כשמתעסקים עם מכונות שמכריעות ניתן להניח שהן תמיד תעצורנה [[ איחוד: נוכיח כי R 1 2 נבנה מ"ט בתפעל כך: o o o אם 1 תריצ את 1 אחרת, על הקלט עוצרת ומקבלת, תריץ את 2 תעצור ותקבל על הקלט ותענה כמוה חיתוך: אותה סוג בניה ]] פשוט מגדירים שעונים "כן" רק אם שתי המכונות אמרו "כן" [[ q rej ו- משלים: תהי R ותהי מ"ט המכריעה את נבנה מ"ט שתכריע את תעבוד בדיוק כמו, אלא שנחליף בה בין המצבים q acc הרצאה 22 עמוד 2 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

121 טענה ]סגירות של ]RE RE סגורה תחת איחוד, חיתוך, ושרשור אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר הוכחה: ]גם כאן לא נוכיח סגירות לשרשור; גם זה יהיה בתרגיל[ איחוד: ניתן להוכיח בשתי דרכים: נבנה מ"ט )1( המריצה את 1 2 ואת 1 במקביל ]בדיוק כמו באוטומט מכפלה[ תהיה מ"ט דו-סרטית, שתחילה תעתיק את הקלט מסרט 1 לסרט 2 ואז תפעיל את על סרט 1 ואת 2 אם אחת מהן תעצור ותקבל, גם על סרט ]] 2 צעד צעד, כל פעם ממכונה אחרת, לחילופין [[ תעצור ותקבל 1 נבנה מ"ט אי-דטרמיניסטית או 2, ואז תעבוד בדיוק כמוה שבשלב הראשון תבחר איזו מ"ט להריץ על הקלט )2( חיתוך: אותה בניה כמו ב-) 1 (, או כמו בהוכחה של חיתוך ב- R זה בסדר שגם המכונה שלנו לא תעצור[ ]כי אם אחת מהמכונות לא עוצרת, טענה ]מתי שפה מ- RE נמצאת ב- R [ אם RE וגם RE אזי R הוכחה: תהיינה נבנה מ"ט ו- ˆ מ"ט המקבלות את המכריעה את ואת בהתאמה תריץ במקביל את ו- ˆ עצרה וקיבלה, עצרה וקיבלה, אז ˆ אם אם תעצור ותקבל ˆ תעצור ותדחה נכונות הבניה: אם ' אזי לכן לפי הבניה אזי אם ולכת ˆ תעצור ותקבל ולכן תעצור ותקבל תעצור ותקבל את הרצאה 22 עמוד 3 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

122 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר לכן לפי הבניה ˆ תעצור ותדחה כמו-כן, כיוון שבכל מקרה אחת המכונות תעצור ותקבל, ˆ עוצרת על כל מילה acc R טענה acc[ לא ניתנת להכרעה[ הוכחה: נניח בשלילה ש- acc R ונראה שמזה נובע ש-, בסתירה d R : d d נבנה מ"ט המכריעה את בהינתן קלט d, X קלט עבור המכונה תריץ את acc )מכונה המכריעה את ]] הערה: ) על X X acc d כפי שמכניסים למכונה אם אם ]] הוא מהצורה של קידוד של מכונה, ולא של קידוד מכונה + מילה, acc acc עוצרת ומקבלת את d X X תדחה את X acc עוצרת ודוחה את X X d תקבל את X כן לא לא כן נכונות הבניה: כלשהי ]] X d X נניח אזי ומתקיים ]] עבור מכונה כלומר לא מקבלת את d, ולכן X X acc לכן תעצור ותדחה את תעצור ותקבל, כנדרש הרצאה 22 עמוד 4 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

123 , כנדרש X נניח אוטומטים, שפות פורמליות וחישוביות ) ( כלשהי ]] סיכום מאת תומר ג ודינגר d X d X אזי אזי ומתקיים תעצור ותקבל את ]] שוב, עבור מכונה, ולכן תעצור ותדחה את X X acc acc R d d R מסקנה: מכיוון ש- ]] ולכן לא יתכן שקיימת כזו כפי שבנינו [[ R RE P ]יחסי הכלה בין קבוצות השפות[ עד כה, ראינו: ]] A B A משמעותו B וגם A [[ כאשר B halt R טענה halt[ לא ניתנת להכרעה[ הוכחה: halt halt נניח בשלילה ש- R halt תהי מ"ט המכריעה את נגדיר מכונה חדשה, ', באופן הבא: halt, ' מפעילה את בהינתן קלט X אם אם עוצרת ומקבלת את על y X X נכנסת ללולאה אינסופית X ', y עוצרת ודוחה את ' עוצרת ומקבלת את, y halt halt לולאה אינסופית כן לא כן הרצאה 22 עמוד 5 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

124 א) ב) אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר : ' נבדוק כיצד ' מתנהגת על ' נניח ש-' עוצרת ומקבלת את ) ' ', בסתירה כלומר, כלומר halt ' עצרה ודחתה את איננה עוצרת על ' ' נניח ש- ' איננה עוצרת על ) halt כלומר כלומר ' עוצרת ומקבלת את ' ' עוצרת על ', שוב בסתירה halt כלומר R halt מסקנה לא קיימת ' כנ"ל, ולכן לא קיימת מ"ט המכריעה את ]] הסבר על המסקנה: עשינו כאן בנייה המסתמכת על המכונה שכביכול קיימת, halt כל חלקי הבניה שעשינו תקינים; אין בעיה איתם )זה בסה"כ לייצר קידוד )שזה אמרנו כבר שלא בעיה(, להפעיל מכונה אחרת שתמיד עוצרת )גם לא בעיה(, ואז או לקבל או להיכנס ללולאה אינסופית )גם את זה אין בעיה לעשות(( אך הוכחנו שהמכונה הזו בלתי-אפשרית, halt ולמעשה היא לא קיימת לכן בהכרח מה שלא נכון כאן הוא זה שהסתמכנו על כך שקיימת כזו כלל [[ טענה ]אותה הוכחה בדרכים שונות[ R R )מכיוון שהוכחנו כי acc ) halt halt מזה נובע גם כן ש- R, acc R ]] כלומר כבר הוכחנו ישירות ש- ; עכשיו אנו סתם רוצים להראות עוד דרך לעשות זאת halt R לא נוכיח פורמלית, אלא רק נתאר את הבניה [[ )1( נבנה: כן כן כן לא לא לא לא הרצאה 22 עמוד 6 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

125 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר )2( נגדיר: F X ' עבור X q loop q rej היא בשינוי קל: נחליף ב- את מצב במצב שממנו נכנסים ללולאה : acc ' אינסופית acc נבנה שתכריע את ]] שרטוט זה לא נכון )הוא ברובו העתקה של השרטוט הקודם(; אכניס את השרטוט המדוייק כשאוכל [[ כן כן כן לא לא לא לא הוכחת נכונות הבניה: acc acc טענה: acc X X acc הוכחה: אם אזי וגם ', ולכן עוצרת ומקבלת את ' עוצרת ומקבלת את עוצרת ומקבלת את עוצרת ומקבלת, כנדרש halt ' X X acc אם אזי אזי עוצרת ודוחה את וגם איננה עוצרת על halt, ולכן או ש-, לכן, בשני המקרים, ' איננה עוצרת על עוצרת ודוחה את הרצאה 22 עמוד 7 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

126 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר acc לכן עוצרת ודוחה, כנדרש הרצאה 22 עמוד 8 מתוך 8 קבוצה 2, פרופסור רונן ברפמן

127 Previously, on Automatar אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר Q,,,, s, q, q : AC, acc rej מ"ט: קידוד של מ"ט מילה מעל Q CA CA CA CT11CT 12 מ"ט מקבלת ו- ומסמלצת את ריצת על תמיד עוצרת, : halts on and accepts אם מקבלת את וגם מכריעה את אם שזה מתקיים אם"ם: עוצרת ומקבלת o עוצרת ודוחה o ניתן להסתכל על כל רצף של אותיות בתור או בתור o כאשר אנו עושים זאת, ואנו מקבלים מילה שהיא לא קידוד חוקי מצורת או מצורת, אנו מגדירים בתור מוסכמה בקורס שאנו מתייחסים למילה זו בתור קידוד מכונת טיורינג שעוצרת מיד ודוחה כל קלט )ואפשר לבחור את הייצוג להיות, או כל דבר אחר שבא לנו בכל מקרה המכונה הזו תדחה אותה( שאנו בוחרים ל- = decides [[ R :There is a Turing achine hich decides מכריעה [[ = accepts [[ RE :There is a Turing achine hich accepts מקבלת [[ : RE \ R acc : halts on RE \ R halt : RE d מכונת טיורינג המחשבת פונקציה הגדרה F F : בהינתן פונקציה נאמר שמ"ט מחשבת את אם: Fx ( ) x, x על הסרט של מופיע מגיעה למצב מקבל עבור כל כאשר עוצרת על קלט )1( )2( הרצאה 32 עמוד 1 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

128 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר באופן פורמלי: uv F( x) sx uqaccv לכל x מתקיים כאשר ) לא משנה [[ q acc ]] כלומר מיקום הראש הקורא/כותב בסוף הריצה )אשר מצויין לפי מיקום ה- ]בהגדרה שכתבנו הגדרנו את המכונה כחד-סרטית, אבל אין בעיה להשתמש במכונה רב-סרטית, ושנגיד יהיה סרט אחד לקלט, אחד לפלט, ועוד כמות כלשהי של סרטי עבודה[ F( x) F( x) xx x x דוגמאות )1( )2( מדוע זה ניתן לחישוב? כי כבר אמרנו שאין בעיה לחשב קידוד של מילה כלשהי למשל: x F( x) CAAACAACAAAA x ACC A C C F( x) ACC CACAACAA ' עבור עוברת למצב זהה ל- פרט לכך שכאשר ', F X כאשר, ' X, q rej נכנסת ללולאה אינסופית )3( ' כאשר, F X ', X עבור מקבלת את אם"ם מקבלת את R )4( מדוע זה ניתן לחישוב? ]כל שצריך לעשות הוא להוסיף למכונה המתקבלת פרוצדורה בתחילת הריצה שמבצעים היפוך )reverse( למילת הקלט פרוצדורה זו היא קבועה מראש, וניתן לדעת מהו ללא תלות בקלט, לכן אין בעיה להוסיף את הקידוד של התוספת הזו לקידוד של המכונה )מוסיפים את המצבים הנחוצים ואת המעברים, משנים את המצב ההתחלתי להיות תחילת ההיפוך, וכו'([ בהינתן קידוד של מ"ט R, נוסיף לו מצבים חדשים ומעברים מתאימים שיממשו את המעבר ואח"כ ימשיכו למצב ההתחלתי המקורי הרצאה 32 עמוד 2 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

129 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר F :, אם קיימת פונקציה ]רדוקציה[ הגדרה ]שפה ניתנת לרדוקציה, פונקציית הרדוקציה[ 1 2, 2 ונכתוב ל- 1, 2 תהיינה שפות ניתנת לרדוקציה המקיימת: 1 נאמר ש- x F( x) 1 2 ניתנת לחישוב x F לכל מתקיים )1( )2( [ שרטוטי פרוטי ] 2 ל- 2 ל- מעבירה כל איבר ב- 1 וכל איבר ב- 1 F ] 2 1 נקראת פונקציית הרדוקציה מ- ל- F [ ) 1 2 ( 2 1 משפט הרדוקציה 1, תהיינה 2 אזי: שפות כך ש- ניתנת לרדוקציה ל- R 1 RE 1 2 אם R אם אזי 2 אזי RE )1( )2( מסקנה מיידית: R R 2 1 RE RE 2 1 )1( )2( הוכחה: : R R 1 2 )1( 2 ל- תהי F פונקציית הרדוקציה מ- 1 תהי מ"ט המחשבת את ]קיימת כי אחת הדרישות על F היא שהיא ניתנת F F 2 לחישוב[ 2 תהי מ"ט המכריעה את : 1 1 נבנה מ"ט המכריעה את הרצאה 32 עמוד 3 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

130 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר כן כן לא לא x 1, ולכן x 1 1 טענה: מכריעה את הוכחה: F( x) x לכן עוצרת ומקבלת את עוצרת ומקבלת את x 1 Fx ( ) F( x) x לכן עוצרת ודוחה את ולכן גם עוצרת ודוחה את : RE RE 1 2 ההוכחה זהה כמעט לגמרי )2( 2 1 תהי F תהי פונקציית הרדוקציה מ- מ"ט המחשבת את ל- F 2 F 2 תהי מ"ט המקבלת את 1 נבנה את בצורה זהה למקרה )1(: כן כן לא לא לא עוצרת הרצאה 32 עמוד 4 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

131 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]ההבדל היחיד הוא שיתכן ש- 2 לא תעצור[ 1 1 נוכיח עוצרת ומקבלת את x) 1 F( עוצרת ומקבלת F( x) x x1 את x ]הערה: רדוקציה היא כלי מאוד שימושי במדעי המחשב בהמשך הדרך ]] בקורס אלגוריתמים, אני חושב [[ נלמד שיש בעיות חישוביות שהן במחלקת קושי בשם " NP -שלמה" אחת מהבעיות הללו היא בעית ה- satisfiability )SAT( boolean לבעיה ספציפית זו ישנם כיום הרבה כלים לחישוב פתרון מקורב בזמן סביר לכן הרבה פעמים לוקחים בעיות שהן NP -שלמות, וע"מ לפתור אותן מראים שקיימת רדוקציה מהן לבעיית ה- SAT, ואז פותרים עם אחד הכלים הקיימים ומסיקים מזה את הפתרון לבעיה המקורית[ acc RE משפט ]המשלים של ]acc acc RE ממשפט הרדוקציה נקבל כי, d RE ומכיוון שידוע ש-, d הוכחה 1: נראה ש- acc לשם כך עלינו לבנות פונקציית רדוקציה ביניהן, כלומר שתקיים: נגדיר X X F X נראה ש- F פונקציית רדוקציה מ- : acc ל- d F ניתנת לחישוב כבר ראינו )1( הרצאה 32 עמוד 5 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

132 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ]], כי acc ]] מהגדרת X X d אם אזי אז וגם X acc F X X )2( acc כלומר F X X X d אם אז ]אמרנו שכל מחרוזת מקודדת מ"ט כלשהי[ וגם acc F X X X acc F X אזי כלומר ) acc R בסתירה )שכן הוכחנו ש-, acc R acc RE acc הוכחה 2: נניח בשלילה ש- ידוע גם ש- RE ממשפט שלמדנו נובע ש- שפת המכונות שמקבלות כל קלט : הגדרה ]שפת המכונות שמקבלות הכל[ נגדיר: R טענה ]שפה זו לא כריעה[ הוכחה: נראה רדוקציה מ- acc מכיוון ש- ל- נקבל ממשפט הרדוקציה ש- R acc R שוב, עלינו להראות פונקציה: הרצאה 32 עמוד 6 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

133 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר : נגדיר עבור X F X כאשר המכונה כמוה היא מכונה שמתעלמת מהקלט, מריצה את על ]הקבוע מראש[ ועונה כן כן לא לא לא עוצרת טענה: F פונקציית רדוקציה מ- acc ל- הוכחה: F, F ניתנת לחישוב: בהינתן הקלט משנה את הקידוד של כך שתחילה תמחוק את )1( הקלט ותכתוב עליו את הפעולה הנ"ל ניתנת לביצוע ע"י מ"ט הרצאה 32 עמוד 7 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

134 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר, הערה: נשים לב שאם ואם אזי אזי אזי X X acc נניח וגם )2(, ולכן לכן F X וגם F X, ולכן וגם אזי X X acc F X נניח לכן וגם הרצאה 32 עמוד 8 מתוך 8 קבוצה 3, פרופסור רונן ברפמן

135 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר תזכורת משיעור שעבר דיברנו על רדוקציות הגדרה )ניתנת לרדוקציה(: 2 1 שפות ו- תהיינה F : 1 2, ונסמן 2 1 נאמר ש- ניתנת לרדוקציה ל- אם קיימת פונקציה כך ש: x F( x) 1 2 ניתנת לחישוב : x F לכל )1( )2( ) 1 2 ( 2 1 משפט הרדוקציה 2 1 תהיינה אזי: ו- שפות כך ש- ניתנת לרדוקציה ל- R R 1 2 RE RE 1 2 )1( )2( והכיוון ההפוך: R R 2 1 RE RE 2 1 )1'( )2'( ) acc, halt, d, RE \ R acc R d המשך רדוקציות הגדרנו מספר מחלקות של שפות ( כעת נגדיר עוד אחת: co-re RE הגדרה ]co-re[ co-re d acc אזי co-re וכן הרצאה 42 עמוד 1 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

136 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר משפט ]עוד חלוקת שפות למחלקות[ - RE co RE )1( )2( הוכחה: RE acc acc RE נראה כי מכיוון ש- נגדיר פונקציה F : כך: עבור, ממשפט הרדוקציה נקבל שגם ]נזכיר שאמרנו שתמיד ניתן לחשוב על מילה כלשהי כקידוד מהצורה :] X או מהצורה )1( ' F X ' ]] עדיין לא הגדרנו את נרצה שיתקיים שאם ; מיד נעשה זאת [[ ' אזי ]הרי אם אזי, ואז אנו רוצים שלאחר הרדוקציה המכונה תדחה[, acc ', ולכן acc ושאם אזי z ', המכונה z : ' תאור בהינתן קלט אם אם עוצרת על תוך מסמלצת את ריצת לכל היותר, על במשך תעצור ותענה ההיפך צעדים ' z איננה עוצרת על תוך צעדים אזי ' תעצור ותקבל z תאור ציורי: כן לא לא כן הרצאה 42 עמוד 2 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

137 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר מחזירה מכונה שבה מתוכנת באופן מובנה השימוש במילה, הפונקציה ]] הסבר: עבור מילה ללא קשר לקלט אנחנו עושים את הטריק הזה במספר מקומות בקורס מחזירה לא לחלוטין מתעלמת מהקלט שלה עבור קלט הקבוע מראש במשך מספר כלשהו שמכניסים לה [[ צעדים מוגבל, שמוחלט לפי אורך מילת הקלט F z במקרה שלנו, המכונה ש- F, היא מריצה את ה- הקבוע מראש על ה- z z הוכחה: )1( F ניתנת לחישוב מכיוות שהיא מורכבת למעשה משלושה רכיבים: קידוד של קבוע t מ"ט שכותבת את על סרט הקלט אבל F כקלט, ולכן ניתן לייצר מ"ט שכותבת אותן מ"ט שבהינתן קלט z מחשבת את z ]] בתכל'ס, סביר להניח ש- t נתונים לפונקציה, בשביל t z לקבל את הפרמטר t שלה, תרצה פשוט לקבל מילה באורך, t ואז אפשר סתם להכניס את בתור ה- וזהו אבל אם רוצים, אפשר לחשב גם את האורך של כמספר, בכך שמממשים מונה בבסיס הרצוי שמוסיף 1+ על כל אות ב- [[ z נראה כי acc F X X נניח אזי X acc X לכן לכל קלט לכן וגם, תעצור ותדחה z, בהינתן t, המכונה z ' תעצור ותקבל כלומר ' )2( נניח כלומר X acc X וגם לכן קיים חישוב מקבל של אזי לכל z המקיים על n יהי z n מתקיים ש- t z לכן עבורכל קלט שאורכו ', n המכונה ' ' ]ישנם אינסוף מילים ש- לא מכילה את כל המילים שקיימות[ לכן, כנדרש ' אורכו תעצור ותקבל את הקלט תעצור ותדחה כלומר לא מקבלת, לכן בפרט השפה שלה אבחנה: אם 1 2 אזי 1 2 הסבר: אותה פונקציית רדוקציה המשמשת להוכחת היא גם פונקציית רדוקציה מ- 1 2 )2( 2 1 ל הרצאה 42 עמוד 3 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

138 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר, acc RE acc, ולכן acc בהוכחה קודמת ראינו ש- ממשפט הרדוקציה נקבל כי מכיוון שהוכחנו ש- co-re RE ) RE הגדרה ]תכונה+טריוויאלית[ תכונה היא תת-קבוצה של )כלומר אוסף של שפות ב- RE P REG P RE is regular REG P RE דוגמאות: )1( )2( )3( P RE P P בהנתן תכונה P נסמן: P P P P למשל: P P RE עבור P או P RE נאמר ש- P תכונה טריוויאלית is a Turing achine P P RE RE ]כמה דגשים: ; המקרה השני אפשרי עבור מכונת שימו לב שלומר שונה מלומר טיורינג כלשהי, והראשון לא אמרנו שאנחנו מתייחסים לכל מילה כקידוד של מ"ט, לכן שפת כל הקידודים האפשריים אצלנו היא הרצאה 42 עמוד 4 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

139 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר ] אבחנה ]שפת תכונה טריוויאלית היא כריעה[ אם טריוויאלית אזי R P P P אזי RE P P P משפט רייס היא תכונה לא טריוויאלית המקיימת P תכונה לא טריוויאלית אזי R )1( אם )2( אם REG RE H P RE is regular is regular דוגמה 1 ]שפת המכונות הרגולריות[ טענה: הוכחה: נגדיר את התכונה הבאה: P REG מתקיים 1 מובן ש- P שאינן ב- P איננה טריוויאלית מכיוון שיש שפות רגולריות למשל ולכן, P ויש שפות ב- n n a b למשל P RE בנוסף, היא רגולרית ולכן P RE P REG מסקנה: ממשפט רייס סעיף )1( נובע כי R H דוגמה 4 טענה: הוכחה: עבור התכונה: P RE P מתקיים הרצאה 42 עמוד 5 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

140 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר P נראה ש- איננה טריוויאלית: P 1 P מתקיים כמו-כן, R P לכן ממשפט רייס חלק )2( נובע כי הרצאה 42 עמוד 6 מתוך 6 קבוצה 4, פרופסור רונן ברפמן

141 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר : acc : הגדרנו: : P P תכונה P עבור תכונה = קבוצת שפות ב- RE : P P ו- P RE נקראות תכונות טריוויאליות שימו לב ש- P נמצאת ב- P אומר ש- P זו קבוצה שאין בה שפות כלל, ו- P אומר שהשפה הריקה P : : : P RE P P RE P P משפט רייס תכונה לא טריוויאלית ו- P תכונה לא טריוויאלית אזי אזי P R )1( אם )2( אם ]] הסבר אינטואיטיבי לכך שזה נכון: המשפט בגדול אומר שאם יש תכונה לא טריוויאלית כלשהי, אז שפת "כל הקידודים של מכונות שהשפה שלהם היא כזאת וכזאת" היא "מסובכת" כלומר קשה )למעשה בלתי אפשרי( לבנות מכונת טיורינג שמקבלת קידוד של מכונה ומחליטה אם השפה שלה מקיימת את התכונה או לא [[ P P דוגמה ]הראינו בשיעור שעבר שהשפות של התכונות הטריוויאליות נמצאות ב- [ R : : P P P מכיוון ש- איננה טריוויאלית ]כי יש ב- נובע מחלק 2 של משפט רייס ש- R ]אנחנו גם יודעים כבר )בלי קשר( ש - RE שפה, ואין בה את כל השפות )יש בה רק שפה אחת([, ] הרצאה 52 עמוד 1 מתוך 6 קבוצה 5, פרופסור רונן ברפמן

142 אוטומטים, שפות פורמליות וחישוביות ) ( סיכום מאת תומר ג ודינגר הוכחה ; 1 מספיק לנו ש- P RE 0 P 0, 1 P RE חלק 1 תהי תכונה לא טריוויאלית המקיימת P RE P נראה כי כיוון ש- P לא טריוויאלית קיימות שפות כך ש- ו- P 1 1, תהי ותהי מ"ט המקבלת את מ"ט המקבלת את ]הערה: אנחנו לא באמת צריכים את או את acc RE acc P 1 ]P נראה ש-, ומכיוון ש- נקבל בעזרת משפט הרדוקציה שגם acc P טענה ]קיימת רדוקציה מתאימה[ ˆ, F X כאשר F : הוכחה: נגדיר פונקציה עבור נגדיר כך: מכונה שנגדיר כעת ˆ X ˆ P אזי נרצה שיתקיים:, acc אז נרצה ש-, acc ולכן אזי ]כי אם ] ˆ ˆ P אז בקיצור צריך שיתקיים, F X p : P ˆ P אזי )2( אם אם ]מסיבות דומות[ P נשתמש בעובדה ש- (3) תיאור ציורי: )1( לא כן לא לא כן לא כן לא עוצרת הרצאה 52 עמוד 2 מתוך 6 קבוצה 5, פרופסור רונן ברפמן

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

אוטומט סופי דטרמיניסטי מוגדר עי החמישייה: 2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב

Διαβάστε περισσότερα

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

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין

Διαβάστε περισσότερα

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

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשעד פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה

Διαβάστε περισσότερα

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

ניתן לקבל אוטומט עבור השפה המבוקשת ע י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות: שאלה 1 בנה אוטומט המקבל את שפת כל המילים מעל הא"ב {,,} המכילות לפחות פעם אחת את הרצף ומיד אחרי כל אות מופיע הרצף. ניתן לפרק את השפה לשתי שפות בסיס מעל הא"ב :{,,} שפת כל המילים המכילות לפחות פעם אחת את

Διαβάστε περισσότερα

{ : Halts on every input}

{ : Halts on every input} אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.

Διαβάστε περισσότερα

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

אוטומטים- תרגול 8 שפות חסרות הקשר אוטומטים- תרגול 8 שפות חסרות הקשר דקדוק חסר הקשר דקדוק חסר הקשר הנו רביעיה > S

Διαβάστε περισσότερα

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

ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5 הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) ביטויים רגולריים הרצאה 5 המצגת מבוססת על ספרם של פרופ' נסים פרנסיז ופרופ' שמואל זקס, "אוטומטים ושפות פורמליות", האוניברסיטה הפתוחה, 1987. גרסה ראשונה

Διαβάστε περισσότερα

Logic and Set Theory for Comp. Sci.

Logic and Set Theory for Comp. Sci. 234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =

Διαβάστε περισσότερα

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

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא

Διαβάστε περισσότερα

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

שפות פורמאליות אוטומטים שפות פורמאליות אוטומטים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ' שמואל זקס 1 הנושאים שנעבור שפות פורמאליות מכונות/אוטומטים

Διαβάστε περισσότερα

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

שפות פורמאליות אוטומטים הנושאים שנעבור שפות פורמאליות אוטומטים שפות פורמאליות מכונות/אוטומטים דקדוקים תורת הקומפילציה אהרון נץ מבוסס על השקפים של עומר ביהם שמבוססים על שקפי הרצאה מהקורס אוטומטים ושפות פורמאליות בטכניון, פרופ'

Διαβάστε περισσότερα

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

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, אב (. תוכן עניינים תקציר מודלים חישוביים ערך יגאל הינדי 2 2 2 3 4 6 6 6 7 7 8 8 9 11 13 14 14 15 16 17 17 18 19 20 20 20 20 - האוטומט הסופי - אוטומט סופי דטרמניסטי 2 פרק - מושגים ומילות מפתח 2.1 - הגדרת אוטומט

Διαβάστε περισσότερα

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

( )( ) ( ) f : B C היא פונקציה חחע ועל מכיוון שהיא מוגדרת עי. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חחע אז ועל פי הגדרת הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Regular Expressions (RE)

Regular Expressions (RE) Regular Expressions (RE) ביטויים רגולריים עד כה דנו במספר מודלים חישוביים להצגת (או ליצור) שפות רגולריות וראינו שכל המודלים האלה הם שקולים מבחינת כוח החישובי שלהם. בסעיף זה נראה עוד דרך להצגת (או ליצור)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

gcd 24,15 = 3 3 =

gcd 24,15 = 3 3 = מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =

Διαβάστε περισσότερα

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

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

תרגול פעולות מומצאות 3 תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה

Διαβάστε περισσότερα

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

הגדרה: מצבים k -בני-הפרדה פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

תרגיל 13 משפטי רול ולגראנז הערות Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון

Διαβάστε περισσότερα

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

מתמטיקה בדידה תרגול מס' 5 מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון

Διαβάστε περισσότερα

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

מודלים חישוביים תרגולמס 5 מודלים חישוביים תרגולמס 5 30 במרץ 2016 נושאי התרגול: דקדוקים חסרי הקשר. למת הניפוח לשפות חסרות הקשר. פעולות סגור לשפות חסרות הקשר. 1 דקדוקים חסרי הקשר נזכיר כי דקדוק חסר הקשר הוא רביעיה =(V,Σ,R,S) G, כך

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

אלגברה ליניארית (1) - תרגיל 6 אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,

Διαβάστε περισσότερα

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

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות

Διαβάστε περισσότερα

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

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.

Διαβάστε περισσότερα

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

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V ) הצגות של חבורות סופיות c ארזים 6 בינואר 017 1 משפט ברנסייד משפט 1.1 ברנסייד) יהיו p, q ראשוניים. תהי G חבורה מסדר.a, b 0,p a q b אזי G פתירה. הוכחה: באינדוקציה על G. אפשר להניח כי > 1 G. נבחר תת חבורה

Διαβάστε περισσότερα

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

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעב (2012) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה. בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

תורת הקבוצות תרגיל בית 2 פתרונות תורת הקבוצות תרגיל בית 2 פתרונות חיים שרגא רוזנר כ"ה בניסן, תשע"ה תזכורות תקציר איזומורפיזם סדר, רישא, טרנזיטיביות, סודרים, השוואת סודרים, סודר עוקב, סודר גבולי. 1. טרנזיטיבות וסודרים קבוצה A היא טרנזיטיבית

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

לוגיקה ותורת הקבוצות מבחן סופי אביב תשעד (2014) דפי עזר לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת

Διαβάστε περισσότερα

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

אוטומטים ושפות פורמליות תרגולים אוטומטים ושפות פורמליות תרגולים מבוסס על תרגולים של מר גולדגביכט עומר, אוניברסיטת בר אילן 2012. שיעור 1 הגדרות: א"ב: אוסף סופי ולא ריק של סימנים/אותיות/תווים. נסמן אותו באות. דוגמאות: 9},... 1,,{0, {א,..,.

Διαβάστε περισσότερα

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

מודלים חישוביים פתרון תרגיל 5 מודלים חישוביים פתרון תרגיל 5 כתוב אוטומט דטרמיניסטי לשפות הבאות מעל הא"ב.Σ={,} א. *Σ. q, ב. q, ג. {ε}, q, q ד. } = 3 {w w mod, q, q,, ה. ''} {w w does not contin the sustring q 4 q 3 q q כתוב אוטומט דטרמיניסטי

Διαβάστε περισσότερα

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

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A ) הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y

Διαβάστε περισσότερα

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

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r ל' ' פונקציות פרימיטיביות רקורסיביות חישוביות הרצאה 4 האם כל פונקציה מלאה היא פרימיטיבית רקורסיבית? לא נראה שתי הוכחות: פונקציות רקורסיביות (המשך) זיהוי שפות ע''י מכונות טיורינג הוכחה קיומית: קיימות פונקציות

Διαβάστε περισσότερα

קיום ויחידות פתרונות למשוואות דיפרנציאליות

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

Διαβάστε περισσότερα

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

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד. חידה לחימום ( M ש- N > (כך מספרים טבעיים Mו- N שappleי appleתוappleים בעלי אותה הזוגיות (שappleיהם זוגיים או שappleיהם אי - זוגיים). המספרים הטבעיים מ- Mעד Nמסודרים בשורה, ושappleי שחקappleים משחקים במשחק.

Διαβάστε περισσότερα

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

תרגול מס' 1 3 בנובמבר 2012 תרגול מס' 1 3 בנובמבר 2012 1 מערכת המספרים השלמים בשיעור הקרוב אנו נעסוק בקבוצת המספרים השלמים Z עם הפעולות (+) ו ( ), ויחס סדר (>) או ( ). כל התכונות הרגילות והידועות של השלמים מתקיימות: חוק הקיבוץ (אסוציאטיביות),

Διαβάστε περισσότερα

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

אוטומטים ושפות פורמליות מבוא לתורת החישוביות אוטומטים ושפות פורמליות מבוא לתורת החישוביות ד ר סמי זעפרני מוקדש לזכרו של משה בנסל חבר, עמית, ומורה דרך מהדורה June 27,2.3 הקדשה הספר מוקדש לזכרו היקר של משה בנסל (955-2), אשר במהלך שלושים שנות עבודתו

Διαβάστε περισσότερα

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

רשימת משפטים והגדרות רשימת משפטים והגדרות חשבון אינפיניטיסימאלי ב' מרצה : למברג דן 1 פונקציה קדומה ואינטגרל לא מסויים הגדרה 1.1. (פונקציה קדומה) יהי f :,] [b R פונקציה. פונקציה F נקראת פונקציה קדומה של f אם.[, b] גזירה ב F

Διαβάστε περισσότερα

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

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס תורת הקבוצות (80200) באוניברסיטה העברית, תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית, 7 2006. תוכן מחברת זו הוקלד ונערך על-ידי יובל קפלן. אין המרצה אחראי לכל טעות שנפלה בו. סודר באמצעות L

Διαβάστε περισσότερα

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

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים אוטומטים ושפות פורמליות 236353 סמסטר אביב 2016 קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים קובץ ונערך ע"י אורן אשכנזי ומיכל הורוביץ תכונות סגור ודקדוקים רגולריים. עבור שפות L 1, L 2 מעל א"ב Σ נגדיר

Διαβάστε περισσότερα

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

אלגברה ליניארית 1 א' פתרון 2 אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק

Διαβάστε περισσότερα

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

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה

Διαβάστε περισσότερα

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

3-9 - a < x < a, a < x < a 1 עמוד 59, שאלהמס', 4 סעיףג' תיקוני הקלדה שאלון 806 צריך להיות : ג. מצאאתמקומושלאיברבסדרהזו, שקטןב- 5 מסכוםכלהאיבריםשלפניו. עמוד 147, שאלהמס' 45 ישלמחוקאתהשאלה (מופיעהפעמיים) עמוד 184, שאלהמס', 9 סעיףב',תשובה.

Διαβάστε περισσότερα

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

אינפי - 1 תרגול בינואר 2012 אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,

Διαβάστε περισσότερα

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

שאלה 1 V AB פתרון AB 30 R3 20 R תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A

Διαβάστε περισσότερα

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

סדרות - תרגילים הכנה לבגרות 5 יחל סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר

Διαβάστε περισσότερα

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

הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב פרופ' יעקב ורשבסקי הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב 2011 2010 פרופ' יעקב ורשבסקי אסף כץ 15//11 1 סמל לזנדר יהי מספר שלם קבוע, ו K שדה גלובלי המכיל את חבורת שורשי היחידה מסדר µ. תהי S קבוצת הראשוניים הארכימדיים

Διαβάστε περισσότερα

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

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012 תורת הקבוצות 80200 אור דגמי, ÓÖ Ñ ºÓÖ 11 בפברואר 2012 אתר אינטרנט: ØØÔ»» Ñ ºÓÖ תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012 1 תוכן עניינים תוכן עניינים תוכן עניינים מבוא.............................................

Διαβάστε περισσότερα

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

מודלים חישוביים, חישוביות וסיבוכיות מודלים חישוביים, חישוביות וסיבוכיות סשה גולדשטיין, sashag@cs 20 ביוני 2011 תקציר הסיכום להלן מהווה תקציר של חומר הקורס ואיני נוטל עליו כל אחריות. אתם יכולים להיעזר גם בהקלטות השיעורים וכמובן בספר הלימוד.

Διαβάστε περισσότερα

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

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה. 16 במאי 2010 נסמן את מחלקת הצמידות של איבר בחבורה G על ידי } g.[] { y : g G, y g כעת נניח כי [y] [] עבור שני איברים, y G ונוכיח כי [y].[] מאחר והחיתוך

Διαβάστε περισσότερα

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

מתמטיקה בדידה תרגול מס' 13 מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות.

Διαβάστε περισσότερα

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

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

Διαβάστε περισσότερα

סיכום- בעיות מינימוםמקסימום - שאלון 806

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

Διαβάστε περισσότερα

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון.

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון. Charles Augustin COULOMB (1736-1806) קולון חוק חוקקולון, אשרנקראעלשםהפיזיקאיהצרפתישארל-אוגוסטיןדהקולוןשהיהאחדהראשוניםשחקרבאופןכמותיאתהכוחותהפועלים ביןשניגופיםטעונים. מדידותיוהתבססועלמיתקןהנקראמאזניפיתול.

Διαβάστε περισσότερα

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

מודלים חישוביים, חישוביות וסיבוכיות 67521 מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי שיעורים של ד"ר גיא קינדלר 21 ביוני 2012 תוכן עניינים 2.................................................. אוטומטים ושפות רגולריות 1 3........................................................

Διαβάστε περισσότερα

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

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות. תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות. A = 1,4,7,17,20 B = 1, a, b, c 2 נאמר ש x שייך ל A ונסמן x A אם x הוא

Διαβάστε περισσότερα

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

אלגברה לינארית 1 יובל קפלן אלגברה לינארית 1 יובל קפלן מחברת סיכום הרצאות ד"ר אלי בגנו בקורס "אלגברה לינארית 1" (80134) באוניברסיטה העברית, 7 2006 תוכן מחברת זו הוקלד ונערך על-ידי יובל קפלן אין המרצה אחראי לכל טעות שנפלה בו סודר

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

מודלים חישוביים תרגולמס 7 מודלים חישוביים תרגולמס 7 13 באפריל 2016 נושאי התרגול: מכונת טיורינג. 1 מכונת טיורינג נעבור לדבר על מודל חישוב חזק יותר (ובמובן מסוים, הוא מודל החישוב הסטנדרטי) מכונות טיורינג. בניגוד למודלים שראינו עד

Διαβάστε περισσότερα

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

מתמטיקה בדידה תרגול מס' 12 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע

Διαβάστε περισσότερα

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות תורת המספרים סיכום הגדרות טענות ומשפטים אביב 017 1 פירוק לגורמים ראשוניים 1.1 הגדרות חוג A C נקראת חוג אם: היא מכילה את 0 ואת 1 סגורה תחת חיבור, חיסור, וכפל הפיך A חוג. a A נקרא הפיך אם 0,a.a 1 A קבוצת

Διαβάστε περισσότερα

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

מתמטיקה בדידה תרגול מס' 2 מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: כמתים והצרנות. משתנים קשורים וחופשיים. 1 כמתים והצרנות בתרגול הקודם עסקנו בתחשיב הפסוקים, שבו הנוסחאות שלנו היו מורכבות מפסוקים יסודיים (אשר קיבלו ערך T או F) וקשרים.

Διαβάστε περισσότερα

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

אוטומטים מעל עצמים אינסופיים 67663 אוטומטים מעל עצמים אינסופיים 67663 חיים שחור סיכומי הרצאות של אורנה קופרמן י"ח אדר תשע"ג (שעור 1) הערה 0.1 מי שמעוניין לסייע בשרטוט האוטומטים מתבקש לפנות אלי. בחישוביות דיברנו על אוטומטים ושפות רגולריות.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

חשבון אינפיניטסימלי 1 סיכום הרצאות באוניברסיטה חיפה, חוג לסטטיסטיקה.

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

Διαβάστε περισσότερα

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

r. כלומר התחיל במצב ההתחלתי, סיים במצב מקבל, ובדרך עבר בצורה חוקית. ניתן להגדיר מודלים חישוביים סיכום למבחן אוטומטים: שפות / מחרוזות / הגדרות בסיסיות: א"ב: Σ הוא אוסף סופי של תווים, סימנים. מחרוזת / מילה: רצף סופי של אותיות מא"ב מסוים, כאשר מספר האותיות הוא אורכה המחרוזת הריקה: ε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

חשבון אינפיניטסימלי 1

חשבון אינפיניטסימלי 1 חשבון אינפיניטסימלי 1 יובל קפלן סיכום הרצאות פרופ צליל סלע בקורס "חשבון אינפיניטסימלי 1" (80131) באוניברסיטה העברית, 7 2006. תוכן מחברת זו הוקלד ונערך על-ידי יובל קפלן. אין המרצה אחראי לכל טעות שנפלה בו.

Διαβάστε περισσότερα

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

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה! הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב 24/10/2007 מרצה: פרופ אורנה גרימברג מתרגלים: גבי סקלוסוב,קרן צנזור,רותם אושמן,אורלי יהלום לוגיקה ותורת הקבוצות 234293 אביבתשס ז מבחןסופי מועדב הנחיות: משךהבחינה:

Διαβάστε περισσότερα

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

אימות חומרה תוכנה אלי דיין 1 6 בדצמבר אימות חומרה תוכנה אלי דיין 1 6 בדצמבר 2013 1 תקציר מסמך זה יביא את סיכומי השיעורים מהקורס אימות חומרה תוכנה, שהועבר על ידי פרופ אלכסנדר רבינוביץ בסמסטר א בשנה ל תשע ד. תוכן עניינים

Διαβάστε περισσότερα

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

אוטומטים- תרגול 10: מכונות טיורינג. אוטומטים- תרגול 10: מכונות טיורינג. מודל מכונת טיורינג מכונת טיורינג מורכבת מהרכיבים הבאים: 1. מספר סופי של מצבים.. סרט עבודה אינסופי בעל קצה שמאלי. הסרט המחולק לתאים ובכל תא כתוב תו מ- Γ. 3. ראש קורא/כותב

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

תאריך עדכון אחרון: 27 בפברואר ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת

תאריך עדכון אחרון: 27 בפברואר ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת תרגול 3 ניתוח לשיעורין תאריך עדכון אחרון: 27 בפברואר 2011. ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת חסמי זמן ריצה נמוכים יותר מאשר חסמים המתקבלים כאשר

Διαβάστε περισσότερα

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ). מבוא לפרק: : עצים.(ree) עצים הם גרפים חסרי מעגלים. כך, כיוון פרק זה הוא מעין הפוך לשני הפרקים הקודמים. עץ יסומן לרב על ידי במשפטים 8.1-8.3 נפתח חלק מתכונותיו, ובהמשך נדון בהיבטים שונים של "עץ פורש" של

Διαβάστε περισσότερα

logn) = nlog. log(2n

logn) = nlog. log(2n תכנוןוניתוחאלגוריתמים סיכוםהתרגולים n log O( g( n)) = Ω( g( n)) = θ ( g( n)) = תרגול.3.04 סיבוכיות { f ( n) c> 0, n0 > 0 n> n0 0 f ( n) c g( n) } { f ( n) c> 0, n0 > 0 n> n0 0 c g( n) f ( n) } { f ( n)

Διαβάστε περισσότερα

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

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015) מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015) מרצה: פרופ' בני שור מתרגלים: אורית מוסקוביץ' וגל רותם 28.1.2015 הנחיות: 1. מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן, לפני כתיבת התשובות. 2. משך

Διαβάστε περισσότερα

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

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t. תכנון אלגוריתמים 2016 עבודה 1 פתרון שאלה 1 נזכר כי בגרף (E G, =,V) עבור שני קודקודים d(u, (v,u, v הוא אורך מסלול קצר ביותר מ u ל v. אם אין מסלול מ u ל.d(u, v) =,v נתונות שתי בעיות. בעיה א' מופע: גרף מכוון

Διαβάστε περισσότερα

מבנים אלגבריים II 27 במרץ 2012

מבנים אלגבריים II 27 במרץ 2012 מבנים אלגבריים 80446 II אור דגמי, or@digmi.org 27 במרץ 2012 אתר אינטרנט: http://digmi.org סיכום הרצאות של פרופ אלכס לובוצקי בשנת לימודים 2012 1 תוכן עניינים 1 שדות 3 1.1 תזכורת מהעבר....................................................

Διαβάστε περισσότερα

В.О. Бугаенко. Уравнения Пелля. Второе издание. МЦНМО, 2010.

В.О. Бугаенко. Уравнения Пелля. Второе издание. МЦНМО, 2010. ודים בוגיינקו תורגם ע"י מריה סבצ'וק משוואות פ ל זהו תרגום מרוסית של הספר: В.О. Бугаенко. Уравнения Пелля. Второе издание. МЦНМО, 00. http://biblio.mccme.ru/ode/34/shop קובץ PDF של ההוצאה הראשונה ברוסית:

Διαβάστε περισσότερα

xpy xry & ~yrx xiy xry & yrx

xpy xry & ~yrx xiy xry & yrx האם קיים קשר בין העדפה ובחירה? ההנחה שקיים קשר הדוק בין מערכת ההעדפות של היחידה הכלכלית ובין התנהגותה המתבטאת בבחירה בין האפשרויות העומדות בפניה מקובלת מאד בתיאוריה הכלכלית. למעשה הנחת העבודה הבלעדית בניתוח

Διαβάστε περισσότερα

"קשר-חם" : לקידום שיפור וריענון החינוך המתמטי

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

Διαβάστε περισσότερα

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

הגדרה 0.1 טיעון הוא תקף אם בכל פעם שההנחות נכונות גם המסקנה נכונה. 1 לוגיקה סיכום הגדרות משפטים ודברים חשובים אחרים תודה רבה לניצן פומרנץ על הסיכום הכולל של החומר הקדמה הגדרה 0.1 טיעון הוא תקף אם בכל פעם שההנחות נכונות גם המסקנה נכונה. הערה 0.2 נשים לב שלכל שפה יש רובד

Διαβάστε περισσότερα

אלגוריתמים בתורת הגרפים חלק ראשון

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

Διαβάστε περισσότερα

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

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS כלליים שיטות חיפוש בבגרפים שיטה 1: חיפוש לרוחב S (readth irst Search) זמן: ) Θ( V + הרעיון: שימוש בתור.O שיטה 2: חיפוש לעומק S (epth irst Search) Θ( V + ) יהי =(V,) גרף כלשהו, V הוא צומת התחלת החיפוש.

Διαβάστε περισσότερα

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

מודלים חישוביים, חישוביות וסיבוכיות 67521 מודלים חישוביים, חישוביות וסיבוכיות 67521 חיים שחור סיכומי תרגולים של שאול אלמגור 21 ביוני 2012 תוכן עניינים 1 אוטומטים........................................................... 1 2 למת הניפוח......................................................

Διαβάστε περισσότερα

רשימת משפטים וטענות נכתב על ידי יהונתן רגב רשימת משפטים וטענות

רשימת משפטים וטענות נכתב על ידי יהונתן רגב רשימת משפטים וטענות λ = 0 A. F n n ערך עצמי של A אם ורק אם A לא הפיכה..det(λ I ערך עצמי של λ F.A F n n n A) = 0 אם ורק אם: A v וקטור עצמי של Tהמתאים יהי T: V V אופרטור לינארי. אם λ F ערך עצמי של,T לערך העצמי λ, אזי λ הוא

Διαβάστε περισσότερα

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p; מבני נתונים פתרונות לסט שאלות דומה לשאלות בנושאים () זמני ריצה של פונקציות רקורסיביות () מיונים השאלות פתרו את נוסחאות הנסיגה בסעיפים א-ג על ידי הצבה חוזרת T() כאשר = T() = T( ) + log T() = T() כאשר =

Διαβάστε περισσότερα