Разведу эти понятия, потому что, кажется мне, не все понимают разницу.
Сэкономлю ваше время, и буду писать тезисно.
Прямые и обратные задачи
В математике есть прямые и обратные задачи.
Прямые задачи: есть исходные данные, есть чёткая, выполнимая процедура, но нет результата. Пример. Умножение 5 на 7. Процедура: взять 5 однородных предметов 7 раз и сложить в одну кучу, пересчитать.
Обратные задачи: есть чёткая, выполнимая процедура, есть результат выполнения этой процедуры, но нет исходных данных (возможно, частично). Пример. Деление 35 на 7. Процедура (от умножения): взять некоторое количство однородных предметов 7 раз и сложить в одну кучу, пересчитать. Их должно получиться 35.
Ремарка. Пример простой и понятный, но не очень удачный, потому что деление можно определить ещё и как многократное вычитание. И тогда у него будет своя процедура, но эта процедура будет не всегда выполнима (или выполнима до конца), потому что вычитание - само по себе обратная задача.
Прямые задачи, как правило, фундаментальных трудностей не имеют, так как для них всегда описана процедура.
Обратные задачи вызывают некоторые трудности, так как для них нет своей процедуры, и выполнять их надо по процедуре из соответствующей прямой задачи.
Решение обратной задачи
Решить обратную задачу значит определить такие числа, чтобы при выполнении с ними процедуры из соответствующей прямой задачи, получился бы указанный результат.
Ремарка. Таких исходных данных может оказаться несколько, тогда мы должны обнаружить их все.
Пример. Корень. Процедура: умножь некоторое число само на себя. Результат должен получиться 9.
Откуда брать исходные числа
Исходные данные, которые дадут желаемый результат, можно получить разными способами:
- Угадать
- Подобрать
- Вычислить
Допущение. Все остальные методы типа "списать" или "спросить" у того, кто их уже знает, будем относить к первому.
Рассмотрю эти способы подробнее.
Угадывание
Суть угадывания: написать число и надеяться, что при выполнении с ним процедуры получится нужный результат.
Главная трудность угадывания: большой шанс ошибиться.
В некоторых случаях можно увеличить шанс угадать. Например, если ученица хоть раз видела таблицу умножения, то она знает, что в исходных данных может быть только целое число от 1 до 9 (шанс 1/9), а в результатах - целое число от 1 до 81. Если взять решето Эратосфена, то можно отсеять простые числа, тем самым еще увеличив шанс угадать. В некоторых отдельных случаях можно догнать шанс почти до 100%.
Важной чертой угадывания будет именно то, что число мы указываем один раз и на этом останавливаемся.
Этим способом можно решать совершенно любую задачу - и прямую, и обратную.
Подбор
Подбор заключается в следующем: берем число (как в угадывании), но на нём не останавливаемся, а выполняем с ним процедуру из соответствующей прямой задачи, а потом наш результат сравниваем с тем, который должен был получиться.
Если результат не сошелся, мы должны взять другое число, и повторить с ним.
Рано или поздно мы узнаем все числа, которые при выполнении процедуры
Главная трудность подбора: подбор может быть бесконечным
Обойти (но не решить) эту проблему помогает стратегия подбора, которая должна быть основана на математических законах. Базовые стратегии описаны в курсах численных методов и вычислительной математики. О стратегиях подбора я напишу отдельную статью.
Важной чертой подбора является то, что даже самая крутая стратегия всегда включает в себя обязательным пунктом выполнение процедуры из соответствующей прямой задачи и сравнение результата с наперёд заданным
Этот способ целесообразен только для обратных задач.
Вычисления
В отдельных случаях нет необходимости угадывать или подбирать исходные данные. Математика иногда предлагает нам возможность заменить обратную задачу на другую прямую. Новая процедура всегда будет гораздо сложнее, но зато она чётко задана, и математики нам дают гарантию, что следуя ей, мы вычислим все возможные исходные данные, которые дают требуемый результат.
Главной трудностью тут будет то, что такая замена возможна не всегда, а процедура сложнее, чем прямая.
Общее и различие
Угадывание, подбор и вычисления - три разных пути решить одну и ту же задачу. Основные отличия:
Угадывание: никакая процедура ни разу не осуществляется, возможны манипуляции по увеличению шанса угадывания.
Подбор: прямая процедура осуществляется 1 или много раз с обязательной проверкой критерия. Числа, которые используются для выполнения прямой процедуры берутся "наугад" или согласно стратегии подбора (возможно, интуитивной, не выраженной в словах)
Вычисления: Задача заменяется на другую, с прямой процедурой. Новая замещённая процедура осуществляется 1 раз после проверки на возможности подмены одной задачи на другую.
Пример
Перевод числа 38 из десятичной системы счисления в двоичную. Соответствующая прямая задача - перевод из двоичной системы в десятичную.
Угадывание. Увеличение шанса: известно, что в двоичной системе есть только цифры 0 и 1, запись числа не может начинаться с "нуля".
Ответ 111010. (неизвестно, верный или нет)
Подбор. Прямая процедура: умножить все цифры на соответствующие разрядные веса, сложить все произведения. Результат: 38. Стратегия: выбрать наибольший разрядный вес, который не превосходит 38 (результат), проверять все разряды от старшего к младшему на предмет сумма <=38. Завершить после проверки всех разрядов или при выполнении равенства (более подробно описано в статье Быстрый и точный перевод в двоичную систему счисления)
- 32 <=38. левая цифра 1.
- 32*1 + 16*1 = 48 <=38 - ложь.
- 32*1 + 16*0 = 32 <=38 - истина.
- 32*1 + 16*0 + 8*1 = 40 <=38 - ложь
- 32*1 + 16*0 + 8*0 = 32 <=38 - истина
- 32*1 + 16*0 + 8*0 + 4*1 = 36 <=38 - истина
- 32*1 + 16*0 + 8*0 + 4*1 + 2*1 = 38 = 38 - истина (здесь можно остановить подбор, записав во все правые разряды "нули"
Ответ 100110 (верный, подходит по определению двоичной системы счисления, что проверяется на 6м пункте)
Вычисление. Используем процедуру делений с остатками. Она применима для целых неотрицательных чисел при переводе из десятичной системы счисления в любую другую. 38 - целое неотрицательное, перевод из 10й в 2ю.
- Остаток от деления 38 на 2 = 0
- Целое от деления 38 на 2 = 19
- Остаток от деления 19 на 2 = 1
- Целое от деления 19 на 2 = 9
- Остаток от деления 9 на 2 = 1
- Целое от деления 9 на 2 = 4
- Остаток от деления 4 на 2 = 0
- Целое от деления 4 на 2 = 2
- Остаток от деления 2 на 2 = 0
- Целое от деления 2 на 2 = 1
- Остаток от деления 1 на 2 = 1
- Целое от деления 1 на 2 = 0
- Остатки записать в обратном порядке (процедура завершена)
Ответ 100110 (верность ответа проверять не требуется, процедура обеспечивает её)
Пример 2
Решить уравнение x^2 - 3 x + 2 = 0.
Угадывание.
Ответ 7
Подбор. Прямая процедура: возвести число в квадрат, то же число умножить на три, вычесть результаты, прибавить два и сравнить с нулем. В таком виде подбор будет бесконечным, поэтому опишу только одну итерацию:
7*7=49
3*7=21
49-21=28
28+2=30
30==0 - ложь.
Вывод 7 - не ответ. Подбор по стратегии, предложенной Франсуа Виетом, даст числа 1 и 2.
1*1=1
3*1=3
1-3=-2
-2+2=0
0==0 - истина
2*2=4
3*2=6
4-6=-2
-2+2=0
0==0 - истина
Ответ: 1 и 2. (Верно, потому что сравнение истинное, полно, потому что так сказал Виет).
Вычисление. Заменим задачу на алгоритм вычисления корней квадратного уравнения. Заменить можно, так как действия именно такие, какие надо: квадрат, умножение на число, умножение на число, сумма, сравнение с нулём.
Вычислим дискриминант: D=1
Сравним D с нулем
Извлечем корень из дискриминанта (1)
Вычислим первый корень (со знаком -) 1
Ответ 2 и 1. (Правильность не оспаривается)
Заключение
Бывает, эти три понятия путают. Пытаются угадать, называя это подбором, чаще всего. Отличить быстрый подбор от угадывания тяжело. А что касается последнего, вычислений... Есть классы задач, где вообще нет процедуры, которая позволила бы вычислить исходные данные. Квадратное уравнение из второго примера можно заменить на вычисления, а уравнение (та же задача, вообще-то) Кеплера уже нельзя.
И напоследок.
Бывают задачи, в которых ествходные данные, результат, но нет процедуры. Тоже своего рода - обратные. Вот их каким способом будем решать? Может как и уравнение Кеплера?