Найти в Дзене
Стив Май

Прямые и обратные задачи

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

Прямые задачи сводятся к простому выполнению базовых действий. Я бы сформулировал прямую задачу так:

есть данные, есть алгоритм, надо выполнить алгоритм с этими данными и выяснить, что получится в результате выполнения алгоритма.

В общем случае, обратную задачу можно сформулировать так:

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

Или так:

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

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

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

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

Рассмотрим популярную обратную задачу: уравнение.

Уравнение из другой моей статьи (для любителей "это - туда, то - сюда" спойлер: корень 3, делим на (x-3), получаем квадратное уравнение с D=49, корня два - по формуле: -1 и 1,5)
Уравнение из другой моей статьи (для любителей "это - туда, то - сюда" спойлер: корень 3, делим на (x-3), получаем квадратное уравнение с D=49, корня два - по формуле: -1 и 1,5)

Есть алгоритм, состоящий из прямых действий, который можно прописать так:

  1. [число]возведи в третью степень
  2. результат п. 1 умножь на два
  3. к результату п. 2 прибавь 18
  4. [число] возведи во вторую степень
  5. результат п. 4 умножь на 5
  6. [число] умножь на 9
  7. Сложи результат п. 5 и п. 6

Есть результат. В качестве результата в уравнении всегда идёт факт равенства (чисел). Если дополнить алгоритм пунктом

8. Сравни результаты п. 7 и п. 3 на предмет равенства чисел

то результатом будет ИСТИНА.

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

Как и все обратные задачи, эта будет решаться только подбором. У подбора есть ограничения, требования. Часто он уходит в бесконечность (как в нашем случае).

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

Всё это не способы решения, а способы облегчить подбор.

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

В некоторых случаях "методы решения" позволяют не просто облегчить подбор, а узнать данные, не выполняя его вообще. (У нас это могла бы быть формула Кардано)

Обратные задачи в реальной жизни

Математика старше началки в жизни не пригодится. Ага, щас! (едва удержался, чтобы смайлик не поставить). Напомню-ка я, какая извечная проблема у людей по жизни: "как бы сделать так, чтобы было хорошо?" Исходные данные есть (что имеем), результат тоже ("хорошо"), осталось только подобрать алгоритм. Или, если хотите, решить обратную задачу. А в началке-то много ли опыта в решении обратных задач? Деление да вычитание. И то, с ними тяжко.