Tema 1.   Teoria de Llenguatges

Teoria

  • M. Sipser,
    Introduction to the Theory of Computation, Third edition, Cengage Learning, 2012
    Chapter 0. Introduction

Veure els següents vídeos:

Exercicis per a l’avaluació contínua

Exercici 1.1.

Formalitzeu els següents llenguatges utilitzant la notació clàssica de conjunts, com a parell variable de mot (wΣ*w\in\Sigma^{*}) i propietat (PP) definida sobre mots, de manera que el llenguatge es pot definir com el conjunt {wΣ*P(w)}\{w\in\Sigma^{*}\mid P(w)\}. Per a definir formalment la propietat PP feu servir quantificadors universals i existencials, operadors booleans i les notacions sobre mides de mots que hem introduït.

  1. (aa)  

    Llenguatge dels mots sobre {a,b}\{a,b\} que contenen el submot abab.

  2. (bb)  

    Llenguatge dels mots sobre {a,b}\{a,b\} tals que a la dreta de cada submot abab hi ha algun submot baba.

  3. (cc)  

    Llenguatge dels mots sobre {a,b}\{a,b\} que contenen el submot abab i el submot baba.

  4. (dd)  

    Llenguatge dels mots sobre {a,b,c}\{a,b,c\} tals que entre cada dues bb’s hi ha alguna aa.

  5. (ee)  

    Llenguatge de mots sobre {a,b}\{a,b\} tal que tota ocurrència de bb està en posició parell (el primer símbol d’un mot ocupa la posició 11).

  6. (ff)  

    Llenguatge dels mots sobre {a,b}\{a,b\} amb algun prefix amb més bb’s o igual que aa’s.

  7. (gg)  

    Llenguatge dels mots sobre {a,b}\{a,b\} tals que qualsevol prefixe seu té més bb’s o igual que aa’s.

  8. (hh)  

    Llenguatge dels mots sobre {a,b}\{a,b\} amb algun prefix de mida parell amb més bb’s o igual que aa’s.

  9. (ii)  

    Llenguatge dels mots sobre {a,b}\{a,b\} tals que qualsevol prefixe seu de mida parell té més bb’s o igual que aa’s.

  10. (jj)  

    Llenguatge dels mots sobre {a,b}\{a,b\} que tenen un prefix i un sufix idèntics de mida major que 0 i menor que la mida del propi mot.

Exercici 1.2.

Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions sobre mots x,y,zx,y,z i llenguatges A,B,CA,B,C en general.

  1. (aa)  

    xy=yxxy=yx.

  2. (bb)  

    xy=xzy=zxy=xz\Rightarrow y=z.

  3. (cc)  

    A(BC)=(AB)CA(BC)=(AB)C.

  4. (dd)  

    AB=BAAB=BA.

  5. (ee)  

    A∅︀AB=ACB=CA\not=\emptyset\;\wedge\;AB=AC\;\Rightarrow\;B=C.

  6. (ff)  

    A∅︀B∅︀AB=CD(uA,vC:|u|=|v|)A=CB=DA\not=\emptyset\;\wedge\;B\not=\emptyset\;\wedge\;AB=CD\;\wedge\;(\forall u\in A% ,v\in C:|u|=|v|)\;\Rightarrow\;A=C\;\wedge\;B=D.

  7. (gg)  

    (AB)C=ACBC(A\cup B)C=AC\cup BC i A(BC)=ABACA(B\cup C)=AB\cup AC.

  8. (hh)  

    (AB)CACBC(A\cap B)C\subseteq AC\cap BC i A(BC)ABACA(B\cap C)\subseteq AB\cap AC.

  9. (ii)  

    (AB)CACBC(A\cap B)C\supseteq AC\cap BC i A(BC)ABACA(B\cap C)\supseteq AB\cap AC.

Exercici 1.3.

Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.

  1. (aa)  

    L*={a,b}*{a,b}LL^{*}=\{a,b\}^{*}\;\Rightarrow\;\{a,b\}\subseteq L.

  2. (bb)  

    L1*L2*(L1L2)*L_{1}^{*}L_{2}^{*}\subseteq(L_{1}L_{2})^{*}.

  3. (cc)  

    L1*L2*(L1L2)*L_{1}^{*}L_{2}^{*}\supseteq(L_{1}L_{2})^{*}.

  4. (dd)  

    L1+L2+={a,b}+L1+L2+=∅︀L1=∅︀L2=∅︀L_{1}^{+}\cup L_{2}^{+}=\{a,b\}^{+}\;\wedge\;L_{1}^{+}\cap L_{2}^{+}=\emptyset% \;\Rightarrow\;L_{1}=\emptyset\;\vee\;L_{2}=\emptyset.

  5. (ee)  

    (L1*L2*)(L1L2)*(L_{1}^{*}\cup L_{2}^{*})\subseteq(L_{1}\cup L_{2})^{*}.

  6. (ff)  

    (L1*L2*)(L1L2)*(L_{1}^{*}\cup L_{2}^{*})\supseteq(L_{1}\cup L_{2})^{*}.

  7. (gg)  

    (L1L2)*(L1*L2*)(L_{1}\cap L_{2})^{*}\subseteq(L_{1}^{*}\cap L_{2}^{*}).

  8. (hh)  

    (L1L2)*(L1*L2*)(L_{1}\cap L_{2})^{*}\supseteq(L_{1}^{*}\cap L_{2}^{*}).

  9. (ii)  

    L1*L2*L1L2L_{1}^{*}\subseteq L_{2}^{*}\;\Rightarrow\;L_{1}\subseteq L_{2}.

  10. (jj)  

    L*¯L¯L¯*\overline{L^{*}}\subseteq\overline{L}\subseteq\overline{L}^{*}.

  11. (kk)  

    L*¯L¯L¯*\overline{L^{*}}\supseteq\overline{L}\supseteq\overline{L}^{*}.

  12. (ll)  

    L1∅︀L2∅︀L1L2=∅︀L1*L2*L_{1}\not=\emptyset\;\wedge\;L_{2}\not=\emptyset\;\wedge\;L_{1}\cap L_{2}=% \emptyset\;\Rightarrow\;L_{1}^{*}\not=L_{2}^{*}.

  13. (mm)  

    L+L+L+L^{+}L^{+}\subseteq L^{+}.

  14. (nn)  

    L+L+L+L^{+}L^{+}\supseteq L^{+}.

  15. (oo)  

    (L2)*(L*)2(L^{2})^{*}\subseteq(L^{*})^{2}.

  16. (pp)  

    (L2)*(L*)2(L^{2})^{*}\supseteq(L^{*})^{2}.

  17. (qq)  

    LL2(λL)(L=∅︀)L\subseteq L^{2}\Leftrightarrow(\lambda\in L)\vee(L=\emptyset).

  18. (rr)  

    L2LL=L+L^{2}\subseteq L\Leftrightarrow L=L^{+}.

  19. (ss)  

    (λL)(L2L)L=L*(\lambda\in L)\wedge(L^{2}\subseteq L)\Leftrightarrow L=L^{*}.

  20. (tt)  

    L=L2(L=L*)(L=∅︀)L=L^{2}\Rightarrow(L=L^{*})\vee(L=\emptyset).

Exercici 1.4.

Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.

  1. (aa)  

    (xy)R=yRxR(xy)^{R}=y^{R}x^{R}.

  2. (bb)  

    (L1L2)R=L2RL1R(L_{1}L_{2})^{R}=L_{2}^{R}L_{1}^{R}.

  3. (cc)  

    (L1L2)R=L1RL2R(L_{1}\cup L_{2})^{R}=L_{1}^{R}\cup L_{2}^{R}.

  4. (dd)  

    (L1L2)R=L1RL2R(L_{1}\cap L_{2})^{R}=L_{1}^{R}\cap L_{2}^{R}.

  5. (ee)  

    L¯R=LR¯\overline{L}^{R}=\overline{L^{R}}.

  6. (ff)  

    (L*)R=(LR)*(L^{*})^{R}=(L^{R})^{*}.

  7. (gg)  

    (L1L2)R=L1RL2RL1=L2(L_{1}L_{2})^{R}=L_{1}^{R}L_{2}^{R}\;\Rightarrow\;L_{1}=L_{2}.

Exercici 1.5.

Quines de les següents definicions de la funció σ\sigma defineixen un morfisme (és a dir, cumpleixen σ(xy)=σ(x)σ(y)\sigma(xy)=\sigma(x)\sigma(y) per a mots x,yx,y qualssevol).

  1. (aa)  

    σ(a1a2an)=a1a1a2a2anan\sigma(a_{1}a_{2}\cdots a_{n})=a_{1}a_{1}a_{2}a_{2}\cdots a_{n}a_{n}, essent a1,,ana_{1},\ldots,a_{n}, tot ells, símbols de l’alfabet.

  2. (bb)  

    σ(a1a2a3an)=a1a2a2a3a3a3anann)\sigma(a_{1}a_{2}a_{3}\cdots a_{n})=a_{1}a_{2}a_{2}a_{3}a_{3}a_{3}\cdots% \overbrace{a_{n}\cdots a_{n}}^{n)}, essent a1,,ana_{1},\ldots,a_{n}, tot ells, símbols de l’alfabet.

  3. (cc)  

    σ(w)=w\sigma(w)=w.

  4. (dd)  

    σ(w)=λ\sigma(w)=\lambda.

  5. (ee)  

    σ(w)=a|w|\sigma(w)=a^{|w|}.

  6. (ff)  

    σ(w)=wR\sigma(w)=w^{R}.

  7. (gg)  

    σ(w)=σ1(σ2(w))\sigma(w)=\sigma_{1}(\sigma_{2}(w)) per a morfismes σ1,σ2\sigma_{1},\sigma_{2}.

Exercici 1.6.

Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general, on σ\sigma és un morfisme.

  1. (aa)  

    σ(L1L2)=σ(L1)σ(L2)\sigma(L_{1}L_{2})=\sigma(L_{1})\sigma(L_{2}).

  2. (bb)  

    σ(Ln)=σ(L)n\sigma(L^{n})=\sigma(L)^{n}.

  3. (cc)  

    σ(L1L2)=σ(L1)σ(L2)\sigma(L_{1}\cup L_{2})=\sigma(L_{1})\cup\sigma(L_{2}).

  4. (dd)  

    σ(L*)=σ(L)*\sigma(L^{*})=\sigma(L)^{*}.

  5. (ee)  

    σ(LR)=σ(L)R\sigma(L^{R})=\sigma(L)^{R}.

  6. (ff)  

    σ(L¯)=σ(L)¯\sigma(\overline{L})=\overline{\sigma(L)}.

  7. (gg)  

    σ(L)=LxL:σ(x)=x\sigma(L)=L\;\Rightarrow\;\forall x\in L:\sigma(x)=x.

Exercici 1.7.

Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.

  1. (aa)  

    |L1||L2|=|L1L2||L_{1}|\cdot|L_{2}|=|L_{1}\cdot L_{2}|.

  2. (bb)  

    (a,bΣ:(abσ(a)σ(b)))|σ(L)|=|L|(\forall a,b\in\Sigma:(a\not=b\Rightarrow\sigma(a)\not=\sigma(b)))\Rightarrow|% \sigma(L)|=|L|, on σ\sigma és un morfisme.

  3. (cc)  

    |LR|=|L||L^{R}|=|L|.

  4. (dd)  

    |Ln|=|L|n|L^{n}|=|L|^{n}.

Exercici 1.8.

Donat un llenguatge LL, shiftar LL dóna lloc a un nou llenguatge, que denotem S(L)S(L), i que conté als mots que s’obtenen agafant cada mot de LL i rotant-lo de totes les maneres possibles, formalment: S(L)={vuuvL}S(L)=\{vu\mid uv\in L\}. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.

  1. (aa)  

    S(L)*S(L*)S(L)^{*}\subseteq S(L^{*}).

  2. (bb)  

    S(L)*S(L*)S(L)^{*}\supseteq S(L^{*}).

  3. (cc)  

    S(L)¯=S(L¯)\overline{S(L)}=S(\overline{L}).

  4. (dd)  

    S(LR)=S(L)RS(L^{R})=S(L)^{R}.

  5. (ee)  

    S(L1L2)=S(L1)S(L2)S(L_{1}\cup L_{2})=S(L_{1})\cup S(L_{2}).

  6. (ff)  

    S(L1L2)=S(L1)S(L2)S(L_{1}\cap L_{2})=S(L_{1})\cap S(L_{2}).

  7. (gg)  

    S(L1L2)=S(L1)S(L2)S(L_{1}L_{2})=S(L_{1})S(L_{2}).

  8. (hh)  

    S(σ(L))=σ(S(L))S(\sigma(L))=\sigma(S(L)), on σ\sigma és un morfisme.

Exercici 1.9.

Demostreu que no hi ha cap mot ww que satisfaci aw=wbaw=wb, essent aa i bb símbols de l’alfabet.

Exercici 1.10.

Demostreu que, per a qualsevol alfabet Σ\Sigma, hi ha un únic llenguatge LL que satisfà L=ΣL¯L=\overline{\Sigma L}. Quin és aquest llenguatge?