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

Σχετικά έγγραφα
פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

{ : Halts on every input}

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

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

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

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

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

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

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

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

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

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

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

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

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

Logic and Set Theory for Comp. Sci.

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

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

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

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

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

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

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

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

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

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

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

Regular Expressions (RE)

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

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

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

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

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

gcd 24,15 = 3 3 =

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

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

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

אלגברה לינארית (1) - פתרון תרגיל 11

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

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

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

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

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

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

מבוא ללוגיקה מתמטית 80423

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

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

תרגיל 7 פונקציות טריגונומטריות הערות

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

Transcript:

הרצאה 1 0.1 נושאי הקורס 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן? בקורס זה נעסוק בבעיות חישוב הנקראות בעיות הכרעה. בהינתן קלט, אנו נבצע "חישוב" ובסופו נחזיר תשובה האם הקלט מתקבל או נדחה. בקורס נעסוק בשלושה מודלים חישוביים שונים. 1. אוטומטים סופיים. 2. אוטומטי מחסנית. 3. מכונות טיורינג. מודלים אלה הם מתמטיים ותאורטיים. המודלים נוחים להבנה והגדרה (לעומת למשל, להשתמש ב JAVA כמודל חישובי) ולכן מהווים הפשטה מתמטית נוחה למחשב ולשפות תכנות. נוכל בעזרת מודלים אלה להוכיח באופן מתמטי, אילו דברים ניתנים לחישוב וגם אילו לא. לפני שנוכל להגדיר מודל חישובי נצטרך לענות באופן אבסטרקי על השאלה: מה אנחנו רוצים לחשב? 0.2 א"ב ומילים הגדרה. א"ב, Σ הוא אוסף סופי לא ריק של סימנים. לדוגמה: {%,&,*,#} = Σ Σ = {a, b, c, d,..., z},,{ץ,ף,ך,ם,ן,ת,...,ד,ג,ב,א} = Σ.Σ = {0, 1}, הגדרה. מילה מעל א"ב Σ היא סדרה סופית של אותיות מהקבוצה Σ. למשל "11" היא מילה מעל {1,0} = Σ ו "טרקטור", "אוניברסיטה" ו "כגףמצםן" הן מילים מעל = Σ {ץ,ף,ך,ם,ן,ת,...,ד,ג,ב,א}. נסמן את אורכה של מילה w ב w, ונסמן ב ε את המילה הריקה. לכן, = 0 ε. שרשור מילים. בהנתן מילים,α, β נגדיר מילה חדשה γ = α β המתקבלת על ידי כתיבת α ולאחריה, כתיבת β (שרשור סדרות). הפעולה נקראת "שרשור". בדומה לכפל, אנו לרוב נשמיט את הסימן ונכתוב.αβ = γ אם γ = αβ נאמר ש α היא "רישא" של γ ו β היא "סיפא" של γ. שימו לב שלמילה γ יתכנו מספר רישאות ומספר סיפאות. חזקה של מילה. בהינתן מילה w ו n טבעי, w n היא המילה המתקבלת מכתיבת n w, פעמים w n = w} w w{{ w}. n פעמים שימו לב ש.w 0 = ε 0.3 שפות בהינתן א"ב Σ, נסמן ב Σ את אוסף כל המילים מעל Σ (הערה. נקרא: "כוכב קליני", Kleene star על שם המתמטיקאי.(Stephen Kleene דוגמה. 1} {0, =,Σ Σ = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, 110, 111,... } אוסף המילים הבינאריות. 1

הגדרה. שפה L מעל Σ היא תת קבוצה של Σ. לרוב, כאשר ידוע מי Σ. למשל, השפה העברית היא שפה מעל {ץ,ף,ך,ם,ן,ת,...,ד,ג,ב,א} = Σ שאינה היא Σ, פשוט נאמר ש L שפה במקום "שפה מעל Σ". הערה. שפה יכולה להיות סופית או אינסופית. השפה העברית היא סופית, בעוד השפה L = {w {0, 1} : זוגי w } היא אינסופית. שימו שלב שגם = L היא שפה (השפה הריקה). 0.4 פעולות על שפות בהינתן שתי שפות L 1, L 2 מעל,Σ.1 חיתוכן: L 1 L 2 היא שפה מעל.Σ.2 איחודן: L 1 L 2 היא שפה מעל.Σ.3 המשלים של L 1 := Σ \ L 1 :L 1 היא שפה מעל.Σ נסמן שרשור של שפות ב. השרשור מוגדר על ידי: הגדרה. } 2.L 1 L 2 = {w 1 w 2 : w 1 L 1, w 2 L אזי, אם L 1 שפה מעל Σ 1 ו L 2 שפה מעל L 1 L 2,Σ 2 שפה מעל Σ 1 Σ 2 (עדיין א"ב סופי.(!!! דוגמאות:.L 1 L 2 = {0, 1, 0a, 1a},L 1 = {0, 1}, L 2 = {ε, a}.l 1 L 2 = {00, 010, 0110},L 1 = {0, 01}, L 2 = {0, 10}.Σ Σ = Σ.L 1 L 2 =,L 2 = שפה כלשהי, L 1 חזקה של שפה. אם L שפה ו n מספר טבעי נגדיר באינדוקציה (או ברקורסיה),L 0 = {ε}.l i+1 = L i L דוגמאות..1 לכל שפה.L 1 = L 0 L = {ε} L = L,L.L n =?,L 2 = {00, 01, 10, 11},L 1 = {0, 1},L 0 = {ε}.l = Σ = {0, 1}.2 טענה. i}.l i = {w Σ : w = הוכחה. באינדוקציה על i. בסיס. עבור = 0,i.L 0 = {ε} = {w Σ : w = 0} צעד. נניח שהטענה נכונה ל i ונוכיח עבור + 1.i יש להראות 1} + i.l i+1 = {w Σ : w = עלינו להראות הכלה דו כיוונית. כיוון.1 נקח i+1.w L אזי.w L i L לכן, w = w 1 w 2 כך ש w 1 L i ו 1} {0, = L.w 2 לפי הנחת האינדוקציה: w = w 1 + w 2 = i + 1 2

וקבלנו כי 1} + i.w {w Σ : w = כיוון שני. נקח 1} + i.w {w Σ : w = "נחלק" את w ל 2, כאשר הסיפא מורכבת מאות בודדת..σ Σ = L, w = i,w = w σ אזי, לפי הנחת האינדוקציה, w = w σ L i L = L i+1 כנדרש. = L. כלומר, כל השרשורים מאורך סופי. הגדרה. i=0 Li לעיתים נוח להשתמש גם ב:.L + = הגדרה. i=1 Li שאלה: האם {ε}? L + = L \ לא בהכרח אם.L + = L \ {ε},ε / L אם.L + = L,ε L דוגמה..L = {w Σ : w = 2}.L i = {w Σ : w = 2i}.L = {w Σ : זוגי w }.L + = {w Σ : זוגי וחיובי ממש w } הרצאה 2: ביטויים רגולריים עד כה התמקדנו בשפות. אפשר להוכיח כי מספר השפות מעל א"ב Σ הוא גדול מאוד (ℵ). לא סביר שכל שפה ניתן "לחשב". כעת נתמקד באוסף יחסית פשוט של שפות, שפות הניתנות לתיאור סופי בעזרת ביטויים שנגדיר. הגדרה. יהא Σ א"ב. ביטוי רגולרי (ב"ר) מעל Σ הוא מילה מעל {,,(,),, } Σ (אנו מניחים שסימנים אלו אינם ב Σ) כך ש: כל σ Σ הוא ב"ר. הוא ביטוי רגולרי. אם α ב"ר, אז גם (α). אם β,α ביטוייים רגולריים אז גם (β).(α) (β),(α) הרעיון הוא שב"ר "מסביר" איך לבנות שפה. אם למשל נסתכל על (α), הביטוי אומר לנו להפעיל כוכב קליני על השפה של הב"ר α. דוגמה. 1} {0, =.Σ 0 הוא ב"ר. הוא ב"ר. ( 0) הוא ב"ר. (כמה סוגריים הושמטו) 0) (0 1) ) ((1 הוא ב"ר. 3

שימו לב שבדומה לפעולות אריתמטיות, אנו לעיתים משמיטים סוגריים. (למשל, כותבים 0 + 1 במקום (1) + (0)). כמו כן, לעיתים נכתוב αβ או (α)(β) במקום α β או (β) (α). הגדרנו את התחביר של ב"ר אך עדיין לא הגדרנו את משמעותו. נגדיר את פונקציית הסמנטיקה.L(r) לכל ב"ר L(r) r, היא שפה מעל Σ. הגדרה יהא r ב"ר. הסמנטיקה של L(r) r, מוגדרת ע"י: אם.L(r) = {σ},r = σ Σ אם =,r.l(r) = אם (β) r = (α) כאשר α, β ב"ר, L(β).L(r) = L(α) אם (β) r = (α) כאשר α, β ב"ר, L(β).L(r) = L(α) אם (α) r = כאשר α ב"ר, (L(α)).L(r) = דוגמה. (00) )1) ((1 =.r L(r) = (L((1 )1)) (L(00)) = ((L(1 )) (L(1))) (L(0) L(0)) = ((L(1)) {1}) ({0} {0}) = (({1}) {1}) ({00}) = {1 i : i > 0} {00} נקבע סדר פעולות ונוכל לוותר על סוגריים. קודם ל ו, ו קודם ל. למשל, במקום לכתוב (0)) ((0) (1)) ) (((1) = r נכתוב 0 0 1 1 =.r כמו בכפל, לעיתים נוותר על ונכתוב 00 1 1 =.r כמובן שלא תמיד ניתן להשמיט סוגריים. למשל, 01) (0 (11) =.r דוגמאות נוספות.L(r) = {ε},r =.1.L(r) = {w {0, 1} : פעם אחת בדיוק w מופיע ב 1 },r = 0 10.2.L(r) = {w {0, 1} : פעם אחת לפחות w מופיע ב 1},r = (0 1) 1(0 1).3.L(r) = {w {0, 1} : זוגי w },r = (00 01 10 10).4 הגדרה. בהינתן א"ב Σ, אוסף השפות הרגולריות, L reg הוא אוסף כל השפות L כך שקיים ביטוי רגולרי r המקיים L(r).L = {יש ב"ר r כך ש.L reg := {L Σ : L(r) = L שאלות חשובות: האם כל שפה ב? L reg אם לא, אילו שפות ב L reg ואילו אינן ב L? reg נסתכל על הגדרה שקולה: הגדרה. L reg היא אוסף השפות המינימלי (בהכלה) הכולל את, כולל את {σ} עבור כל σ Σ וסגור לאיחוד, שרשור וכוכב קליני. שימו לב שאין קבוצת שפות יחידה העונה על התנאים. למשל, אוסף כל השפות ) Σ) P עונה על התנאים אבל מתקיים ) (Σ.L reg P שאלה. מדוע מתקיים ) (Σ?L reg P כדי להראות זאת, נראה ) (Σ. L reg < P טענת עזר. יהא Γ א"ב (לא ריק), אזי Γ. = ℵ 0 = Γ. מכיוון שכל קבוצה כזו היא בת מניה, מדובר באיחוד הוכחה לטענת העזר. i} i=0 {w Γ : w = בן מניה של קבוצות בנות מניה.. P (Σ ) = 2 ℵ 0 מהי עוצמת? L reg נסתכל על אוסף כל כעת נראה את אי השוויון. לפי טענת העזר, = ℵ הביטויים הרגולריים: A ונציין שלוש עובדות:.1 לפי טענת העזר, A Γ = ℵ 0 (כאשר Γ הוא הא"ב של הב"ר). 4

.2 מהגדרת,L reg הפונקציה,L(r) : A L reg היא על. לכן, A. L reg.ℵ 0 L reg אינסופית ולכן L reg.3 ℵ 0 L reg A ℵ 0 משלוש העובדות הנ"ל נסיק, וקיבלנו את המבוקש. הרצאה 3: אוטומט סופי דטרמיניסטי עד כה דיברנו על א"ב. הגדרנו מהי מילה, שרשור מילים, רישא, סיפא ותת מילה. הגדרנו מהי שפה, שרשור שפות, חיתוך איחוד ומשלים, חזקה, כוכב קליני ו +. הגדרנו מהו ב"ר ואיך ב"ר מגדיר שפה. כדי לחשב שפות, נרצה לבנות מכונה פשוטה (אחר כך נקרא למכונה זו אוטומט) שתקרא מילה כקלט, ותקבל את המילה אם"ם היא שייכת לשפה. המכונה דומה לכפתור הפעלה של מכשיר חשמלי: כל מספר אי זוגי של לחיצות יביב אותנו למצב. ON כדוגמה, נסתכל בשפה: כאשר w a מסמן את מספר המופעים של האות a. L odd = {w {0, 1} : אי זוגי w 0 } נבנה מכונה בהשראת כפתור ההדלקה עבור השפה L: odd 5

הגדרה: אוטומט סופי דטרמיניסטי זו חמישיה (A =,Q),Σ,δ,s כך ש 1. Q קבוצת מצבים. 2. Σ א"ב..3 Q δ : Q Σ פונקציית המעברים..4 Q s מצב התחלתי. 5. Q A קבוצת מצבים מקבלים. לדוגמה עבור L: odd {זוגי, אי זוגי} = Q..Σ = {0, 1} זוגי =.s {אי זוגי} =.A את δ נייצג בטבלה (לא חובה) מצב חדש אות מצב זוגי 0 אי זוגי זוגי 1 זוגי אי זוגי 0 זוגי אי זוגי 1 אי זוגי דוגמה נוספת (בציור בלבד). נחשוב על מערכת בקרה של טלויזיה עם 4 ערוצים. כאשר לוחצים על + עוברים לערוץ הבא ולחיצה על מעבירה אותנו לערוץ הקודם. נניח שאנו רוצים לראות את ערוץ. 1 נסמן מצב זה כמקבל, והאוטומט יקבל סדרת לחיצות של + ו אשר בסופן הטלויזיה מכוונת לערוץ 1. נוכל לתאר את השפה כך: {,+} = σ. נקבל מילים בהם מספר ה "+" פחות מספר ה " " מתחלק ב 4 עם שארית.1 כלומר, 1} = 4).L = {w Σ : w + w (mod תיאור האוטומט: 3} {0, 1, 2, =,Q δ(q, +) = q + 1 (mod 4).A = {1} δ(q, ) = q 1 (mod 4) הגדרה. קונפיגורציה של אוטומט. נתאר חישוב של אוטומט על מילה כסדרת קונפיגורציות. כל קונפיגורציה מתארת מצב רגעי בחישוב: איזה 6

מצב אנחנו נמצאים ואיזו מילה נותר לנו לקרוא. פורמלית: קונפיגורציה היא איבר מהקבוצה Σ Q. נתאר כדוגמה חישוב באוטומט הקודם: (0, + + +), (1, + +), (2, +), (1, +), (2, ε). נאמר שאוטומט עובר בצעד אחד מקונפיגורציה w) (q, לקונפיגורציה ) w (q, ונסמן (q, w) (q, w ) אם σw w = כך ש σ Σ ו q.δ(q, σ) = באופן דומה, נאמר ש עובר ב i צעדים מ ) 0 (q 0, w ל ) i (q i, w אם יש סדרת קונפיגורציות: w) (q, אם ) w,(q, w) = (q, או (q 0, w 0 ) (q 1, w 1 ) (q 2, w 2 )... (q i, w i ).(q 0, w 0 ) i ונסמן ) i (q i, w סימונים נוספים: הסגור הרפלקסיבי טרנזיטיבי של. כלומר, ) w (q, ) w (q, w) i (q, ל > 0 i כלשהו. i (q, w) ל > 0 i כלשהו. (q, w ) אם (q, w) + (q, w ) באופן פורמלי, ניתן להגדיר את היחסים כך: היחס i מתקבל מהרכבה של עם עצמו i פעמים. כלומר, i = ( ) i.. = i=0 i. ניתן גם לכתוב: הוא הסגור הרפלקסיבי טרנזיטיבי של הערה. לעיתים נשתמש רק ב כאשר ידוע על איזה אוטומט מדובר. אבחנות. הוא יחס דו מקומי על מרחב הקונפיגורציות. לקונפיגורציה (w,q), אם w = ε אז היא אינה היחס, ואחרת, יש קונפיגורציה יחידה איתה (w,q) עומדת ביחס. עומדת עם אף קונפיגורציה ב. ŵ = i כאשר w = ŵw אז,(q, w) i אם ) w (q,.(i = w 1 גם אם נחליף את ב (נכון (q, w 1 w 3 ) (q, w 3 ) אז,(q, w 1 w 2 ) אם ) 2 (q, w.(q, w) יהא q מצב ו Σ.w אזי, יש מצב יחיד q כך ש ε) (q, בהינתן אוטומט, שפת האוטומט L() היא שפת כל המילים שהחישוב עליהן מגיע למצב מקבל. כלומר, ε) (s, w) (q, ו.q A הגדרה. בהינתן אוטומט A), = (Q, Σ, δ, s, L() = {w Σ : (s, w) (q, ε), q A}. נסתכל שוב על האוטומט שבנינו: 7

טענה. L() = L odd (תזכורת: } 0 w זוגי : Σ (L odd = {w נוכיח באינדוקיה את הטענה הבאה: אם ) 2,(q 0, w 1 w 2 ) (q j, w אז. w 1 0 (mod 2) = j האינדוקציה היא על 1. w בסיס..w 1 = ε אזי, = 0 0 1 w ו = 0.j הטענה מתקיימת. צעד. נניח ש + 1 n w 1 = והטענה נכונה למילים קצרות יותר. נסמן w 1 = w σ כאשר σ Σ ו (q 0, w σw 2 ) (q i, σw 2 ) (q j, w 2 ). ישנם שני מקרים: מקרה א'. = 1 σ. במקרה זה i = j (לפי פונקציית המעברים). מהנחת האינדוקציה, j = i = w 0 (mod 2) = w 1 (mod 2). כנדרש. מקרה ב'. = 0.σ אזי, j = 1 i ו 2)). w 1 0 (mod 2) = 1 ( w 0 (mod לכן, מהנחת האינדוקציה j = 1 i = 1 ( w 0 (mod 2)) = w 1 0 (mod 2) כנדרש. כעת נוכיח את הטענה בהכלה דו כיוונית הוכחה.. נקח L().w אזי, ε).(q 0, w) (q 1, לפי טענת העזר, 2) w 0 (mod = 1 ולכן.w L odd. באופן דומה, נקח w L odd אזי = 1 2). w 0 (mod נסמן ε).(q 0, w) (q j, לפי טענת העזר, = 1 j ומכיוון ש w L(),q 1 A כנדרש. נסמן את L DF A את אוסף השפות שקיים עבורן אוטומט דטמיניסטי סופי. כלומר, L DF A = {L Σ : (L() = L)}. הרצאה 4 נסתכל על דוגמה נוספת: ({1,0}{0} {1,0})L L. 1 = כלומר, כל המילים בהן האות לפני האחרונה היא 0. אוטומט עבור השפה: 8

נשתמש בטענת העזר הבאה (ללא הוכחה, ניתן להוכיח באינדוקציה על 1 w.) טענת עזר. עבור 1} {0, β,α, אם ) 2,(q ε, w 1 w 2 ) (q αβ, w אז 2 1 w ו.w 1 = w αβ כעת נראה ש.L() = L 1 : נקח L().w אזי, ε) (q ε ) i (q 0β, עבור w.i = לפי הטענה 2 i ו.w = w 0β לפיכך,.w L 1 : נקח w ב.L 1 אזי, 2. w נסמן ε) (q ε, w) i (q αβ, (שימו לב שמכיוון שיש לפחות 2 אותיות, נגיע למצב מהצורה.(q αβ לפי טענת העזר,.w = w αβ מכיון ש α = 0,w L 1 ולכן q αβ מצב מקבל ו.w L() כעת נגדיר: L k = {0, 1} {0}{0, 1} k ל > 0.k נוכל לבנות אוטומט באופן דומה, ש"יזכור" את + 1 k האותיות האחרונות. כמה מצבים דרושים לנו? כמספר הסדרות הבינאריות מאורך עד + 1 k כולל, Σ k+1 i=0 2i = 2 k+2 1. למעשה, ניתן לשפר. נשתמש ב q 1 k כמצב תחילי ונוותר על מצבים המתאימים לסדרות שאורכן פחות מ + 1 k. כך נקבל אוטומט דטרמיניסטי שמספר מצביו הוא 2 k+1 אנו עדיין זקוקים להמון מצבים. שאלה מעניינת: האם אפשר לעשות זאת יותר טוב ולהשתמש בפחות מצבים? (בהמשך הקורס). 9

0.5 סגירות למשלים לסיום הנושא, נציין שאם L L DF A אזי גם L L DF A ולשם כך, נשתמש באבחנה הבאה: עבור מילה w ומצב q מתקיים, אם, w i אז יש קונפיגורציה יחידה ) w (q, כך ש ) w.(q, w) i (q, מסקנה. לכל Σ w יש מצב יחיד q כך ש( ε.(s, w) (q, משפט..L L DF A = L L DF A הוכחה. נקח אוטומט ל = (Q, Σ, δ, s, A),L ונגדיר A). = (Q, Σ, δ, s, Q \ אזי w L w L() (s, w) (q, ε), q A (s, w) (q, ε), q A w / L(). לכן, w L() w / L ולכן.L() = L שימו לב שבמעבר האחרון, השתמשנו במסקנה שלנו. 0.6 אוטמוט אי דטרמיניסטי, NFA כעת נסתכל על מודל כללי יותר. באוטומט אי דטרמיניסטי: ממצב נתון וקריאת אות, יתכנו כמה אפשרויות לעבור למצב חדש. יתכמו מעברים ללא קריאת אות (מעבר ε). דוגמה: ל 01101 יש ריצה המסתיימת במצב מקבל (ריצה מקבלת) וריצה שאינה מקבלת. ל 01111 יש ריצה שאינה מקבלת וריצה ש"נתקעת". הגדרה. אוטומט אי דטרמיניסטי הוא חמישיה A) = (Q, Σ,, s, כאשר Q, Σ, s, A כמו ב,DFA ו : Q (Σ {ε}) 2 Q ( P (Q)). עבור,q) (σ, σ Σ היא קבוצת המצבים אליהם ניתן לעבור בקריאת אות (יתכן שזו קבוצה ריקה!). (ε,q) היא קבוצת המצבים אליהם ניתן לעבור ללא קריאת אות. למשל באוטומט שבנינו: {s}, (q 1, 1) = (q 1, 0) = {q 2 }, (s, 0) = {s, q 1 }, (s, 1) =. (q 2, 0) = (q 2, 1) = בנוסף, אין מעברי ε. כלומר, לכל מצב,q). (ε = q, האוטומט שלנו מחשב את {1,0}{0} {1,0} = 1 L. שימו לב שהוא קטן יותר מהאוטומט הדטרמינסטי. באותו אופן, נוכל לחשב את L k בעזרת + 2 k מצבים ) 1+k q צריך להיות מקבל): 10

מדובר בשיפור משמעותי, קודם היינו זקוקים ל 1+k 2 מצבים. בהמשך הקורס נוכל גם להוכיח שלא ניתן לחשב את L k בעזרת DFA עם פחות מ 1+k 2 מצבים. גם עבור NFA נשתמש בהגדרה של קונפיגורציה ומעבר בין קונפיגורציות. קונפיגורציה היא איבר של Σ Q המתארת "מצב רגעי". כלומר, באיזה מצב אנו נמצאים ומה המילה שנותר לקרוא. מעבר בין קונפיגורציות הוא מעט מורכב יותר וזו אינה פונקציה חלקית: הגדרה. נסמן ) w (q, w) (q, אם: מעבר אות. σw w = כך ש,σ Σ ו σ).q (q, i (q, w) אם ניתן לעבור מ w) (q, ל מוגדרים באותו אופן כמו עבור (q, w ).DFA מעבר w = w.ε ו ε).q (q, היחסים i ו w) (q, אם ניתן לעבור מ w) (q, ל ) w (q, במספר כלשהו של צעדים (אולי (q, w צעדים, ו( i ב (q, w ) 0). באופן מאוד פורמלי: היחס i מתקבל מהרכבה של עם עצמו i פעמים. כלומר, i = ( ) i.. = i=0 i. ניתן גם לכתוב: הוא הסגור הרפלקסיבי טרנזיטיבי של להבדיל מאוטומט דטרמיניסטי, עבור אוטמט אי דטרמיניסטי יתכן ש ε) (q, w) (q 1, וגם w) (q,.(q, w) עם i כמו כן, יתכנו מספר רב של קונפיגורציות שיעמדו ביחס.(q 1 q 2 (כאשר (q 2, ε) הערה נוספת. נניח ש σw.w = עבור,,DFA יש קונפיגורציה יחידה כך ש ) w (q, w) (q ((σ q). = δ(q, אבל אם אי דטרמיניסטי, יתכן שאין אף קונפיגורציה עוקבת. מצב זה קורה כאשר: (ε,q). (σ = =,q) כלומר, האוטמט יכול להתקע. לדוגמה, נסתכל על האוטומט עבור L k ונזין את המילה 1+k 01. נסתכל על ריצה בה האוטומט כל הזמן זז ימינה. לאחר 1+ k צעדים נגיע לקונפיגורציה (1, k q) והאוטמט יתקע. יש ריצה אחרת שלא נתקעת, אבל אין ריצה שלא נתקעת ומסתיימת במצב מקבל. נגדיר את השפה של אוטומט אי דטרמיניסטי L() = {w Σ : q A ( (s, w) (q, ε) ) }. כלומר, מילה מתקבלת אם יש חישוב של האוטומט עליה שמסתיימם במצב מקבל לאחר שנקראו כל האותיות. הערה. שימו לב שאוטומט דטרמיניסטי הוא מקרה פרטי של אוטומט אי דטרמיניסטי. DFA הוא NFA שבו (σ,q) היא יחידון לכל מצב ואות, ו = (ε,q) לכל מצב q. 11

הרצאה 5 תזכורות: אוטומט אי דטרמיניסטי, NF A הוא חמישיה, A) (Q, Σ,, s, כאשר Q, Σ, s, A מוגדרים כמו עבור,DF A ו : Q (Σ {ε}) 2 Q. w).(s, הגדרנו, ב,NF A עבור מילה w, יתכנו כמה מצבים q (אולי 0) כך ש (ε,q) L() = {w Σ : (s, w) (q, ε), q A} הגדרנו, L DF A אוסף השפות אשר קיים עבורן אוטומט דטרמיניסטי, L NF A אוסף השפות אשר קיים עבורן אוטומט אי דטרמיניסטי. אבחנה: DF A הוא מקרה פרטי של NF A בו לכל מצב q ואות,q), (σ = 1 σ, ואין מעברי ε. לכן, L DF A L NF A. דוגמה. נגדיר, { w מתחלק ב 5 או 3 ללא שארית : {1} w} L. = אוטומט אי דטרמינסטי עבור w: האוטומט "מנחש" האם האם המילה מתחלקת ב 3 או ב 5, ובודק זאת. דטרמיניסטי עבור השפה? שאלה: תוכלו לבנות אוטומט 12

0.7 תכונות סגור. משפט. L NF A סגורה תחת איחוד. הוכחה. נקח שתי שפות L 2,L 1 המתקבלות ע"י אוטומטים אידטרמינסטים ) 1, 1 = (Q 1, Σ, 1, s 1, A = (Q, Σ,, s, A) NFA נבנה.Q 1 Q 2 = בהתאמה. נניח גם ב.ה.כ. ש 2 = (Q 2, Σ, 2, s 2, A 2 ) עבור.L 1 L 2 רעיון: נוסיף מצב תחילי חדש s ומעברי ε ל s 1 ו s. 2 כך, בהנתן מילה, האוטומט ינחש אם לבדוק אותה ב 1 או ב. 2 לכן, מלה מתקבלת ב אם"ם היא מתקבלת ע"י אחד האוטומטים מבין. 2, 1 כלומר, מלה מתקבלת אם"ם היא ב.L 1 L 2 באופן פורמלי, נקח s / Q 1 Q 2 ונגדיר: = (Q, Σ,, s, A) כאשר,.Q = Q 1 Q 2 {s}. = 1 2 { ( (s, ε), {s 1, s 2 } ) }.A = A 1 A 2 s Q 1 ובנוסף, אין מעברים נראה ש L().L 1 L 2 = w).q A 1,(s 1, ולפיכך,. נקח w L 1 L 2 ונניח ב.ה.כ. ש.w L 1 אזי, ε) (q, 1.w L() ולכן q A,(s, w) (s 1, w) (q, ε).q A,(s, w) (s 1, w). נקח L().w אזי, ב.ה.כ. ε) (q,.w L( 1 ) = L 1 לפיכך,.(s 1, w) 1 ממצב ב Q 1 למצב ב.Q 2 לכן, q A 1 וגם ε) (q, משפט. L NF A סגורה תחת שרשור. הוכחה. יהיו L 1, L2 L NF A ו ) 2 1 = (Q 1, Σ, 1, s 1, A 1 ), 2 = (Q 2, Σ, 2, s 2, A אוטומטים עבור.L 1 זרות ונבנה אוטומט עבור L 2 ו Q 2 בהתאמה. נניח ב.ה.כ. ש Q 1 L 1, L 2 13

הרעיון: נתחיל מהמצב ההתחלתי של 1 ו"נטייל" ב. 1 כאשר נגיע למצב מקבל, האוטומט יחליט באופן אי דטרמיניסטי אם לעבור למצב התחילי של 2 או להשאר ב. 1 מלה תתקבל אם היא תגיע למצב מקבל של. 2 נגדיר: ) 2 = (Q 1 Q 2, Σ,, s 1, A כאשר עבור q Q ו {ε}),σ (Σ 1 (q, σ) q Q 1 \ A 1 (q, σ) = 1 (q, σ), q A 1, σ ε. 1 (q, σ) {s 2 }, q A 1, σ = ε 2 (q, σ), q Q 2 כעת נוכיח כי L().L 1 L 2 = : נקח w L 1 L 2 ונראה ש L().w נסמן w = w 1 w 2 כך ש w 1 L 1 ו.w 2 L 2 מתקיים: (s 1, w 1 ) (q 1, ε), 1 q 1 A 1 וגם (s 2, w 2 ) 2 (q 2, ε), q 2 A 2. (s 1, w 1 w 2 ) (q 1, w 2 ) (s 2, w 2 ) (q 2, w 2 ), q 2 A לכן, ולפיכך L() w = w 1 w 2.q 2 A = כך ש A 2 (s 1, w) : נקח L() w ונראה ש.w L 1 L 2 מכיון ש L() (q 2, w),w אבל, s. 1 Q 1 החישוב המקבל מתחיל במצב ב Q 1 ומסתיים במצב ב Q. 2 נסתכל על הפעם הראשונה בה עוברים ממצב ב Q 1 למצב ב Q. 2 לפי פונקציית המעברים, זהו מעבר ε המתחיל במצב q 1 A 1 ומסתיים ב.s 2 נסמן w = w 1 w 2 כך ש: (s 1, w 1 w 2 ) (q 1, w 2 ) (s 2, w 2 ) (q 2, ε). אזי, החישוב בראשון הוא חישוב שעובר רק במצבים מ Q 1 ולכן זהו חישוב ב. 1 נשים לב שלא ניתן לעבור ממצב ב Q 2 למצב ב Q 1 ולכן החישוב האחרון הוא חישוב העובר רק דרך מצבים מ Q. 2 נסיק: (s 1, w 1 ) (q 1, ε), (s 2, w 2 ) (q 2, ε). 1 2 לכן, w = w 1 w 2 L 1 L 2 כנדרש. משפט. L NF A סגורה תחת כוכב קליני. (להגדיר את האוטומט, ההוכחה היא תרגיל). הוכחה. יהא A) = (Q, Σ,, s, אוטומט עבור.L נבנה אוטומט עבור.L הרעיון: נוסיף מעברי ε מכל מצב מקבל למצב התחילי כדי לקרוא שרשור של מילים בשפה. בנוסף, נוסיף מצב תחילי חדש כדי לקבל את המילה הריקה (חשוב! אם רק נסמן את s כמקבל, נקבל גם מילים שאינן בשרשור). }) {s = (Q {s }, Σ,, s, A כאשר (q, σ) (q Q \ A) (q A, σ ε) (q, σ) = (q, σ) {s}, q A, σ = ε. {s}, q = s, σ = ε נראה ש ) L( L = : נקח L,w ולכן.w = w 1 w 2... w k לכל (s, w i ) (q i, ε),i כאשר.q i A לכן, (s, w 1... w k ) (q 1, w 2... w k ) (s, w 2... w k ) (q 2, w 3,..., w k ) (s, w 3... w k )... (s, w k ) (q k, ε) 14

ולכן ) L( w = w 1... w k : נקח ) L( w. נסתכל על חישוב מקבל של w ונניח שאנו עוברים בחישוב זה 1 k ממצב מקבל ל s במעבר.ε כלומר w = w 1... w k ו (s, w 1... w k ) (q 1, w 2... w k ) (s, w 2... w k ) (q 2, w 3,..., w k ) (s, w 3... w k )... (s, w k ) (q k, ε). ) i.q i A,(s, w בחישוב זה, אין מעבר ε ל s ולכן כל כאשר q 1,..., q k מקבלים. לפיכך, לכל (q i, ε) i.w (L()) = L ולכן (s, w i ) המעברים הם מעברים ב. נקבל שלכל q) i, (ε i, סיכום: A L DF סגורה למשלים. A L NF סגורה לאיחוד, שרשור וכוכב קליני. שאלה 1: האם L NF A סגורה למשלים? תשובה: כן. הוכחנו ש L DF A סגורה למשלים ועוד מעט נוכיח כי L. DF A = L NF A שאלה 2: האם יש סגירות לחיתוך? תשובה: כן. ניתן להוכיח זאת כך:.L 1 L 2 = L 1 L 2 עובדה זו משתמשת בסגירות לאיחוד (שעוד לא הוכחנו). בתרגול 4 תראו הוכחה נוספת שמראה איך לבנות אוטומט לחיתוך. הרצאה 6 L DF A = L NF A 0.8 ובניית קבוצת החזקה. אנו מעוניינים להוכיח ש L. DF A = L NF A דיברנו על כך ש DF A הוא מקרה פרטי של NF A ולכן L. DF A L NF A כדי להוכיח הכלה בכיוון השני נוכיח את המשפ הבא: משפט. יהא (A =,Q),Σ,,s אוטומט אי דטרמיניסטי. אזי, יש אוטומט דטרמיניסטי כך ש.L() = L( ) כיצד נבנה את? נסתכל ראשית על הדוגמה הבאה: (לסמן את q 2 כמקבל): ישנן כמה ריצות אפשריות על המילה 110. חלקן מתקבלות, חלקן לא וחלקן נתקעות. נסתכל על "עץ חישוב" של המילה. 15

כיצד נבנה אוטומט דטרמיניסטי שקול לאוטומט שלנו? הרעיון הוא שמצב של האוטומט הדטרמיניסטי מתאים לקבוצה של מצבים של האוטומט האי דטרמיניסטי. למשל, } 2,s} q 1, q הוא מצב באוטומט המתאים לשורה השניה בעץ (לכל תת קבוצה יהיה מצב). כיצד נגדיר את פונקציית המעברים? בהנתן קבוצת מצבים (מצב באוטומט החדש), ננסה להבין לאילו מצבים ניתן לעבור בקריאת אות. למשל, מהמצב המתאים לשורה השניה, בקריאת התו,0 אפשר להגיע לאחד המצבים בשורה השלישית ורק אליהם. נגדיר, } 2.δ({s, q 1, q 2 }, 0) = {s, q כאשר ישנם מעברי ε, נתחשב גם בהם כשננסה להבין לאן ניתן לעבור בקריאת אות. הרעיון הוא שהאוטומט הדטרמיניסטי "יסמלץ" את כל הריצות. כלומר, החישוב על 110 יהיה: ({s}, 110) ({s, q 1}, 10) ({s, q 1.q 2 }, 0) ({s, q 2}, ε) והמצב האחרון הוא מקבל, כי הוא כולל מצב מקבל באוטומט המקורי. כלומר, אחת הריצות מקבלת. כעת נבנה אוטומט דטרמיניסטי שקול: ) A. = (2 Q, Σ, δ, {s}, תחילה נתאר את הבנייה עבור המקרה הפשוט בו אין מעברי ε. במקרה זה נגדיר, δ(r, σ) = (r, σ), A = {X 2 Q : X A } r R לדוגמה, נסתכל על האוטומט האי דטרמיניסטי הבא: ) 2 q מצב מקבל) האוטומט האי דטרמיניסטי המתקבל על ידי קבוצת החזקה הוא: 16

מה קורה כאשר יש מעברי ε? נסתכל לדוגמה על חלק קטן מאוטומט אי דטרמיניסטי: במקרה זה, ניתן לעבור מ q 1 ל q 4 בקריאת האות a. לכן, אם q, 1 R נרצה ש q 4 יהיה שייך ל (a.δ(r, נשתמש בהגדרות הבאות. הגדרה. יהא אוטומט אי דטרמיניסטי ו q Q מצב. הסגור ε של,E(q) q, הוא קבוצת המצבים אליהם ניתן לעבור מ q במעברי ε בלבד. כלומר, ε)}.e(q) = {q Q : (q, ε) (q, כמו כן, עבור X Q E(X) = x X נגדיר: E(x) כעת נגדיר את האוטומט ) A = (2 Q, Σ,, s, למקרה הכללי (כלומר, כאשר ישנם מעברי.(ε נגדיר את פונקציית המעברים ואת המצבים המקבלים כך: δ(r, σ) = E( (r, σ)), s = E(s), A = {X 2 Q : X A } r R כעת נוכיח כי ) L( L() = ומכך נסיק ש.L DF A = L NF A.T = {q Q : (s, w) (q, ε)} אז,(s, w) טענת עזר. אם (ε,t) הוכחה. ההוכחה היא באינדוקציה על w. ε) (s, (כלומר s.(t = אכן, בסיס. = 0 w ולכן (s, ε).w = ε T = s = E(s) = {q Q : (s, ε) (q, ε)}. מהלך. נניח ש + 1 n w = והטענה נכונה למילים קצרות יותר. נסמן w = w σ ו (s, w σ) (T, σ) (T, ε). 17

) w.t = {p Q : (s, נראה לפי הנחת האינדוקציה, {(ε,p) T = {q Q : (s, w σ) (q, ε)}..(t, ε). נקח.q T אזי, יש T r כך ש σ)).q E( (r, אזי, יש σ) t (r, כך ש ε) (q, (s, w) = (s, w σ) (r, σ) (t, ε) (q, ε) לפיכך, מהנחת האינדוקציה:.q {q Q : (s, w) ולכן ε)} (q, w) q {q Q : (s, ונראה ש.q T נסתכל על חישוב של על w המסתיים. כעת, נקח ε)} (q, ב q, ונתבונן בקריאת האות האחרונה ב σ. w, נוכל לסמן: (s, w) = (s, w σ) (r, σ) (t, ε) (q, ε). על פי הנחת האינדוקציה, T.r בנוסף, σ) t (r, ו E(t).q נקבל: q E(t) E( (r, σ)) δ(t ) = T כנדרש. כעת נוכל להוכיח ש L() L( ) = w).t A,(s, לכן, יש q T כך ש.q A לפי ט.ע. הוכחה.. נקח ) L(.w אזי, ε) (T,.w L() לכן (s, w) (q, ε) q T לפי ט.ע..(s, w). נקח L().w אזי, יש q A כך ש ε).(s, w) (q, נסמן, ε) (T, לכן A T ו ) L(.w נסמן ב L F A את אוסף השפות המתקבלות על ידי אוטומט דטרמיניסטי/אי דטרמיניסטי. אזי, אם,L 1, L 2 L F A אז גם:.L 1 L 2.L 1.L 1 L 2.L 1.L 1 L 2 = L 1 L 2 הרצאה 7 תזכורת: יהא σ א"ב. ב"ר רגולרי מעל Σ הוא מילה מעל {(,),,,, } Σ כך ש: 1. הוא ב"ר וכל σ Σ הוא ב"ר..2 אם α, β ב"ר אז גם,(α).(α) (β),(α) (β) פונקציית הסמנטיקה מגדירה שפה מעל Σ לכל ב"ר: 18

.L( ) =, L(σ) = {σ}.1.l((α) ) = (L(α)), L((α) (β)) = L(α) L(β), L((α) (β)) = L(α) L(β).2 L reg אוסף השפות שקיים עבורן ב"ר. משפט..L F A = L reg נתחיל בכוון הקל של המשפט:.L reg L F A נקח L = L(r) L reg ונראה ש.L L F A ההוכחה היא באינדוקציה על r. בסיס. נניח ש = 1. r אזי = L או {σ}.l = אלה הן שפות ב.L F A מהלך. נניח ש + 1 n r = והטענה נכונה למילים קצרות יותר. מקרה א'. ) 1.r = (r אזי, )) 1.L(r) = (L(r על פי הנחת האינדוקציה, L(r 1 ) L F A ומסגירות לכוכב קליני,.L = L(r) L F A מקרה ב'. ) 2.r = (r 1 ) (r אזי, )) 2.L = L(r) = (L(r 1 )) (L(r מהנחת האינדוקציה,.L(r 1 ), L(r 2 ) L F A מסגירות לאיחוד,.L L F A מקרה ג'. ) 2.r = (r 1 ) (r באופן דומה על ידי סגירות לשרשור. ההוכחה למעשה מתארת בנייה רקורסיבית. לדוגמה נמחיש את הבניה על (a r. = (ab עכשיו נעבור להוכחת הכיוון השני. נקח שפה ב L L, F A המתקבלת על ידי אוטומט דטרמיניסטי = (Q = {q 1, q 2,..., q n }, Σ, δ, q 1, A) ונראה ש L L reg ע"י כך שנבנה ב"ר עבור.L לכל n} i, j {1,..., ו n} k {0,..., נסתכל על השפה k) L(i, j, שפת כל המילים w כך ש ε) (q i, w) (q j, כאשר מצבי הביניים הם מבין q 1,..., q k (כאשר = 0 k אין מצבי ביניים). לכל שפה כזו נבנה ב"ר (k T,i),j כך ש L(T (i, j, k)) = L(i, j, k). נסתכל למשל על האוטומט הבא: 19

T (1, 2, 0) = a, T (2, 3, 1) = a bb, T (1, 2, 2) = a(ba) נגדיר את (k T,i),j באינדוקציה (ברקורסיה) על k. כאשר = 0 k, נסתכל על כל האותיות עבורן.δ(q i, σ) = q j נניח שאותיות אלו הן σ 1,..., σ l אזי, T (i, j, 0) = { σ1 σ 2 σ l i j σ 1 σ 2 σ l ( ) i = j. כיצד נבנה את 1) + k?t (i, j, ננסה להבין איך ניתן לעבור מ q i ל q j עם מצבי ביניים מבין k+1.q 1,..., q ראשית, יש מילים שלא עוברות דרך 1+k q, קבוצת מילים זו היא שפת הביטוי הרגולרי (k T.,i),j לגבי שאר המילים, הן עוברות דרך 1+k q מספר פעמים ובין כל שני מופעים של 1+k q, יש מופעים של q. 1,..., q k הביטוי הרגולרי לשפה זו הוא: k).t (i, k + 1, k) (T (k + 1, k + 1, k)) T (k + 1, j, סך הכל, הביטוי הרגולרי הוא: T (i, j, k + 1) = T (i, j, k) (T (i, k + 1, k) (T (k + 1, k + 1, k)) T (k + 1, j, k)). L() = q i A L(1, i, n) = L( q i A T (1, i, n)). ומהי שפת האוטומט?. q i A ולכן הביטוי הרגולרי הוא (n T,1),i דוגמה. (לצורך הדוגמה, נחליף ב"ר בב"ר שקולים וקצרים יותר ונשתמש ב ε במקום ב ). 20

(i, j) k = 0 k = 1 k = 2 (1, 1) ε (1, 2) 0 0 (ε(ε) 0) = 0 (1, 3) 1 1 (ε(ε) 1) = 1 1 (0(ε 00) (1 01)) (2, 1) 0 (2, 2) ε ε (0(ε) 0) = ε 00 (2, 3) 1 1 (0(ε) 1) = 1 01 (3, 1) (3, 2) 0 1 (0 1) ( ε 0) = 0 1 (3, 3) ε ε ( (ε) 1) = ε ε ((0 1)0 (1 01)) הב"ר הוא 3) (1, 3, T T (1, 2, 3) אנו מחשבים לשם הדוגמה את 3) (1, 3,.T T (1, 3, 3) = T (1, 3, 2) (T (1, 3, 2) T (3, 3, 2) T (3, 3, 2)). T (1, 3, 3) = [1 (0(ε 00) (1 01))] [1 (0(ε 00) (1 01)))(ε ((0 1)0 (1 01))) (ε ((0 1)0 (1 01))] 1 הרצאה 8 הוכחת אי רגולריות עד כה הצלחנו לאפיין את השפות הרגולריות והכרנו כלים להוכחת רגולריות (ב"ר, אוטומט). משיקולי עוצמה, ראינו שיש שפות שאינן רגולריות אך אין לנו עדיין כלים להוכיח ששפה מסוימת אינה רגולרית. בכך נעסוק כעת. טענה. השפה 0} n L = {a n b n : אינה רגולרית הוכחה. נניח בשלילה ש L רגולרית ויהא אוטומט דטרמיניסטי המחשב את L. נניח של יש N מצבים ונסתכל על המילה a. 1+N b 1+N L מספר המצבים של האוטומט קטן ממספר מופעי ה a ברישא מאורך + 1 N של המילה שלנו, לכן בחישוב של האוטומט על 1+N a, יש מצב ש"מבקרים" בו פעמיים. כלומר, יש מצב q עבורו: (s, a N+1 b N+1 ) (q, a i b N+1 ) (q, a j b N+1 ) (q, ε), q A, j < i. 21

לשם הנוחות, נוכל לכתוב: a N+1 = a k a l a m ומתקיים: (s, a k a l a m b N+1 ) (q, a l a m b N+1 ) (q, a m b N+1 ) (q, ε), q A, l > 0. לכן, אם "נשמיט" את החלק האמצעי, a l החישוב יראה כך: (s, a k a m b N+1 ) (q, a m b N+1 ) (q, ε), q A, l > 0. קבלנו שגם המילה N+1 a k a m b מתקבלת על ידי האוטומט, אבל מכיון ש > 0,l a k a m b N+1 / L בסתירה להנחה ש.L() = L נשים לב לרעיון ההוכחה: לקחנו מילה בה הרישא a n ארוכה מספיק (יותר ממספר המצבים), כך הכרחנו את האוטמט לבצע לולאה ובהסרת לולאה זו הצלחנו לקבל מילה שאינה בשפה. כעת נראה דוגמה נוספת: טענה. השפה } p ראשוני : p L = {1 אינה רגולרית. הוכחה. נניח בשלילה שהשפה רגולרית ויהא אוטומט דטרמיניסטי שמחשב אותה. נסמן ב N את מספר המצבים של ונסתכל על 1 p כאשר p ראשוני הגדול מ 3N. בחישוב של האוטומט על 1, p יש מצב שעוברים בו פעמיים. יהא q המצב הראשון שעוברים בו פעמיים. לכן, נוכל לכתוב 1, p = 1 k 1 l 1 m כך ש > 0 l ו: (s, 1 k 1 l 1 m ) (q, 1 l 1 m ) (q, 1 m ) (q, ε), q A. מכיון ש ε),(q, 1 l ) (q, גם ε) (q, 1 l 1 l ) = (q, 1 2l ) (q, ולכן לכל.(q, 1 rl ) (q, ε) :r נשים לב גם ש > 1 l.i + נבחר r = k + m ונקבל: (s, 1 k 1 (k+m)l 1 m ) (q, 1 (k+m)l 1 m ) (q, 1 m ) (q, ε), q A ולכן, L().1 k+(k+m)l+m אבל m) k + (k + m)l + m = (l + 1)(k + אינו ראשוני. לכן, L() L בסתירה להנחה. נשים לב לרעיון ההוכחה: לקחנו מילה 1 p L ארוכה מספיק (יותר ממספר המצבים), כך הכרחנו את האוטומט לבצע לולאה, ועל ידי שכפול לולאה זו הצלחנו לקבל מילה שאינה בשפה. שימו לב שההוכחות הנ"ל נכונות גם אם ניקח אוטומט אי דטרמיניסטי. במקרה זה, נדבר על "חישוב מקבל" או "ריצה מקבלת", במקום על "החישוב" של האוטומט. למת הניפוח לשפות רגולריות. משפט: למת הניפוח לשפות רגולריות. תהא L שפה רגולרית, אזי יש קבוע N כך שלכל w L שאורכה לפחות N קיים פירוק: w = xyz כך ש:. y 1.1. xy N.2.3 לכל.xy i z L,i 22

הוכחה. יהא אוטומט דטרמיניסטי עבור L ונבחר את N להיות מספר המצבים של + 1. נקח w L כך ש.w N עלינו למצוא פירוק עבורו התנאים מתקיימים. נסמן.w = σ 1 σ 2 σ 3... σ m לכל רישא σ 1... σ i נסתכל על המצב אליו מגיע האוטומט בריצה על רישא זו, נסמנו q. i כלומר, (s, σ 1... σ i ) (q i, ε). מעקרון שובך היונים, יש i < j כך ש q. i = q j נקח את ה j הראשון עבורו יש i כנ"ל. אזי, j הוא לכל היותר מספר המצבים ועוד,1 כלומר.j N נגדיר y = σ i+1... σ j,x = σ 1... σ i ו z היא שארית המילה. מבחירת j מתקיים:. y 1.1. xy N.2 החישוב על w = xyz נראה כך: (s, xyz) (q i, yz) (q j, z) (q m, ε), q m A. מכיוון ש q i = q j נסמן מצב זה ב.q לכן, ε) (q, y) (q, ולפיכך לכל (q, y i ) (q, ε) i (שימו לב שהדבר נכון באופן טריויאלי גם ל = 0 i). נקבל שלכל i ולכן, (s, xy i z) (q, y i z) (q, z) (q m, ε), q m A..3 לכל.xy i z L,i שימו לב שההוכחה נכונה גם אם ניקח אוטומט אי דטרמיניסטי. במקרה זה, נדבר על ריצה מקבלת. שימו לב גם שיכולנו לקחת את N (קבוע הניפוח) כמספר המצבים של האוטומט. מדוע? כאשר חיפשנו מצב אשר "מבקרים" בו פעמיים, התעלמנו מהמצב התחילי: s. אם נסמן s, = q 0 נוכל להסתכל על סדרת המצבים: N 1.q 0,..., q בסדרה זו יש N מצבים. מכיון של יש 1 N מצבים, יש איבר המופיע בסדרה פעמיים וסדרה זו מתקבלת על ידי קריאת הרישא באורך 1 N של w על ידי. דוגמה לשימוש בלמה. 0} n L = {0 n 10 n : אינה רגולרית. הוכחה. נניח בשלילה ש L רגולרית ויהא N קבוע הניפוח המובטח על ידי הלמה. נסתכל על w. = 0 N 10 N נקח פירוק ל w = xyz המקיים את תנאי למת הניפוח. מכיוו ש xy, xy N רישא של w הכוללת רק 0 ים. נסמן > 0 i. y = אזי,,xy 0 z = 0 N i 10 N / L בסתירה ללמת הניפוח. הערה חשובה. למת הניפוח לא יכולה לשמש אותנו להוכחת רגולריות של שפות. מדוע? הלמה טוענת את הטענה הבאה: אם L רגולרית, אז L מקיימת את תכונת למת הניפוח. העובדה ששפה L מקיימת את למת הניפוח לא מבטיחה לנו שL רגולרית (בקרוב נראה דוגמה לכך). הלמה יכולה לשמש אותנו כדי להראות ששפה L אינה רגולרית: אם L לא מקיימת את תנאי הלמה, אז L אינה רגולרית. על פי הדוגמה שלנו נקבל את הסכמה הבאה להוכחת אי רגולריות של L: 1. נניח בשלילה ש L רגולרית ויהא N קבוע הניפוח המובטח מהלמה. 2. נבחר מילה w שאורכה לפחות N (צריך לחשוב איזו מילה לבחור!!!) 23

.3 מראים שלכל פירוק של w ל w = xyz כך ש xy N ו,y ε יש i כך ש.xy i z / L דוגמאות נוספות: השפה } b L = {w Σ : w a = w אינה רגולרית Σ).(a, b אפשרות א'. ע"י שימוש בתכונות סגור. נניח בשלילה ש L רגולרית, אזי גם 0} n L {a} {b} = {a n b n : רגולרית סתירה. אפשרות ב'. ע"י שימוש בלמת הניפוח. נניח בשלילה ש L רגולרית ויהא N הקבוע המובטח מהלמה. נסתכל על...a N b N כעת נסיק מלמת הניפוח מסקנה שימושית שתשמש אותנו בהוכחת אי רגולריות. בהנתן שפה L, נסדר את המילים על פי אורכן:..., n w 0, w 1,..., w ונסמן i.a i = w אזי,..., i a 0,... a היא סדרת אורכי המילים. סדרת ההפרשים של L היא הסדרה..., 2 r 1, r כאשר.r i+1 = a i+1 a i טענה. אם L רגולרית, אז סדרת הפרשי אורכי המילים של L חסומה. כלומר, יש קבוע R כך שלכל i,.r i+1 = a i+1 a i R הוכחה. נקח את R להיות קבוע הניפוח. נסתכל על 1+i a. אם a, 1+i R r i = a i+1 a i a i+1 R וסיימנו. אחרת, נקח את המילה 1+i w שאורכה 1+i a ונפרק אותה על פי למת הניפוח: w 1+i = xyz כאשר y R <.0 אזי, גם.xz L מכיון ש xz קצרה מ i+1,w אורכה של xz הוא לכל היותר a i לכן, r i = a i+1 a i xyz xz = y R כנדרש. דוגמאות:.1 השפה 0} n {1 n2 : אינה רגולרית. הוכחה. קל לראות ש.a i = n 2 אזי + 1 2n.r i = a i+1 a i = (n + 1) 2 n 2 = לכל,R יש n כך ש + 1 2n R < ולכן סדרת ההפרשים לא חסומה (שואפת לאינסוף). לפיכך, השפה אינה רגולרית. 2 הרצאה 9.2 השפה p} ראשוני : p {1 אינה רגולרית. הוכחה. נראה שסדרת ההפרשים לא חסומה על ידי כך שנראה שלכל R יש R מספרים עוקבים שאינם ראשוניים. המספרים הם: 2) + (R.(R + 2)! + 2, (R + 2)! + 3,..., (R + 2)! + מדוע מספרים אלו אינם ראשוניים? כי (R + 2)! + i מתחלק ב.i למה זה אומר שסדרת ההפרשים לא חסומה? נקח את הראשוני הגדול ביותר: p שקטן מ + 2!(1 + R). הראשוני העוקב לו הוא p הגדול מ 2) + (R p = a i.(r + 2)! + ל i כלשהו ו i+1.p = a אזי, a i+1 a i = p p > (R + 2)! + (R + 2) ((R + 2)! + 2) = R. קודם אמרנו שלמת הניפוח לא יכולה לשמש להוכחת רגולריות. הסיבה היא שיש שפות שאינן רגולריות המקיימות את תנאי למת הניפוח. טענה. השפה L = {w {0, 1} : w או 11 תת מילה של,w כלשהו, או 00 תת מילה של n ל w = n 2 } 24

אינה רגולרית אך מקיימת את תנאי למת הניפוח. ראשית נראה שלמת הניפוח מתקיימת עבור = 3 N. תהא w מילה ב L שאורכה 3 לפחות. נסתכל על 3 האותיות הראשונות ב w. 1. אם ב 3 האותיות הראשונות מופיע 00 או 11, נבחר את y להיות האות השלישית (יתכן ש x). = ε למשל, אם 100w w = אז.z = 00w,y = 1,x = ε לכל xy i z,i מכיל 00 או 11 לכן.xy i z L 2. אם 00 ו 11 לא מופיעים בשלוש האותיות הראשונות, הרישא מאורך 3 היא: 010 או 101. נבחר את x להיות האות הראשונה ואת y האות השניה.,xy 0 z L כי האות הראשונה והשלישית זהות, xy 1 z L מההנחה ו xy i z L ל > 1 i, כי מילה זו כוללת את הרצף yy השווה ל 00 או 11. נותר להראות כי השפה אינה רגולרית. נתחיל בטענה פשוטה: טענה. אם L 1, L 2 רגולריות, אז גם.L 1 \ L 2 הוכחה..L 1 \ L 2 = L 1 L 2 L. 00 11 נשים לב ש L רגולרית כי נגדיר: {w כוללת את הרצף 00 או את הרצף : 11 w} = L 00 11 = L(((0 1) (00)(0 1) ) ((0 1) (11)(0 1) )). כעת נניח בשלילה ש L רגולרית ונסיק שגם השפה הבאה רגולרית: L \ L 00 11 = {w לא כוללת את הרצף 00 או את הרצף : 11 w כלשהו ו n ל w = n 2 }. אבל סדרת ההפרשים של שפה זו לא חסומה, בדומה לסדרת ההפרשים של השפה {0 n 1}. n2 : לסיכום, דיברנו על למת הניפוח והוכחת אי רגולריות באמצעותה. ראינו גם איך להשתמש בתכונות סגור (יתכן שבנוסף לשימוש בלמה) להוכחת אי רגולריות וגם איך להשתמש בסדרת אורכי המילים. 2.1 מחלקות שקילות כעת נראה כיצד לבנות את האוטומט הדטרמיניסטי הקטן ביותר עבור שפה רגולרית L, וננסח תנאי שקול לרגולריות (מספיק והכרחי). ראשית נראה הוכחה חדשה לכך ש {0 n a} n b n : אינה רגולרית. הוכחה. נניח בשלילה ש הוא DF A המקבל את L. לכל מילה a i נסמן ב q i את המצב אליו מגיע האוטומט לאחר קריאת a. i כלומר, (s, a i ) (q i, ε). מכיוון של יש מספר סופי של מצבים, יש i < j כך ש q. i = q j = q נסתכל כעת על החישוב של a i b i (s, a i b i ) (q, b i ) (q, ε). כעת נסתכל על החישוב של,a j b i מכיוון ש q i = q j = q נקבל: (s, a j b i ) (q, b i ) (q, ε). מכיוון ש.q A,a i b i L אבל a j b i / L ולכן q / A סתירה!!! את רעיון ההוכחה ניתן לנסח כך: 25

אם החישוב של אוטומט דטרמיניסטי על שתי מילים w 1 ו w 2 מגיע לאותו מצב, לא יתכן שיש מילה z כך ש w 1 z מתקבלת ו w 2 z לא מתקבלת. הגדרה. תהא L שפה ו Σ.x, y מילה Σ z היא סיפא מפרידה ביחס ל,L אם xz L ו,yz / L או xz / L ו.yz L דוגמאות..1 n} זוגי : n.l = {0 נקח = 0 x ו = 0000.y אזי = 0 1 z היא סיפא מפרידה ו = 00 2 z היא סיפא מפרידה..2 0} n.l = {a n b n : נסתכל על a j,a i כאשר.i j אזי b i ו b j הן סיפאות מפרידות. הגדרה. תהא L שפה ו Σ.x, y נסמן x L y אם לכל Σ.xz L yz L,z מסקנה. אם x L y אז x L y L (נסתכל על.(z = ε דוגמה. n} זוגי : n L 000.L = {0.0 (s, x) טענה. תהא L שפה רגולרית ו.x L y יהא אוטומט דטרמיניסטי עבור.L נסמן, ε) (p x,.p x p y אזי,.(s, y) ו ε) (p y, הוכחה. נניח בשלילה ש.p x = p y = p נקח סיפא מפרידה: z ונניח ב.ה.כ ש xz L ו.yz / L אזי (s, xz) (p, z) (q, ε), (s, yz) (p, z) (q, ε). מכיוון ש q A,xz L ומכיוון ש q / A,yz / L סתירה! אבחנה. היחס L הוא יחס שקילות על Σ (תרגיל: וודאו שהיחס טרנזיטיבי). הסבר לטרנזיטיביות: אם,u L v L w אז לכל uz L vz L wz L z ולכן.u L w הגדרה. Rank(L) מספר מחלקות השקילות ביחס. L משפט. תהא L שפה רגולרית ו A) DF A, = (Q, Σ, δ, s, עבור.L אזי, Q.Rank(L) הוכחה. נקח נציגים ממחלקות השקילות של.E = {x 1, x 2,..., x m,... } : L לכל,x i E נסמן.Rank(L) = E Q לפיכך,.q i q j,i j מטענה קודמת, לכל.(s, x i ) (q i, ε) דוגמאות:.{0 n : אי זוגי n},{0 n : זוגי n} מחלקות השקילות הן:.L = {0 n : זוגי n}.1.2 0} n.l = {a n b n : מחלקות השקילות הן: i = 0, 1, 2,...,{a i } k < i = 1, 2,...,{a i b i k } {שאר המילים} (מילים ש"אין להן תקנה"). 26

הרצאה 10 משפט. L רגולרית אם"ם Rank(L) סופי. אזי אם L רגולרית, נקח DF A ל. =,Q),Σ,δ,s (A L, את הכיוון הקל של המשפט כבר הוכחנו. L ונראה ש Rank(L) = n סופי. נותר להוכיח את הכיוון השני. נניח ש Rank(L) ולכן Rank(L) Q רגולרית. הוכחה. להוכחת הכיוון השני, נניח ש Rank(L) סופית ונבנה אוטומט דטרמיניסטי ל L שמספר מצביו:.Rank(L) לכל מחלקת שקילות נתאים מצב באוטומט. באופן זה, האוטומט "ידע" באיזו מחלקת שקילות נמצאת רישא המילה שנקראה עד כה. לכן, נסמן את המצבים שמתאימים למחלקות שקילות המוכלות ב L כמצבים מקבלים וכך האוטומט יקבל מילים שנמצאות ב L בלבד. כעת נתאר את הבנייה: יהיו X 1,..., X n מחלקות השקילות של. L לכל מחלקת שקילות נבחר נציג: x i X i. נגדיר אוטומט דטרמיניסטי: A) = (Q, Σ, δ, s, כאשר:.Q = {x 1,..., x n } i s = x המקיים x i L ε (שימו לב שיש x i יחיד העונה על התנאי). δ(x i, σ) = x j אם x i σ L x j (שימו לב שיש x j יחיד כנ"ל ולכן δ מוגדרת היטב.).A = {x i : x i L} עלינו להראות ש.L() = L כדי להבין את ההוכחה, נתחיל בדוגמה לבנייה: דוגמה. L = {w {0, 1} : w 0 = 1 (mod 3)}. ישנן 3 מחלקות שקילות: 3)} {w : w 0 = i (mod עבור = 0, 1, 2.i נקח נציג לכל מחלקת שקילות:,11.,101 100 לכל נציג נתאים מצב באוטומט. פונקציית המעברים תוגדר על פי הדוגמה הבאה: נסתכל למשל על 101, אם נוסיף את התו 0 נקבל: 1010. מילה זו שקולה לנציג: 100 ולכן נגדיר: = 100 (0,101)δ. מי המצב התחילי? המצב ששקול ל : ε 11. מי המצבים המקבלים? מצבים המתאימים למילים בשפה: 11. להלן האוטומט: 27

כעת נחזור להוכחה. נשתמש בשתי טענות עזר: טענת עזר.1 אם x L y ו,σ Σ אז.xσ L yσ xσz L ו כלומר, ב.ה.כ. הוכחה. נניח בשלילה שהטענה שקרית ולכן z סיפא מפרידה של xσ ו.yσ.yσz / L קבלנו ש σz סיפא מפרידה של x ו y סתירה! טענת עזר.2 ε)}.x i = {w : (s, w) (x i, הוכחה. במקום להראות הכלה דו כיוונית, ננסח את הטענה באופו שקול: w L x i (s, w) (x i, ε). ההוכחה היא באינדוקציה על w. בסיס..w = ε הטענה ברורה כי.w L s מהלך. נסמן w = w σ ונניח שהטענה נכונה למילים קצרות יותר. ראשית נניח ש w L x i ועלינו להראות ש ε).(s, w) (x i, נסמן.w L x j על פי הנחת האידוקציה, σ).(s, w σ) (x j, על כן, נותר להראות כי.δ(x j, σ) = x i נשתמש בטענת עזר 1 עבור w, x j, σ ונקבל, x j σ L w σ = w L x i ולכן.x j σ L x i לפיכך, δ(x j, σ) = x i כנדרש. כעת נראה את הכיוון השני: נניח ש (ε,s) (w x) i, ונראה ש w. L x i נסתכל על הצעד האחרון בחישוב: (s, w σ) (x j, σ) (x i, ε). 28

על פי הנחת האינדוקציה, w L x j ולפי הבנייה,.x j σ L x i נשתמש בטענת עזר 1 ונקבל: w = w σ L x j σ L x i ולכן w L x i כנדרש. כעת נוכל להוכיח ש L() L. = נזכר באבחנה קודמת:.אם,x L y אז x L y L נקח w L ונראה ש L().w נניח ש.w L x i לפי האבחנה,,x i L לפי טענת עזר,2.w L() ולכן x i A ולפי הבנייה (s, w) (x i, ε) כעת נקח L() w ונראה ש.w L נסמן ε).x i A,(s, w) (x i, אזי, לפי טענת עזר w L x i 2 ולפי הבנייה.x i L לפי האבחנה, w L כנדרש. מסקנה א'. תהא L שפה רגולרית. אזי, לאוטומט הדטרמיניסטי בעל מספר המצבים המינימלי עבור L יש Rank(L) מצבים. הסבר. ראינו שיש ל L אוטומט בעל Rank(L) מצבים, וראינו שלכל DF A עם קבוצת מצבים Q,.Rank(L) Q מסקנה ב'. יהיו L 2,L 1 שפות רגולריות. אזי, ) 2.Rank(L 1 L 2 ) Rank(L 1 ) Rank(L הסבר. נקח אוטומטים דטרמיניסטים ל L 1 ו 1 = (Q 1, Σ, δ 1, s 1, A 1 ) :L 2 ו ) 2 2 = (Q 2, Σ, δ 2, s 2, A כך ש 1 Rank(L 1 ) = Q ו 2.Rank(L 2 ) = Q נסתכל על אוטומט המכפלה: = (Q 1 Q 2, σ, δ, s, A). אוטומט זה מקבל את.L 1 L 2 לכן, ) 2.Rank(L 1 L 2 ) Q 1 Q 2 = Rank(L 1 ) Rank(L בפעם שעברה הגדרנו עבור שפה x L y :L אם לכל Σ L.xz L yz L,z יחס שקילות על Σ ו Rank(L) מספר מחלקות שקילות. הוכחנו L רגולרית אם"ם Rank(L) סופית, ואם L רגולרית, ל DF A הקטן ביותר עבור L יש Rank(L) מצבים. דוגמה להוכחת אי רגולריות. נסתכל על } 1} {0, w.l = {ww R : כדי להראות ש L אינה רגולרית, נראה של L יש אינסוף מחלקות שקילות. לכל 0 i נגדיר:.w i = 0 i 1 אזי, לכל.w i L w j,i j מדוע? נקח z = 10 i ונקבל w i z = 0 i 110 i L, w j z = 0 j 110 i / L. לפיכך, כל w i במחלקת שקילות אחרת ולכן =.Rank(L) 2.2 חישוב Rank(L) והפער בין א"אד לא"ד. תהא 10} = w L.L = {ww R : סופית ולכן רגולרית, מהו.Rank(L)? 1. כל מילה באורך 10 או פחות, שקולה רק לעצמה: 2 11 1 מחלקות שקילות..2 מילה מהצורה xyy R כך ש > 0 y, x + y = 10, שקולה לכל מילה מהצורה. z = y,xzz R כל. 9 מילה x באורך עד 9 מגדירה מחלקה כזו: = 2 10 1 2i i=0 3. כל שאר המילים הן מילים שלא ניתן להשלים למילים בשפה: מחלקה נוספת. 29

סה"כ:.2 11 1 + 2 10 1 + 1 כיצד נבנה את האוטומט? לכל מילה אורך 10 או פחות נתאים מצב: q w (1 2 11 מצבים) כאשר המצב מציין שעד כה קראנו את w. לכן, δ(q w, σ) = q wσ, w ו < 10 q ε = s. כעת, לכל מילה באורך 9 או פחות, נתאים מצב p w שאומר שעלינו לקרוא את w R כדי לקבל (1 2 10 מצבים). לכן, δ(p wσ, σ) = p w בנוסף, אם wσ מאורך 10, w.δ(q wσ, (σ = p נוסיף עוד מצב q junk אליו נעבור כאשר אנו רואים אות "שגויה": δ(p wσ, σ ) = q junk. המצב המקבל הוא p ε וקריאת אות ממנו מובילה ל q. junk דוגמה עבור = 2 :n בהרצאות קודמות, ראינו שאם L מתקבלת על ידי א"אד עם Q מצבים, ניתן לבנות א"ד עם Q 2 מצבים. שאלה טבעית היא, האם יש בנייה חסכונית יותר? נסתכל על השפה 1 k L. k =,0} {1 {0} {,0 {1 שפה זו ניתנת לקבלה על ידי אא"ד עם 1+k מצבים (ראינו בעבר). לעומת זאת, בתרגול תוכיחו ש.Rank(L k ) = 2 k לכן לא תיתכן בנייה כללית שאינה אקספוננציאלית. הרצאה 11 2.3 איזומורפיזם של אוטומטים הגדרה. יהיו ) 1 1 = (Q 1, Σ, δ 1, s 1, A ו ) 2 2 = (Q 2, Σ, δ 2, s 2, A אוטומטים דטרמיניסטים. נאמר שהאוטומטים איזומורפים אם יש f : Q 1 Q 2 חח"ע ועל כך ש:.f(s 1 ) = s 2 30

q A 1 f(q) A 2.δ(q, σ) = q δ(f(q), σ) = f(q ) קל לראות שהיחס: ו N איזומורפים הוא יחס שקילות. נרצה להוכיח את המשפט הבא: אזי, כל שני אוטומטים דטרמיניסטים ל L עם Rank(L) מצבים, תהא L שפה רגולרית. משפט. איזומורפים. הוכחה. מכיון שיחס האיזומורפיזם הוא יחס שקילות, מספיק להוכיח שכל DF A עבור,N = (Q N, Σ, δ N, s N, A, N),L עם מספר מינימלי של מצבים, איזומורפי לאוטומט שבנינו: ). = (Q, Σ, δ, s, A נגדיר את הפונקציה.(s N, x i ) (q, ε) אם f(x i ) = q, של x i לכל מצב.f : Q Q N N ) j.(s N, x זו N (q, ε) וגם (s N, x i ) N (q, ε) אזי,.f(x i ) = f(x j ) חח"ע: נניח בשלילה שלא, ו f.1 סתירה למסקנה קודמת כי ל x i ו x j יש סיפא מפרידה. מכיוון ש N f Q, = Q גם על. להמשך ההוכחה נטען: טענת עזר. y L x i אם"ם ε).(s N, y) (f(x i ), N הוכחה. ראשית נניח ש y L x i ונניח בשלילה ש ε) (s N, y) (f(x j ), כאשר.x j x i אבל, ) j (s N, x N N (ε.(f(x j,( קיבלנו שהחישוב של N על y ו x j מגיע לאותו מצב. זוהי סתירה, כי ל x j ו y יש סיפא מפרידה. כעת נניח ש ε).(s N, y) (f(x i ), מכיוון שגם ε).x i L y,(s N, x i ) (f(x i ), N N ) i.(s N, x לפי טענת העזר, N (f(x i ), ε) אזי,.x i L ε כך ש s = x i נזכר ש :f(s ) = s N.2.f(s ) = f(x i ) = s N לכן.(s N, ε), N (f(x i ), ε) ) i.(s N, x אזי, N (q, ε) ונזכר ש f(x i ) = q נסמן :x i A f(x i ) A N.3 x i A x i L x i L(N) q A N. δ (x i, σ) = x j δ הגדרת x iσ L x j (s N, x i σ) טענת העזר :δ (x i, σ) = x j δ N (f(x i ), σ) = f(x j ).4 (f(x j ), ε) (f(x i), σ) N f הגדרת N (f(x j ), ε) δ N (f(x i ), σ) = f(x j ). נסכם את הנושא של שפות רגולריות: 1. תנאים מספיקים והכרחיים להיות L שפה רגולרית: קיים ב"ר r כך ש.L(r) = L קיים,DF A כך ש.L() = L קיים N,NF A כך ש.L() = L Rank(L) סופי (נוח בהוכחת אי רגולריות) 2. תנאי הכרחי להיות L רגולרית: L מקיימת את תנאי למת הניפוח. ל L סדרת הפרשים חסומה. אלה הם תנאים הכרחיים, לכן ניתן להשתמש בהם בהוכחת אי רגולריות בלבד. 31

הרצאה 12 2.4 שפות חסרות הקשר נתחיל במוטיבציה: כיצד נבנה ביטוי אריתמטי מעל המשתנים:?,x,y z נשתמש ב"כללי גזירה" שיאמרו לנו איך לייצר ביטוי. נתחיל עם ביטוי > exp < שממנו נגזור ביטויים לפי כללי הגזירה:.< exp > z,< exp > y,< exp > x.1.< exp > < exp > < exp >,< exp > < exp > + < exp >.2.< exp > (< exp >).3 כיצד נגזור (נבנה) למשל את (x + y) z? < exp >= < exp > < exp >= (< exp >) < exp >= (< exp > + < exp >) < exp > = (x+ < exp >) z = (x + y) < exp >= (x + y) z באופן כללי, מתחילים בסימן תחילי שלרוב נסמנו ב S, כל שלב מפעילים כללי דקדוק (כללי גזירה) עד שמגיעים לביטוי עליו לא ניתן להפעיל כלל גזירה. בהתייחס לדוגמה שלנו, אוסף כללי הגזירה הוא דרך לתאר את שפת הביטויים האריתמטיים, בדומה לב"ר שמתאר שפה רגולרית (שפת הביטויים האריתמטיים אינה רגולרית). הגדרה. דקדוק ח"ה G הוא רביעיה S) G = (Σ, N, R, כאשר Σ א"ב של אותיות להן נקרא "אותיות סופיות". N א"ב זר ל Σ של אותיות להן נקרא "אותיות לא סופיות". N) R N (Σ קבוצה סופית. לכל איבר ב R נקרא: כלל גזירה. G. ידוע, נשמיט גם את האות G אם A. G במקום לכתוב,(A, w) R נכתוב w בנוסף, לרוב נכתוב רק את כללי הגזירה כאשר: אותיות גדולות יהיו אותיות לא סופיות, אותיות קטנות יהיו אותיות סופיות ו S יהיה הסימן התחילי. למשל נכתוב:.S ε.s as במקום: S).({a}, {S}, {(S, ε), (S, as)}, ניתן להגיע מ S לכל מילה מהצורה a n או a n S על ידי הפעלת כללי גזירה. נוסיף כלל: S bs ניתן להגיע לכל מילה בשפה {ε,a}. {b,s} בהינתן דקדוק חסר הקשר (ח"ה) G, נסמן u = v עבור (N,u, v Σ) אם v מתקבל על ידי הפעלת G כלל גזירה על אות מ.u כלומר, v = xwy.a N,u = xay ו.A w כמו באוטומטים, נשמיט את G G 32

כאשר ידוע על איזה דקדוק ח"ה מדובר. = i הוא ההרכבה של = עם עצמו i פעמים. כלומר, u = i v אם G G G.= G = הוא הסגור הרפלקסיבי טרנזיטיבי של G ניתן להגיע מ u ל v ב i גזירות. השפה המתקבלת ע"י דח"ה היא כל המילים שניתן לגזור מ S בהן אין אותיות לא סופיות. L(G) = {w Σ : S = G w}. שפה כזו נקראת שפה חסרת הקשר. סימון נוסף: במקום לכתוב,A w 3,A w 2,A w 1 נכתוב.A w 1 w 2 w 3 דוגמאות..G : S a asa L(G) = L(a(aa) ) G : S ε as bs.l(g) = {a, b} G : S ε asb 0} n L(G) = {a n b n : אינה רגולרית. G : S ε asa bsb } b} L(G) = {ww R : w {a, אינה רגולרית. G : S ε asb bsa } b} L(G) = {ww R : w {a, כאשר w זו המילה המתקבלת ע"י החלפת כל a ב b ולהפך אינה רגולרית. אנו רואים שיש שפות ח"ה שאינן רגולריות. בהמשך הקורס נראה שיש הכלה ממש, השפות הרגולריות מוכלות באוסף השפות ח"ה. נסתכל על הדקדוק הבא.G : S ε asb SS טענה. L(G) = L כאשר L היא שפת כל המילים b} w {a, שמקיימות: S, אז v עונה על 1 ו 2. מדוע זו טענה חזקה יותר? כי יתכן w a = w b.1.2 בכל רישא w של. w a w b,w הוכחה. (: ) נוכיח טענה חזק יותר: אם = v שיש ב v גם אותיות לא סופיות. הוכחה באינדוקציה על מספר הגזירות. בסיס. עבור 0 כללי גזירה, v. = S מהלך. מקרה א'. נניח שהפעלנו לפחות כלל גזירה 1 וכלל הגזירה הראשון הוא S. = SS אזי v = xy כאשר S = x = S x ו y מתקבלות בפחות כללי גזירה. y.1 מה"ה. v a = x a + y a = x b = y b = v b ו 2. תהא u רישא של v. אם u רישא של x, אזי מה"ה u a u b. אחרת, u = xz כאשר z רישא של y. נפעיל את ה"ה על x ו y ונקבל: u a = x a + z a x b + z b = u b. 33

מקרה ב'. כלל הגזירה הראשון הוא: S. = asb אזי v = aub וניתן לגזור את u בפחות צעדי גזירה..1 מה"ה:. v a = 1 + u a = 1 + u b = v b.2 אם x רישא של v אז x = ε ו 2 מתקיים, או x = v ו 2 מתקיים, או x = ay ו y רישא של.u מה"ה x a = 1 + y a 1 + y b > y b = x b. מקרה ג'. כלל הגזירה הראשון הוא S. = ε במקרה זה v = ε והטענה נכונה. : נקח w L ונראה ש L(G) w באינדוקציה על. w בסיס.,w = ε אכן L(G).w מהלך. נניח ש > 0 w והטענה נכונה למילים קצרות יותר. מקרה א' יש ל w רישא ממש, w 1 כך ש. w 1 a = w 1 b אזי,.w = w 1 w 2 ברור כי w 1 L כי רישא של w 1 היא גם רישא של.w בנוסף, גם w 2 a = w 2 b ומכיוון ש ב w 1 יש אותו מספר מופעי a ו,b גם w 2 מקיימת את תנאי,2 לכן.w 2 L מה"ה: S = SS = w 1 w 2 = w L(G). מקרה ב'. אין ל w רישא כזו. מה האות הראשונה ב w = aw w? בגלל תנאי 2. נשים לב ש w. ε מה האות האחרונה של w? בהכרח b כי אחרת, לפי 2 היו ב w יותר מופעי a. לכן, w = axb ברור ש x עונה על.1 האם תנאי 2 מתקיים? כן, כי לכל רישא y של ay a > ay b,x ולכן. y a y b x L ועל פי ה"ה נקבל: S = asb = axb = w L(G). שפה זו נקראת שפת הסוגריים המאוזנים. מדוע? נחשוב על a כפתיחת סוגריים ועל b כסגירת סוגריים. L היא שפת כל הסוגריים ה"חוקיות". הרצאה 13. נסמן ב L CF G את אוסף השפות מעל Σ המתקבלות ע"י דקדוק ח"ה. משפט. L CF G סגורה תחת: 1. איחוד. 2. שרשור. 3. כוכב קליני. 4. חיתוך עם שפות רגולריות. 34

היום נוכיח את 1 3 ובהמשך הקורס נוכיח את 4. זהירות!!! G L CF אינה סגורה תחת חיתוך ומשלים. סגירות לאיחוד יהיו L 1 ו, 2 L שפות ב L CF G המתקבלות ע"י דקדוקים: G 1 = (Σ, N 1, R 1, S 1 ) ) 2 G 2 = (Σ, N 2, R 2, S בהתאמה. נראה ש.L 1 L 2 L CF G ב.ה.כ. נניח ש = 2.N 1 N נגדיר דקדוק חדש: G = (Σ, N 1 N 2 {S}, R {S S 1 S 2 }, S). (w L(G)) (S = G w) (S = G S 1 = G w S = G S 2 = G w) מכיוון ש = 2,N 1 N (S 1 = w S 2 = w) (w L 1 w L 2 ) (w L 1 L 2 ) G1 G2 סגירות לשרשור. יהיו L 1 ו, 2 L שפות ב L CF G המתקבלות ע"י דקדוקים: G 1 = (Σ, N 1, R 1, S 1 ) ) 2 G 2 = (Σ, N 2, R 2, S בהתאמה. נראה ש.L 1 L 2 L CF G ב.ה.כ. נניח ש = 2.N 1 N נגדיר דקדוק חדש: G = (Σ, N 1 N 2 {S}, R {S S 1 S 2 }, S). ההוכחה דומה למקרה הקודם... סגירות לכוכב קליני. נניח ש L 1 מתקבלת ע"י (S G. =,Σ),N,R יהא S / N ונגדיר את הדקדוק הבא: G = (Σ, N {S }, R {S S S ε}, S).w i L וכל k > 0,w = w 1 w 2... w k אחרת,.w L(G ) אז,w = ε אם.w L נקח :L L(G ).S = w אזי, לכן, לכל S = w i i ולכן גם G i G S k = G S S k = G S k = G w 1 w 2... w k ולכן ) L(G.w L :L(G ) נקח ) L(G w ונראה ש L.w ההוכחה באינדוקציה על מספר הגזירות. בסיס..S = w אזי, L.w = ε G מהלך. נניח ש w נתקבלה על ידי יותר מגזירה אחת והטענה נכונה לכל מילה שנתבלה בפחות צעדי גזירה. נסתכל על צעד הגזירה הראשון: S = S S = w. G G,S / N מכיוון ש.S = G ו w 2 S = G אזי, w = w 1 w 2 כאשר w 1 S = G w 1, S = G w 2. אזי, w 2 L ולפי הנחת האינדוקציה, L.w 1 לכן, L.w = w 1 w 2 הגדרה. דקדוק ח"ה (S G =,Σ),N,R יקרא דקדוק ח"ה רגולרי, אם R (N {ε}) (N ΣN) (N N). 35

כלומר, כללי הגזירה הם מהצורה: A ε ab B משפט. L רגולרית אם"ם L מתקבלת ע"י דקדוק רגולרי. הוכחה בתרגול. הערה. מכך לא נובע שאם L מתקבלת על ידי דקדוק שאינו רגולרי, אז L לא רגולרית. למשל: S. ε asa מסקנה..L reg L CF G 2.5 אוטומט מחסנית "נחזק" את האוטומט שהכרנו עם מבנה נתונים על מנת שנוכל לקבל שפות ח"ה. מבנה הנתונים שלנו הוא מחסנית. אוטומט (אי דטרמיניסטי) יכול לקרוא אות או ε ולעבור למצב חדש. כיצד נוכל לקבל את השפה {0 n a}? n b n : נוסיף לאוטומט מחסנית: בהתחלה, ננסה לקרוא מופעי a ונבצע להם.push בשלב מסוים, באופן אי דטרמיניסטי נעבור למצב חדש וננסה לקרוא רק b. בכל קריאה של b נבצע.pop נקבל אם הצלחנו לבצע pop בכל קריאה של b ואם המחסנית בסוף ריקה. אז מה האוטמט שלנו יכול לעשות? בקריאת אות או מעבר ε, האוטומט גם מבצע אחד מהבאים לא מתייחס למחסנית ועובר למצב חדש ע"פ פונקצית המעברים. מבצע push(α) לאות נתונה α ועובר למצב הבא: מנסה לבצע,pop(α) ורק אם ניתן מבצע pop(α) ועובר למצב הבא. מנסה לבצע,pop(α) ורק אם ניתן מבצע,pop(α) מבצע push(β) ועובר למצב הבא. הגדרה. אוטומט מחסנית DA) (P הוא שישייה A) (Q, Σ, Γ,, s, כאשר: Q קבוצה סופית של מצבים. Σ א"ב. Γ א"ב מחסנית. ε)) : Q (Σ {ε}) (Γ ε) P (Q (Γ פונקציית המעברים (אי דטרמיניסטית). Q s מצב תחילי. Q A קבוצת מצבים מקבלים. באופן אינטואיובי, עבור (q, β) (q, σ, α),α Γ משמעו שאם הגענו למצב q ובראש המחסנית יש,α ניתן בקריאת σ (יתכן ש σ) = ε לעבור ל q כאשר מוציאים את α מראש המחסנית ושמים במקומה את β (יתכן ש.(push ואז לא מבצעים β = ε ε) (q, β) (q, σ, משמעו שאם הגענו למצב,q ניתן בקריאת σ (יתכן ש (σ = ε לעבור ל q כאשר לא מוציאים דבר מהמחסנית ומבצעים push(β) (יתכן ש β = ε ואז לא מבצעים.(push 36

קונפיגורציה של אוטומט מחסנית היא איבר של Γ.Q Σ קונפיגורציה מתארת את המצב בו אנו נמצאים, את המילה שנותר לקרוא ואת המילה שנמצאת במחסנית. מעבר בין קונפיגורציות. יהא אוטומט מחסנית עם פונקציית מעברים. אם (α q), (β,q),σ (יתכן ש α,σ או β הן,(ε אז לכל Σ w ו Γ,x (q, σw, αx) (q, w, βx). i גם כאן נשמיט את כאשר ברור מי האוטומט, ונשתמש ב כלשהו של צעדים. נגדיר את השפה המתקבלת ע"י אוטומט: ו לתיאור חישוב ב i צעדים/במספר L() = {w Σ : q A ( (s, w, ε) (q, ε, ε) ) } נסמן L P DA אוסף השפות המתקבלות ע"י אוטומט מחסנית. הערה. פונקציית המעברים של אוטומט מחסנית היא פונקציה אי דטרמיניסטית. ניתן להגדיר גם אוטומט מחסנית דטרמיניסטי.DP DA אבל, בניגוד לאוטמטים סופיים, L. P DA L DP DA בקורס נעסוק אך ורק במודל האי דטרמיניסטי, כפי שהגדרנו אותו. הרצאה 14. דוגמה. נסתכל על האוטומט הבא. (f מקבל) אנו משתמשים בסימון,a b/c על מעבר בין q ל r כדי לסמן (b,r). (c,q),a כלומר, קוראים a, מוציאים b ושמים c. טענה..L() = {a n cb n : n 0} = L הוכחה. L() :L נקח.w = a n cb n L אזי, (s, a n cb n, ε) (s, cb n, a n ) (f, b n, a n ) (f, ε, ε) = w L. 37

w = xcy,s ל f ואין מעבר בין c בקריאת f ל s מכיוון שיש מעבר בין.w L() נקח :L() L והחישוב המקבל (והיחיד) נראה כך (s, xcy, ε) (s, cy, z) (f, y, z) (f, ε, ε). בצד שמאל של החישוב יש רק מעברים מ s ל s. בכל מעבר כזה, קוראים a ומבצעים.push(a) לכן,.pop : a ומבצעים b בכל מעבר כזה, קוראים f. ל f כלשהו. בצד ימין יש רק מעברים מ n עבור x = a n = z מכיוון שהמחסנית התרוקנה,.y = b n לכן,.w = a n cb n L דוגמה נוספת. טענה. L() = L כאשר L היא שפת הסוגריים. כלומר, w L אם"ם. w a = w b.1.2 לכל רישא w של. w a w b,w w 1 a w 1 b = k 2 אז k 1,(s, w 1 w 2, a k 1 ) (s, w 2, a k 2 הוכחה. טענת עזר. אם ).(s, w σw 2, a k 1 לפי הנחת ) הוכחה. באינדוקציה על 1 w. בסיס. = 0 1. w מכיון שאין מעברי k 1 = k 2,ε והטענה נכונה. (s, σw 2, a k ) (s, w 2, a k 2 מהלך. נסמן.w 1 = w σ נסמן ) האינדוקציה,. w a w b = k k 1 w 1 a w 1 b = ( w a + 1) w b = k k 1 + 1 = k 2 k 1. מקרה א'..σ = a אזי, + 1 k k 2 = ו 38

w 1 a w 1 b = w a ( w b + 1) = k k 1 1 = k 2 k 1. מקרה ב'..σ = b אזי, 1 k k 2 = ו ε).(s, w, אזי, = 0 b. w a w בנוסף, לכל חלוקה מסקנה..L() L נניח ש ε) (s, ε,. w 1 a w 1 b = k לכן 0.k 0,(s, w 1 w 2, ε) (s, w 2, a k ),w = w 1 w 2 L() L: נקח w L ונוכיח באינדוקציה על w. מקרה הבסיס פשוט. לצעד האינדוקציה נבחין בין שני מקרים:.w 1, w 2 L,w = w 1 w 2.1.2 אם 1 לא מתקיים, w = aw b כאשר.w L הווכחה דומה להוכחה שראינו עבור דקדוק ח"ה ומושארת כתרגיל. דוגמה נוספת. נניח כעת שיש לנו כמה סוגי סוגריים: ( n, ) n,..., ), 1 :( הרצאה 15 על פי תנאי הקבלה שהגדרנו, מילה מתקבלת אם לאחר שסיימנו לקרוא את המילה, הגענו למצב מקבל והמחסנית ריקה. ניתן להסתכל על תנאי קבלה שונה בו עלינו להגיע למצב מקבל בלבד. בהינתן אוטומט מחסנית, נגדיר } Γ.ˆL() = {w Σ : (s, w, ε) (q, ε, x), q A, x נשאלת השאלה, האם בשינוי תנאי הקבלה, שינינו גם את הכח החישובי של המודל? התשובה היא שלא. טענה. תהא L שפה. יש אוטומט מחסנית כך ש L() L = אם"ם יש אוטומט מחסנית כך ש.L = ˆL( ) הוכחה. (בראשי פרקים). נניח תחילה ש ) ˆL( L = ונבנה אוטומט כך ש L() L. = הרעיון הוא כזה: נוסיף מצב חדש f, שיהיה מצב מקבל יחיד ובו ניתן לרוקן את המחסנית. ניתן לעבור מכל מצב מקבל של ל f, ומ f ניתן להוציא כל אות מהמחסנית במעבר ε. 39