Finish text for max rule

This commit is contained in:
Tobias Eidelpes 2020-05-15 17:33:30 +02:00
parent 31065aba3c
commit f23706b93b

View File

@ -108,7 +108,7 @@ exceed the limit $B$:
\begin{equation}\label{eq:1}
\sum_{p\in A}{c(p)\leq B}.
\end{equation}
When projects can be divisible, i.e. completed to a fractional degree, the
When projects can be divisible, i.e., completed to a fractional degree, the
authors define a function $\mu(p) : P\rightarrow [0,1]$ which maps every project
to an interval between zero and one, representing the fractional degree to which
this project is completed. Since the cost of each project is a function of its
@ -217,7 +217,7 @@ of this property.
The third satisfaction function assumes that voters are content as long as there
is at least one of the projects they have approved selected to be in the winning
set. Therefore, a voter achieves satisfaction 1 when at least one approved
project ends up in the winning bundle, i.e. if $|A_v| > 0$ and 0 satisfaction
project ends up in the winning bundle, i.e., if $|A_v| > 0$ and 0 satisfaction
otherwise (see equation~\ref{eq:5}).
\begin{equation}\label{eq:5}
sat_{0/1}(P_v,A) =
@ -228,9 +228,10 @@ otherwise (see equation~\ref{eq:5}).
\end{equation}
The satisfaction functions from equations~\ref{eq:4} and \ref{eq:5} can also be
combined with the greedy rule, potentially giving slightly different outcomes
than $\mathcal{R}_{sat_\#}^g$.
than $\mathcal{R}_{sat_\#}^g$. An example demonstrating the greedy rule is given
in example~\ref{ex:greedy}.
\begin{example}
\begin{example}\label{ex:greedy}
A set of projects $P = \{ p_2,p_3,p_4,p_5,p_6 \}$ and their associated cost
$p_i$ where project $p_i$ costs $i$ and a budget limit $B = 10$ is given.
Futhermore, five voters vote $v_1 = \{ p_2,p_5,p_6 \}$, $v_2 = \{ p_2,
@ -240,12 +241,59 @@ than $\mathcal{R}_{sat_\#}^g$.
$\mathcal{R}_{sat_{0/1}}^g$ $\{ p_2,p_3,p_5 \}$.
\end{example}
These three satisfaction functions cannot only be combined with a greedy
selection process. A different possibility is to always select a winning set of
projects that maximizes the sum of the voters' satisfaction:
Computing a solution to the problem of finding a winning set of projects by
using greedy rules can be done in polynomial time due to their iterative nature.
The downside to using a greedy selection process is that the provided solution
might not be optimal with respect to the satisfaction.
To be able to compute optimal solutions,
\textcite{talmonFrameworkApprovalBasedBudgeting2019} suggest combining the
satisfaction functions with a maximization rule. The maximization rule always
selects a winning set of projects that maximizes the sum of the voters'
satisfaction:
\begin{equation}\label{eq:6}
\max_{A\subseteq P}\sum_{v\in V}sat(P_v,A)
\end{equation}
The max rule can then be used with the three satisfaction functions in the same
way, giving: $\mathcal{R}_{sat_\#}^m$, $\mathcal{R}_{sat_\$}^m$ and
$\mathcal{R}_{sat_{0/1}}^m$. Example~\ref{ex:max} shows that the selection of
winning projects is not as intuitive as when using the greedy rule. Whereas it
was still possible to compute a solution without any tools for the greedy
selection, the max rule requires knowing the possible sets of projects
beforehand in order to select the bundle with the maximum satisfaction. This
hints at the complexity of the max rule being harder to solve than the greedy
rule. The authors confirm this by identifying $\mathcal{R}_{sat_\$}^m$ as weakly
\textsf{NP}-hard for the problem of finding a winning set that gives at least a
specified amount of satisfaction. The proof follows from a reduction to the
subset sum problem which asks the question of given a set of numbers (in this
case the cost associated with each project) and a number $B$ (the budget limit)
does any subset of the numbers sum to exactly $B$? Because the subset sum
problem is solvable by a dynamic programming algorithm in $O(B\cdot |P|)$ where
$P$ is the set of projects, $\mathcal{R}_{sat_\$}^m$ is solvable in
pseudo-polynomial time. Finding a solution using the rule
$\mathcal{R}_{sat_\#}^m$ however, is doable in polynomial time due to the
problem's relation to the knapsack problem. If the input is represented in
unary, a dynamic programming algorithm is bounded by a polynomial in the length
of the input. For $\mathcal{R}_{sat_{0/1}}^m$, finding a set of projects that
gives at least a certain amount of satisfaction is \textsf{NP}-hard. Assuming
that the cost of all of the projects is one unit, the rule is equivalent to the
max cover problem because we are searching for a subset of all projects with the
number of the projects (the total cost due to the projects given in unit cost)
smaller or equal to the budget limit $B$ and want to maximize the number of
voters that are represented by the subset.
\begin{example}\label{ex:max}
Taking the initial setup from example~\ref{ex:greedy}: $P = \{
p_2,p_3,p_4,p_5,p_6 \}$ and their associated cost $p_i$ where project $p_i$
costs $i$, a budget limit $B = 10$ and the five voters: $v_1 = \{
p_2,p_5,p_6 \}$, $v_2 = \{ p_2, p_3,p_4,p_5 \}$, $v_3 = \{ p_3,p_4,p_5 \}$,
$v_4 = \{ p_4,p_5 \}$ and $v_5 = \{ p_6 \}$. We get $\{ p_2,p_3,p_5 \}$ for
$\mathcal{R}_{sat_\#}^m$, $\{ p_4,p_5 \}$ for $\mathcal{R}_{sat_\$}^m$ and
$\{ p_4,p_6 \}$ for $\mathcal{R}_{sat_{0/1}}^m$. Especially the last rule is
interesting because it provides the highest amount of satisfaction possible
by covering each voter with at least one project. Project $p_6$ covers
voters $v_1$ and $v_5$ and project $p_4$ voters $v_2$, $v_3$ and $v_4$.
\end{example}
\printbibliography