2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 быстрый и простой поиск единственного экстремума
Сообщение27.05.2013, 04:36 


15/01/12
215
У нас есть функция $f(x_1, x_2  ...  x_n)$.
Про неё известно, что у неё единственный экстремум, она гладкая и непрерывная, с непрерывными производными всех порядков. Как его найти? Я знаю про методы градиентного спуска, но при единственном экстремуме есть, возможно, более простой и быстрый метод.

И ещё вопрос по немного другой теме:
есть уравнение $x\ln(x) = 1$, его надо численно решить (из соседней темы). предложили использовать последовательность $x_{n+1} = x_n \left( 1- \frac{x_n \ln x_n -1}{x_n +1} \right) $.
Как поняли, что надо использовать именно такую последовательность и как их подбирают? Где про это можно прочесть?

 Профиль  
                  
 
 Re: быстрый и простой поиск единственного экстремума
Сообщение27.05.2013, 06:22 
Заслуженный участник
Аватара пользователя


28/07/09
1238
По поводу второго вопроса.
$x=e^{W(1)}=\frac{1}{W(1)}$
Для $W(x)$ в википедии есть рекуррентная формула. Правда ничего не знаю о её эффективности. Ряд Тейлора для $W(x)$ тоже есть, но он не сходится в $x=1$. Может можно как-нибудь модифицировать.

Как получена ваша формула не знаю, но она очень похожа на формулы, которые получаются из метода Ньютона.

Для $f(x)=x \ln{x} -1 $ получаем $x_{n+1}=x_n - \frac{x_n \ln{x_n}-1}{\ln{x_n}+1}$. Формула даёт 19 верных знаков после запятой (сверил по $\frac{1}{W(1)}$ в Wolfram Alpha) уже через 5 итераций.

(Код)

Код:
#include <stdio.h>
#include <math.h>

main()
{
    long double x=1.0;
    while(1)
    {
        x=x-(x*logl(x)-1)/(logl(x)+1);
        printf("%.19Lf\n",x);
        getchar();
    }
}

 Профиль  
                  
 
 Re: быстрый и простой поиск единственного экстремума
Сообщение27.05.2013, 10:13 
Заслуженный участник
Аватара пользователя


11/03/08
9910
Москва
Единственный экстремум это прекрасно, но он даёт не ускорение поиска, а гарантию того, что поиск не застрянет на локальном оптимуме. Наличие производных высоких порядков, видимо, даёт возможность использовать метод Ньютона или другие методы второго порядка. Методы более высокого порядка редко полезны, и даже второй порядок, с учётом затрат на вычисление матрицы вторых производных и её обращение, может быть не оправдан. Метод сопряжённых направлений даёт почти такую же сходимость, но вторые производные считать не надо.

 Профиль  
                  
 
 Re: быстрый и простой поиск единственного экстремума
Сообщение27.05.2013, 19:21 


15/01/12
215
Спасибо всем ответившим, частично разобрался с вопросами.

А что делать, если нашёл реккурентную формулу, которая даёт минимум при положительных параметрах многомерной функции, но при отрицательных реккурентный ряд расходится? Оно понятно, почему: решение лежит между положительными и отрицательными параметрами, из особенностей функции вытекает неправильный уход в минус бесконечность, но есть ли способ обойти это?

В вики пишут, что решение можно найти за несколько десятков операций, есть ли что-то менее затратное? Мне не обязательно знать черезчур точное значение.

 Профиль  
                  
 
 Re: быстрый и простой поиск единственного экстремума
Сообщение27.05.2013, 23:05 
Заслуженный участник


11/05/08
32166
Евгений Машеров в сообщении #728889 писал(а):
и даже второй порядок, с учётом затрат на вычисление матрицы вторых производных и её обращение, может быть не оправдан.

Затраты на обращение матрицы при не слишком большом количестве параметров сравнительно ничтожны. Действительно проблема -- это дифференцирование (производные могут даже и не браться в явном виде, смотря какая задача); но и это в каждом конкретном случае снимается заменой точного дифференцирования на конечноразностное. Всё это более чем искупается сверхлинейностью сходимости. А вот что воистину проблема в методе Ньютона, так это поиск достаточно хорошего начального приближения, и тут гарантированная единственность минимума как-то не очень спасает.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group