24 янв. 2020 г.

О гладких и ступенчатых функциях

Добрый день!

Как известно, 2020 год объявлен годом гладких функций в России (к сожалению, нет). Конечно, мы не будем требовать непрерывности производных всех порядков, но хотя бы первый порядок же часто можно обеспечить.

О чём вообще речь? Наша жизнь наполнена ступенчатыми функциями. Само по себе это, возможно, не так уж и плохо, но ведь это контринтуитивно, это сбивает с толку, это часто похоже на обман или злую хитрость. Тоже замечаете это? Тогда сообщите об этом в комментариях, пожалуйста (я хочу понять, насколько моё психическое расстройство распространено).

О чём речь? Самый простой пример: в ближайшем ко мне продовольственном магазине при чеке выше 1000 рублей автоматически применяется скидка 15%. Хорошо? Да, наверное. Но если вдруг в корзине прямо сейчас товаров на 950 рублей, то выгоднее добавить какую-нибудь шоколадку за 50 р. (и тогда товаров будет на 1000 рублей, но со скидкой 15% получится 850 рублей (ситуация настолько банальная, что из этого хорошую задачку, наверное, придумать не удастся)). Мотивацию магазина я понимаю: он стимулирует покупать сразу много (не всегда нужного), разгружает кассы (очереди должны быть меньше, если люди реже ищут в кошельке карту/мелочь) и т.д., но комфорт человека страдает, по-моему.

Впрочем, «поломанной аддитивностью» (за большее количество товаров можно заплатить меньше) человека удивить сложно. В известном эксперименте Листа удалось показать следующее: «при совокупной оценке бо́льшие наборы оценивались выше маленьких, а при одиночной — ниже. С точки зрения экономической теории результат вызывает тревогу: экономическая ценность набора посуды или бейсбольных карточек — суммоподобная переменная. Добавление в набор элемента с положительной ценой может ее лишь увеличить». Но объяснение тут, конечно, совсем другое.

Мне неприятно от того, что вокруг так много ступенчатых функций: в страховании, на таможне, в банках и т.д. Взять тот же автомобильный налог (ниже данные по легковым автомобилям в Московской области в 2019 году):
- До 100 лошадиных сил ставка 10 р. за каждую лошадь.
- От 100 до 150 лошадиных сил ставка 34 р. за каждую лошадь.
- От 150 до 200 лошадиных сил ставка 49 р. за каждую лошадь.
И т.д. К чему это приводит? Давайте сравним налог для автомобилей с мощностью двигателя 99-101, 149-151, 199-201 лошадиных сил. Получаем следующие суммы:
- 10*99 = 990 и 34*101 = 3434 рубля (разница в три раза из-за двух лошадиных сил),
- 34*149 = 5066 и 49*151 = 7399 рублей (отличие в полтора раза из-за тех же двух лошадиных сил),
- 49*199 = 9751 и 65*201 = 13065 рублей (то же самое).
А вокруг 250 л.с. прыжок ещё сильнее: с 75 до 150 рублей.

Коряво же! Рассказывать о том, что это не главная проблема, что это мелочи, что есть куча всего серьёзного, я и сам могу. Но ведь всё равно коряво! А ведь можно было сделать нормально: первые 100 лошадиных сил по 10 рублей, а следующие уже по 34, затем по 49 р., потом по 75 и так далее. Я понимаю, что это чуть сложнее считать будет. Но плюс в том, что совершенно уйдёт необходимость переживать о том, что написано в ПТС (99 или 101, например).

По-моему, так можно сделать почти всегда при вычислении суммы/налога/штрафа и т.д. Сейчас всюду компьютеры считают, поэтому выдумывать ничтожные упрощения считающему не надо, ведь это приводит к усложнениям у многих других. Допустим, банк берёт 1% за переводы в другие банки суммы до 100 т.р., но 2% за переводы свыше 100 т.р. Получается, что перевод 99 и 101 т.р. отличается по цене примерно в два раза. Ну нелогично же! Тут же тоже напрашивается правило «1% до 100 т.р., а оставшаяся сумма по 2%» (я не одобряю такие тарифы, привёл их для примера).

Вот если ситуация не предполагает гладкости (например, если законом запретили квадрокоптеры тяжелее 250 г., то логично, что тут же производители сделали устройства весом 249 г.), то не о чем и говорить. Или, например, с льготами/доплатами при разном количестве детей тоже понятно — тут явная ступенчатая функция без вариантов. Но в остальных-то ситуациях можно добавить гладкости, чтобы не спотыкаться зря на ступеньках.

Надеюсь, вы хорошо повидались с близкими в новогодние праздники! Здоровья вам, родным и друзьям!

И хорошего завершения недели!

Понравилась заметка? Подпишитесь на RSS-feed или email-рассылку.

Хотите поделиться ссылкой с другими? Добавьте в закладки:



Есть вопросы или предложения? Пишите письма на адрес mytribune АТ yandex.ru.

С уважением,
      Илья Весенний