![]() | |
Слаботочка Книги 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [40] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 § 9. О постановках задач оптимизации Мы получили ряд формул численного интегрирования и могли бы получить еще большее количество гаких фо1)мул. Возникает вопрос: можно ли получить лучшие тю порядку оценки погрешности при тех же предположениях о подынтегральной функции или хотя бы улучшить константы в этих оценках? Изучение этого вопроса приводит к задаче построения квадратур с оптимальной оценкой погрешности, или, как говорят, оптимальных квадратур. В связи с этим возникает следующая проблема-чем больше способов решения задачи, тем труднее решиться выбрать какой-то из них, поскольку каждый способ может иметь свои положительные качества: простота программирования, малое время работы ЭВМ, малая загрузка памяти, простота оценки погрешности, применимость к широкому кругу задач. Таким образом, следует иметь в виду, что иногда излишняя информация о способах решения задач при большом их количестве может также и затормозить реальное решение задать Поэтому необходима какая-то систематизация методов решения, их отбор. Естественно пытаться решить задачи наилучшим, оптимальным способом. Мы уже рассматривали некоторые модельные формулировки задач об оптимальных методах решения на примере вычисления значений функций; при этом возникают определенные математические постановки задач, требующих решения. При рассмотрении каждой новой проблемы желательно получить ее наиболее подробное, наилучшее описание и затем решить возникшую задачу наилучшим образом. Однако обычно это не удается сделать и приходится довольствоваться меньшим: описать проблему наилучшим образом и решить ее удовлетворительно или описать проблему удовлетворительно и затем полностью решить возникшую задачу. При рассмотрении получим приближенное значение интеграла с погрешностью 0{N ). С другой стороны, известно, что для такой функции E-n-iif) - 0{N~). Поэтому из (5.4) следует оценка погрешности формулы Гаусса с N узлами RnU) = OiN- ). Таким образом, порядок оценки в обоих случаях одинаков. Обратим внимание егце па одно удобство использования формул Гаусса сразу по всему отрезку интегрирования. Не нужно оценивать число ограниченных производных подынтегральной функции и в соответствии с этим выбирать наиболее подходящую формулу численпого интегрирования по отрезкам разбиения при применении формул Гаусса порядок погрешности 0{N~°) обеспечивается автоматически. Конечно, не нужно думать, что формула, имеющая более высокий порядок скорости сходимости, при конкретном числе узлов всегда точнее формулы более низкого порядка скорости сходимости. проблемы оптимизации методов можно говорить о выборе между удовлетворительным решением проблемы оптимизации методов для классов задач, близких к реальным, или полным решением проблемы для эталонных математических классов, подобных рассматриваемому в следующем параграфе. Может вызвать недоумение высказывание об удовлетворительном решении проблемы оптимизации методов для каких-то классов-ведь задача оптимизации методов на классе сводится к вполне конкретной математической задаче, которую, по-видимому, можно решить окончательно, а не удовлетворительно . В принципе это высказывание верно, однако обычно полностью решить задачу в приемлемое для практики время не удается, так как время, необходимое для построения оптимального метода, обычно существенно превосходит время, в течение которого возникает новое, уточненное описание классов рассматриваемых задач. Также надо иметь в виду, что не всегда удается фор]\1ализовать такое математическое описание класса реальных задач: имеется какое-то качественное представление о классе, имеются неплохие численные методы и интуитивно ясно, что в практическом плане оптимальность методов достигнута; в то же время нет даже четко формализованного описания класса решаемых задач. Например, реально требуется вычислить интегралы от кусочно-гладких функций, однако в течение долгого времени так и не удалось предложить описание множества таких функций, которое соответствовало бы реальной практике вычислений. Точно так же, например, при анализе физических моделей можно описать задачу с помощью сложной системы дифференциальных уравнений и решить эту систему с малой точностью или описать задачу более грубо с помощью простой системы и хешить эту систему с большой точностью. В разных случаях, в зависимости от конкретной обстановки, бывает целесообразен тот или иной подход к решению задачи. Представляется, что для прикладной науки часто более существенно не окончательное решение вариационных задач, а правильная их постановка. Обычно больший эффект дает удовлетворительное решение правильно поставленпой в практическом смысле вариациониой задачи, чем полное решение упрощенной задачи, не охватывающей все существенные характерные черты исходной проблемы. Что такое оптимальный метод решения задачи? Под оптимальным методом решения задачи можно понимать метод, требующий минимальной затраты машинного времени. Но это будет неправильная постановка, поскольку, в принципе, всякую задачу можно решить без применения машин, затратив на это очень большое количество времени. Под оптимальным можно понимать метод, требующий минимальных затрат времени (или соответственно материальных затрат). При этом следует помнить, что время и затраты на поиск оптимального алгоритма уже входят в решение задачи. Когда мы ставим вопрос о решении задачи оптимальным образом, мы не учитываем разных возможностей исследователей, решаюш;их задачу. А ведь в зависимости от индивидуальных возможностей исследователя, наличия ЭВМ, библиотеки, лаборантов, сотрудников, обладающих опытом решения подобных задач, оптимальное решение, вообще говоря, будет различным. Мы говорили об оптимальном решении каждой конкретной задачи. Такая постановка вопроса не совсем правильна также по следующей причине. На самом деле коллектив исследователей сталкивается с целой совокупностью задач. Мы можем поставить перед собой цель решить первую, вторую и т.д. задачи за кратчайшее время. Однако постановка вопроса в корне изменится, если мы зададимся целью решить с минимальными затратами целую совокупность задач. Мы можем решать первую, вторую и т.д. задачи оптимальными методами, но за это время наука уйдет вперед, и если мы не будем изучать новые методы, создавать новые алгоритмы и стандартные программы, рассчитанные на решение будущих задач, то в целом мы проиграем. При наличии большой серии задач, не требующей сверхсрочного решения, выгоднее заняться теоретическими исследованиями, создать новые алгоритмы, а затем уже решать эти задачи. Нет однозначного ответа также на вопрос о том, кто должен заниматься оптимальным решением задач. Если мы имеем дело с единственной конкретной задачей, заведомо не требующей нового алгоритма и больших затрат машинного времени, ее лучше поручить выполнить работнику низкой квалификации. Увеличение числа задач и их сложности требует привлечения работников высокой квалификации, поскольку здесь их отдача будет наиболее полной. Конечно, важно изучить опыт решения как сложных, так и простых задач подобного типа. Для того чтобы задачу оптимизации методов можно было рассматривать как чисто математическую задачу, необходимо определить целевую функцию исследования, класс рассматриваемых задач и возможности исследователя. Качество какого-то алгоритма на классе задач мы характеризуем его качеством на самой плохой для него задаче этого класса. Поэтому чем уже класс рассматриваемых задач, тем лучше качество алгоритмов на этом классе. Казалось бы, следует построить оптимальные алгоритмы для решения возможно большего числа классов задач. Однако при излишней детализации слишком много усилий уйдет на отыскание оптимальных методов решения. В этом случае может не хватить сил и времени на реальное решение самих задач, разработку и создание стандартных программ. Конечно, эти замечания против детализации в меньшей мере относятся к случаю специализированных машин и устройств, где следует максимально сузить класс рассматриваемых задач. При первом взгляде на проблему кажется, что в практике вычислений всегда имеют дело с конкретными задачами и никогда не рассматривают 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [40] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
|