15.08.2010 20:43 Дата регистрации: 1 год назад Посты: 32 | Теория исключений и решение систем многочленов от нескольких неизвестных Добро пожаловать в обсуждение систем полиномов Редактировалось 1 раз(а). Последний 16.08.2010 00:51.
|
25.08.2010 22:53 Дата регистрации: 1 год назад Посты: 32 | Решение систем алгебраических уравнений Какие существуют эффективные с точки зрения вычислительной сложности методы решения систем вида: f1(x1, . . ., xn) = 0 f2(x1, . . ., xn) = 0 . . . fm(x1, . . ., xn) = 0
|
25.08.2010 23:13 Дата регистрации: 2 года назад Посты: 234 | Тролли, как же вы надоели... |
25.08.2010 23:27 Дата регистрации: 1 год назад Посты: 32 | Частный случай А если учесть, что известны решения каждого из уравнений Редактировалось 2 раз(а). Последний 12.09.2010 19:32.
|
25.08.2010 23:50 Дата регистрации: 2 года назад Посты: 234 | ... Ну а раз известны решения каждого ур-ия, то в чем состоит проблема?
|
25.08.2010 23:55 Дата регистрации: 1 год назад Посты: 32 | Эффективный способ Эффективно найти общие для всех уравнений системы решения
|
28.08.2010 05:07 Дата регистрации: 1 год назад Посты: 32 | ... Ну, что друзья никто не знает?
|
28.08.2010 10:23 Дата регистрации: 5 лет назад Посты: 106 | Zzz... Если функции нелинейны и заданы в общем виде, то общий подход решения такой системы - численная оптимизация (итерационный поиск минимума/максимума функционала, определяющего то, что Вы понимаете под "общим для всех уравнений" решением). Наиболее эффективны здесь градиентные методы. Факт наличия решения каждого отдельного уравнения, входящего в систему, может использоваться лишь для выбора начальной точки оптимизации, а диапазон {0,1} ограничит область поиска. Если функции гладкие и не изобилуют экстремумами, а система невысокого порядка, то численное решение такой задачи на современном PC может потребовать меньше секунды времени.
|
28.08.2010 16:49 Дата регистрации: 1 год назад Посты: 32 | Хорошо... Обратите внимание, что m не равно n.
|
28.08.2010 17:17 Дата регистрации: 5 лет назад Посты: 106 | Параллельно... В рамках того подхода, который я описал, это совершенно ничего не меняет, даже для случая m<n.
|
28.08.2010 22:03 Дата регистрации: 1 год назад Посты: 32 | ок А какой из градиентных методов более эффективен в таком случае? Извините если вопрос окажется глупым.
|
29.08.2010 02:31 Дата регистрации: 1 год назад Посты: 32 | Градиентные методы Самый эффективный из градиентных методов на мой взгляд: Метод крутого восхождения (наискорейшего спуска) не подходит, так как в наихудшем случае когда у системы нет решений (градиент не разу не будет равен нулю), метод осуществит полный перебор или даже зацикливание. А если у системы много решений (экстремумов) то количество итераций огромное. Кроме этого есть большие проблемы с выбором шага. Поэтому мне кажется, что градиентные методы в наихудшем случае с поставленной задачей за разумное время не справятся. Может конечно я чего-то недопонимаю. Редактировалось 1 раз(а). Последний 29.08.2010 02:46.
|
29.08.2010 08:09 Дата регистрации: 5 лет назад Посты: 106 | Градиентные методы - не панацея > А какой из градиентных методов более эффективен в таком случае? По смыслу этот вопрос близок к вопросу о самом полезном фрукте. Пока не будет четко оговорено в каком "таком случае" здесь вообще нет предмета для обсуждения. Все зависит от вида оптимизируемой функции. Да и градиентные методы, которые я ранее упоминал, здесь не панацея. Они имеют ограниченную область применения, но при этом установлено, что в этой области они оказываются более эффективны, чем "всеядные" стохастические методы оптимизации. > Поэтому мне кажется, что градиентные методы в наихудшем случае с поставленной задачей за разумное время не справятся. > Может конечно я чего-то недопонимаю. Вы все правильно понимаете, но вот только аргументация к этим выводам выглядит очень сомнительно. Там другие проблемы возникают. hazzo, Вы сформулировали очень общий случай задачи. На сегодняшний день человечество не имеет ее общего эффективного прикладного решения. Вместе с тем, частные задачи, подпадающие под приведенную общую форму, решать эффективно можно. Ну а если рассматривать линейный случай, то здесь вообще все давно перепахано вдоль и поперек.
|
29.08.2010 16:17 Дата регистрации: 1 год назад Посты: 32 | ... ok Редактировалось 2 раз(а). Последний 04.09.2010 16:36.
|
29.08.2010 18:54 Дата регистрации: 5 лет назад Посты: 106 | Есть... Если в качестве критерия оптимизации использовать сумму квадратов значений уравнений, то решением будет тривиальное среднеарифметическое от известных членов при соответствующих переменных (среднеарифметическое частных решений). Это следует из требования равенства нулю частных производных суммы квадратов уравнений. Редактировалось 1 раз(а). Последний 29.08.2010 18:57.
|
29.08.2010 21:07 Дата регистрации: 1 год назад Посты: 32 | Интересно... ...... Редактировалось 3 раз(а). Последний 04.09.2010 16:34.
|
30.08.2010 17:01 Дата регистрации: 5 лет назад Посты: 106 | Упс... Упс... Ошибочка вышла. При поверхностном анализе задачи, показалось, что в принятой постановке она имеет аналитическое решение. Ошибся. Но с учетом того, что Вы меня неправильно поняли и уже настроились на численное решение, то и не сильно расстроитесь. Дабы реабилитироваться предлагаю подробный алгоритм ее численного решения. Думаю, что он вполне может претендовать на статус эффективного. Как и раньше, решение будем искать из условия: $ \sum_{i=1}^{m} \left((x_1-a_{i,1}) (x_2-a_{i,2})...(x_n-a_{i,n}) \right)^{2} \to min $Выводя частные производные по искомым параметрам и приравнивая их значения к нулю, получим систему уравнений порядка n: $ 2\sum_{i=1}^{m} (x_1-a_{i,1})(x_2-a_{i,2})^{2}(x_2-a_{i,2})^{2}...(x_n-a_{i,n})^{2} =0 $ % частная производная по $ x_1 $$ 2\sum_{i=1}^{m} (x_1-a_{i,1})^{2}(x_2-a_{i,2})(x_2-a_{i,2})^{2}...(x_n-a_{i,n})^{2} =0 $$ 2\sum_{i=1}^{m} (x_1-a_{i,1})^{2}(x_2-a_{i,2})^{2}(x_2-a_{i,2})...(x_n-a_{i,n})^{2} =0 $$ ... $$ 2\sum_{i=1}^{m} (x_1-a_{i,1})^{2}(x_2-a_{i,2})^{2}(x_2-a_{i,2})^{2}...(x_n-a_{i,n}) =0 $ % частная производная по $ x_n $Решением этой системы является нахождение координат всех экстремумов функционала, среди которых будет и то (те), которое доставляет его минимум (найденными могут быть и максимумы). Аналитическое решение этой задачи при больших m окажется затруднительным. Поэтому в общем случае можно прибегнуть к следующей итерационной схеме решения. Задаемся начальными значениями переменных $ x_{2}, x_{3}, ... ,x_{n} $. Из первого уравнения системы частных производных выражаем переменную $ x_{1} $ и вычисляем ее значение относительно известных $ a_{1,1}, a_{1,2}, ... ,a_{1, n} $ и исходно заданных $ x_{2}, x_{3}, ... ,x_{n} $. Отметим, что в этом случае значение переменной $ x_{1} $ вычисляется однозначно, а полученное решение является минимум функционала при прочих заданных параметрах. Иными словами, подобная процедура приведет либо к минимизации функционала, либо оставит его значение без изменения, что может использоваться для обоснования сходимости алгоритма. Затем аналогичные манипуляции проводим с переменной $ x_{2} $ и вторым уравнением. В качестве переменной $ x_{1} $ используем ранее рассчитанное значение. И так далее по всем переменным, после чего переходим к следующей итерации, делая новый проход последовательно уточняя значения искомых переменных. Думаю, что для данной задачи процедура сойдется итераций за 5-10 (конечно, все будет зависеть от n, но много итераций потребоваться не должно).
|
30.08.2010 18:28 Дата регистрации: 1 год назад Посты: 32 | хм... По моему мы наоборот усложняем задачу. Редактировалось 3 раз(а). Последний 04.09.2010 16:37.
|
30.08.2010 19:19 Дата регистрации: 5 лет назад Посты: 106 | Дорогу осилит идущий... > какие должны быть x2,x3,...,xn? Вас цитирую: "xi и aij принадлежат {0,1}", а вообще они могут быть любыми, на работоспособность это не повлияет, повлияет лишь на время оптимизации их начальное отклонение от оптимальных значений. > Как называется этот алгоритм? Давайте назовем его алгоритмом численного решения одного вида систем уравнений с мультипликативной нелинейностью... или можно скромно назвать моим именем. На авторство алгоритма я, конечно, не претендую. Критерий минимума среднеквадратичного отклонения и условия его удовлетворения придумали задолго до меня. Численно решать системы нелинейных уравнений придумал тоже не я. Я всего лишь собрал все это в кучу применительно к отдельно взятой задаче. > Боюсь, что при вычислении значения x1 относительно известных a1,1,a1,2,...,a1,n и исходно заданных x2,x3,...,xn > могут появляться дополнительные условия, что сделают решение не эффективным. А Вы не бойтесь, Вы делайте, а не придумывайте проблемы на пустом месте. Программная реализация этого алгоритма займет не больше часа времени. Те дополнительные условия, которые Вас так напугали, соответствуют ситуациям, когда величина переменной не влияет на значение функционала. В этом случае (в случае деления на 0, что, вообще-то говоря, можно рассматривать как исключительный случай, проанализируете условия его появления) значению переменной можно присвоить любое число или просто оставить его без изменений. Во всех остальных случаях значение искомого параметра вычисляется однозначно.
|
30.08.2010 19:53 Дата регистрации: 1 год назад Посты: 32 | Ладно Спасибо. Редактировалось 2 раз(а). Последний 04.09.2010 16:38.
|