חומרי לימוד - מדעי המחשב
Transcription
חומרי לימוד - מדעי המחשב
א'/אדר/תשע"ה שפות – הגדרה וזיהוי סוג השפה הגדרה איך מזהים שפה רגולרית שפה שניתן לבנות עבורה אין תלות אינסופית אוטומט סופי (רגיל) בודדת בשפה דוגמה }{anbm | n, m > 0 א"ב – {}a, b המקבל אותה ,ורק אותה שפה חופשית שפה שניתן לבנות עבורה תלות אינסופית הקשר אוטומט מחסנית לא בודדת בשפה }| n > 0 {anbn א"ב – {}a, b דטרמיניסטי - המקבל אותה ,ורק אותה שפה שאינה שפה שלא ניתן לבנות עבורה תלות אינסופית חופשית אוטומט מחסנית לא כפולה (לפחות) הקשר דטרמיניסטי - בשפה }| n > 0 {anbnan א"ב – {}a, b המקבל אותה ,ורק אותה 1 שפות סיכום שפות – היחס בין קבוצות השפות שפות חופשיות הקשר שפות רגולריות סופיות אינן סופיות שפות שאינן רגולריות שפות סיכום שפות שאינן חופשיות הקשר (ברור שאינן רגולריות) 2 1 א'/אדר/תשע"ה סגירות תחת ההכלה והפעולות סגירות תחת כלומר ה- נתון Lשפה ... הכלה איחוד חיתוך משלים הופכי– Reverse שרשור רגולריות נתון L1, L2 שפות ... נתון L1, L2 שפות ... נתון Lשפה ... L1 Lאו L1 L ?L ? L = L1 L 2 L חופשיות הקשר אין יש יש ?L = L1 L 2 L יש אין ? ¯L L יש אין נתון Lשפה ... ? )L R(L יש יש ?L = L1 L 2 L יש יש נתון L1, L2 שפות ... אין שפות סיכום 3 הוכחה לגבי שפות איך מוכיחים באופן מלא ששפה היא: רגולרית (אחת מהדרכים ,לפי סדר עדיפות) – לא רגולרית – קצת ארוך ,תבנית בעמוד 57 -בספר מודלים. חופשית הקשר (אחת מהדרכים ,לפי סדר עדיפות) – הוכחה שהשפה סופית (מספר תווים מקסימלי למילה) – כמובן ,רק עבור שפות סופיות. חלוקת השפה לשפות "קטנות" יותר (ציון במפורש מהן השפות) שפעולות עליהן יוצרות את השפה המקורית (להראות במפורש). על השפות "קטנות" יותר עדיין יש להוכיח שרגולריות ע"י א' ,ב' ,או ג'. בניית אוטומט סופי (לא מחסנית) המקבל את השפה. חלוקת השפה לשפות "קטנות" יותר (ציון במפורש מהן השפות) שהפעולות איחוד, הופכי או שרשור עליהן יוצרות את השפה המקורית (להראות במפורש). על השפות "קטנות" יותר עדיין יש להוכיח שחופשיות הקשר ע"י המשך פירוק או בניית אוטומט סופי מחסנית. בניית אוטומט סופי מחסנית (דטרמיניסטי או שאינו דטרמיניסטי) המקבל את השפה. אינה חופשית הקשר – לא בחומר הלימוד. שפות סיכום 4 2