Ignore:
Timestamp:
Dec 19, 2010, 11:16:55 PM (14 years ago)
Author:
Rick van der Zwet
Message:

To-be handed in.

Location:
liacs/TPFL2010/assignment2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • liacs/TPFL2010/assignment2/report.tex

    r240 r261  
    4040Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek
    4141\cite{JS2009} gebruikt bij het college. In deze opdracht zullen zeven opgaven
    42 (9, 18, 24, 26, 32, 37, 41) van hoofdstuk 4 behandeld worden. De opgaven zijn
    43 willekeurig gekozen met behulp van een kans generator, het kan dus zijn dat
    44 niet alle onderwerpen van hoofdstuk 4 behandeld worden.
     42(9, 18, 24, 26, 32, 37, 41) van hoofdstuk 4 behandeld worden.
    4543\end{abstract}
    4644
    4745\section{Opgave 4.9}
    4846Laat $L \subseteq \all$ de taal zijn en defineer $\sigma(L) = \{x \in \all : xy
    49 \in voor~alle~y \in \all\}$. Als $L$ context-vrij is $\sigma(L)$ ook
    50 context-vrij. Omdat $y = \all$ is dit een reguliere taal. $xy$ zal dan een
    51 context-vrije taal zijn (gesloten onder concatenatie). $xy \in L$ is vereniging
    52 van $xy$ met $L$, welke onder context-vrije talen gesloten is. Hierdoor zal
    53 $\sigma(L)$ (een subset) ook weer context-vrij zijn.
     47\in L~voor~alle~y \in \all\}$. Als $L$ context-vrij is dan is $\sigma(L)$ ook
     48context-vrij. Als naar de taal $L$ gekeken wordt moet de taal uit twee delen
     49($A \cdot B$) opgebouwd zijn wil $xy \in L$ accepteren. $A$ zal $x$
     50beschrijven. $B$ moet een reguliere taal zijn van de vorm $\all$.
     51
     52Een $CFL$ waarbij het $RL$ suffix afgehaald wordt zal wederom een $CFL$ zijn
     53(zie Opgave 4.18) en daarom is $\sigma(L)$ ook weer context-vrij.
    5454
    5555
    5656\section{Opgave 4.18}
    57 Als $L$ een context-vrije taal is en $R$ een reguliere taal dan de rechter
    58 quotiënt $L/R = \{x \in \all: \exists y \in R~zodat~xy \in L \}$ is ook een
    59 context-vrije taal. $xy$ zijn de woorden in $L$ waarbij geldt dat de suffix
    60 $y$ regulier is. Stel dat $x$ geen context-vrije taal was. Dan zou $xy$ ook
    61 geen context-vrije taal zijn. Wat niet kan welke $L$ context-vrij is en in die
    62 hoedanigheid ook de subsets van $L$.
     57Als $L$ een context-vrije taal is en $R$ een reguliere taal dan is de rechter
     58quoti"{e}nt $L/R = \{x \in \all: \exists y \in R~zodat~xy \in L \}$  ook een
     59context-vrije taal. $xy$ zijn dus de woorden in $L$ waarbij geldt dat het
     60`staartje' $y$ wat eraf gehaald wordt in de reguliere taal $R$ zit.
     61
     62Om dit te bewijzen gaan we naar de $PDA$ van $L$ kijken. Hierbij kan $R$ in de
     63omgekeerde volgorde door de taal gehaald worden om zo de eindtoestand naar
     64`voren' te halen. Dit levert een kortere $PDA$ op.
     65
    6366
    6467\section{Opgave 4.24}
    65 Als $s^{[-1]}(L) := \{x : s(x) \cap L \neq \emptyset\}$ en $s$ verbind letters
     68Als $s^{[-1]}(L) := \{x : s(x) \cap L \neq \emptyset\}$ en $s$ verbindt letters
    6669met reguliere talen en $L$ is context-vrij. Dan is $s^{[-1]}(L)$ niet altijd
    67 CFL, L een een verzameling kan zijn van alle talen van de letters waarbij geldt
    68 dat de lengte van de letters even moet zijn, welke geen context-vrije
    69 verzameling is.
     70CFL. $s^{[-1]}(L)$ kan een verzameling kan zijn van de talen waarbij de lengte
     71van de letters even moet zijn, welke geen context-vrije verzameling is.
    7072
    7173Hetzelfde probleem doet voor als $s$ letters aan context-vrije talen verbindt.
     
    8082symbool eraf haalt en de tweede de gewenste symbolen er weer op zet.
    8183
    82 De bovengenoemde methode zorgt voor maar \'e\'en mogelijk pad. Er zal de de
     84De bovengenoemde methode zorgt voor maar \'e\'en mogelijk pad. Het zal de
    8385DPDA structuur (indien present) dus niet aantasten.
    8486
     
    100102
    101103\section{Opgave 4.37}
    102 perm($x$) is de set van alle permutaties van de letters van $x$. Voor talen is
     104a) perm($x$) is de set van alle permutaties van de letters van $x$. Voor talen is
    103105perm($L$) := $\bigcup_{x\in L}$ perm($x$). perm($L$) is niet context-vrij als
    104 $L$ de reguliere taal is \{$x \in a^*b^*c^*$ : $|x|_a,|x|_b,|x|_c$ even zijn\}.
     106$L$ de reguliere taal is \{$x \in a^*b^*c^*$ : $|x|_a,|x|_b,|x|_c$ is even \},
     107omdat dit onder andere $\{ a^{n}b^{n}c^{n} : n = 2*i, i \ge 0 \}$ bevat, welke
     108niet context-vrij~\cite{JS2009}[pg.~108] is.
    105109
    106 [Dit is handen wapperen, ik zou graag wel willen weten hoe dit bewezen
    107 kan worden] Als $L$ echter een reguliere taal over een alfabet van twee
     110b) Als $L$ echter een reguliere taal over een alfabet van twee
    108111symbolen is, dan zal perm($L$) context-vrij zijn. Welke de reguliere taal,
    109112maximaal \'e\'en complexe relatie kan aangaan en wel namelijk tussen de twee
     
    115118moet zijn om te accepteren en het aantal b gelijk aan het aantal `a'.
    116119
     120\newpage
    117121\section{Opgave 4.41}
     122\begin{figure}
     123\center
     124\begin{tikzpicture}
     125  \node[place,pin={[pin edge={style=<-,black,thick}]left:}] (q0) {0};
     126  \node[place] (q1) [right=of q0] {1};
     127\path[->]
     128  (q0) edge [loop above] node[above] {0} (q0)
     129  (q1) edge [loop above] node[above] {0} (q1)
     130  (q0) edge [bend left] node[above] {1} (q1)
     131  (q1) edge [bend left] node[below] {1} (q0)
     132
     133  ;
     134\end{tikzpicture}
     135\caption{Automaton generating the Thue-Morse sequence as the sequence generated
     136by the following DFA, where one inputs n expressed in base 2}
     137\label{fig:tm}
     138\end{figure}
    118139Om te bewijzen dat, de taal van alle woorden over de $\{0,1\}$ welke geen
    119 prefixen zijn van een Thue-Morse woord context-vrij is, moet er gekeken worden
    120 naar het meer generieke geval. Thue-Morse woorden zijn overlap-vrij, een
    121 context-vrije taal alle woorden opsomt welke een overlap bevatten is dus
    122 voldoende. Woorden met een overlap bevatten de serie $cxcxc$ waarbij $c$ een
     140prefixen zijn van een Thue-Morse woord context-vrij is. Thue-Morse woorden zijn
     141overlap-vrij en kunnen door een automaat gegenereert worden, zie hiervoor
     142Figuur~\ref{fig:tm}\footnote{\url{http://www.cs.uwaterloo.ca/~shallit/Talks/canad4.pdf}}.
     143Een paar eigenschappen het Thue-Morse woord zijn het feit dat er geen overlap
     144in voorkomt en ook geen `blokken' in de vorm van $XXX$ waarbij $X \in \all$.
     145
     146Woorden met een overlap bevatten de serie $cxcxc$ waarbij $c$ een
    123147letter is en $x$ een woord, de overlap is dan $cxc$. De taal van de woorden
    124148ziet er dus als volgt uit: $\{0,1\}^*1x1x\{0,1\}^*$ of $\{0,1\}^*0x0x\{0,1\}^*$
    125 waarbij $x := \{0,1\}\{0,1\}^*$. Beiden delen zijn met een (niet
    126 deterministische) grammatica te maken, door expansie te doen vanuit `het
    127 midden'. Waarbij te denken is aan een soortgelijke setup (a,b ipv 0,1):
    128 \begin{verbatim}
    129 S -> JMJ
    130 J -> aJ|bJ|a|b
    131 M -> aOa|bPb
    132 O -> aOa|bOb|a
    133 P -> aPa|bPb|b
    134 \end{verbatim}
     149waarbij $x := \{0,1\}\{0,1\}^*$. Dit is niet een context-vrije taal. Welke het
     150\emph{pumping-lemma} hier faalt. Er moet dus gekeken worden naar een meer
     151generiek geval. Dit kunnen we door verschillende talen te generen en gebruik te
     152maken van het geven feit dat de klasse van de context-vrije-talen gesloten zijn
     153onder een eindige verzameling. Deze talen zijn te vinden in
     154\cite{BS2009}[pg.~89 Theorem 2.24].
    135155
    136156
     
    138158\bibitem[JS2009]{JS2009}Jeffrey Shallit, \emph{A second course in formal
    139159languages and automata theory }, \emph{Cambridge University Press}, 2009.
    140 \end{thebibliography}
     160\bibitem[BS2009]{BS2009}J. Berstel, \emph{Combinatorics on words: Christoffel
     161words and repetitions in words}, \emph{American Mathematical Society}, 2009.
     162 \end{thebibliography}
    141163\newpage
    142164\end{document}
Note: See TracChangeset for help on using the changeset viewer.