Ignore:
Timestamp:
Dec 8, 2010, 8:08:05 PM (14 years ago)
Author:
Rick van der Zwet
Message:

2.22 expantie.

Location:
liacs/TPFL2010/assignment1
Files:
2 edited

Legend:

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

    r245 r246  
    9999tweede plek variabele wordt gedefinieerd. De aanpak kan als volgt gezien worden:
    100100\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.
     1011. controleren of |1| <= 2de 0-reeks dmv 'knopen-strook' (knopen 0.X en 1.X).
     1022. |2| tellen onthouden dmv 'knopen-strook' (knopen 2.X).
     1033. naar gewenste locatie lopen (knopen 3.X).
     1044. |0| tellen onthouden dmv 'knopen-strook' (knopen 4.X).
     1055. naar begin 2de 0-reeks lopen (knopen 5.X).
     1066. 0-reeks vergelijken (knopen 6.X).
    108107\end{verbatim}
    109 Voor deze aanpak zijn 3 `knopen-stroken' nodig en 3 transitie-lagen. In totaal
    110 dus in ongeveer $O(6n)$ knopen.  Figuur~\ref{fig:2dfa} laat de \emph{2DFA}
    111 zien.
     108Voor deze aanpak zijn 3 `knopen-stroken' nodig, 3 `transitie-lagen' en 1 controle
     109strook. In totaal dus in ongeveer $O(7n)$ knopen.  Figuur~\ref{fig:2dfa} laat
     110de \emph{2DFA} zien.
    112111
    113112
    114113\begin{figure}
    115114\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
    132147\path[->]
    133 %          (q0) edge [decorate,decoration={snake}] node[left] {goto-2} (q00)
    134148          (q00) edge               node[above] {3,R} (q01)
    135149          (q01) edge               node[above] {1,R} (q02)
     
    153167          (q21) edge               node[below] {2,L} (q22)
    154168
    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)
    160204        ;
    161205\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.}
    163207\label{fig:2dfa}
    164208\end{figure}
Note: See TracChangeset for help on using the changeset viewer.