mirror of
https://github.com/13hannes11/bachelor_thesis.git
synced 2024-09-04 01:11:00 +02:00
135 lines
6.5 KiB
TeX
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.
|
|
|