Метод проб и ошибок
В начале августа мне посчастливилось принять участие в конференции InterPore Brasil, посвященной исследованию пористых материалов. На конференции было много интересных докладов, и в нескольких ближайших статьях я расскажу о конференции и своих размышлениях по поводу. Сама конференция проходила на Сириусе (как звучит!). Сириус - это новый источник света для науки, синхротрон в городе Кампинас.
В фильме "Оппенгеймер", шеф лаборатории Лоуренс говорит Оппенгеймеру, что они построят синхротрон, для того чтобы проверить все фантастические идеи теоретиков про кванты и ядерную физику (читай - физику элементарных частиц). По масштабам Лоуренса, Сириус достаточно велик. Но на сегодняшний день, до физики элементарных частиц ему уже не дотянуться. Поэтому, приходится как маленькой рабочей лошадке обслуживать более "приземленные" эксперименты. Приземленные в буквальном смысле - например, просвечивать рентгеном образцы почв для изучения их микропористой структуры. На мой вкус, такое приземление идет ускорителю на пользу. Так как вместо одной плоской задачи (ищем бозон Хиггса), он вовлечен в разгадывание огромного числа загадок из геофизики, биологии, материаловедения. Все эти задачи - кошмар для физика теоретика. Ведь там нет однородности, изотропности, вакуума. И от этого они становятся интересней!
Оптимальная нефть на Поле Чудес
Доминирующей темой в исследованиях пористых сред оказалась нефтянка. Чтобы там не говорили про отказ от углеводородов, но добывать нефть необходимо. И нефтяные компании вкладывают значительные средства в развитие технологий. Бразилии, с открытием нефтяных месторождений в предсолевом слое очень повезло. Но добывать нефть там трудно. И вести геологическую разведку тоже. В каждом университете Бразилии есть научные группы, которые занимаются математическими расчетами, связанными с добычей нефти, хотя бы на уровне заявок на грант. И на конференции InterPore Brasil большинство докладов было про моделирование двухфазных потоков в пористых средах (вода+нефть), про изучение структуры керна, про оптимизацию бурения в условиях неопределенности. Все что рассказывали находится на пределе вычислительных возможностей, а рост вычислительных возможностей с легкостью поглощается добавлением детализации в модели. На одном из докладов, заведующий лаборатории, которая как раз проводит масштабное моделирование и оптимизацию по заказам для нефтяных компаний, рассказал о рабочем процессе. Какие входные данные, какие модели и методы используются, как моделируют неопределенность, сколько сценариев рассматривают, как оптимизируют, сроки выполнения каждого этапа и т.д. Конечно, он упомянул и масштаб сумм, которые можно получить, используя оптимальные решения для бурения. После столь подробного доклада из зала раздался вопрос - а вы когда-нибудь получали обратную связь по результатам вашего моделирования и оптимизации? То есть, удается ли в ходе реализации оптимального с точки зрения моделей плана, достигнуть заявленных результатов? Такая обратная связь была бы полезна для уточнения и улучшения моделей и расчетом. И знаете что ответил заведующий лаборатории? Как оказалось, это, по большому счету, неизвестно. Поскольку информации о достигнутых результатах компании не предоставляют. На мой взгляд такой ответ прозвучал странно (может это бразильская особенность?), ведь расчеты здесь не теоретические, и даже не прикладные, а инженерные. Сделали по этим расчетам станцию "Луна-1", запустили, а она разбилась о лунную поверхность. И вместо того, чтобы выяснить, в чем дело, где ошиблись, что не учли, проектируем станцию "Луна-2" для новой миссии. Последние несколько лет, первый секрет, который я открываю студентам на любом курсе - это секрет основного метода решения научных задач. Метод этот бразильские студенты знают, но даже в его названии упускают самую главную часть. По русски речь идёт про "метод проб и ошибок", по португальски говорят por tentativa - метод проб. Правда, студенты применяют этот метод только когда удается посмотреть ответ, но не решение, у соседа. Получается - угадал с первой попытки. Такое вот "Поле чудес". Однако, самое главное в этом методе это не угадать, а понять, что ошибся. И принять то, что "правильный" ответ ты никогда не получишь.
D.E.U.S.
Метод "проб и ошибок" (МПО, для краткости) в разных своих ипостасях действительно является волшебным ключиком ко многим задачам. И я вот не припомню, чтобы на физическом факультете ТГУ, где считается, студентов учат "думать", приоткрывали реально механизмы того, как собственно нужно "думать". Вспоминается жесткая накачка математикой и собственно физическими теориями, но какой-то рефлексии почему так, а не иначе, особенно не происходило. Я хорошо запомнил, момент времени, который стал зародышем выкристализовывания осознания первого мыслительного приема МПО. Я уже работал профессором в университете Juiz de Fora, и записался на дополнительную работу в приемной комиссии - нужно было проверять письменные вступительные экзамены по математике. Во-первых, было просто интересно, что уже знают к моменту поступления в университет бразильские школьники. Во-вторых был финансовый стимул. И в третьих, можно было получше познакомиться с коллективом. И вот, при проверки одной из задач, в которой фигурировали Alex, Bernardo, Caio, Diego, и нужно было составить и решить систему из 4 линейных уравнений, я увидел четко написанный ручкой ответ (условно) A=3, B=1,C=2,D=1, с припиской - por tentativa (с помощью пробы). Никакого другого обоснования не было, но ответ был правильный. Пришлось обращаться к коллегам за советом, какой бал ставить. Отличий с моим вердиктом (0 баллов) не нашлось, но зародилась мысль - поскольку реально указанный ответ удовлетворял всем условиям задачи, и поверить это было просто, то возможно ли решить на экзамене такую задачу с помощью МПО и как нужно обосновать это решение, чтобы получить полный бал? Забавно, что в работе другого ученика был продемонстрирован нестандартный для меня подход - он обозначил число, связанное с Alex буквой D, для Bernardo выбрал E, для Caio - U, и для Diego - S. Дальше он не продвинулся, но в ответе написал DEUS (Бог). Все таки, на бога надейся, но и сам не плошай.
Раз, два, три, четыре, пять...
Так как же пользоваться методом проб и ошибок (МПО)? В случае задачи с системой линейных уравнений, такое даже в голову не приходит - ведь в школе учат "правильной последовательности действий", которая позволяет решить задачу. И поэтому, если ученик последовательность действий забыл или в ней запутался, то он попадает в ступор. Хотя как раз для линейных уравнений легко понять как работает МПО. Возьмем для примера задачку, с которой начинается сборник Владимира Арнольда для детей от 5 до 15. Кирпич весит фунт и еще полкирпича. Сколько весит кирпич? Итак, нужно подобрать вес - то есть положительное число. Пробой будет случайный (или подчиненный какому-то правилу) выбор числа. Если мы угадали, то после деления пополам и прибавления единички мы получим то же самое число. В этом случае ошибки никакой не будет. А если мы не угадали, то получим результат меньше или больше чем изначальная проба. Различие между двумя результатами и будет мерой нашей ошибки. Мы хотели бы сделать ее как можно меньше, а в идеале равной нулю. Начнем пробовать! Пусть кирпич весит 100 фунтов. Тогда фунт и полкирпича весят 51 фунт, 100>51, ошибочка вышла (Проба1=100, Ошибка1=49). Если попробуем 200 фунтов, получится 200>101 - ошибка увеличилась (Проба2=200, Ошибка2=99). Тогда, попробуем вес 0 фунтов (резко уменьшая пробный вес, до предела). В этом случае 0<1, ошиблись значительно меньше, и знак ошибки сменился (Проба3=0, Ошибка3=-1). Значит, можно предположить, что нужно искать где-то между нулем и 100. Потихоньку начнем увеличивать пробный вес. Проба4=1, Ошибка4=-0.5 - ошибка уменьшилась, мы на правильном пути. Еще один шажок весом в фунт, Проба5=2, Ошибка5=0, ура, нам крупно повезло, на пятом шаге мы получили нулевую ошибку и можем с чистой совестью остановиться - кирпич весит 2 фунта. В принципе, почти точно также можно решать и систему уравнений с четырьмя неизвестными. Кстати, если коэффициенты системы целые числа (или рациональные), то можно гарантировать, что поиск методом проб и ошибок увенчается успехом (хотя может быть и очень долгим). Конечно, мы решали задачку про кирпич с помощью МПО, просто чтобы наглядно выделить 5 ключевых этапов, без которых метод не сработает. Первый этап отвечает на вопрос что для решения данной задачи будет пробой/попыткой. На втором этапе нужно задать алгоритм выбора одной пробы из всех. На третьем этапе, нужно определиться как измерять ошибку (и возможно, использовать историю проб и ошибок на втором этапе). Четвертый этап заключается в сохранении истории проб и ошибок. Пятый этап - "Остановись, мгновенье! Ты прекрасно" - критерий остановки, допустимый уровень ошибки, после которого дальнейшие пробы становятся бессмысленными. Тогда, Фауст, мог бы сказать "Остановись, мгновенье! Ты вполне ок". Схема достаточно общая, но в зависимости от предметной области и задачи, конкретизация каждого этапа может быть весьма творческой задачкой. В качестве примеров и упражнений для самостоятельного продумывания можно рассмотреть открытие закона всемирного тяготения (, создание периодической таблицы Менделеева и космическую программу Space X.