[2] | 1 | %
|
---|
| 2 | % $Id: report.tex 571 2008-04-20 17:31:04Z rick $
|
---|
| 3 | %
|
---|
| 4 |
|
---|
| 5 | \documentclass[12pt,a4paper]{article}
|
---|
| 6 |
|
---|
| 7 | \frenchspacing
|
---|
| 8 | \usepackage[english,dutch]{babel}
|
---|
| 9 | \selectlanguage{dutch}
|
---|
[224] | 10 | \usepackage[pdftex]{graphicx}
|
---|
[2] | 11 | \usepackage{url}
|
---|
| 12 | \usepackage{amssymb,amsmath}
|
---|
[224] | 13 | \usepackage{float}
|
---|
[226] | 14 | \usepackage{tikz}
|
---|
[227] | 15 | \usepackage{fixltx2e}
|
---|
[2] | 16 |
|
---|
[226] | 17 | \usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}
|
---|
| 18 |
|
---|
| 19 |
|
---|
| 20 |
|
---|
| 21 | \setlength\parindent{0pt}
|
---|
| 22 | \setlength\parskip{\baselineskip}
|
---|
[224] | 23 | \floatstyle{ruled}
|
---|
| 24 | \newfloat{algoritm}{thp}{lop}
|
---|
| 25 | \floatname{algoritm}{Algoritme}
|
---|
| 26 |
|
---|
[238] | 27 | \title{Opdracht 2 \\
|
---|
[224] | 28 | \large{Topics on Parsing and Formal Languages - fall 2010}}
|
---|
[2] | 29 | \author{Rick van der Zwet\\
|
---|
[224] | 30 | \texttt{<hvdzwet@liacs.nl>}}
|
---|
[2] | 31 | \date{\today}
|
---|
| 32 |
|
---|
[224] | 33 |
|
---|
[2] | 34 | \begin{document}
|
---|
[224] | 35 | \newcommand{\DFA}{\emph{DFA}~}
|
---|
| 36 | \newcommand{\qed}{\hfill \ensuremath{\Box}}
|
---|
[238] | 37 | \newcommand{\all}{\Sigma^*}
|
---|
[2] | 38 | \maketitle
|
---|
[224] | 39 | \begin{abstract}
|
---|
| 40 | Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek
|
---|
| 41 | \cite{JS2009} gebruikt bij het college. In deze opdracht zullen zeven opgaven
|
---|
[261] | 42 | (9, 18, 24, 26, 32, 37, 41) van hoofdstuk 4 behandeld worden.
|
---|
[224] | 43 | \end{abstract}
|
---|
[2] | 44 |
|
---|
[238] | 45 | \section{Opgave 4.9}
|
---|
| 46 | Laat $L \subseteq \all$ de taal zijn en defineer $\sigma(L) = \{x \in \all : xy
|
---|
[261] | 47 | \in L~voor~alle~y \in \all\}$. Als $L$ context-vrij is dan is $\sigma(L)$ ook
|
---|
| 48 | context-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$
|
---|
| 50 | beschrijven. $B$ moet een reguliere taal zijn van de vorm $\all$.
|
---|
[224] | 51 |
|
---|
[261] | 52 | Een $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.
|
---|
[224] | 54 |
|
---|
[261] | 55 |
|
---|
[238] | 56 | \section{Opgave 4.18}
|
---|
[261] | 57 | Als $L$ een context-vrije taal is en $R$ een reguliere taal dan is de rechter
|
---|
| 58 | quoti"{e}nt $L/R = \{x \in \all: \exists y \in R~zodat~xy \in L \}$ ook een
|
---|
| 59 | context-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.
|
---|
[224] | 61 |
|
---|
[261] | 62 | Om dit te bewijzen gaan we naar de $PDA$ van $L$ kijken. Hierbij kan $R$ in de
|
---|
| 63 | omgekeerde volgorde door de taal gehaald worden om zo de eindtoestand naar
|
---|
| 64 | `voren' te halen. Dit levert een kortere $PDA$ op.
|
---|
| 65 |
|
---|
| 66 |
|
---|
[238] | 67 | \section{Opgave 4.24}
|
---|
[261] | 68 | Als $s^{[-1]}(L) := \{x : s(x) \cap L \neq \emptyset\}$ en $s$ verbindt letters
|
---|
[238] | 69 | met reguliere talen en $L$ is context-vrij. Dan is $s^{[-1]}(L)$ niet altijd
|
---|
[261] | 70 | CFL. $s^{[-1]}(L)$ kan een verzameling kan zijn van de talen waarbij de lengte
|
---|
| 71 | van de letters even moet zijn, welke geen context-vrije verzameling is.
|
---|
[226] | 72 |
|
---|
[238] | 73 | Hetzelfde probleem doet voor als $s$ letters aan context-vrije talen verbindt.
|
---|
[226] | 74 |
|
---|
[238] | 75 | \section{Opgave 4.26}
|
---|
| 76 | Gegeven een PDA $M$ kan je altijd een $M^{'}$ maken welke de eigenschap heeft dat
|
---|
| 77 | geen enkele stap het huidige symbool op de stapel vervangt (geen transities van
|
---|
| 78 | de vorm $(p,\gamma Y) \in \delta(q,a,X)~waarbij~X \neq Y$). Dus dat alle
|
---|
| 79 | stappen, of een symbool van de stapel afhalen, of een string van symbolen op
|
---|
[240] | 80 | de stapel zetten. Dit is te doen door de huidige substitutie' transities te
|
---|
[238] | 81 | vervangen door een tweetal (gekoppelde) transities. Waarbij de eerste het
|
---|
| 82 | symbool eraf haalt en de tweede de gewenste symbolen er weer op zet.
|
---|
[226] | 83 |
|
---|
[261] | 84 | De bovengenoemde methode zorgt voor maar \'e\'en mogelijk pad. Het zal de
|
---|
[238] | 85 | DPDA structuur (indien present) dus niet aantasten.
|
---|
[226] | 86 |
|
---|
| 87 |
|
---|
[238] | 88 | \section{Opgave 4.32}
|
---|
| 89 | Als $\psi$ een Parikh map is, dan zijn er lange Engelse woorden over een bepaald
|
---|
| 90 | alfabet voor specifieke eigenschappen. Voorbeelden zijn te vinden in de onderstaande tabel.
|
---|
[226] | 91 |
|
---|
[238] | 92 | \begin{tabular}{l | l | l }
|
---|
| 93 | eigenschap & woorden & alfabet \\
|
---|
| 94 | \hline \hline
|
---|
| 95 | $\psi(w)$ alle items gelijk aan 1 & dutchwomen & $\{d,u,t,c,h,w,o,m,e,n\}$\\
|
---|
| 96 | $\psi(w)$ alle items gelijk aan 2 & tomtom & $\{t,o,m\}$\\
|
---|
| 97 | $\psi(w)$ alle items gelijk aan 3 & sestettes & $\{s,e,t\}$\\
|
---|
| 98 | $\psi(w)$ alle items $\ge$ 2 & unprosperousness & $\{e,n,o,p,r,s,u\}$\\
|
---|
| 99 | $\psi(w)$ $(1,2,2,3,3,3)$ & chincherinchee & $\{r,i,n,c,h,e\}$\\
|
---|
| 100 | \end{tabular}
|
---|
[226] | 101 |
|
---|
| 102 |
|
---|
[239] | 103 | \section{Opgave 4.37}
|
---|
[261] | 104 | a) perm($x$) is de set van alle permutaties van de letters van $x$. Voor talen is
|
---|
[239] | 105 | perm($L$) := $\bigcup_{x\in L}$ perm($x$). perm($L$) is niet context-vrij als
|
---|
[261] | 106 | $L$ de reguliere taal is \{$x \in a^*b^*c^*$ : $|x|_a,|x|_b,|x|_c$ is even \},
|
---|
| 107 | omdat dit onder andere $\{ a^{n}b^{n}c^{n} : n = 2*i, i \ge 0 \}$ bevat, welke
|
---|
| 108 | niet context-vrij~\cite{JS2009}[pg.~108] is.
|
---|
[226] | 109 |
|
---|
[261] | 110 | b) Als $L$ echter een reguliere taal over een alfabet van twee
|
---|
[239] | 111 | symbolen is, dan zal perm($L$) context-vrij zijn. Welke de reguliere taal,
|
---|
| 112 | maximaal \'e\'en complexe relatie kan aangaan en wel namelijk tussen de twee
|
---|
| 113 | symbolen in. Alle andere gevallen (enkel relatie \'e\'en symbool) is er maar
|
---|
[240] | 114 | een enkelvoudige afhankelijk gecodeerd. Pak bijvoorbeeld de ingewikkelde
|
---|
[239] | 115 | \{$x \in a^*b^*$ : $|x|_a,|x|_b$ even zijn\}. De permutatie van bijvoorbeeld
|
---|
| 116 | $aabb$ zullen zijn ${aabb,abba,abab,baba,baab,bbaa}$, waarbij in het
|
---|
[240] | 117 | context-vrije domein een analoge taal ontstaan, waarbij het aantal a `even'
|
---|
[239] | 118 | moet zijn om te accepteren en het aantal b gelijk aan het aantal `a'.
|
---|
[226] | 119 |
|
---|
[261] | 120 | \newpage
|
---|
[238] | 121 | \section{Opgave 4.41}
|
---|
[261] | 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
|
---|
| 136 | by the following DFA, where one inputs n expressed in base 2}
|
---|
| 137 | \label{fig:tm}
|
---|
| 138 | \end{figure}
|
---|
[239] | 139 | Om te bewijzen dat, de taal van alle woorden over de $\{0,1\}$ welke geen
|
---|
[261] | 140 | prefixen zijn van een Thue-Morse woord context-vrij is. Thue-Morse woorden zijn
|
---|
| 141 | overlap-vrij en kunnen door een automaat gegenereert worden, zie hiervoor
|
---|
| 142 | Figuur~\ref{fig:tm}\footnote{\url{http://www.cs.uwaterloo.ca/~shallit/Talks/canad4.pdf}}.
|
---|
| 143 | Een paar eigenschappen het Thue-Morse woord zijn het feit dat er geen overlap
|
---|
| 144 | in voorkomt en ook geen `blokken' in de vorm van $XXX$ waarbij $X \in \all$.
|
---|
| 145 |
|
---|
| 146 | Woorden met een overlap bevatten de serie $cxcxc$ waarbij $c$ een
|
---|
[239] | 147 | letter is en $x$ een woord, de overlap is dan $cxc$. De taal van de woorden
|
---|
| 148 | ziet er dus als volgt uit: $\{0,1\}^*1x1x\{0,1\}^*$ of $\{0,1\}^*0x0x\{0,1\}^*$
|
---|
[261] | 149 | waarbij $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
|
---|
| 151 | generiek geval. Dit kunnen we door verschillende talen te generen en gebruik te
|
---|
| 152 | maken van het geven feit dat de klasse van de context-vrije-talen gesloten zijn
|
---|
| 153 | onder een eindige verzameling. Deze talen zijn te vinden in
|
---|
| 154 | \cite{BS2009}[pg.~89 Theorem 2.24].
|
---|
[227] | 155 |
|
---|
| 156 |
|
---|
[224] | 157 | \begin{thebibliography}{1}
|
---|
| 158 | \bibitem[JS2009]{JS2009}Jeffrey Shallit, \emph{A second course in formal
|
---|
| 159 | languages and automata theory }, \emph{Cambridge University Press}, 2009.
|
---|
[261] | 160 | \bibitem[BS2009]{BS2009}J. Berstel, \emph{Combinatorics on words: Christoffel
|
---|
| 161 | words and repetitions in words}, \emph{American Mathematical Society}, 2009.
|
---|
| 162 | \end{thebibliography}
|
---|
[2] | 163 | \newpage
|
---|
| 164 | \end{document}
|
---|