Пусть у нас есть пустой чайник, спички, газовая плита. Перед физиком и математиком ставят задачу вскипятить воду. Оба наливают воду в чайник, зажигают плиту, ставят чайник на огонь и ждут, пока закипит.
У нас уже есть чайник, наполненный водой, и зажженная плита. Цель та же: вскипятить воду. Физик ставит чайник на огонь и ждет, пока вода закипит. Математик выключает огонь, выливает воду из чайника и говорит: теперь задача сводится к предыдущей.
Если вам надо решить задачу, ее можно привести к другой задаче, решение которой вам известно.
Наименьшее общее кратное двух натуральных чисел m и n, обозначаемое как lcm(m,n), определяется как наименьшее натуральное число, делящееся и на m, и на n.
lcm(m,n) можно вычислить как произведение всех общих простых множителей m и n, умноженное на произведение простых множителей m, не являющихся множителями n, и на произведение простых множителей n, не являющихся множителями m.
Нетрудно увидеть, что произведение lcm(m,n) и gcd(m,n) включает по одному разу
каждый из простых множителей m и n, следовательно, это произведение просто
равно произведению m и n. Это наблюдение приводит к формуле
lcm(m,n)=m⋅ngcd(m,n)
где gcd(m,n) можно вычислить при помощи алгоритма Евклида.
Рассмотрим задачу подсчета путей между двумя вершинами графа. Методом математической индукции нетрудно доказать, что количество различных путей длиной k>0 от i-ой к j-ой вершине графа равно (i,j)-омy элементу Ak, где A — матрица смежности графа.
Таким образом, задача подсчета путей в графе может быть решена при помощи алгоритма для вычисления соответствующей степени его матрицы смежности.
Алгоритмы быстрого возведения чисел в степень применимы и для возведения в степень матриц.
Предположим, требуется найти минимум
некоторой функции f(x), и у нас есть алгоритм, позволяющий найти
максимум функции. Можно воспользоваться следующей формулой:
min.
Поиск точек экстремума функции тоже фактически основан на приведении задачи, так как сводится к нахождению производной функции f'(x) и решение уравнения f'(x)=0.
Многие задачи можно решить путем приведения к одной из стандартных задач о графах.
Это верно, в частности, для множества головоломок и игр. Вершины графа обычно представляют возможные состояния рассматриваемой задачи, в то время как ребра представляют разрешенные переходы между состояниями. Одна из вершин графа представляет начальное состояние, а некоторая другая — конечное, целевое состояние задачи (таких конечных вершин может быть несколько). Такой граф называется графом пространства состояний. Таким образом, описанное преобразование приводит задачу к вопросу о пути из начальной вершины в конечную.