Обновить
93
0.1
Семён Лукашевский@uchitel

R&D (OR-engineer)

Отправить сообщение

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

Передний край науки вовсе не на границе компетенций, он на границе здравого смысла и рассудка :)

Ну... как сказать... small world - это реальный алгоритм построения случайных графов, в основном используется в тестировании алгоритмов маршрутизации. Вольфрам пытался (а может до сих пор пытается) сделать теорию всего на графах. Петлевая гравитация - тоже вроде бы как на графах фунциклирует :) Короче, если крыша и едет, то вполне возможно, что в правильном направлении.

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

Кстати, слово "эмерджентность" сейчас тоже на слуху. Мне даже самому несколько раз приходилось его использовать в своих статьях (бля!.. это симптом наверное... все... мне капец).

Даже если крыша и отъехала, то лучше так: бодренько, уверенно, чувствуется увлеченность процессом. И самое главное - высота!!! Например, вот взять меня - оптимизирую бизнес, увеличиваю прибыль... что все это? тлен, сон и не более. Знаете как иногда хочется заняться чем-нибудь таким... но приходится поднимать со дна актуарную математику... все, мне точно капец, кажется я тоже избранный... пошел фигачить статью

Режется все, что не приносит прибыль здесь и сейчас. А это прежде всего ресерч и джуны. Самые опытные и неопытные. Тем кто остался (останется) можно просто добавить адхуков от первых и вторых. Антропик (или не они - не помню) недавно публиковали исследование - найм молодых работников сократился на 20%. Что касается ресерча?.. достаточно почитать последние статьи, которые написали "практикующие управленцы".

Кстати, а что насчет мифа о куче "мертвых" вакансий?

Ну, тогда я спокоен за вас ;) и жду следующих статей.

Что бы уснуть я вместо того чтобы считать овец, размышляю над задачей факторизации целых чисел: числа целые, вычисления и умозрительные построения простые. Длится эта история уже лет 15. Иногда кажется, что пришла какая-то оригинальная идея и я набрасываю простой скриптик, чтоб ее проверить, но ничего не срабатывает. За все это время я не продвинулся ни к чему - просто так интереснее засыпать. Для меня это что-то вроде хобби и я никогда не относился к этому занятию серьезно. Надеюсь вы тоже занимаетесь всем этим несерьезно. Надеюсь, потому, что в этом (на самом деле) не так уж много смысла, как можно подумать.

Факторизация целых чисел завязана на простых числах и вот вы задаетесь вопросом о закономерностях. Простые числа абсолютно закономерны и выражаются полиномом от 26 переменных степени 25. Однако, будь у нас квантовый (кварковый или еще черт знает какой) компьютер размером с Вселенную (видимую), то найти решение при подстановке которого получится 2 все равно не получится. В нашем Мире есть вещи, которые вычислимы сугубо формально. Это стеклянный потолок за которым видно звезды, но через этот потолок не пробиться.

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

А еще, если под мышлением мы понимаем разум, то тут все еще хуже потому, что кожаные мешки могут генерировать идеи, которые не выводятся алгоритмически из предыдущих знаний. А это в свою очередь можно интерпретировать, как форму генерации случайности. Вопрос - должна ли такая случайность быть онтологической? Если да - то все плохо. Если нет, то все тоже - плохо.

Я вовсе не клоню к тому, что вы зря теряете время или бездарно разбазариваете свой ресурс. Нет. Такие темы вдохновляют на нестандартные решения. Единственное на что я надеюсь, так это на то, что вы знакомы с психологией науки (подраздел психологии, который занимается чердаками математиков и прочих ученых). А именно с тревожными звоночками, когда любопытство сменяется тревогой, когда цель важнее движения к ней и т.д. Честное слово, мне бы НЕ хотелось потом видеть тут ваши статьи в духе "Я вычислил все знаки числа Пи после запятой и теперь оно сидит и смотрит на меня".

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

Если честно, то я ни черта не понял. А думать об этом даже как-то немного больновато. Давайте оставим этот вопрос без ответа - пусть во Вселенной будет на одну тайну больше :)

Мне попадалось несколько статей в которых вводят критерий Байеса как-то очень просто: если отношение правдоподобий отличается более чем в три раза, то это отличие становится поводом принять решение. Что в общем-то добавляет еще больше скептицизма. Как по мне тут важнее приемлемая степень уверенности/неопределенности, чем какое-то конкретное число.

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

Тем не менее, если у вас есть идеи, то пожалуйста поделитесь.

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

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

Я не прав в плане того, что позволил себе в статье уничижительную и невзвешенную риторику в адрес бюрократии. Разумеется я не считаю всех грантодателей и администраторов "бюрократами", а их работу бессмысленной. В большой науке процесс, часто и обоснованно превалирует над результатом, потому что в процессе можно наткнуться на что-то более интересное чем заявлено в целях. Надеюсь, что тот факт, что в заявках редко указывают методы статанализа свидетельствует в пользу того, что процесс отлажен и работает для огромного пласта исследований.

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

Моя сфера деятельности - это поиск и продвижение хороших идей для бизнеса. А там важен результат и скорость его получения. Представьте крупный маркетплейс, когда на кону ежедневно сотни миллионов рублей. Промедление в две недели тестирования какой-нибудь фичи - это миллионы рублей утерянной прибыли и что еще хуже, отданные позиции конкурентам. Скорость тестирования гипотез для бизнеса - это действительно олицетворение адаптивности. Выживает не сильнейший, а тот кто готов меняться, а это значит что необходимо уметь быстро тестировать изменения и что еще важнее - необходимо уметь правильно рисковать.

Моя статья, это вовсе не крестовый поход против "классики". Моя статья - это призыв к тому что бы "последовательное мышление" стало еще одним важным инструментов в арсенале как науки так и бизнеса.

Почему ваш комментарий является для меня ценным? Вы не опровергаете мою основную мысль, а лишь очерчиваете границы ее применимости в своей области - и это прекрасно. С такими людьми прекрасно вести диалог, особенно публичный.

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

1) Уравнение Байеса содержит в себе абсолютно все имеющиеся данные. Но в тоже самое время оно действительно содержит в себе абсолютно всю информацию о неопределенности, что в свою очередь дает больше свободы (и ответственности) в интерпретации результатов. И совершенно верно - это фундаментальная штука, которая позволяет проверять наши представления о мире, т.е. это надо понимать и этим надо пользоваться как в повседневной так и в профессиональной жизни.

2) Научный метод - это и правда в большей мере эвристика. Когда мы что-то исследуем, то мы всегда выдвигаем некоторое количество гипотез, и - да, в какой-то мере мы доказываем или отклоняем эти гипотезы в случайном порядке, хотя нам может показаться, что это не совсем так. Но теорема Байеса позволяет ранжировать наши гипотезы по шкале "адекватности", а в некоторых случаях для ускорения анализа гипотез можно и нужно пользоваться последовательным анализом. Так эвристика под названием "Научный метод" станет максимально быстрой.

3) Что касается bias, то представьте что мы проводим 1000 A/B тестов и мы останавливаем каждый из них как только результат становится значимым. В тех тестах, где мы рано увидели сильный эффект (положительный или отрицательный) - мы остановились рано. А в тех тестах, где эффект слабый или колебания данных были не в его пользу мы продолжали тест дольше, возможно, так и не достигнув значимости. В результате наша итоговая оценка эффекта (например, разница конверсий между A и B) будет систематически завышена, т.е. смещена - мы отбираем несколько больше тех "удачных" траекторий данных, которые рано пересекли границу. Это так называемый "синдром победителя" или смещение обусловленное ранней остановкой. Эта проблема активно исследуется, но по большей части все исследования вращаются вокруг методов ресэмплинга. Например, бутстрап позволяет понять насколько нам "повезло" наткнуться на несколько выбросов в данных, а перестановки позволяют в какой-то мере решить проблему "загрязнения" выборки. Но тут важно понимать, что если мы работаем с последовательным анализом, то ресэмплинг должен учитывать правила остановки и неопределенность, которую они порождают. Поэтому Байесовский вывод будет далеко не лишним и к тому же он позволит оценить риски связанные с принятием или отклонением разных гипотез, что в некоторых случаях является скорее обязательным, чем "не лишним".

Очепятка. Спасибо, поправил.

Спасибо! Я, кажется, наконец-то нашёл своё призвание - быть человеком, который знает достаточно, чтобы сворачивать кровь всем трем сторонам: бизнесу, науке и инженерам :)

Желаю вам, чтобы ваши идеи скорее поехали по городам и радовали клиентов.

Оу, в or-tools я только-только начинаю вникать и надо сказать, что из-за весьма скудной документации это не так-то просто, особенно в плане VRP. Что могу сказать точно.

1) В принципе, насколько я понял, or-tools может решать любую задачу для которой есть устоявшаяся аббревиатура: TSP, VRP, CVRP, TWVRP, MDVRP и т.д. и т.п. причем все эти задачи можно комбинировать.

2) or-tools поддерживает два вида ограничений: ограничения на "измерение" (dimension) - любая величина (расстояние, время, вес груза, кол-во пассажиров и тд), которая изменяется по мере продвижения по маршруту и ограничение на сами маршруты.

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

Тут надо обязательно добавить, что or-tools это все таки инженерная сфера, а не научная. Как бы по дефолту предполагается, что пользователь должен шарить в OR, но так же предполагается, что пользователь должен шарить и в солверах. А солверы тоже работают с очень абстрактными материями. Это приводит к тому, что математик не может сходу догадаться до каких-то инженерных трюков и наоборот.

Я очень долго работал кем-то вроде переводчика между бизнесом и наукой: что бы все друг друга понимали и хотя бы не несли прям какой-то лютой дичи и брехни. Но совсем недавно к коммуникациям подключилась еще одна сторона - инженеры. И вот тут я поплыл как пломбир под жарким солнцем.

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

1) Будет ли оно масштабироваться до размеров города? Например, для любого солвера VRP с 1000 точек может оказаться серьезной проблемой. Значит надо как-то делить город на микрополигоны. А это еще одна оптимизационная задача причем тоже далеко не тривиальная.

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

3) Если ваше решение, это прям супер-пупер-пыщ-пыщ-вау-вау. То возникает другая проблема: как его встроить в реальный процесс: базы данных, реальные карты городов, финансовые транзакции и пошло поехало.

4) Следующая проблема, заключается не в том что реализовывать, а кто это будет реализовывать. Допустим человек, который поймет ваше решение и сможет его встроить в процесс найдется. Но не получится ли потом так, что этот человек станет обладателем сакрального знания о том как все работает? Такая ситуация - это риск, потому что если такой человек вдруг уйдет, то заменить его будет непросто. Значит нужна документация. А документация в R&D - это, как правило, минимум увесистая монография на пару сотен страниц далеко не самого легкого чтива.

5) Что насчет железа? Понятно что его придется жечь, но сколько жечь. Наверное ваш алгоритм придется как-то параллелить. Это легко? В or-tools это легко, причем там параллелизм реализован весьма умным, в плане алгоритмизации, способом (разные потоки по разному улучшают решение). Самостоятельное распараллеливание и заточка под железо только усиливают пункт №4.

6) Из пункта №5 вытекает другой вопрос, что дешевле: 1 час работы 2-х, 3-х или 10-ти 32-хядерных процессоров или вся эта (уж простите за слово) возня с красивым и элегантным решением. Хорошо (и не так обидно), когда тебе говорят: "Да не парься, я просто второй сервер куплю", то того как ты потратил кучу сил на поиск такого решения. Сделать все сразу зашибись, это конечно путь самурая, но такая стратегия может обойтись в разы дороже, как по деньгам, так и по времени. Например, одна известная стриминговая компания однажды (очень давно) организовала ML-чемпионат по рекомендательным системам, но решение-победитель не пошло в прод, просто потому что его оказалось крайне сложно реализовать.

7) Ну и последний пункт: может вообще дешевле отдать эту, в значительной степени инженерную задачу на аутсорс или фриланс? Наверняка, ведь уже есть люди, которые на этом собаку съели и не прочь получить 5-100к за хороший MVP? Для этого конечно надо сделать адекватный ТЗ, что тоже, само по себе, проблема. Но и ее можно решить с помощью платных консультаций.

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

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

Мне показалось, что or-tools довольно гибок в плане всяких ограничений и требованиям к решениями, в сети довольно много вариаций VRP, кторые с помощью него решаются. Но видимо он не настолько гибок.

Интересно то, что решение задач комбинаторной оптимизации относят к сфере ИИ (в том числе и VRP). Моя первая книга по ИИ "Программирование ИИ в приложениях" Тим Джонс. В этой книге первая глава посвящена задаче о расстановке ферзей, которая решалась с помощью отжига. Это была моя первая эвристика сделанная на python + numpy и matplotlib для визуализации. Прошло около 10 лет и выяснилось, что в or-tools расставить ферзей можно несколькими строчками кода и считается все гораздо быстрее.

Вы уверены, что вашу задачу нельзя решить с помощью or-tools?

Однозначно плюсую, но мне кажется вы как-то слишком сильно переборщили с формулами, экономикой и в какой-то мере с изобретательством велосипедов. Сейчас все гонятся за оптимальным ценообразованием (точно так же как и за UGC), но ввиду скудной информации по данной теме, каждый "привносит" что-то "новенькое" в эту в общем-то недосформировавшуюся (ввиду крайней междисциплинарности) науку. С чем вы очень точно угадали, так это с задачей: планирование продаж, это не динамическое ценообразование. За это отдельный респект.

Чего хотелось бы посоветовать:
1) фундамент всего - это модель дискретного выбора. В какой-то мере она очень похожа на все то, что вы проделали, однако, она намного ближе к данным и их анализу.

2) модель клиента - маркетинг и все такое, но с большей ориентацией на данные.

3) фиксированная цена - зло. Если в системе что-то меняется а цена нет - это потеря эффективности. А эффективность - наше все.

4) Байесовский вывод - вывод продукта на рынок это тоже оптимизация, нужно много хороших гипотез (с которыми у вас все впорядке, но проконсультироваться с LLM-кой все равно не помешало бы). А что лучше всего работает с гипотезами?

5) робастная оптимизация - это то что вытекает из пункта №4.

6) стохастическое программирование - вытекает из пункта №1, потому что по факту там не объемы продаж/покупок, а вероятности. Ну а там где вероятности - там вообще все не так.

Дальше... дальше у вас появятся данные.

Чего еще добавить? Uber начал использовать в модели дискретного выбора графовые нейросети (как они работают вообще хз, но точно знаю что логиты не работают с историей покупок клиента, а нейросети работают).

Есть оч хорошая книга "Алгоритмы принятия решений" Микель Кохенденфер - она в общем-то неявно, но исчерпывающе отвечает на вопросы как барыжить чем угодно продажи связаны со стратегиями. Ну и она все-таки ближе к OR чем к экономике. Я не сколько не против экономики и всяких преобразований Брауэра, но как по мне лучше сразу рисовать четырехэтажные форму в виде целевых функций, чем сначала делать это в экономическом ключе, а потом в виде техже самых (а может и нет) целевых функций.

Ну и кстати да, что там с MVRP? На самом деле было бы очень интересно узнать. OZON тут организовали чемпионат по AI, причем один из треков - это как раз маршрутизация курьеров (VRP с разными ограничениями). Сегодня по моему последний день регистрации. Я вот зарегался, думал (в 100500 раз), что получится как-нибудь быстро освоить or-tools, но как обычно придется разбираться по ходу дела.

Оптимальное распределение ресурсов - это не идеология, а экономическая эффективность: как достичь максимума ценности при ограниченных ресурсах.

И рынок, и плановая система сталкиваются с этой задачей. Капитализм не отменяет вопрос «куда направить ресурсы?» - он просто пытается решить его через цены, спрос и конкуренцию.

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

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

Вопрос «как лучше распределить?» стоит перед любой экономической системой и в конечном счете, тот кто будет отвечать на этот вопрос откроет книгу по математическому моделированию и математическому программированию.

Вы наверное решили, что моя цель состоит в том что бы переубедить вас, но своей цели я достиг написав два предыдущих ответа :)

В Байесовском выводе есть хороший пример про оракула и мнение. Допустим к вам в руки попал предмет, который может выдавать верные ответы в форме да/нет на любой ваш вопрос. Сколько таких ответов вам потребуется, что бы вы поверили в то, что перед вами действительно магический предмет? 3? 5? 10? 100?

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

Решение задачи трех тел есть - просто оно численное. Можно ли полагаться на это решение в долгосроке - нет. Но даже в этом случае для тел можно вывести вероятностные распределения для их местоположений. Стохастическое программирование применяется в астродинамике как раз по той причине, которую вы обозначили - тел сотни.

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

Зачем так много слов? Поймите, то что вы можете принимать решения без математики вовсе не значит, что она ненужна. В определенных ситуациях, например когда речь идет о человеческом благополучии и безопасности или о миллиардах у.е., такой подход опасен. Я просто пытаюсь обозначить свою точку зрения - если есть возможность заморочиться, то лучше заморочиться. Хуже от этого точно не станет.

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

В моем понимании - математическая оптимизация это синоним "здравого смысла". Это необязательно формулы. Например, переговоры, во многом они построены на теории игр, которую сложно применить в реальных условиях. Но на реальных переговорах, чаще всего видно, знакома ли другая сторона с математической подоплекой этого процесса или нет.

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

1) случайность в чистом виде, которую наша модель не учитывает, например, черные лебеди и прочая радикальная неопределенность;

2) стохастичность - это та случайность которая учитывается моделью.

Из-за первого пункта в Байесовском выводе рекомендуют быть очень осторожными при выборе априорных распределений.

1
23 ...

Информация

В рейтинге
3 737-й
Откуда
Хакасия, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

R&D (OR-engineer)
Средний
От 150 000 ₽