Files
bachelor_thesis/25_Outline/sections/40_concept.tex
hannes.kuchelmeister 4f6f6b3341 add formula to concept
2020-02-24 16:03:36 +01:00

135 lines
6.5 KiB
TeX

\chapter{Concept}
\label{ch:Concept}
\section{User Interaction with the System}
\label{sec:Concept:UserSystemInteraction}
The system has one main way to be used as defined in \autoref{tab:Concept:MainUseCase}.
\begin{figure}
\centering
\includegraphics[width=1\textwidth]{./figures/bpmn_configuration_process_with_continious_recommendation.pdf}
\caption{A bpmn diagram of the configuration process.}
\label{fig:Concept:ConfigurationProcess}
\end{figure}
\begin{table}
\begin{center}
\begin{tabularx}{\columnwidth}{l|X}
\multicolumn{2}{c}{Main System Usage} \\
\hline
Preconditions &
\begin{itemize}
\item The configurator is opened with the same session on each of the group member's machines
\item The configuration is in an unfinished state (this state is a consensus state)
\end{itemize} \\
\hline
Postcondition &
\begin{itemize}
\item All users have entered their preferences for each attribute explicitly.
\item The system gives a recommendation based on all preferences and the unfinished configuration state
\end{itemize} \\
\hline
Basic Flow &
\begin{enumerate}
\item A user indicates a preference for an attribute
\item The system generates a recommendation (based on preferences and configuration status)
\item If not all users have given their preferences go to step 1.
\end{enumerate} \\
\hline
\end{tabularx}
\caption{A description of the main way users will interact with the system}
\label{tab:Concept:MainUseCase}
\end{center}
\end{table}
\FloatBarrier
\section{Solution Objectives}
\label{sec:Concept:SolutionObjectives}
Given an unfinished configuration and preferences of all group members rate a finished configuration on how well "similar" it reflects the configuration and preferences.
Use this to choose the best finished configuration out of a list to recommend.
\subsection{Generating a Recommendation}
Hereby the idea is there is a database of complete configurations (possibly historic from other groups or automatically generated or both).
Now the recommendation procedure looks as follows:
\begin{enumerate}
\item Assign a score to each stored configuration according to $$score_{group}(\overline{configurationState},\ \overline{preferences}, \ configurationInStore)$$
\item Optional: Filter out configurations that have a score below a certain value using a different scoring function. For example filter out configurations that cause a certain level of misery.
\item Chose the configuration with the highest score as recommendation.
\end{enumerate}
\todo[inline]{move definitions that are made by me to here}
\subsection{Scoring Function}
\emph{Group configuration scoring function} using preferences and current configuration state. This function gives a score for a finished configuration (while using the current configuration state and all user preferences):
\begin{equation}
score_{group}: S \times P \times S_F \to \mathbb{R}
\end{equation}
An example group configuration scoring function is $score_{group}$ with
\begin{equation}
\notag \alpha \in \mathbb{R}, \qquad changed(d,\overline{s}, s) =
\begin{cases}
1, & d \in \overline{s} \land d \notin s \\
0, & \text{otherwise}
\end{cases}
\end{equation}
\begin{equation}
\begin{split}
score_{group}(\overline{s},\ \overline{p},\ s)
& = score(\overline{p},\ s) - penalty(\overline{s},\ s) \\
& = score(\overline{p},\ s) - \sum_{d \in \overline{s}} changed(d,\overline{s}, s) \cdot \alpha
\end{split}
\end{equation}
\begin{figure}
\begin{mdframed}[frametitle={Example for Forest Use Case}]
In this example we have two users. The use case is a piece of forest and variables are for example harvesting activity, which trees to grow and accessibility for people.
\begin{align}
\begin{split}
V = \{ & \textit{Heimisch}, \textit{Klimaresilient}, \textit{Verwertbar}, \textit{Ernteaufwand}, \\
& \textit{Menge}, \textit{Preis}, \textit{Walderfahrung} \},
\end{split} \notag \\
\mathfrak{D}(\textit{Heimisch}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
\mathfrak{D}(\textit{Klimaresilient}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
\mathfrak{D}(\textit{Verwertbar}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
\mathfrak{D}(\textit{Ernteaufwand}) = \{ & \text{Motormanuel}, \text{Harvester}, \text{Vollautomatisch}\}, \notag \\
\mathfrak{D}(\textit{Menge}) = \{ & \text{Keine}, \text{Gering}, \text{Hoch}\}, \notag \\
\mathfrak{D}(\textit{Preis}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag\\
\mathfrak{D}(\textit{Walderfahrung}) = \{ & \text{Gering}, \text{Mittel}, \text{Intensiv}\},\notag \\
U = \{ & 1,2\} \notag\\
P = \{ & P_1, P_2\} \notag\\
\begin{split}
P_1 = \{ & (\text{Motormanuel}, 0.5), (\text{Harvester}, -0.3) \} \\
& \cup \{ (d,0)\ |\ d \in \mathfrak{D}(i),\ i \in V,\ i \notin \{ \text{Motormanuel}, \text{Harvester}\} \ \} \
\end{split} \notag \\
P_2 = \{ & (d,0)\ |\ d \in \mathfrak{D}(i),\ i \in V \} \notag \\
S = \{ & (\textit{Heimisch}, \text{Gering}), (\textit{Menge}, \text{Gering}) \} \notag \\
\begin{split}
S_F = \{ & (\textit{Heimisch}, \text{Gering}), (\textit{Klimaresilient}, \text{Gering}), (\textit{Verwertbar}, \text{Gering}), \\
& (\textit{Ernteaufwand}, \text{Motormanuel}),
(\textit{Menge}, \text{Keine}), (\textit{Preis}, \text{Hoch}),\\
& (\textit{Walderfahrung}, \text{Gering}) \}
\end{split} \notag
\end{align}
\end{mdframed}
\caption{An example of a forest use case that includes two people.}
\label{fig:Concept:ForestExample}
\end{figure}
\section{Benefits}
\label{sec:Concept:Benefits}
The benefits of this approach are, that the need for a group to communicate is reduced. Each user gives their own preferences and the group will get a recommendation based on that. This allows to reduce problems with communication and bias in groups.