  We analyze the performance of the greedy algorithm, and also a discrete
semi-gradient based algorithm, for maximizing the sum of a suBmodular and
suPermodular (BP) function (both of which are non-negative monotone
non-decreasing) under two types of constraints, either a cardinality constraint
or $p\geq 1$ matroid independence constraints. These problems occur naturally
in several real-world applications in data science, machine learning, and
artificial intelligence. The problems are ordinarily inapproximable to any
factor (as we show). Using the curvature $\kappa_f$ of the submodular term, and
introducing $\kappa^g$ for the supermodular term (a natural dual curvature for
supermodular functions), however, both of which are computable in linear time,
we show that BP maximization can be efficiently approximated by both the greedy
and the semi-gradient based algorithm. The algorithms yield multiplicative
guarantees of $\frac{1}{\kappa_f}\left[1-e^{-(1-\kappa^g)\kappa_f}\right]$ and
$\frac{1-\kappa^g}{(1-\kappa^g)\kappa_f + p}$ for the two types of constraints
respectively. For pure monotone supermodular constrained maximization, these
yield $1-\kappa^g$ and $(1-\kappa^g)/p$ for the two types of constraints
respectively. We also analyze the hardness of BP maximization and show that our
guarantees match hardness by a constant factor and by $O(\ln(p))$ respectively.
Computational experiments are also provided supporting our analysis.
