Thank you for your encouraging review and valuable feedback. We address each question in the following paragraphs.
**Q1**
Thank you for bringing this up. The LP formulation is actually paramount to the usefulness of our method, as an exhaustive search over all threshold combinations scales exponentially with the number of groups, and scales quadratically with the number of thresholds that the underlying predictor accepts. To clarify, an exhaustive search would have to span all combinations of group-specific _randomized thresholds_ in order to access the interior of each group's ROC curve (by using deterministic single-value thresholds we can only access specific discrete points in the exterior of each group's ROC curve). That is, each group’s decision function is represented by 2 values, $\{(\underline{t}_s, \overline{t}_s) : (\underline{t}_s, \overline{t}_s) \in \mathcal{T}^2 \land \underline{t}_s \leq \overline{t}_s\}, \mathcal{T} \subseteq \mathbb{R}$. Samples of group $s$ whose score is lower than $\underline{t}_s$ are classified negatively ($\hat{Y}=0$), samples whose score is higher than $\overline{t}_s$ are classified positively ($\hat{Y}=1$), and samples whose score is in the range $\left[\underline{t}_s, \overline{t}_s\right]$ are classified randomly by a coin toss [Hardt et al., 2016, Section 3.2].
For example, a coarse search grid over deterministic thresholds of $\mathcal{T} = \{0, 0.1, 0.2, ..., 1.0\}$, includes randomized thresholds $\{ (0.0, 0.0), (0.0, 0.1), ..., (0.0, 1.0), (0.1, 0.1), (0.1, 0.2), ... \}$, a total of $\frac{\left|\mathcal{T}\right|(\left|\mathcal{T}\right|+1)}{2}$ combinations (scales quadratically with $\left|\mathcal{T}\right|$). Perhaps more importantly, if $\mathcal{A}$ is the set of randomized thresholds, the search space will span $\mathcal{A}^{|\mathcal{G}|}$ different threshold combinations, where $|\mathcal{G}|$ is the number of sensitive groups.
We've implemented an exhaustive-search solver and **added an example notebook** to the examples folder in the anonymized repository linked in the paper ([link here](https://anonymous.4open.science/r/error-parity-8550/examples/brute-force-example_equalized-odds-thresholding.ipynb)). Running an extremely coarse grid of $|\mathcal{T}|=11$ thresholds on our main experiment ($|\mathcal{G}|=4$) leads to over $9\text{M}$ combinations. With our implementation, a small experiment using $|\mathcal{G}|=2$ and $|\mathcal{T}|=8$ takes 3 minutes to run over the $4356$ combinations with an exhaustive-search solver, while the LP solver takes 109ms to achieve a superior solution (because the search grid is finer).
**W1**
Thank you for this suggestion. We've **added these comparisons in a new Appendix A.6** to the latest paper revision. Namely, we compare fairness and accuracy results for postprocessing and fairness-constraining the same model class (e.g., FairGBM compared to postprocessed GBM), or unprocessing and unconstrained training of the same model class (e.g., unprocessed FairGBM compared to GBM).
Please let us know of any further suggestions you'd find beneficial for the presentation of our work.
**W2**
We agree that our most significant contributions are empirical, and describing the LP is not particularly novel. However, as all our findings rely on the proposed relaxed postprocessing method, we believe that a clear definition of this optimization problem should be in the body of the paper; additionally clarifying how exactly relaxed postprocessing differs from strict postprocessing (whose LP solution is detailed by Hardt et al. (2016)). We admit that a balance between lack of context and unnecessarily detailed explanations is hard to strike, as other reviewers even suggest that this section should be lengthened.
---
Thank you for your insightful recommendations. We believe the latest paper additions have definitely improved our work.