Не могу начать без сарказма. Даже не сарказм, сарказм должен обладать юмористической составляющей. Короче, сарказм, но без смеха, а сквозь слёзы.
Учителя страшно боятся подбора. Особенно учителя математики. На столько боятся, что не желают не только его использовать сами, но и запрещают детям даже думать о такой возможности, везде заменяя его на алгоритмы, позволяющие получить результат без подбора.
Нет, я, конечно, сейчас не про всех учителей. Есть и те, кто может отличить подбор от угадывания. А те, кто не могут, считают и то, и другое злом в последней инстанции. И я не знаю, каков процент таких учителей на данный час, но если верить глазам и ушами, среди моих знакомых таких около половины. (Не скажу, что я знаю много учителей, так, из трёх-четырёх школ только)
Математика, кстати сказать, на 10% состоит из прямых действий и на 90% - из подбора. Почти вся математика была придумана для того, чтобы облегчить подбор.
Теперь - к делу.
Теоретически, подбор очень прост. Состоит из 5 пунктов:
- Взять объект
- Выполнить указанные действия с объектом.
- Если ( критерий выполняется ), то п. 4, иначе п. 1
- Если (найдены все объекты, при которых критерий выполняется), то п. 5, иначе п. 1
- Задача решена.
Самым важным является критерий подбора. Если он понятен, то осуществить подбор сможет каждый. В каждой задаче критерий свой, но в общих чертах его можно описать, как "все условия задачи выполняются".
Вторым по важности можно указать объект подбора. То есть то, что мы подбирать будем: число, вектор, функцию, арбуз, трамвай...
Таким образом, если мы задали "что подбираем" и "почему оно подходит нам", то можно приступать к подбору.
Примеры
Приведу несколько примеров (пока я не на столько мастер, чтобы без них обойтись):
- Уравнения. Критерием будет равенство двух чисел (которое получится после вычислений слева от знака "=" и которое получится после вычислений справа от него), объектом - числа.
- Вычитание. Критерием будет равенство двух чисел (уменьшаемого и суммы вычитаемого с подборным числом), объект - числа.
- Интегрирование. Критерием будет совпадение двух функций (интегрируемой и производной от подборной), объектом - функция (действия с x)
Давайте попробуем решить методом подбора уравнение. Да такое, для которого в школе нет алгоритма. Кубическое.
Действуем согласно алгоритма:
1. Взять объект.
Как мы можем "взять" число? Написать на бумажке и взять эту бумажку в руки (шутка). Мы должны придумать конкретное число. "5". Почему бы и нет?
2. Выполнить указанные действия с объектом.
Какие действия указаны? Вообще, где их искать? В записи уравнения те арифметические действия, которые должно выполнить с буквой (например, "x"), и нужно выполнять с нашим объектом (числом). Вот они:
слева - возвести в третью степень, результат умножить на два, прибавить к произведению восемнадцать;
справа - возвести во вторую степень, результат умножить на пять, потом отдельно умножить на девять и сложить результаты.
Выполним все эти действия.
Слева:
Справа:
Вычисления закончили, переходим к
3. Если (критерий выполняется), то п. 4, иначе п. 1
Критерий, напоминаю, равенство двух чисел. Каких? Да вот же, у нас получились два новых числа. Между ними в обычных условиях и стоит знак равно. Проверяем: 268 = 170. Не выполняется (ну, мы и не надеялись сходу угадать). Кстати, если сходу критерий выполняется, то есть риск, что Вы не верно определили его. Проверьте с другими числами.
Снова берём новое число. Тут можно немного подумать и облегчить себе подбор (можно и не думать, но тогда дольше). Слева надо чтобы было меньше, а справа - больше. У нас действия только увеличивающие, поэтому можно попытаться сделать так, чтобы слева уменьшилось сильнее, чем справа. Взять число меньше. "4"
Можно, я не буду делать все вычисления, а только результат запишу?
146=116
Стало лучше, числа стали ближе. Ещё цикл (с числом "3"):
72=72.
Бинго! Число 3 подходит. Можно переходит к
4. Если (найдены все объекты, при которых критерий выполняется), то п. 5, иначе п. 1
Математики нам сказали бы, что в нашем случае может быть 1, 2 или 3 числа, которые подходят. Я специально придумывал это задание, поэтому сам могу сказать, что надо 3 штуки. Одно нашли, осталось ещё два. Поехали перебирать.
2: 34=38
1: 20=14
Если мы поедем вверх, то будет только хуже и хуже:
38: 109762=7562
Числа кончились?
Некоторые ещё сами вспоминают, что "0" - это, вообще-то, тоже число:
0: 18=0
А вот про отрицательные числа никто не слышал, как будто:
-1: 16=-4
-2: 2=2
Снова - бинго! Подходит и число "-2", а дальше - снова расхождения, всё больше и больше, я даже писать их не буду.
Если Вы всё подробно записывали, то получится, что подходят два числа "3" и "-2". Мы перебрали все между ними. (0,1,2,-1) и ни одно больше не подошло. А надо ещё одно. И вот тут кое-кто уже догадался, что существуют же ещё и дробные числа. Я уже не буду подробно описывать как я об этом узнал, но проверим-ка число "3/2"
Итого, мы нашли все числа.
Надо сказать, что в данном конкретном случае, вычисления приняли довольно громоздкую форму, потребовались отрицательные числа, дроби и так далее. Этот подбор можно было существенно облегчить, например, используя определение произведения многочленов (у математиков есть теорема, которая позволяет понизить степень многочлена, если известен хотя бы один его корень), а потом использовать теоремы для решения уже квадратного уравнения (там и "без подбора" можно). Хотя, выигрыш во времени гадательный.
На практике этот процесс имеет слабое место. Цикл может оказаться бесконечным в двух случаях:
- если по критерию проходит бесконечное количество объектов (чисел, например), то из п. 4 всегда будем уходить в п. 1,
- если ведётся перебор бесконечного количества объектов (чисел), но нет способа узнать, все ли объекты найдены, кроме прямого перебора всех этих объектов.
Математики в большинстве случаев решили эти проблемы, и в школьную программу попали только такие задачи, где это удалось, поэтому мы с вами можем работать так, как будто этих проблем нет.
В особо хитрых случаях, к подбору привлекают ЭВМ (компьютеры), для них разработаны хорошие методы типа "бисекции", "метода Ньютона", "метода конечных разностей" и т.п. под общим названием "численные методы". Иногда они даже позволяют точно подобрать число, а иногда только приблизительно (зато как хотите близко). Это всё возможно, потому что метод подбора хорошо алгоритмизуем, если есть возможность задать машине критерий и описать ей объект подбора.
Мы этой схемой часто пользуемся в жизни. Вот, например, надо нам доехать на трамвае до цирка (я сейчас не про те цирки, название которых начинается с "МБОУ" или типа того, а про настоящий, с конями и клоунами). Мы достаём схему движения трамваев и начинаем перебирать по одному, каждый раз сверяясь со схемой, проходит ли этот маршрут и мимо цирка, и мимо нашего дома. Отобрав 2-3 маршрута, мы спокойно едем. Обычно этот процесс занимает у нас от силы полсекунды, мы даже не замечаем этого.