О пользе матриц в активизме

Сергей Кутний
Редакция сайта “Нигилист” представляет новую рубрику “Полезные советы”.
logo1
Летние лагеря и походы – постоянный элемент активистской практики, так что активист(к)ам постоянно приходится сталкиваться с задачей планирования меню.
Я хочу рассказать о том, как можно эту задачу существенно облегчить.

Для начала рассмотрим расчет стоимости.

Общая формула:
CodeCogsEqn
где S – итоговая стоимость,
i нумерует закупаемые сырые продукты, Np – общее количество закупаемых продуктов, j нумерует приготавливаемые блюда, Nd – общее количество блюд, p_i – цена сырого продукта с номером i, m_ij – количество сырого продукта с номером i, которое идет на одну порцию блюда с номером j, q_j – количество порций блюда с номером j (суть в том. что все возможные произведения вида p_i * m_ij * q_j суммируются).
Люди, знакомые с линейной алгеброй, легко поймут, что это равносильно вычислению произведения P * M * Q, где P – вектор-строчка, составленный из p_i в порядке их нумерации, M – матрица раскладки, состоящая из m_ij так, что строки ее соответствуют сырым продуктам, а столбцы – блюдам, а Q – вектор-столбик из q_j в порядке нумерации.
Какой же здесь профит?
А профит здесь в том, что есть программы, которые считают произведения векторов и матриц. Я, например, пользуюсь пакетом sage (http://sagemath.org/). В такой программе достаточно просто ввести P, M и Q, а перемножит она их сама, что избавит вас от часов интимного общения с калькулятором и ошибок, допущенных по невнимательности.

Также с помощью матриц можно вычислить пищевую ценность меню.
Составьте еще две матрицы.

Первая – матрица пищевой ценности сырых продуктов, где будут четыре строчки – калории, белки, жиры, углеводы, а столбцы будут соответствовать закупаемым продуктам. Обозначим ее как N.

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

Тогда вычислив произведение N * M * R, вы получите матрицу, в которой строки будут соответствовать калориям, белкам, жирам и углеводам, а столбцы – дням. Составляющие ее числа покажут, сколько питательных веществ каждой группы и калорий дает ваше меню по дням.

Такое вот полезное применение науки в народном хозяйстве. И кстати, это имеет отношение к социалистическому планированию экномики.

Вам также может понравиться...