Непонятно обобщение :) Расскажите с обобщением понятно, что если положить 100 черных в одну корзину и 100 белых в другую вероятность максимальная. Так же понятно если в одной корзине доминируют одни шары скажем с X%, то и вероятность вытащить их X% из этой корзины. Поэтому кладем по максимуму разные шары в разные корзины
Вообще если зафиксировать к примеру m, то функция получается такая
f (n) = 2 — m/(n + m) — (M — m) / (-n + (N+M -m)), то есть искать надо минимум среди
m/(n+m) + (M — m) / ( -n + (N+M-m)) -> min
А потом среди минимумов параметров m, найти глобальный минимум.
На самом деле частные производные тут совсем не помогут, условия поставлены не совсем корректно. При n +m -> 0 или n+m -> N+ M, получается любой бесконечно большое число. Так что тут задача в целочисленных ограничений, которые зачастую не имеют красивого решения.
Для целочисленных задач могу посоветовать построить графики в Mathematica или поискать для конкретных значений N, M экстремумы. Ну а вообще попытаться наложить больше ограничений на N, M.
Также можно посмотреть в сторону f (x, y) > или < f(x, y+1) и f (x +1, y) > или < f(x, y). Если функция монотонна (она квадратичная скорее всего будет 2 отрезка монотонности), то можно методом спуска определить целочисленный экстремум.