- Timestamp:
- Dec 8, 2010, 8:08:05 PM (14 years ago)
- Location:
- liacs/TPFL2010/assignment1
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
liacs/TPFL2010/assignment1/report.tex
r245 r246 99 99 tweede plek variabele wordt gedefinieerd. De aanpak kan als volgt gezien worden: 100 100 \begin{verbatim} 101 1. controleren of |1| <= 2de 0-reeks (dmv 'knopen-strook'). 102 2. |2| tellen (onthouden dmv 'knopen-strook', dit is `variable' A). 103 3. naar begin lopen. 104 4. A-1 '1' instanties laten passeren. 105 5. |0| tellen (onthouden dmv 'knopen-strook'm dit is `variable' A). 106 6. naar begin 2de 0-reeks lopen. 107 7. 0-reeks vergelijken. 101 1. controleren of |1| <= 2de 0-reeks dmv 'knopen-strook' (knopen 0.X en 1.X). 102 2. |2| tellen onthouden dmv 'knopen-strook' (knopen 2.X). 103 3. naar gewenste locatie lopen (knopen 3.X). 104 4. |0| tellen onthouden dmv 'knopen-strook' (knopen 4.X). 105 5. naar begin 2de 0-reeks lopen (knopen 5.X). 106 6. 0-reeks vergelijken (knopen 6.X). 108 107 \end{verbatim} 109 Voor deze aanpak zijn 3 `knopen-stroken' nodig en 3 transitie-lagen. In totaal110 dus in ongeveer $O(6n)$ knopen. Figuur~\ref{fig:2dfa} laat de \emph{2DFA} 111 zien.108 Voor deze aanpak zijn 3 `knopen-stroken' nodig, 3 `transitie-lagen' en 1 controle 109 strook. In totaal dus in ongeveer $O(7n)$ knopen. Figuur~\ref{fig:2dfa} laat 110 de \emph{2DFA} zien. 112 111 113 112 114 113 \begin{figure} 115 114 \center 116 \begin{tikzpicture} 117 \node[place,pin={[pin edge={style=<-,blue,thick,decorate,decoration={snake, pre length=4pt}}]left:}] (q00) {}; 118 \node[place] (q01) [right=of q00] {}; 119 \node[place] (q02) [right=of q01] {}; 120 \node[place] (q03) [right=of q02] {}; 121 \node[place] (q11) [below=of q01] {}; 122 \node[place] (q12) [below=of q02] {}; 123 \node[place] (q13) [below=of q03] {}; 124 \node[place] (q10) [below=of q00] {}; 125 \node[place] (q20) [below=of q10] {}; 126 \node[place] (q21) [below=of q11] {}; 127 \node[place] (q22) [below=of q12] {}; 128 %\node[place] (q2) [below=of q1] {}; 129 %\node[place,pin={[pin edge={style=-<,thick,decorate,decoration={snake, pre length=4pt}}]below:}] (q3) [below=of q2] {}; 130 %\node[place] (q01) [right=3cm of q1] {}; 131 %\node[place] (q02) [right=3cm of q2] {}; 115 \begin{tikzpicture}[node distance=20mm] 116 \node[place,pin={[pin edge={style=<-,blue,thick,decorate,decoration={snake, pre length=4pt}}]left:}] (q00) {0.0}; 117 \node[place] (q01) [right=of q00] {0.1}; 118 \node[place] (q02) [right=of q01] {0.2}; 119 \node[place] (q03) [right=of q02] {0.3}; 120 \node[place] (q10) [below=of q00] {1.0}; 121 \node[place] (q11) [below=of q01] {1.1}; 122 \node[place] (q12) [below=of q02] {1.2}; 123 \node[place] (q13) [below=of q03] {1.3}; 124 \node[place] (q20) [below=of q10] {2.0}; 125 \node[place] (q21) [below=of q11] {2.1}; 126 \node[place] (q22) [below=of q12] {2.2}; 127 128 \node[place] (q30) [below=of q20] {3.0}; 129 \node[place] (q31) [below=of q21] {3.1}; 130 \node[place] (q32) [below=of q22] {3.2}; 131 \node[place] (q33) [right=of q32] {3.3}; 132 133 \node[place] (q40) [below=of q30] {4.0}; 134 \node[place] (q41) [below=of q31] {4.1}; 135 \node[place] (q42) [below=of q32] {4.2}; 136 137 \node[place] (q50) [below=of q40] {5.0}; 138 \node[place] (q51) [below=of q41] {5.1}; 139 \node[place] (q52) [below=of q42] {5.2}; 140 \node[place] (q53) [double,right=of q52] {5.3}; 141 142 \node[place] (q60) [below=2cm of q50] {6.0}; 143 \node[place] (q61) [below=2cm of q51] {6.1}; 144 \node[place] (q62) [below=2cm of q52] {6.2}; 145 \node[place] (q63) [right=of q62] {6.3}; 146 132 147 \path[->] 133 % (q0) edge [decorate,decoration={snake}] node[left] {goto-2} (q00)134 148 (q00) edge node[above] {3,R} (q01) 135 149 (q01) edge node[above] {1,R} (q02) … … 153 167 (q21) edge node[below] {2,L} (q22) 154 168 155 156 % (q1) edge node[left] {2} (q2) 157 % (q2) edge node[left] {2} (q3) 158 % (q1) edge [decorate,decoration={snake}] node[above] {0-length-check} (q01) 159 % (q2) edge [decorate,decoration={snake}] node[above] {0-length-check} (q02) 169 (q20) edge node {0,L} (q30) 170 (q21) edge node {0,L} (q31) 171 (q22) edge node {0,L} (q32) 172 173 (q30) edge node {1,L} (q31) 174 (q31) edge node {1,L} (q32) 175 (q32) edge [bend left] node {3,R} (q33) 176 (q32) edge [bend right] node {1,R} (q33) 177 178 (q30) edge [loop below] node {0,L} (q30) 179 (q31) edge [loop below] node {0,L} (q31) 180 (q32) edge [loop below] node {0,L} (q32) 181 182 (q33) edge [bend left] node {0,R} (q42) 183 (q42) edge node {0,R} (q41) 184 (q41) edge node {0,R} (q40) 185 186 (q40) edge [bend right] node {2,R} (q60) 187 (q40) edge node {1,R} (q50) 188 (q41) edge [bend right] node {2,R} (q61) 189 (q41) edge node {1,R} (q51) 190 (q42) edge [bend right] node {2,R} (q62) 191 (q42) edge node {1,R} (q52) 192 193 (q50) edge [loop below] node {$\begin{array}{c}1,R\\0,R\end{array}$} (q50) 194 (q51) edge [loop below] node {$\begin{array}{c}1,R\\0,R\end{array}$} (q51) 195 (q52) edge [loop below] node {$\begin{array}{c}1,R\\0,R\end{array}$} (q52) 196 (q50) edge [bend left,looseness=2] node {2,R} (q60) 197 (q51) edge [bend left,looseness=2] node {2,R} (q61) 198 (q52) edge [bend left,looseness=2] node {2,R} (q62) 199 200 (q60) edge node {0,R} (q61) 201 (q61) edge node {0,R} (q62) 202 (q62) edge node {0,R} (q63) 203 (q63) edge node {4,R} (q53) 160 204 ; 161 205 \end{tikzpicture} 162 \caption{Opdracht 2.22a uitgewerkt voor $ n = 3$, niet geldige stappen zijn niet genoemd en moet allen naar een 'trap' knoop gestuurd worden}206 \caption{Opdracht 2.22a uitgewerkt voor $1 \le n \le 3$, niet geldige stappen zijn niet genoemd en moet allen naar een 'trap' knoop gestuurd worden. Uitbreiden dmv expanderen van `traviale' knopen.} 163 207 \label{fig:2dfa} 164 208 \end{figure}
Note:
See TracChangeset
for help on using the changeset viewer.