Pull to refresh

Comments 8

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

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

Отличный машинный перевод.

Не понял, при чём тут математика вообще. Речь в статье о преподавании, то есть педагогике. Замени математику на что-угодно — смысл статьи не изменится. Я-то ожидал, что математик будет учить меня математике при помощи тех самых «хитрых трюков», а не рассказывать о том, что такие трюки существуют в принципе.
P.S. Если кому интересно, то хитрым трюком в комбинаторике являются производящие функции, задача нахождения которых противоположна разложению функции в степенной ряд.
Имя Рота и результаты его трудов (главным из них стали «Основы комбинаторики» — серия из десяти работ) хорошо знакомы не только в академических кругах, но и многим ИТ-специалистам. В том числе сотрудникам департамента разработки МойОфис.
Расскажите пожалуйста, а как именно сотрудники департамента разработки МойОфис используют знания по комбинаторике в продуктах вашей компании? Особенно интересуют те знания из упомянутой «Основы комбинаторики», которых не найдёшь в стандартном курсе матанализа.
Спасибо за ваш уточняющий вопрос! Как вы верно заметили, труды Рота выходят за рамки стандартного матанализа – и несмотря на то, что некоторые из наших экспертов интересуются его работами, непосредственно в создании продуктов комбинаторика у нас применяется на более «бытовом» уровне. Например, говоря о разработке объектного хранилища для нашей почтовой системы Mailion (https://habr.com/ru/company/ncloudtech/blog/530722/), можно выделить такой кейс: мы используем комбинаторный перебор вариантов переходов по диаграмме состояний при тестировании stateful протоколов репликации нашего объектного хранилища. Другой пример: мы задействуем комбинаторные подходы для проверки корректности алгоритмов восстановления согласованности между узлами кластера нашего объектного хранилища.

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

Допустим, надо разместить M сегментов, где m(i) сегмент может лежать в n(i) доменах отказа. Для добавления m(i) сегмента в дерево надо в каждый лист дерева добавить n(i) листьев, где каждый новый лист отвечает за хранение сегмента m(i) в одном из доменов n(i). Таким образом, если пройти от корня дерева до его листа, то получится один вариант размещения всех сегментов по доменам. При этом на этапе построения дерева некоторые ветви из-за бизнес-логики сразу отсекаются.

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

Может быть сведено к двум принципам Цермело для выступающих:

  1. Не бойтесь недооценить аудиторию, опасайтесь ее переоценить.

  2. Не уделяйте много внимания важному, напирайте на очевидное...

Sign up to leave a comment.