Changeset 226 for liacs


Ignore:
Timestamp:
Nov 12, 2010, 8:39:27 PM (14 years ago)
Author:
Rick van der Zwet
Message:

3.22

File:
1 edited

Legend:

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

    r225 r226  
    1111\usepackage{url}
    1212\usepackage{amssymb,amsmath}
    13 \usepackage{lipsum}
    1413\usepackage{float}
     14\usepackage{tikz}
    1515
     16\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}
     17
     18
     19
     20\setlength\parindent{0pt}
     21\setlength\parskip{\baselineskip}
    1622\floatstyle{ruled}
    1723\newfloat{algoritm}{thp}{lop}
     
    4955$\delta(q,x)$ wordt $\delta(q,q'),\delta(q',x)$. De acceptatie toestand $F$
    5056moet ook aangepast worden, door de oude acceptatie $q$ te vervangen door $q'$.
    51 
     57\\
    5258De nieuwe \DFA $P$ beschijft $2L$ en dus is $2L$ regulier.
    5359\qed
     
    5864\Sigma^*$ voor welke geldt dat, de Myhill-Nerode\cite{JS2009}[pg. 77--81]
    5965gelijkheids relatie $R_L$ de eigenschap heeft dat elk woord in $\Sigma^*$ zijn
    60 eigen equivalentie klasse is, is de taal $L = {0,1}^+$.
     66eigen equivalentie klasse is. Dit wilt zeggen dat voor alle $z \in \Sigma^*$,
     67is er een $xz \in L$ dan en slechts als $yz \in L$. Omdat hier gezocht wordt
     68naar een taal waarbij de woorden allemaal equivalentie klassen opzich zijn, zal
     69alle elementen met elkaar vergeleken kunnen worden dmv $R_L$ en hier mogen geen
     70positieve 'gevallen' uitkomen.
     71
     72Een mooi voorbeeld is de taal van \emph{PRIMES2}\cite{JS2009}[pg. 2], waarbij
     73de priemgetallen in een binair stelsel worden vertegenwoordigd. Door op unieke
     74'start' van de woorden zullen deze nooit in elkaar vervallen en zal dus elk
     75woord zijn eigen klasse zijn.
     76
    6177
    6278\section{Opgave 3.22}
     79Om aan te tonen dat een \emph{2DFA} exponentioneel meer expressief is dan een
     80\DFA voor bepaalde talen kijken we naar de volgende taal; Laat $n$ een integer
     81$\ge1$ en $F_n \subseteq \{0,1,2,3,4\}^*$ als volgende gedefineerd:
     82\begin{equation}
     83  F_n = \{3~0^{i_1}~1~0^{i_2} \cdots 1~0^{i_n}~2^k~0^{i_k}~4 : 1 \ge k,j,i_j \ge n\}
     84\end{equation}
     85
     86Als eerste kan de $F_n$ door een \emph{2DFA} van $O(n)$ toestanden geaccepteerd
     87worden, welke aan te tonen is door eerst te kijken naar de eigenschappen van
     88$F_n$ hierbij is de zien dat de $0$-reeks van de lengte $i^k$ zowel voor als na
     89de $2^k$ moet voorkomen. Waarbij $2^k$ aangeeft, waar deze $0$-reeks gevonden
     90kan worden e.g. bij welke $i_x$. De \emph{2DFA} moet dus twee dingen doen. Het
     91aantal keer nul op twee plekken vergelijken. Waarbij 1 plek vast staat en de
     92tweede plek variable wordt gedefineerd. Dit lijkt mij controleren op twee los
     93staande feiten. Hiervoor heb ik \underline{geen} antwoord gevonden. Ik kan
     94enkel wat voor $O(n^2)$ bedenken, welke een idee is in Figuur~\ref{fig:idee}
     95uitgewerkt is.
     96
     97
     98\begin{figure}
     99\label{fig:idee}
     100\center
     101\begin{tikzpicture}
     102\node[place,pin={[pin edge={style=<-,blue,thick,decorate,decoration={snake, pre length=4pt}}]left:}] (q0) {};
     103\node[place] (q1) [below=of q0] {};
     104\node[place] (q2) [below=of q1] {};
     105\node[place,pin={[pin edge={style=-<,thick,decorate,decoration={snake, pre length=4pt}}]below:}] (q3) [below=of q2] {};
     106\node[place] (q01) [right=3cm of q1] {};
     107\node[place] (q02) [right=3cm of q2] {};
     108\path[->]
     109          (q0) edge [decorate,decoration={snake}] node[left] {goto-2} (q1)
     110          (q1) edge              node[left] {2} (q2)
     111          (q2) edge              node[left] {2} (q3)
     112          (q1) edge [decorate,decoration={snake}] node[above] {0-length-check} (q01)
     113          (q2) edge [decorate,decoration={snake}] node[above] {0-length-check} (q02)
     114        ;
     115\end{tikzpicture}
     116\caption{Idee voor Opdracht 2.22a}
     117\end{figure}
     118
     119Om te laten zien dat een \DFA minstens $n^n$ toestanden nodig heeft moet je
     120gebruik maken van het feit dan een \DFA niet terug kan lopen. Het zal dus een
     121`geheugen' moeten maken om het maximale $0$ woord voor de `splitsing' ($2^k$)
     122te kunnen onthouden om zo te kijken of het overeen komt het $0$ woord na de
     123`splitsing'. Omdat je voor elke $F_i$ waarbij $1 \ge i \ge n$ minimaal $n$
     124toestanden nodig hebt om te kunnen tellen en hiervan weer $n$ unieke sets
     125bestaan, heb je dus minimaal $n^n$ toestanden nodig.
     126
     127
     128
     129
    63130\section{Opgave 3.47}
    64131\section{Opgave 3.54}
Note: See TracChangeset for help on using the changeset viewer.