Ответы к посту
Брак в стиле ДнД

Продолжение поста «Брак в стиле ДнД»

Штош... Я таки сделал симуляцию игры "в молоко" и, как оказалось, игра вполне пригодна для применения по назначению в неизменном виде, но есть и идея по незначительному улучшению.

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

Итак, задача.

Есть непостоянная в своём числе группа забывчивых людей, которые хотят, чтобы у них всегда было молоко для кофе, и хочется им, чтобы за него платили все по справедливости.

Однако никому не хочется вести за всех "бухгалтерию".

Как решение предлагается такая "игра".

Допустим у нас есть какое-то количество молока. Каждый может налить из пачки любое его количество, но должен бросить кость d10 дважды, чтобы получить число от 00-99. Если выпало число в процентах большее, нежели процент налитого молока от полной пачки, то игрок ничего не должен, иначе ему следует купить новую пачку на следующий день.

Про подоплёку этой задачи уже всё обсудили в моём предыдущем посте на эту тему. Можно ворваться там в комменты и продолжить яростные дебаты. Закинуть свежую мысль о том, как всё это сложно, о том как всем там делать нечего и какая нищебродская контора не покупает своим сотрудникам в достаточном количестве 54 вида молока.

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

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

Во-вторых, изложенное игровое решение не обеспечивает гарантию, что молоко не закончится. Игра обеспечивает справедливое распределение расходов участников на молоко.

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

При этом ни за кого ничего помнить не надо, кроме себя. Каждому нужно помнить сколько пачек он купил наперёд и одолжил "игре", чтобы не тратить лишнего.

Не знаю есть ли смысл повторять, что игра никак не защищена от мошенничества и крысятничества. Предполагается, что все игроки хорошие ответственные люди и честно выполняют предложенные правила.

Процесс игры можно симулировать, чтобы проверить, что схема будет работать.

Вот тут можно пощупать и поиграться с правилами: https://replit.com/@sergyp1/milk-game#main.py

Продолжение поста «Брак в стиле ДнД» Офисные будни, Офисные истории, Для офиса, Ответ на пост, Текст, Python, Длиннопост

Так что зря сомневались, схема рабочая. Всем интересных задачек и остроумных решений. Пока мы сами умеем себе создавать проблемы, наша цивилизация не вымрет. Но это не точно...

Показать полностью 1

Ответ на пост «Брак в стиле ДнД»

На самом деле механики ДнД можно с пользой применять в очень разных ситуациях.

У меня на прежней работе был такой пример. Вместе с плюшками и прочим в наш замечательный офис завозилось бесплатное молоко для кофе в довольно большом количестве.

Однако этого молока не хватало, если его пить кружками или жрать с тоже бесплатными мюслями. Да, у нас было прошаренное начальство и оно понимало, что если программист может перекусить на рабочем месте, то лояльность и производительность подрастёт.

Айтишники ребята не бедные и запросто бы сами легко себе приносили молоко, но офисное молоко заканчивалось не так часто, зато внезапно. Если у каждого будет своя пачка в холодильнике, то оно всё равно испортится, будет занимать холодильник, мешаться, а в самый нужный момент вы просто забудете его купить и придётся отвлекать коллег прося у них молока.

В общем, не по айтишному. Нужно решение в стиле ТРИЗ.

Итак, требования:

  • молоко должно быть всегда в необходимом количестве;

  • молоко не должно залёживаться и портиться, особенно открытая пачка;

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

  • все у нас честные и справедливые, просто забывчивые и рассеянные, многим пофиг на молоко, есть - хорошо, нет и ладно, а многим принципиально, чтобы оно было;

  • всем нужно молоко в разных количествах, не хотелось бы ограничивать никого в его потреблении. Главное, чтобы всем хватило.

  • никто не хочет вести учет и трясти деньги с участников молочного фонда напоминая им об оскуднении казны и запасов молока.

В финал вышли два решения. Начну с хорошего технологичного, но сложного.

Сколхозить из кухонных весов, контроллера ESP8266, RFID-сканнера и палок убер девайс в виде подставки под пачку молока в холодильнике. Он будет взвешивать пачку до и после наливания, считывать пропуск сотрудника и записывать налитое на его счет. Сотрудники закидывают на общий счет деньги и не парятся. Волонтёрам, часто бегающим мимо магазина через телеграм-бота прилетает просьба захватить очередную пачку молока и перевод на карточку денег.

Я даже запчасти под этот проект закупил на али-экспрессе.

Но потом придумал решение гораздо проще и элегантнее: уволился щас расскажу, оно в стиле ДнД.=)

Итак.

Любители молока скидываются единоразово и покупают сообща несколько пачек ультрапастеризованного молока и десятигранный "кубик". Пачки молока маркируются про запас напечатанными наклейками с правилами игры.

Правила такие:

  1. Налей нужное количество молока и приблизительно, но честно оцени это количество процентах от полного объёма упаковки.

  2. Брось "кубик" дважды и получи тем самым число в диапазоне от 00 до 99.

  3. Если выпавшее с помощью "кубика" число окажется меньше, чем процент потраченного молока, То купи в следующий раз такую же новую пачку, прилепи наклейку с правилами и положи в холодильник.

Таким образом никто ни за кем не должен считать и вести базу данных. Никому не надо собирать деньги и вести счет выпитого. Если ты выпил полную пачку (100%), то чтобы ты ни выкинул кубиками, покупать придётся обязательно. Шанс "выиграть" возможность купить в общак молока пропорционален выпитому его количеству. Да, иногда можно потратить 1% пачки и выкинуть два нуля на кубиках, но вероятность такого мала и равна шансу не покупать пачку после выпитых 99%. Всё справедливо и просто. Не в напряг.

Честно сказать, дофамин от идеальности решения по ТРИЗ выделился, и воплотить в реальности я такое решение не успел, потому что правда ушел в другое место работать. Но если кому надо для офиса такой способ скидываться на молоко - берите. Не слышал, чтобы такие вещи так решались.

Кстати, куда бы мне теперь купленный на али тензодатчик и RFID-сканнер применить?

Показать полностью

Брак в стиле ДнД

Странно, что на критической единице он не вспомнил что-то типа "Мне же нужно напомнить жене вынести мусор"

Отличная работа, все прочитано!