Посвящаю моей любимой жене, инициировавшей домашнее чаепитие с просмотром видео.

Вместо предисловия

Идея оценить уровень справедливости при распределении ресурсов между людьми родилась в разговоре «на кухне» при просмотре видео о росте количества инфо-мошенников (в оригинале «инфо-цыган», которые «лечат» неуспех с помощью «правильной» постановки целей и «личностного роста» ). В продолжении данной тематики был приведен интересный факт из компетентного источника: «эзотерика занимает на рынке обучающих электронных курсов твердое второе место» (!). Этот факт показался мне вполне естественным ввиду того, что не всегда большое количество усилий, приложенных человеком в направлении достижения цели, приводит к ожидаемому результату. Как следствие – «ищем причины в себе». Для иллюстрации закономерности данного факта родилась модель «крошек» (на столе, за которым мы сидели после обеда) – модель справедливого распределения ресурсов, при которой тем не менее появляются «обделенные» и «обездоленные».

Описание модели

Суть модели проста: на столе равномерно разбросаны крошки, которые очень любят микробы, ползающие по столу (вместо микробов можно представить мини-муравьев, или других мелких существ, которые умеют ползать в поисках еды). Далее будем их называть точками. Точки олицетворяют людей, а крошки – материальные ресурсы, к которым люди стремятся.

Будем предполагать, что точки распределены по столу равномерно, равно как и крошки. Любое отклонение от равномерного распределения будет порождать несправедливость: преимущество в возможностях доступа к крошкам одних точек над другими. (Мы же хотим создать «справедливые» условия для всех.)

Каждая точка видит свою ближайшую крошку и движется к ней. Будем предполагать, что скорость движения точек к своим крошкам одинаковая у всех (опять-таки из соображений справедливости).

И наконец, сделаем так, чтобы между точками не было «конкуренции» («стратегия голубого океана»), пусть для каждой точки найдется своя крошка, достигнув которой она будет «счастлива». И если две точки достигают одной крошки (в разное время), то «счастье» достается обеим.

Казалось бы, мы создали мир равных возможностей. Посмотрим, так ли это на самом деле…

Исследование модели

Для начала упростим модель и перейдем от двумерности на плоскости к одномерному представлению:

Ввиду того, что распределение по каждой из осей является независимым и равномерным, упростим модель, рассмотрев одномерный случай, когда точки движутся к крошкам на прямой.

Распределение точек на прямой – равномерное, распределение крошек – равномерное также.

Моделирование произведем средствами Excel. Рассмотрим, например, 100 точек и 100 крошек на единичном отрезке (от 0 до 1). Разбросаем точки и крошки с помощью датчика псевдо-случайных чисел (в Экселе используется генерация по алгоритму «Вихрь Мерсена»). Посчитаем расстояния от каждой точки до каждой крошки. Расстояние будем рассчитывать как модуль разности между координатами точки и крошки на прямой Х.

Рис. Фрагмент матрицы расстояний между точками и крошками
Рис. Фрагмент матрицы расстояний между точками и крошками

Ввиду того, что точка движется к ближайшей крошке, упорядочим расстояния от каждой точки до крошек по возрастанию. Посмотрим, как выглядят графики распределения расстояний до крошек по каждой выбранной точке:

Рис. Распределение расстояния до крошек для выбранных 10 (случайных) точек.
Рис. Распределение расстояния до крошек для выбранных 10 (случайных) точек.

На рисунке представлены графики удаленности крошек для десяти случайно выбранных точек.

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

Примечание: В идеале мы должны получить семейство прямых, которые начинаются в нуле, а заканчиваются в точке на интервале от 0.5 до 1. Угол наклона прямой зависит от расположения точки на интервале (0;1). Для точек, расположенных ближе к центру отрезка (0;1), максимальное расстояние до крошки стремится к 0.5 (сверху), т.к. расстояние от центра до краев равно 0.5).

Теперь выберем для каждой точки лишь одну «целевую» крошку, расстояние до которой минимальное. Получим вектор расстояний до ближайших крошек, которые нужно преодолеть каждой точке для достижения цели.

Рис. Расчет минимальных расстояний до крошки для каждой точки
Рис. Расчет минимальных расстояний до крошки для каждой точки

Упорядочим минимальные расстояния до крошек по возрастанию (по аналогии с тем, что мы делали выше). Получим график распределения расстояний до ближайшей крошки по точкам.

Повторим данную операцию для нескольких выборок точек и крошек.

Рис. Десять графиков распределения расстояний от точек до их ближайших крошек (где точки упорядочены по возрастанию расстояния)
Рис. Десять графиков распределения расстояний от точек до их ближайших крошек (где точки упорядочены по возрастанию расстояния)

Усредним полученный результат. В нашем случае достаточно было 10 выборок минимальных расстояний, т.к. их среднее сходится к одному графику:

Рис. Сходимость к среднему распределению при усреднении по выборкам
Рис. Сходимость к среднему распределению при усреднении по выборкам

Усреднение последовательно производилось по 1,2,3…10 выборкам.

Рис. Усредненное распределение расстояний до крошки по точкам
Рис. Усредненное распределение расстояний до крошки по точкам

 Полученный график среднего распределения расстояний от точек до крошек не является линейным. Первая его половина больше похожа на линейную функцию, но вторая – на экспоненциальную.

Уже сейчас можно видеть, что есть точки, у которых расстояние до ближайшей крошки существенно превышает среднее. Но для того, чтобы делать выводы, представим данную кривую в несколько ином виде: на оси Х отложим отрезок расстояний до крошек от минимального до максимального, а по оси Y будем отмечать количество точек, для которых расстояние до крошки меньше заданного. Получим такой график:

Рис. "Расстояние до счастья"
Рис. "Расстояние до счастья"

Читается данный график так:

  • Зеленая область: Для 20% точек расстояние, которое надо преодолеть до крошки, не превышает 6% от максимально возможного (это «счастливцы»)

  • Желтая область: для 60% точек в диапазоне от 20 до 80%) расстояние до крошки не превышает 40% от максимального («середнякам» нужно приложить не более 40% от возможных усилий, чтобы достичь цели)

  • Ярко красная область: Для порядка 15% точек расстояние, которое надо преодолеть, более чем в 2 раза превышает то, которое преодолевают 80% точек для достижения цели (это «несчастные точки»).

Выводы

Удивительным образом, несмотря на то, что распределение точек и крошек было выбрано равномерным, путь движения к цели для разных точек оказался существенно различным. А именно:

Существует 20% «счастливцев», для которых путь до цели составляет порядка 15% (6/40) от пути среднестатистического индивидуума. Объем ресурсов (в т.ч. требования к личностным качествам) для достижения цели для этой категории граждан существенно ниже, чем для большинства, «в силу их рождения».  Однако количество людей, находящихся «неподалеку» от «счастья» достаточно велико для того, чтобы между ними могла возникнуть конкуренция. Но она не исключает случая, когда «дуракам везет».

С другой стороны, существует порядка 20% «несчастных», для которых путь движения к цели более чем в 2 раза (!) превышает путь 80% остальных. Что это значит на практике?

Движение обычно связано с затратами ресурсов. Это могут быть: время, деньги, энтузиазм, лояльность и пр. Есть люди, которые вложили в движение все, и даже в разы больше того, что вкладывают другие, и при этом не достигли результата. Могут ли они винить себя? Нет. Просто им не повезло с начальной точкой. Но они этого не знают…

В условиях «невезения», когда окружающую среду не удается изменить, а у других вокруг – успех при меньших вложениях, возникает ощущение бессилия, и единственный вывод, который можно сделать в этих условиях, только один – «что-то не так во мне». Именно поэтому у курсов с названием «Марафон желаний» или практик связанных с «личностным ростом» всегда будет свой клиент.

А Бога винить не нужно, он сделал все, что мог J .

PS: Интересное (и короткое) видео про обоснование собственного успеха у «голубей Скиннера» можно посмотреть в этом видео.

Комментарии (8)


  1. novoselov
    07.01.2022 08:02
    +1

    В реальном мире распределение крошек в развитых и развивающихся странах не равны.

    Скорость движения для тех кто родился в богатой семье можно считать выше.

    Теперь осталось взять все страны, их ВВП (и обновлять его в какой-то промежуток времени после обнуления), количество человек в стране, процентное распределение дохода по группам и прикинуть как быстро будут богатеть богатые и беднеть бедные :)


  1. BlackStar1991
    07.01.2022 13:59

    Как ваша модель будет работать если "крошек на столе" в 10...100 раз меньше чем желающих ими обладать ? (пример средняя страна Африки и её населения), или же в обратнуюю сторону когда крошек больше чем точек которые способны их поглотить? (Зажиточный страны с большим ВВП). Будет ли точка останавливаться после взятия первой точки, или же поменяет свой вектор движения к самой удаленной крошке от которой по той, или иной причине отказалась точка которая была ближе всего к ней. Только в вымышлином мире у нас неограничены время и ресурсы. Всего мало, а всех - много. Но за видео, спасибо +1 от меня.


    1. Protos
      08.01.2022 06:47

      На помощь придет удаленная работа на МСК где хрошек так много, что в некоторых областях не хватает точек, тогда путь из 80% затрат превращается в 20% пусть крошка фактически и очень далеко


  1. happy-cat
    07.01.2022 14:12

    Принцип Парето во всей красе :)


  1. a1500
    07.01.2022 14:23

    очень похожий (или тот же, уже не помню) принцип в одном из своих видео показывал Максим Дорофеев, советую посмотреть (к сожалению не момню названия видео).


  1. anatolii_kostrygin
    07.01.2022 15:45
    +1

    Вот так люди и узнают про дисперсию. На картинке ниже (из википедии, статья https://en.wikipedia.org/wiki/Halton_sequence) "крошки" внутри квадрата распределены равномерно.

    Если на это распределение случайно кинуть точку (не важно, с каким распределением, лишь бы оно было независимо относительно распределения "крошек"), то иногда вы будете почти попадать в "крошку", а иногда - в пустыню без единой крошки.

    P.S. То распределение, которое вы строили называется nearest neighbor distribution. В вашем случае должна быть экспонента от количества крошек, но полином от расстояния (хотя и огромной степени). Доказать можно оценив функцию распределения:
    1. зафиксируем точку на отрезке длиной 1.
    2. кинем равномерно n крошек
    3. для того, чтобы расстояние до ближайшего соседа было хотя бы d, нужно, чтобы в отрезок длиной 2*d (d-окрестность точки) не попало ни одной крошки.
    4. вероятность этого (1 - 2*d) ^ n
    5. чтобы получить распределение - берём производную.


    1. bazarmen Автор
      08.01.2022 22:54

      Спасибо, очень ценно!


  1. ak47cccp
    08.01.2022 09:07

    Мне кажется, вы не учитываете в модели то, что для одной крошки может быть не 1, а 2 и более точек, у которых расстояние будет минимальное (до этой крошки). Иначе говоря, у одной крошки может быть 2 и более "потребителя", если брать только минимальное расстояние как критерий.

    Попробуйте найти оптимальное соответствие 1:1 используя, например, венгерский алгоритм.