Я пытаюсь выполнить некоторые вычисления для ненаправленного, циклического, взвешенного графика и ищу хорошую функцию для расчета совокупного веса.
Каждое ребро имеет значение расстояния в диапазоне [1, ∞). Алгоритм должен придавать большее значение меньшим расстояниям (он должен быть монотонно убывающим), и ему следует присвоить значение 0 для расстояния ∞.
Мой первый инстинкт был просто 1 / d, который отвечает обоим этим требованиям. (Ну, технически 1 / ∞ не определено, но программисты склонны упускать этот слайд легче, чем математики.) Проблема с 1 / d состоит в том, что функция гораздо больше заботится о разнице между 1/1 и 1/2 чем разница между 1/34 и 1/35. Я бы хотел еще больше это разгадать. Я мог бы использовать √ (1 / d) или ∛ (1 / d) или даже ∜ (1 / d), но я чувствую, что упускаю целый класс возможностей. Есть предложения?
(я подумал о ln (1 / d), но он переходит в -∞, когда d переходит в ∞, и я не могу придумать, как можно увеличить это значение до 0.)
Позже
Я забыл требование: w (1) должно быть 1. (Это не делает недействительными существующие ответы; мультипликативная константа в порядке.)