True. Proof by example: L={0n | n is a prime number} L is known to
Transcription
True. Proof by example: L={0n | n is a prime number} L is known to
אוטומטים ושפות פורמליות מבחן מסכם 20.01.2010 פרופ' יעקב הל-אור מספר ת.ז______________________________: מספר מחברת_________________________: שאלה 1 2 3 4 5 סה"כ ניקוד /24 /26 /25 /25 /2 /102 הנחיות: .1משך הבחינה 3שעות .2יש לענות על דפים אלו בלבד ואין לחרוג מהמקום המוקצה לכל תשובה. .3המבחן עם חומר פתוח .אין להשתמש במחשבים מכל סוג. .4מותר להסתמך בתשובותיכם על טענות שהוכחו בכתה או בתרגילי הבית. בהצלחה! שאלה 24) 1נקודות( לכל אחת מהטענות הבאות הקיפו נכון או לא נכון ונמקו בקצרה )במקום המוקצה לכך בלבד(. בכל טענה 3 ,נק' יינתנו לאבחנה נכונה ו 3-נק' לנימוק. א 6) .נק (.תהי } Σ={0א"ב המכיל אות אחת בלבד .קיימת שפה * L⊂Σשאיננה רגולרית. נכון /לא נכון נימוק: True. }Proof by example: L={0n | n is a prime number L is known to be non-regular. ב 6) .נק (.לכל שפה חסרת הקשר Lמתקיים שהשפה L∩LRחסרת הקשר נכון /לא נכון נימוק: Not true. Proof by example: Let L={anbnam | m,n>0}. L is known to be CFL. LR={ambnan | m,n>0}. LR is also known to be a CFL (also CFL are closed under reverse). However L ∩LR = {anbnan | n>0} is not CFL. 1 L={ w∈{a,b}* | כתת מילהbba וגםaba מכילהw} : שפה המוגדרת להלןL ( תהי. נק6) .ג מקיימת את ֵל ַמת הניפוח )עבור שפות רגולריות( עבור כל המילים בשפה שאורכןL השפה .11 גדול מ :נימוק לא נכון/נכון Unfortunately, the question was not clear. The meaning was that you have to show that L is regular and satisfies the pumping lema where n=11 (i.e. 11 is the number promissed by the lema). Since the wording was not clear, I accepted answers showing that L is regular and thus satistying the pumping lema (for all w∈L and particularly for |w|>11). The required answer: True. Define: L1={w | w includes ‘aba’ as substring} L2={w | w includes ‘bba’ as substring} Where L=L1∩L2 Both L1 and L2 are regular since we can build DFAs for them: A1: A2: 2 The automaton recognizing L=L1∩L2 is the product of the 2 automata which consists of 4x4=16 states. However, not all states are reachable, and eventually only 12 are reachable (see below). Therefore, the number promissed by the the pumping lema is 12. (un-ambiguous) ( כל דקדוק רגולרי הוא גם דקדוק חד משמעי. נק6) .ד :נימוק לא נכון/נכון Not true. Proof by example: Assume the following regular grammar: S→aA | aB A→bA | ε B→bB | ε The word ‘abb’ can be generated in two ways: S⇒aA⇒abA⇒abbA⇒abb S⇒aB⇒abB⇒abbB⇒abb Thus the grammer is ambiguous. 3 (דות נקוד26) 2 שאלה ה :הבא באופן אΣ={a,b} Σ מעל מוגדרת מL שפה L= ={w | #a(u) ≥ |u| , where w u is a any prefix of o w} .ים-a שא שלהן יש לפחות שליש את כל המיליים שבכל ריש מכילה אL ,כלומר ר .רגולרית ת איננהL ( הוכח כי שפה. נק7 ) .א Assume the A t contra ary that L is regula ar, and th herefore satisfies s tthe pump ping le ema for regular r la anguagess. Assume e n is the e constant numberr that is 2 p promissed d by the lema. l W choose We e the word d w=anb2n . |w w|≥n and d thereforre there exists e a decompos sition w=xxyz that ssatisfies: |yy|>0, |xy||≤n, and wi=xyiz∈L. Since e |xy|≤n we w can co onclude tthat x and dy s t n-s-t 2n c consist off a’s. Thu us, x=a ; y=a ; z=a b 0 s n-s-t 2n T word w0= xy z=xz=a The z a b =a an-tb2n S Since |y|> >0 ⇒ t>0 0 ⇒ #a(w ( 0)=n-t < (3n-t)= = |w0| ⇒ #a(w w0) < |w0| ⇒ w0∉L in con ntradiction n to the le ema. T Therefore e L is NOT T regularr. .תשובתך הסבר ת.L השפה ה המזהה את ה קדוק חסר הקשר ( בנה דק. נק7) .ב S→aSBSBS| ε B→b|ε F each letter ‘a’ we add at For a most 2 b’s in its right. N Note, thatt the b’s can c appe ear at any y location n after the e ‘a’. סעיף הקודם של הדקדוק שהגדרת בס ע"י המרה שL את השפה ( בנה אוטומט מחסנית המקבל א. נק6) .ג . הסבר תשובתך.ת לאוטומט מחסנית 4 L’={w | #a(u) ≥ |u| where u is any suffix of w} : מוגדרת באופן הבאL’ ( השפה. נק6 ) .ד . הסבר תשובתך.L’ בנה דקדוק ל Just ‘reverse’ the grammar: S→SBSBa|ε B→b|ε ( נקודות25) 3 שאלה : ידועk>0 המקיימת את התכונה הבאה עבור מספרΣ={a,b} שפה לא ריקה מעלL תהא .( או פחות2k באורךL אין מילים ב, )כלומרL ∩ {w | |w|≤2k}=∅ גדולA אזי מספר המצבים בL הוא אוטומט סופי דטרמניסטי המזהה אתA ( הוכח כי אם. נק13) .א .2k+1 -מ Since a DFA recognizes L ⇒ L is regular. Let w∈L to be the smallest word in L (i.e. ∀ u∈L, |u|≥|w| ). |w| is at least 2k+1 . Define n - the number of states in A. Assume the contrary that n ≤ 2k+1. Therefore by the pumping lema for regular languages, w can be pumped (since |w|≥2k+1≥n). Thus, there exists a decomposition w=xyz where w0=xy0z ∈L. Since |y|>0 ⇒ |w0|<|w| in contrary to the fact that w is the smallest word ⇒ n > 2k+1 Q.E.D. הוא דקדוק נורמלי שלG הנח כי, ( היא שפה חסרת הקשר )ולא רגולריתL -( במידה ו. נק12) .ב .k גדול מG הוכח כי מספר המשתנים ב.L חומסקי המזהה את Let w∈L be the smallest word in L. Define T – the the parsing tree that parses w excluding the terminals (i.e. in T all nodes are variables). Since we use a CNF grammar T is a binary tree. Let h(T) be the height of T. The length |w| ≥ 2k+1 ⇒ T has at least 2k+1 leaves ⇒ h(T)>k (binary tree). Define n - the number of variables in G and assume the contrary that n≤k. Since h(T)>k ⇒ there exist a path in T from the root down to the leaves with a variable appearing more than once (pigeonhole principle) 5 ⇒ w can be pumpted, i.e. there is a decomposition w=uvxyz where w0=uv0xy0z ∈L. However, since |uv|>0 ⇒ | w0|<|w| in contrary to the fact that w is the smallest word ⇒ n>k Q.E.D. Comments: A common mistake in the exams: Let the smallest word |w| ≥ 2k+1 ⇒ we have at least 2|w|-1=2k+1+1 derivation steps ⇒ we have at least 2k+1+1 different variables, but 2k+1+1 > k ⇒ we have at least k variables. Of course this is wrong, because in the 2|w|-1 derivation steps a variable can appear more than once. A variable cannot appear more than once only in a path from the root down to a leaf because in such a case w can be “pumped”. However, a variable can appear more than once in the tree. (' נק25) 4 שאלה :Σ={a,b} נתונות שתי שפות מעל R + L1={wtw | w,t∈{a,b} and |w|=|t| } L2={wtwR | w,t∈{a,b}+ } .אחת משתי השפות היא חסרת הקשר והשניה אינה חסרת הקשר :עבור כל אחת משתי השפות .( ציינו אם היא חסרת הקשר או לא. נק5) .א L2 is context-free and L1 is not. , אם היא אינה חסרת הקשר.( אם היא חסרת הקשר בנו דקדוק המזהה את השפה. נק20) .ב .הוכיחו זאת באמצעות למת הניפוח Grammar for L2: S → aAa | bAb A → aA | bA | a | b Also possible: S → aAa | bAb | aAa | bAb A → aA | bA | a | b 6 Comments: 1. Note, that t and w cannot be the empty string. 2. L1 can be described by a regular expression: a(a+b)+a + b(a+b)+b Note, that t can obsorb the entire word out of the two leftmost/rightmost letters. A proof that L1 is not context-free: Assume the contrary that L1 is CFL, and therefore satisfies the pumping lema for CFL. Assume n is the constant number promissed by the lema. We choose the word w=a2n anbn a2n and show that the pumping lema is not satisfied. |w|≥n and therefore there exists a decomposition w=uvxyz that satisfies: |vy|>0, |vxy|≤n, and wi=uvixyiz∈L1. We will check all possible decomposition: For clarity we define for any word w=Z1 Z2 Z3 where |Z1|=|Z2|=|Z3| In all cases we assume |vy| can be divided by 3, i.e. |vy|=3r (r is natural). Otherwise, w1∉L1 because the condition |Z1|=|Z2|=|Z3| cannot be satisfied. case 1: vy=as where s= 3r and it all included in the left prefix (before the b’s). In this case, w1= a3n+3r bn a2n and |w1|=3(2n+r). Thus, |Z1|=|Z2|=|Z3|=2n+r ⇒ Z1=a2n+r and Z3=bra2n (r>0) ⇒ (Z1)R≠Z3 ⇒ w1∉L1 case 2: vy=as=a3r and it all included in the right suffix (after the b’s). In this case, w0= a2nanbn a2n-3r ⇒ |w0|=3(2n-r) ⇒ ⇒ Z1=a2n-r and Z3=b2ra2n-3r (r>0) ⇒ (Z1)R≠Z3 ⇒ w0∉L1 case 3: vy=bs=b3r In this case w1=a2n anbn+3r a2n ⇒ |w1|=3(2n+r) ⇒ Z1=a2n+r and Z3=bra2n (r>0) ⇒ (Z1)R≠Z3 ⇒ w1∉L1 case 4: vy=apbq p,q>0 and p+q=3r (note, p+q≤n) In this case w1=a2n an+pbn+q a2n ⇒ |w1|=3(2n+r) ⇒ Z1=a2n+r and Z3=bra2n (r>0) ⇒ (Z1)R≠Z3 ⇒ w1∉L1 7 case 5: vy=bpaq p,q>0 and p+q=3r sub-case 5.1: q<r In this case w1=a2n anbn+p a2n+q ⇒ |w1|=3(2n+r) ⇒ ⇒ Z1=a2n+r and Z3=br-qa2n+q ⇒ (Z1)R ≠ Z3 ⇒ w1∉L1 sub-case 5.2: q>r In this case w0=a2n anbn-p a2n-q ⇒ |w1|=3(2n-r) ⇒ ⇒ Z1=a2n-r and Z3=bq-ra2n-q ⇒ (Z1)R ≠ Z3 ⇒ w1∉L1 sub-case 5.3: q=r Since p+q=3r and q=r ⇒ p=2r ⇒ w1=a2n anbn+2r a2n+r and similarly wk=a2n anbn+2rk a2n+rk . Let choose k=n+1. In this case wn=a2n anbn+2r(n+1) a2n+r(n+1) and therefore | wn+1|=3(2n+r(n+1)). r>0 ⇒ 2n+r(n+1) > 3n ⇒ ⇒ Z1=a3nb+ and Z3= a2n+r(n+1) ⇒ (Z1)R ≠ Z3 ⇒ w1∉L1 Comments: 1. Assume |vy| is included in the left a’s. Pumping the a’s does NOT change only the length of Z1 but also Z2 and Z3 accordingly. This was a very common mistake in your answers. 2. If you choose the word w=anbnan one can find a decomposition that satisfies the lema; The decomposition w=uvxyz where v=b, x=ε, and y=b2 satisfies the lema. Note, that for each k, wk= anbn+3kan where Z1=anbk Z2=bn+k and Z3=bkan . Thus wk∈L1 . ( נקודות2 )בונוס5 שאלה L={w.t.wtR | w,t∈Σ*} : מוגדרת באופן הבאL שפה ? מהי המילה.L -מצא בטופס המבחן מילה השייכת ל The date: 20.01.2010 8