\chapter{General Information}
\section{Introduction}

ASK stands for Adaptive Sampling Kit. Its main goal is accelerating long experiments. Two kinds of variables define an experiment: a response and a set of factors. The response is characterized on the factors' Cartesian product.

When the space is small, the response can be measured for every point in the space. When the space is large, doing an exhaustive measurement is either not possible in terms of execution time or simply not practical. ASK tries to find good approximations of the response by sampling only a small fraction of the space.

\section{How Does It Work?}

ASK tries to efficiently sample the space by using \emph{active learning}, also called \emph{adaptive sampling}, approaches.
These approaches can usually be broken into three steps:
\begin{itemize}
	\item First, they sample a few points in the space and evaluate the response on the space by building a model.
\end{itemize}

\begin{itemize}
	\item Second, they identify the regions of the space where the model is \emph{imprecise}. The exact definition of \emph{imprecise} depends on each particular approach.
\end{itemize}

\begin{itemize}
	\item Third, they sample new points by prioritizing the exploration of the \emph{imprecise} regions. In other terms, they concentrate on the regions where interesting things happen.
\end{itemize}

\section{ASK Organization}

ASK is organized as a toolkit, composed of different modules with well-defined roles:

\begin{itemize}
	\item Bootstrap modules: select an initial batch of points to measure
\end{itemize}

\begin{itemize}
	\item Sampler modules: use adaptive sampling techniques that find interesting points to sample
\end{itemize}

\begin{itemize}
	\item Model modules: model the full space response based on a set of sampled points
\end{itemize}

\begin{itemize}
	\item Source modules: gather data by running experiments or by reading data from a database
\end{itemize}

\begin{itemize}
	\item Report modules: report statistics and plots to the user
\end{itemize}

A driver, called \texttt{ask}, orchestrates the communication and set-up of all these modules.

