From 3333203452836d3453bddf176fd27f2b13778866 Mon Sep 17 00:00:00 2001 From: Tom Sydney Kerckhove Date: Wed, 10 Dec 2014 17:08:55 +0100 Subject: [PATCH] vervollediging van problemen met re --- .#beslisbaarheid.tex | 1 - beslisbaarheid.tex | 122 ++++++++++++++++++++++++++++++++++++++--- contextvrije-talen.tex | 1 + turingmachines.tex | 2 +- 4 files changed, 116 insertions(+), 10 deletions(-) delete mode 120000 .#beslisbaarheid.tex diff --git a/.#beslisbaarheid.tex b/.#beslisbaarheid.tex deleted file mode 120000 index 5be963b..0000000 --- a/.#beslisbaarheid.tex +++ /dev/null @@ -1 +0,0 @@ -syd@quintus.724:1418177165 \ No newline at end of file diff --git a/beslisbaarheid.tex b/beslisbaarheid.tex index 6ff07ea..027a5f8 100644 --- a/beslisbaarheid.tex +++ b/beslisbaarheid.tex @@ -256,6 +256,21 @@ \section{... in verband met reguliere talen} \end{proof} \end{st} +\begin{de} + \label{de:h-dfa} + $H_{DFA}$ is de taal van koppels $(M,s)$ waarbij $M$ een DFA is die bij invoer $s$ beslist of $s$ tot $L_{M}$ behoort in een eindige hoeveelheid tijd. +\end{de} + +\begin{st} + \label{st:h-dfa-besl} + $H_{DFA}$ is beslisbaar. + + \begin{proof} + Elke $DFA$ beslist in een eindige hoeveelheid tijd of een gegeven invoerstring tot zijn taal behoort. + Een beslisser voor $H_{NFA}$ accepteert elk geldig koppel $(M,s)$ van een DFA $M$ en een string $s$. + \end{proof} +\end{st} + \begin{de} \label{de:e-dfa} $E_{DFA}$ is de taal van alle machines $D$ die de lege taal bepalen. @@ -275,6 +290,20 @@ \section{... in verband met reguliere talen} \end{proof} \end{st} +\begin{de} + \label{de:e-re} + $E_{RE}$ is de taal van reguliere expressies $E$ die de lege taal bepalen. + \[ E_{RE} = \{ E\ |\ E \text{ is een RE } L_{E} = \emptyset \} \] +\end{de} + + +\begin{st} + \label{st:e-re} + $E_{DFA}$ is beslisbaar. +\extra{bewijs} +\end{st} + + \begin{de} \label{de:eq-dfa} $EQ_{DFA}$ is de taal van alle koppels DFA's die dezelfde taal bepalen. @@ -292,13 +321,64 @@ \section{... in verband met reguliere talen} \end{proof} \end{st} -\extra{$H_{DFA}$} -\extra{$E_{RE}$} -\extra{$EQ_{RE}$} -\extra{$ES_{RE}$} -\extra{$REGULAR_{RE}$} -\extra{$ALL_{RE}$} -\extra{$FINITE_{RE}$} +\begin{de} + \label{de:eq-re} + $EQ_{RE}$ is de taal van alle koppels reguliere expressies die dezelfde taal bepalen. + \[ EQ_{RE} = \{ (E_{1},E_{2}) \ |\ E_{1},E_{2} \text{ zijn RE's en } L_{E_{1}} = L_{E_{2}} \} \] +\end{de} + +\begin{st} + \label{st:eq-re-besl} +\extra{bewijs} +\end{st} + +\begin{de} + \label{de:es-re} + $ES_{RE}$ is de taal van reguliere expressies waarvan de taal de lege string bevat. + \[ ES_{RE} = \{ E \ |\ E \text{ is een RE en } \epsilon \in L_{E}\} \] +\end{de} + +\begin{st} + \label{st:es-re} + $ES_{RE}$ is beslisbaar. +\extra{bewijs} +\end{st} + +\begin{de} + \label{de:regular-re} + $REGULAR_{RE}$ is de taal van reguliere expressies die een reguliere taal bepalen. +\end{de} + +\begin{st} + \label{st:regular-re-besl} + $REGULAR_{RE}$ is beslisbaar. + + \begin{proof} + Een beslisser voor $REGULAR_{RE}$ accepteert elke geldige reguliere expressie.\deref{de:reguliere-taal} \stref{st:regex-cfl} + \end{proof} +\end{st} + +\begin{de} + \label{de:all-re} + $ALL_{RE}$ is de taal van reguliere expressies die $\Sigma^{*}$ bepalen. +\end{de} + +\begin{st} + \label{st:all-re-besl} + $ALL_{RE}$ is beslisbaar. +\extra{bewijs} +\end{st} + +\begin{de} + \label{de:finite-re} + $FINITE_{RE}$ is de taal van reguliere expressies die een eindige taal bepalen. +\end{de} + +\begin{st} + \label{st:finite-re-besl} + $FINITE_{RE}$ is beslisbaar. +\extra{bewijs} +\end{st} \section{... in verband met contextvrije talen} \label{sec:verb-met-cont} @@ -323,6 +403,21 @@ \section{... in verband met contextvrije talen} \end{proof} \end{st} +\begin{de} + \label{de:h-pda} + $H_{PDA}$ is de taal van koppels $(M,s)$ waarbij $M$ een PDA is die bij invoer $s$ beslist of $s$ tot $L_{M}$ behoort in een eindige hoeveelheid tijd. +\end{de} + +\begin{st} + \label{st:h-pda-besl} + $H_{PDA}$ is beslisbaar. + + \begin{proof} + Elke $PDA$ beslist in een eindige hoeveelheid tijd of een gegeven invoerstring tot zijn taal behoort. + Een beslisser voor $H_{PDA}$ accepteert elk geldig koppel $(M,s)$ van een DFA $M$ en een string $s$. + \end{proof} +\end{st} + \begin{de} \label{de:e-cfg} $E_{CFG}$ is de taal van CFG's $C$ die de lege taal bepalen. @@ -468,6 +563,17 @@ \section{... in verband met contextsensitieve talen} \end{proof} \end{st} +\begin{de} + \label{de:h-lba} + $H_{LBA}$ is de taal van koppels $(M,s)$ waarbij $M$ een LBA is die bij invoer $s$ beslist of $s$ tot $L_{M}$ behoort in een eindige hoeveelheid tijd. +\end{de} + +\begin{st} + \label{st:h-lba-besl} + $H_{LBA}$ is beslisbaar. + \extra{bewijs} +\end{st} + \begin{de} \label{de:e-lba} $E_{LBA}$ is de taal van alle LBA's die geen enkele string aanvaarden. @@ -806,7 +912,7 @@ \section{Algemene problemen} \end{tabular} \begin{tabular}[H]{cccc} \pvak{\ref{de:a-re}}{$A_{RE}$}{B} & \pvak{\ref{de:a-cfg}}{$A_{CFG}$}{B} & \pvak{\ref{de:a-csg}}{$A_{CSG}$}{B} & \pvak{\ref{de:a-tm}}{$A_{TM}$}{H}\\ - \pvak{\ref{de:h-re}}{$H_{RE}$}{B} & \pvak{\ref{de:h-cfg}}{$H_{CFG}$}{B} & \pvak{\ref{de:h-csg}}{$H_{CSG}$}{B} & \pvak{\ref{de:h-tm}}{$H_{TM}$}{H}\\ + \pvak{\ref{de:h-dfa}}{$H_{DFA}$}{B} & \pvak{\ref{de:h-pda}}{$H_{PDA}$}{B} & \pvak{\ref{de:h-lba}}{$H_{LBA}$}{B} & \pvak{\ref{de:h-tm}}{$H_{TM}$}{H}\\ \pvak{\ref{de:e-re}}{$E_{RE}$}{B} & \pvak{\ref{de:e-cfg}}{$E_{CFG}$}{B} & \pvak{\ref{de:e-csg}}{$E_{CSG}$}{H} & \pvak{\ref{de:e-tm}}{$E_{TM}$}{C}\\ \pvak{\ref{de:eq-re}}{$EQ_{RE}$}{B} & \pvak{\ref{de:eq-cfg}}{$EQ_{CFG}$}{H} & \pvak{\ref{de:eq-csg}}{$EQ_{CSG}$}{H} & \pvak{\ref{de:eq-tm}}{$EQ_{TM}$}{N}\\ \pvak{\ref{de:es-re}}{$ES_{RE}$}{B} & \pvak{\ref{de:es-cfg}}{$ES_{CFG}$}{B} & \pvak{\ref{de:es-csg}}{$ES_{CSG}$}{B} & \pvak{\ref{de:es-tm}}{$ES_{TM}$}{H}\\ diff --git a/contextvrije-talen.tex b/contextvrije-talen.tex index 92ceae2..fccbb7f 100644 --- a/contextvrije-talen.tex +++ b/contextvrije-talen.tex @@ -204,6 +204,7 @@ \section{Contextvrije Grammatica} \end{st} \begin{st} + \label{st:regex-cfl} De taal van reguliere expressies is contextvrij maar niet regulier. \begin{proof} diff --git a/turingmachines.tex b/turingmachines.tex index aa54afc..7639900 100644 --- a/turingmachines.tex +++ b/turingmachines.tex @@ -207,7 +207,7 @@ \section{Configuraties} \section{Universele Turingmachine} \label{sec:universele-turingmachine} -\begin{de} +X\begin{de} Een encodering van een verzameling $A$ over een alfabet $\Sigma$ is een bijectieve afbeelding $e: A \rightarrow \Sigma^{*}$ die elk element afbeeldt op een string. \end{de}