результат должен быть больше, чем истинный результат
Трудоемкий подход предполагает использование уравнения y = f(a,b,c,...)
с использованием комбинаций a
, floating_point_before(a)
1 , floating_point_after(a)
с 3 значениями b
, 3 значениями c
, ...
Это делает для n
параметров 3 n комбинаций для тренировки. Затем код возвращает наибольшее значение y
.
Это не обязательно соответствует «результат должен быть больше, чем истинный результат», но будет со многими уравнениями 2 .
В общем случае это сформирует не слишком чрезмерный максимум y
, но не обязательно наименьший y
больше истинного результата.
Конечно, если значения близки к интересный полюс f()
, все ставки отключены.
Если доступно f'(a,b,c...)
, возможно, для тренировки потребуется меньше комбинаций - опять же, если y(a,b,c,...)
не находится рядом с интересной точкой (местный мин. / макс. ).
Даже если это не соответствует всем целям OP, его достаточно легко закодировать и можно использовать в качестве проверки курса для лучшего решения.
A более формальный подход использует интервальную арифметику c, а также предлагает @ Eri c Postpischil .
1 Research nextafter()
2 Проблемы, когда y(a,b,c,...)
близок к локальному максимальному / минимальному значению