From: Mart Lubbers Date: Tue, 26 Jan 2016 20:38:34 +0000 (+0100) Subject: goede dingen X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=9f14a54c31e78f2a14d21a90a3d024a282dede4a;p=tt2015.git goede dingen --- 9f14a54c31e78f2a14d21a90a3d024a282dede4a diff --cc a4/Makefile index b159295,454b61e..9e957d9 --- a/a4/Makefile +++ b/a4/Makefile @@@ -1,8 -1,12 +1,13 @@@ LATEX:=latex DOCUMENT:=tt4 - MODELS=model.small.LStar.rand.eps model.partial.LStar.rand.eps model.full.LStar.rand.eps - TEXS=question1.tex question2.tex question3.tex question4.tex + MODELS=model.small.LStar.rand.eps model.small.TTT.rand.eps model.small.RS.rand.eps model.small.KV.rand.eps \ + model.small.LStar.wm.eps model.small.TTT.wm.eps model.small.RS.wm.eps model.small.KV.wm.eps \ + model.partial.LStar.rand.eps model.partial.TTT.rand.eps model.partial.RS.rand.eps model.partial.KV.rand.eps \ + model.partial.LStar.wm.eps model.partial.TTT.wm.eps model.partial.RS.wm.eps model.partial.KV.wm.eps \ + model.full.LStar.rand.eps model.full.TTT.rand.eps model.full.RS.rand.eps model.full.KV.rand.eps \ + model.full.LStar.wm.eps model.full.TTT.wm.eps model.full.RS.wm.eps ++TEXS=question1.tex question2.tex question3.tex question4.tex models.tex .SECONDARY: $(DOCUMENT).fmt .PHONY: clean diff --cc a4/models.tex index 0000000,f6ec1b3..aa8049d mode 000000,100644..100644 --- a/a4/models.tex +++ b/a4/models.tex @@@ -1,0 -1,160 +1,160 @@@ -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.LStar.rand.eps} - \vspace{5mm} - \caption{small alphabet, LStar, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.TTT.rand.eps} - \vspace{5mm} - \caption{small alphabet, TTT, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.RS.rand.eps} - \vspace{5mm} - \caption{small alphabet, RivestSchapire, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.KV.rand.eps} - \vspace{5mm} - \caption{small alphabet, KearnsVazirani, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.LStar.wm.eps} - \vspace{5mm} - \caption{small alphabet, LStar, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.TTT.wm.eps} - \vspace{5mm} - \caption{small alphabet, TTT, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.RS.wm.eps} - \vspace{5mm} - \caption{small alphabet, RivestSchapire, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.KV.wm.eps} - \vspace{5mm} - \caption{small alphabet, KearnsVazirani, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.LStar.rand.eps} - \vspace{5mm} - \caption{partial alphabet, LStar, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.TTT.rand.eps} - \vspace{5mm} - \caption{partial alphabet, TTT, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.RS.rand.eps} - \vspace{5mm} - \caption{partial alphabet, RivestSchapire, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.KV.rand.eps} - \vspace{5mm} - \caption{partial alphabet, KearnsVazirani, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.LStar.wm.eps} - \vspace{5mm} - \caption{partial alphabet, LStar, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.TTT.wm.eps} - \vspace{5mm} - \caption{partial alphabet, TTT, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.RS.wm.eps} - \vspace{5mm} - \caption{partial alphabet, RivestSchapire, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.partial.KV.wm.eps} - \vspace{5mm} - \caption{partial alphabet, KearnsVazirani, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.LStar.rand.eps} - \vspace{5mm} - \caption{full alphabet, LStar, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.TTT.rand.eps} - \vspace{5mm} - \caption{full alphabet, TTT, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.RS.rand.eps} - \vspace{5mm} - \caption{full alphabet, RivestSchapire, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.KV.rand.eps} - \vspace{5mm} - \caption{full alphabet, KearnsVazirani, Random} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.LStar.wm.eps} - \vspace{5mm} - \caption{full alphabet, LStar, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.TTT.wm.eps} - \vspace{5mm} - \caption{full alphabet, TTT, WMethod} -\end{figure} - -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.full.RS.wm.eps} - \vspace{5mm} - \caption{full alphabet, RivestSchapire, WMethod} -\end{figure} ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{small alphabet, LStar, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.TTT.rand.eps} ++% \vspace{5mm} ++% \caption{small alphabet, TTT, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.RS.rand.eps} ++% \vspace{5mm} ++% \caption{small alphabet, RivestSchapire, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.KV.rand.eps} ++% \vspace{5mm} ++% \caption{small alphabet, KearnsVazirani, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.LStar.wm.eps} ++% \vspace{5mm} ++% \caption{small alphabet, LStar, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.TTT.wm.eps} ++% \vspace{5mm} ++% \caption{small alphabet, TTT, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.RS.wm.eps} ++% \vspace{5mm} ++% \caption{small alphabet, RivestSchapire, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.KV.wm.eps} ++% \vspace{5mm} ++% \caption{small alphabet, KearnsVazirani, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, LStar, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.TTT.rand.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, TTT, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.RS.rand.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, RivestSchapire, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.KV.rand.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, KearnsVazirani, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.LStar.wm.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, LStar, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.TTT.wm.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, TTT, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.RS.wm.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, RivestSchapire, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.partial.KV.wm.eps} ++% \vspace{5mm} ++% \caption{partial alphabet, KearnsVazirani, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{full alphabet, LStar, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.TTT.rand.eps} ++% \vspace{5mm} ++% \caption{full alphabet, TTT, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.RS.rand.eps} ++% \vspace{5mm} ++% \caption{full alphabet, RivestSchapire, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.KV.rand.eps} ++% \vspace{5mm} ++% \caption{full alphabet, KearnsVazirani, Random} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.LStar.wm.eps} ++% \vspace{5mm} ++% \caption{full alphabet, LStar, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.TTT.wm.eps} ++% \vspace{5mm} ++% \caption{full alphabet, TTT, WMethod} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.full.RS.wm.eps} ++% \vspace{5mm} ++% \caption{full alphabet, RivestSchapire, WMethod} ++%\end{figure} diff --cc a4/question2.tex index 2e098c1,0371752..cf879c0 --- a/a4/question2.tex +++ b/a4/question2.tex @@@ -1,40 -1,37 +1,52 @@@ - In order to be allow learnlib to learn the TCP model it was necessary to have a - deterministic model. We accomplished this by modifying the adapter so it can - reach a \texttt{ERROR} or \texttt{CLOSED} state. In these states all inputs are - discarded and a default output is returned. In the case of a state where an - input results in a non-deterministic output we jump to the \texttt{ERROR} state - for additional this given input. When the connection is successfully closed - using a \texttt{FIN} packet we move the adapter to the \texttt{CLOSED} state. -In order to be allow learnlib to learn the TCP model it was necessary to have a deterministic model. -We accomplished this by modifying the adapter so it can reach a \emph{ERROR} or \emph{CLOSED} state. In these states all inputs are discarded and a default output is returned. -In the case of a state where an input results in a non-deterministic output we jump to the \emph{ERROR} state for additional this given input. When the connection is successfully closed using a \emph{FIN} packet we move the adapter to the \emph{CLOSED} state. -- - We divided the input alphabet into three sets, this way we can control the size - of the model learned by learnlib. -We divided the input alphabet into three sets, this way we can control the size of the model learned by learnlib. -- - \begin{table}[H] - \begin{tabular}{cl} - \toprule - Alphabet & Inputs \\ - \midrule - small & \texttt{SYN}, \texttt{ACK} \\ - partial & \texttt{SYN}, \texttt{ACK}, \texttt{DATA} \\ - full & \texttt{SYN}, \texttt{ACK}, \texttt{DATA}, \texttt{RST}, - \texttt{FIN} \\ - \bottomrule - \end{tabular} - \caption{Different input alphabets used during learning.} - \end{table} -\begin{longtable}{|c|l|} - \caption{Different input alphabets used during learning.} \\\hline - Alphabet & Inputs \\\hline \hline - small & SYN, ACK \\\hline - partial & SYN, ACK, DATA \\\hline - full & SYN, ACK, DATA, RST, FIN \\\hline -\end{longtable} -- - Just as in our previous assignment the \texttt{DATA} packet is actually a - \texttt{ACK} with an user data payload and the \emph{push} flag set. These - input alphabets will influence the size of the model produced. \emph{small} - will result in a 2 state model, \emph{partial} will be the full model without - the \texttt{CLOSED} state and \emph{full} should result in the full model as - used in the previous assignment. -Just as in our previous assignment the \emph{DATA} packet is actually a \emph{ACK} with an user data payload and the \emph{push} flag set. -These input alphabets will influence the size of the model produced. \emph{small} will result in a 2 state model, \emph{partial} will be the full model without the \emph{CLOSED} state and \emph{full} should result in the full model as used in the previous assignment. -- - \paragraph{Model learned with small input alphabet} - %\includegraphics{model.small.LStar.rand.eps} -\begin{figure}[H] - \centering - \includegraphics[scale=0.75]{model.small.LStar.rand.eps} - \vspace{5mm} - \caption{Model learned with small input alphabet} -\end{figure} -- - \paragraph{Model learned with partial input alphabet} - %\includegraphics{model.partial.LStar.rand.eps} -\begin{figure}[H] - \centering - \includegraphics[width=\textwidth]{model.partial.LStar.rand.eps} - \vspace{5mm} - \caption{Model learned with partial input alphabet} -\end{figure} -- - \paragraph{Model learned with full input alphabet} - %\includegraphics{model.full.LStar.rand.eps} -\begin{figure}[H] - \centering - \includegraphics[width=1.2\textwidth]{model.full.LStar.rand.eps} - \vspace{5mm} - \caption{Model learned with full input alphabet} -\end{figure} ++In order to be allow learnlib to learn the TCP model it was necessary to have a ++deterministic model. We accomplished this by modifying the adapter so it can ++reach a \texttt{ERROR} or \texttt{CLOSED} state. In these states all inputs are ++discarded and a default output is returned. In the case of a state where an ++input results in a non-deterministic output we jump to the \texttt{ERROR} state ++for additional this given input. When the connection is successfully closed ++using a \texttt{FIN} packet we move the adapter to the \texttt{CLOSED} state. ++ ++We divided the input alphabet into three sets, this way we can control the size ++of the model learned by learnlib. ++ ++\begin{table}[H] ++ \begin{tabular}{cl} ++ \toprule ++ Alphabet & Inputs \\ ++ \midrule ++ small & \texttt{SYN}, \texttt{ACK} \\ ++ partial & \texttt{SYN}, \texttt{ACK}, \texttt{DATA} \\ ++ full & \texttt{SYN}, \texttt{ACK}, \texttt{DATA}, \texttt{RST}, ++ \texttt{FIN} \\ ++ \bottomrule ++ \end{tabular} ++ \caption{Different input alphabets used during learning.} ++\end{table} ++ ++Just as in our previous assignment the \texttt{DATA} packet is actually a ++\texttt{ACK} with an user data payload and the \emph{push} flag set. These ++input alphabets will influence the size of the model produced. \emph{small} ++will result in a 2 state model, \emph{partial} will be the full model without ++the \texttt{CLOSED} state and \emph{full} should result in the full model as ++used in the previous assignment. ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[scale=0.75]{model.small.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{Model learned with small input alphabet} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=\textwidth]{model.partial.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{Model learned with partial input alphabet} ++%\end{figure} ++% ++%\begin{figure}[H] ++% \centering ++% \includegraphics[width=1.2\textwidth]{model.full.LStar.rand.eps} ++% \vspace{5mm} ++% \caption{Model learned with full input alphabet} ++%\end{figure} diff --cc a4/question3.tex index d088a21,51dfc07..d5a1a13 --- a/a4/question3.tex +++ b/a4/question3.tex @@@ -1,44 -1,40 +1,49 @@@ - The table below contains some statistics about all the different parameter - configurations we ran learnlib with. All except \emph{RivestSchapire} using - the Random test method result in the correct model being learned. When - \emph{WMethod} is selected as the testing method \emph{RivestSchapire} is also - able to learn the correct model. - \emph{WMethod} does however increase the time needed to learn the model - significantly, when a different learner is used there is no reason not to use - the Random testing method. -The table below contains some statistics about all the different parameter configurations we ran learnlib with. -The \emph{RivestSchapire} learner using the Random test method resulted in an incorrect model being learned. -When the \emph{KearnsVazirani} learner using the WMethod tester wasn't able to learn a model, this is due the learner hitting a non-deterministic path. -This problem hasn't anything to do with the actual learner and is the result of a uncaught error situation in the adapter. -This shows us that a leaner can be used to test software, since we discovered a bug in our adapter. -Due to time constrains we were not able to fix this bug. -When \emph{WMethod} is selected as the testing method \emph{RivestSchapire} is also able to learn the correct model. -\emph{WMethod} does however increase the time needed to learn the model significantly, when a different learner is used there is no reason not to use the Random testing method. -- - \begin{table}[H] - \begin{tabular}{lllccc} - \toprule - Alphabet & Method & Test method & States & Time \\ - \midrule - small & LStar & Random & 2 & 12 sec \\ - small & TTT & Random & 2 & 5 sec \\ - small & RivestSchapire & Random & 2 & 6 sec \\ - small & KearnsVazirani & Random & 2 & 5 sec \\ - small & LStar & WMethod & 2 & 35 sec \\ - small & TTT & WMethod & 2 & 32 sec \\ - small & RivestSchapire & WMethod & 2 & 33 sec \\ - small & KearnsVazirani & WMethod & 2 & 33 sec \\ - - partial & LStar & Random & 4 & 18 sec \\ - partial & TTT & Random & 4 & 16 sec \\ - partial & RivestSchapire & Random & 4 & 13 sec \\ - partial & KearnsVazirani & Random & 4 & 22 sec \\ - partial & LStar & WMethod & 4 & 384 sec \\ - partial & TTT & WMethod & 4 & 390 sec \\ - partial & RivestSchapire & WMethod & 4 & 384 sec \\ - partial & KearnsVazirani & WMethod & 4 & 383 sec \\ - - full & LStar & Random & 5 & 44 sec \\ - full & TTT & Random & 5 & 25 sec \\ - full & RivestSchapire & Random & 4 & 12 sec \\ - full & KearnsVazirani & Random & 5 & 19 sec \\ - full & LStar & WMethod & 5 & 2666 sec \\ - full & TTT & WMethod & 5 & 2632 sec \\ - full & RivestSchapire & WMethod & 5 & 2638 sec \\ - full & KearnsVazirani & WMethod & - & - \\ - \bottomrule - \end{tabular} - \caption{Learning parameters and resulting model size.} - \end{table} -\begin{longtable}{| l | l | l | c | c | c |} - \caption{Learning parameters and resulting model size.} \\\hline - Alphabet & Method & Test method & States & Time \\\hline \hline - small & LStar & Random & 2 & 12 sec \\\hline - small & TTT & Random & 2 & 5 sec \\\hline - small & RivestSchapire & Random & 2 & 6 sec \\\hline - small & KearnsVazirani & Random & 2 & 5 sec \\\hline - small & LStar & WMethod & 2 & 35 sec \\\hline - small & TTT & WMethod & 2 & 32 sec \\\hline - small & RivestSchapire & WMethod & 2 & 33 sec \\\hline - small & KearnsVazirani & WMethod & 2 & 33 sec \\\hline - - partial & LStar & Random & 4 & 18 sec \\\hline - partial & TTT & Random & 4 & 16 sec \\\hline - partial & RivestSchapire & Random & 4 & 13 sec \\\hline - partial & KearnsVazirani & Random & 4 & 22 sec \\\hline - partial & LStar & WMethod & 4 & 384 sec \\\hline - partial & TTT & WMethod & 4 & 390 sec \\\hline - partial & RivestSchapire & WMethod & 4 & 384 sec \\\hline - partial & KearnsVazirani & WMethod & 4 & 383 sec \\\hline - - full & LStar & Random & 5 & 44 sec \\\hline - full & TTT & Random & 5 & 25 sec \\\hline - full & RivestSchapire & Random & 4 & 12 sec \\\hline - full & KearnsVazirani & Random & 5 & 19 sec \\\hline - full & LStar & WMethod & 5 & 2666 sec \\\hline - full & TTT & WMethod & 5 & 2632 sec \\\hline - full & RivestSchapire & WMethod & 5 & 2638 sec \\\hline - full & KearnsVazirani & WMethod & - & - \\\hline -\end{longtable} - ++The table below contains some statistics about all the different parameter ++configurations we ran learnlib with. The \emph{RivestSchapire} learner using ++the Random test method resulted in an incorrect model being learned. When the ++\emph{KearnsVazirani} learner using the WMethod tester wasn't able to learn a ++model, this is due the learner hitting a non-deterministic path. This ++problem hasn't anything to do with the actual learner and is the result of a ++uncaught error situation in the adapter. This shows us that a leaner can be ++used to test software, since we discovered a bug in our adapter. Due to time ++constrains we were not able to fix this bug. When \emph{WMethod} is selected ++as the testing method \emph{RivestSchapire} is also able to learn the correct ++model. \emph{WMethod} does however increase the time needed to learn the ++model significantly, when a different learner is used there is no reason not to ++use the Random testing method. ++ ++\begin{table}[H] ++ \begin{tabular}{lllccc} ++ \toprule ++ Alphabet & Method & Test method & States & Time \\ ++ \midrule ++ small & LStar & Random & 2 & 12 sec \\ ++ small & TTT & Random & 2 & 5 sec \\ ++ small & RivestSchapire & Random & 2 & 6 sec \\ ++ small & KearnsVazirani & Random & 2 & 5 sec \\ ++ small & LStar & WMethod & 2 & 35 sec \\ ++ small & TTT & WMethod & 2 & 32 sec \\ ++ small & RivestSchapire & WMethod & 2 & 33 sec \\ ++ small & KearnsVazirani & WMethod & 2 & 33 sec \\ ++ ++ partial & LStar & Random & 4 & 18 sec \\ ++ partial & TTT & Random & 4 & 16 sec \\ ++ partial & RivestSchapire & Random & 4 & 13 sec \\ ++ partial & KearnsVazirani & Random & 4 & 22 sec \\ ++ partial & LStar & WMethod & 4 & 384 sec \\ ++ partial & TTT & WMethod & 4 & 390 sec \\ ++ partial & RivestSchapire & WMethod & 4 & 384 sec \\ ++ partial & KearnsVazirani & WMethod & 4 & 383 sec \\ ++ ++ full & LStar & Random & 5 & 44 sec \\ ++ full & TTT & Random & 5 & 25 sec \\ ++ full & RivestSchapire & Random & 4 & 12 sec \\ ++ full & KearnsVazirani & Random & 5 & 19 sec \\ ++ full & LStar & WMethod & 5 & 2666 sec \\ ++ full & TTT & WMethod & 5 & 2632 sec \\ ++ full & RivestSchapire & WMethod & 5 & 2638 sec \\ ++ full & KearnsVazirani & WMethod & - & - \\ ++ \bottomrule ++ \end{tabular} ++ \caption{Learning parameters and resulting model size.} ++\end{table}