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