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}
|
---|
10 | \usepackage[pdftex]{graphicx}
|
---|
11 | \usepackage{url}
|
---|
12 | \usepackage{amssymb,amsmath}
|
---|
13 | \usepackage{float}
|
---|
14 | \usepackage{tikz}
|
---|
15 | \usepackage{fixltx2e}
|
---|
16 |
|
---|
17 | \usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}
|
---|
18 |
|
---|
19 |
|
---|
20 |
|
---|
21 | \setlength\parindent{0pt}
|
---|
22 | \setlength\parskip{\baselineskip}
|
---|
23 | \floatstyle{ruled}
|
---|
24 | \newfloat{algoritm}{thp}{lop}
|
---|
25 | \floatname{algoritm}{Algoritme}
|
---|
26 |
|
---|
27 | \title{Opdracht 2 \\
|
---|
28 | \large{Topics on Parsing and Formal Languages - fall 2010}}
|
---|
29 | \author{Rick van der Zwet\\
|
---|
30 | \texttt{<hvdzwet@liacs.nl>}}
|
---|
31 | \date{\today}
|
---|
32 |
|
---|
33 |
|
---|
34 | \begin{document}
|
---|
35 | \newcommand{\DFA}{\emph{DFA}~}
|
---|
36 | \newcommand{\qed}{\hfill \ensuremath{\Box}}
|
---|
37 | \newcommand{\all}{\Sigma^*}
|
---|
38 | \maketitle
|
---|
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
|
---|
42 | (9, 18, 24, 26, 32, 37, 41) van hoofdstuk 4 behandeld worden.
|
---|
43 | \end{abstract}
|
---|
44 |
|
---|
45 | \section{Opgave 4.9}
|
---|
46 | Laat $L \subseteq \all$ de taal zijn en defineer $\sigma(L) = \{x \in \all : xy
|
---|
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$.
|
---|
51 |
|
---|
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.
|
---|
54 |
|
---|
55 |
|
---|
56 | \section{Opgave 4.18}
|
---|
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.
|
---|
61 |
|
---|
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 |
|
---|
67 | \section{Opgave 4.24}
|
---|
68 | Als $s^{[-1]}(L) := \{x : s(x) \cap L \neq \emptyset\}$ en $s$ verbindt letters
|
---|
69 | met reguliere talen en $L$ is context-vrij. Dan is $s^{[-1]}(L)$ niet altijd
|
---|
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.
|
---|
72 |
|
---|
73 | Hetzelfde probleem doet voor als $s$ letters aan context-vrije talen verbindt.
|
---|
74 |
|
---|
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
|
---|
80 | de stapel zetten. Dit is te doen door de huidige substitutie' transities te
|
---|
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.
|
---|
83 |
|
---|
84 | De bovengenoemde methode zorgt voor maar \'e\'en mogelijk pad. Het zal de
|
---|
85 | DPDA structuur (indien present) dus niet aantasten.
|
---|
86 |
|
---|
87 |
|
---|
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.
|
---|
91 |
|
---|
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}
|
---|
101 |
|
---|
102 |
|
---|
103 | \section{Opgave 4.37}
|
---|
104 | a) perm($x$) is de set van alle permutaties van de letters van $x$. Voor talen is
|
---|
105 | perm($L$) := $\bigcup_{x\in L}$ perm($x$). perm($L$) is niet context-vrij als
|
---|
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.
|
---|
109 |
|
---|
110 | b) Als $L$ echter een reguliere taal over een alfabet van twee
|
---|
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
|
---|
114 | een enkelvoudige afhankelijk gecodeerd. Pak bijvoorbeeld de ingewikkelde
|
---|
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
|
---|
117 | context-vrije domein een analoge taal ontstaan, waarbij het aantal a `even'
|
---|
118 | moet zijn om te accepteren en het aantal b gelijk aan het aantal `a'.
|
---|
119 |
|
---|
120 | \newpage
|
---|
121 | \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
|
---|
136 | by the following DFA, where one inputs n expressed in base 2}
|
---|
137 | \label{fig:tm}
|
---|
138 | \end{figure}
|
---|
139 | Om te bewijzen dat, de taal van alle woorden over de $\{0,1\}$ welke geen
|
---|
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
|
---|
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\}^*$
|
---|
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].
|
---|
155 |
|
---|
156 |
|
---|
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.
|
---|
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}
|
---|
163 | \newpage
|
---|
164 | \end{document}
|
---|