Теория ресурсов: где математика встречается с промышленностью

Во введении к Теории категорий я упомянул, что одно из ее приложений имеет форму теории ресурсов. Теория категорий невероятно молода и абстрактна, с огромным разнообразием областей, к которым она может применяться. Теория ресурсов еще моложе и только недавно была формализована в двух недавних статьях, выпущенных в 2014 и 2015 годах (ссылки в конце). Давайте конкретно рассмотрим теорию ресурсов и посмотрим, как ее можно применить к современным проблемам.

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

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

Давайте начнем с описания некоторых общих компонентов всех этих преобразований. Все они включают преобразование набора ресурсов в набор продуктов. На каждом ресурсе есть одни продукты, которые он может производить, а другие, которые он не может производить. Эти преобразования должны быть составными, то есть если мы можем превратить A в B и B в C, тогда мы должен иметь возможность превращать A в C. Все эти идеи можно смоделировать с помощью симметричной моноидальной категории. Посмотрим, что это такое.

Мы определяем симметричную моноидальную категорию как (S, ›, I, *). Это много структур, я рассмотрю каждую по очереди.

S - это просто совокупность всех объектов, которые нас интересуют. Если мы применяем эту структуру к химической проблеме, это могут быть все химические вещества, к которым у нас есть доступ, а также те, к которым мы желаю творить.

›Определяет порядок на S. Я мог бы просто перечислить свойства порядка, но я думаю, что более интуитивно понятнее будет привести пример.

Как мы интерпретируем эту диаграмму с точки зрения ›? Глядя на рисунок 1, мы видим, что есть стрелка от A к B, поэтому A ›B. Мы также можем составлять стрелки, поэтому A› C и A ›D. Я не включил их на рис. 1, но каждая точка также имеет стрелку, ведущую к самой себе, поэтому A ›A, B› B и т. Д. Это также возможно для A ›B и B› A, если бы я нарисовал стрелка, идущая от B к A.

Как это толковать? Это довольно просто: если A ›B, то мы можем превратить A в B с помощью процесса. Обратите внимание, что C и D нельзя превратить ни во что (кроме самих себя), они застряли в своем текущем состоянии. Поскольку A ›A, мы можем превратить A в A тривиальным способом. Поскольку стрелки составляют композицию, мы знаем, что A ›B и B› C означает A ›C. Это имеет смысл, когда мы думаем о композиции.

Теперь обратимся к I и *. Это фактический акт выполнения процесса преобразования элементов в другие. * - это бинарная операция, которая действует как A * B = C. Эта операция представляет собой фактическое превращение A и B в C. I - это просто «нейтральный ресурс», где A * I = I * A = A для всех элементов. Опять же, для этой операции требуется множество свойств, но есть одно, которое гораздо важнее и служит для соединения * и ›.

Это свойство называется монотонностью и определяется как A1 ›B1, A2› B2, что означает, что A1 * A2 ›B1 * B2. Мы можем думать об этом свойстве как «если мы можем превратить A1 в B1, а A2 в B2, то мы можем превратить комбинацию A1 и A2 в комбинацию B1 в B2». Такое мышление интуитивно понятно для теории ресурсов, но его необходимо формализовать в математике.

Теперь у нас есть математическая структура, которая формализует наши мысли. Существует множество дополнительных функций, которые мы можем добавить, чтобы контролировать реальные сценарии. Например, что, если мы хотим учесть время, необходимое для возникновения каждой комбинации? У нас может быть функция времени T, которая принимает два элемента, где T (A, B) дает время, необходимое для выполнения комбинации A * B. Затем мы могли бы попытаться минимизировать сумму T -значений для всех выполненных нами комбинаций.

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

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

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