2014 dxdy logo

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

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


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


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Локализация нулей функции
Сообщение29.09.2019, 22:16 


12/03/17
686
Придумал идею как локализовать корни уравнения, которая должна работать для некоторых функций
Пусть есть некоторая функция $f(x)$ (что-то подобное этому):
Изображение
Ее нужно "сигмоидировать". Например, по формуле:
$s(x)=\frac{f(x)}{\sqrt{f(x)^2+1}}$
Тогда график $s(x)$ уже будет выглядеть примерно так:
Изображение
не вылезая за значения (-1; 1)
тогда для любого интервала из области определения можно посчитать количество корней на нем локализованных по формуле:
$n=(int)(\frac{ls-lx}{2})$
где $ls$ -длина кривой $s(x)$ на интервале $(x_1, x_2)$;
$lx$ - длина самого интервала $(x_1, x_2)$;

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение29.09.2019, 22:46 
Заслуженный участник


09/05/12
25179
granit201z в сообщении #1418267 писал(а):
где $ls$ -длина кривой $s(x)$ на интервале $(x_1, x_2)$;
Примерно это называется "в Рязань через Париж". Стартовая идея, возможно, и неплоха (если отвлечься от погрешности вычислений при "сигмоидации"), но вот подсчет длины кривой - несколько более сложная задача, чем уединение корней само по себе.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение29.09.2019, 22:51 
Заслуженный участник


27/04/09
28128
Нет, нельзя. «Сигмоидируйте» так $f(x) = \sin x + 1 + \varepsilon$, $0 < \varepsilon\ll 1$; корней не будет ни одного, а $n$ можно будет получить какое угодно большое, увеличивая интервал (и даже условие $\varepsilon\ll 1$ лишь для наглядности).

Кроме того на практике считать длину кривой графика функции довольно сложно. А, с этим уже опоздал. :-)

-- Пн сен 30, 2019 00:56:08 --

И тут можно видеть, что любой способ «сигмоизации» потерпит провал для функций с особенным поведением; им достаточно много колебаться в промежутке значений, который занимает большую часть выходного промежутка после этого преобразования.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение29.09.2019, 23:54 


12/03/17
686
arseniiv в сообщении #1418276 писал(а):
Нет, нельзя. «Сигмоидируйте» так $f(x) = \sin x + 1 + \varepsilon$, $0 < \varepsilon\ll 1$; корней не будет ни одного, а $n$ можно будет получить какое угодно большое, увеличивая интервал (и даже условие $\varepsilon\ll 1$ лишь для наглядности).


Да, я знаю. Я примерно с такой задачи (естественно пока что не решив ее) и пришел к этой идее.
Где-то слышал, что вычисление натурального числа на "простоту" - сложновычислимая задача. Задумался и придумал, что для натурального числа $A$ в случае, если есть целочисленные делитель и частное должно выполняться условие:
$\sin^2(\pi\cdot x)+\sin^2(\pi\cdot\frac{A}{x})=0$
Нарисовал график, а там и получается какая-то "бешеная гармошка", которая судя по всему - неограниченно приближается к 0 в своем бесконечном чередовании убывания и возрастания. Но все-таки на интересующем интервале $(1, A)$ - говоря о "ложных устремлениях" к 0 она ограниченно (конечное число раз и на конечно (а не бесконечно) малую $\varepsilon$) приближается к нулю. Поэтому есть надежда смасштабировав по Oy:
$A\cdot \sin^2(\pi\cdot x)+A\cdot \sin^2(\pi\cdot\frac{A}{x})=0$
а уж только после этого "отсигмоидировать" и в итоге получить желаемый результат. Правда не уверен, что будет хоть какой-нибудь выигрыш в сторону уменьшения сложновычислимости

-- 30.09.2019, 00:03 --

Pphantom в сообщении #1418273 писал(а):
granit201z в сообщении #1418267 писал(а):
где $ls$ -длина кривой $s(x)$ на интервале $(x_1, x_2)$;
Примерно это называется "в Рязань через Париж". Стартовая идея, возможно, и неплоха (если отвлечься от погрешности вычислений при "сигмоидации"), но вот подсчет длины кривой - несколько более сложная задача, чем уединение корней само по себе.


если честно, то я никогда этим не занимался (не искал длину кривой), но слышал, что это делается через интегрирование и теорему Пифагора

-- 30.09.2019, 00:21 --

arseniiv в сообщении #1418276 писал(а):
им достаточно много колебаться в промежутке значений

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

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение30.09.2019, 10:59 


12/03/17
686
Но наверное для некоторых задач это не непреодолимая проблема. Конкретно для функции "поиска простоты числа" можно эту функцию умножить на число (например само A), отсигмоидировать. Снова умножить на A. опять отсигмоидировать и т.д. Каждый раз график будет получаться все глаже и глаже, все ближе и ближе к линии y=1. Иногда от него будут отходить пипки к линии y=0 (в случае если имеются целочисленные делитель и частное). Т.е. получится некоторая последовательность с известной формулой длины кривой, элементы которой, будут значением длины кривой на интервале (1, A) для каждой i-ой итерации сигмоидирования. При стремлении количества этих элементов к бесконечности пределом этой последовательности будет некоторое число. Предположительно для простого числа A этот предел будет A+2 (учитывая две полупипки возле 1 и A, т.к. убывающая полупипка возле 1 и возрастающая возле A не входят в искомый интервал)

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение30.09.2019, 12:04 


12/09/18
39
granit201z
Тут вся проблема в том, что интегралы от подобных выражений просто так не посчитаешь (или долго или нельзя). А длина дуги считается через интеграл. Года два назад мне тоже пришла подобная идея разложения числа на простые. Но длину дуги я сразу выкинул из головы - ее считать сложнее чем просто интеграл, поэтому задача была сведена к вычислению интеграла или суммы. Сначала я пытался искать решение через ряды и формулу Эйлера-Маклорена, но ряды сходились очень долго, а формула ЭМ в нужных точках вообще начинает расходиться. В итоге остались только варианты на основе интеграла, который непонятно было как считать.
Тогда я спросил у людей более знающих тут на форуме (topic129588.html) и уважаемый mihiv научил меня как можно считать подобного вида интегралы. Поняв принцип, мне удалось посчитать интегралы других похожих функционалов с использованием тригонометрических функций (всего варинтов было около 5 штук, м.б. даже больше).
В итоге, всего этого все равно оказалось недостаточно, т.к. помимо корня, рассматриваемые функционалы содержали в себе значения, очень похожие на корень (различие для больших $A$ могло быть $10^{-100}$ и меньше). И таких значений всегда очень много, они мешаются и не дают выделить корень. Отделить их от корня можно только если "усилить функционал" - возвести в большую степень, разделить на большее число, взять модуль и т.п. Но при таком усилении либо непозволительно увеличивается количество арифметических операций при вычислении результата, либо принцип подхода mihiv невозможно становится применить - т.к. его идея основывается на идее интегрирования по частям, а интегрирование по частям не всегда работает - например, если функция имеет особые точки.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение30.09.2019, 19:57 
Заслуженный участник


27/04/09
28128
granit201z в сообщении #1418287 писал(а):
Вы имеете ввиду, что несмотря на то, что вся эта штука будет лежать возле единицы и ни разу не устремившись к нулю - за счет огромного множества микроколебаний наберет длину гораздо большую, чем длина интервала?
Притом не обязательно возле единицы. Можно будет всегда найти плохой случай, улезающий рано или поздно поближе к нулю. Хотя для конечных промежутков это можно отбросить, но мысли это навевает.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 10:11 


12/03/17
686
granit201z в сообщении #1418312 писал(а):
...можно эту функцию умножить на число (например само A), отсигмоидировать. Снова умножить на A. опять отсигмоидировать и т.д. Каждый раз график будет получаться все глаже и глаже, все ближе и ближе к линии y=1. Иногда от него будут отходить пипки к линии y=0 (в случае если имеются целочисленные делитель и частное)...


Нет. Не так. Пришла в голову новая гипотеза, которая должна упростить формулу поиска длины. Имеем кривую $f(x)$, для которой хотим вычислить количество корней на некотором интервале. Эта кривая способна породить бесконечную последовательность сигмоидированных себя с общей формулой: $(sf(x))_i=\frac{n\cdot f(x)}{\sqrt{(n\cdot f(x))^2 +1}}$, где $n$-натуральное число до бесконечности. ->>

Тут смысл увеличения n - в том, что с каждым большим n исходная функция все сильнее и сильнее "утягивается" (вверх или вниз) от оси абсцисс (если, конечно она не 0 в рассматриваемой точке), а следовательно все ближе и ближе к $y=1$ или $y=-1$ "падает" после сигмоидации, и в пределе мы таки получим кривую (при условии, что исходная кривая была конечной длины на интервале), по форме близкую к "табуретке", которая позволит сделать вывод о количестве корней.

->> А эта последовательность, в свою очередь должна породить последовательность длин этих $(sf(x))_i$ на рассматриваемом интервале. Получив предел последовательности длин можно однозначно определить количество корней на интервале.
По сравнению с предыдущими думками теперь поиск длины каждой из этих кривых - однотипная задача, поскольку формула каждой последующей кривой не усложняется, а только в ней меняется множитель $n$.
Но и не смотря на это - я, из-за того что пока еще очень дубовый в интегрировании, не могу вывести общую формулу длинны кривой вида: $sf(x)=\frac{n\cdot f(x)}{\sqrt{(n\cdot f(x))^2 +1}}$. Поэтому прошу вашей помощи.
Сейчас же, что мне известно (как мне кажется это может быть полезным в решении этой задачи) - это то, что данная сигмоида хорошо параметризуется параметром $t$, то есть:
$\left\{
\begin{array}{rcl}
 &n\cdot f(x)=&\tg t \\
 &\frac{n\cdot f(x)}{\sqrt{(n\cdot f(x))^2 +1}}=&\sin t \\
\end{array}
\right.$

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 10:34 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Все это очень напоминает известный анекдот про Горбачева и куриные фермы. Для тех, кто его не знает - в оффтопе сам анекдот.

(Оффтоп)

Встречаются в одном из коридоров Кремля Горбачёв и Рыжков. Горбачёв интересуется: — Ну как у нас дела? Как хозяйство? — Михаил Сергеевич, вы знаете, курицы дохнут! — Серьёзно? Где? — Да во всех колхозах. Буквально по всей стране. — Николай Иванович, есть решение у этой беды! Надо изготовить небольшие квадратные дощечки и прикрепить их к каждой куриной клетке. Рыжков, удивлённый и ничего не понимающий, ушёл к себе в кабинет. Проходит пара-тройка дней, они снова встречаются. Горбачёв ему: — Ну, Коля, как дела? — Михаил Сергеевич, курицы продолжают дохнуть. — Есть решение! В центре у всех квадратиков надо нарисовать по красному кружку. Опять Рыжков ничего не понял. Ну и отправился дальше работать. Ещё через пару дней Горбачёв его встречает: — Ну как там дела? — Михаил Сергеевич, уже почти все курицы сдохли! — Николай, есть решение! В центре каждого красного кружка надо нарисовать маленький жёлтый треугольничек. Рыжков уже в полном недоумении. Ушёл, схватившись за голову. Ещё через два дня они встречаются: — Коля, ну как? — К сожалению, Михаил Сергеевич, все курицы передохли. — Жаль. А у меня ещё было столько замечательный идей!

Кому нужны "гениальные идеи", если их автор не может довести их до работающего алгоритма и показать работоспособность своих "гениальных идей"? А когда автору явно показывают в каких местах его "гениальная идея" не работает, тот не сдается и пробует сколотить "артель напрасный труд", которая будет проверять бесперспективность его идеи. Кто желает напрасно поработать? "Творцов-то у нас полно, а вот криэтеров, действительно, не хватает", :D

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 12:14 


12/03/17
686
Brukvalub в сообщении #1419342 писал(а):
А когда автору явно показывают в каких местах его "гениальная идея" не работает, тот не сдается и пробует сколотить "артель напрасный труд", которая будет проверять бесперспективность его идеи.


Мне тоже навеяло известный анекдот про мужиков и пилораму по дереву. Для тех, кто его не знает - в оффтопе сам анекдот.

(Оффтоп)

Купили мужики пилораму по дереву. Решили ее проверить в действии. Засунули в нее доску:
-Вжик! - сказала пилорама, с легкостью распилив доску.
-Оо! - сказали мужики и засунули брус.
-Вжжик! - сказала пилорама.
-Ооо! - сказали мужики и засунули бревно.
-Вжжжик! - сказала пилорама.
-Оооо! - сказали мужики и засунули арматурину.
-Грррр! - сказала пилорама, обломала все зубья и заклинила.
-Аааа! - ухмыльнулись мужики.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 12:18 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
granit201z, да ладно вам. На самом деле это анекдот про сибирских лесорубов и японскую бензопилу.

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 15:11 
Заслуженный участник


27/04/09
28128
granit201z
Ну вы ведь серьёзно похоже не сравниваете то, что у вас выходит, с известными методами, в работе. Насколько просто реализовать, какую точность можно получить за сколько потраченных ресурсов и т. п..

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 15:32 


12/03/17
686
arseniiv в сообщении #1419368 писал(а):
Ну вы ведь серьёзно похоже не сравниваете то, что у вас выходит, с известными методами, в работе.

дело в том, что сравнивать пока еще нечего. я не получил еще формулу, выражающую длину i-ой кривой. А без нее - последовательность, предел которой нужно найти - не задана формулой

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение06.10.2019, 23:53 


12/03/17
686
Наверное, я еще на шаг ближе к искомой длине кривой:
$sf(x)=\dfrac{n\cdot f(x)}{\sqrt{(n\cdot f(x))^2 +1}}$
По учебнику ее длина:
$$\int\limits_{x_1}^{x_2}(\sqrt{(sf'(x))^2 + 1})dx$$
Производная же:
$sf'(x)=\dfrac{d(sf(x))}{dx}$
В свою очередь:
$d(sf(x))=d(\dfrac{n\cdot f(x)}{\sqrt{(n\cdot f(x))^2 +1}})=\dfrac{\sqrt{(n\cdot f(x))^2 +1}\cdot d(n\cdot f(x)) - d(\sqrt{(n\cdot f(x))^2 +1})\cdot (n\cdot f(x))}{(n\cdot f(x))^2 +1}=

\dfrac{n\cdot [\sqrt{(n\cdot f(x))^2 +1}\cdot d(f(x)) - 
\dfrac{f(x)}{2\cdot \sqrt{(n\cdot f(x))^2 +1}}\cdot
d((n\cdot f(x))^2 +1)]}
{(n\cdot f(x))^2 +1}=
$

$\dfrac{n\cdot [\sqrt{(n\cdot f(x))^2 +1} - \dfrac{n^2\cdot(f(x))^2}{\sqrt{(n\cdot f(x))^2 +1}}]
}{(n\cdot f(x))^2 +1}\cdot d(f(x))=$

$
\sqrt{(n^4\cdot f(x))^2 +n^2}\cdot d(f(x))$

то есть:

$$\int\limits_{x_1}^{x_2}(\sqrt{(n^4\cdot (f(x))^2 +n^2)\cdot(f'(x))^2 + 1})dx$$

 Профиль  
                  
 
 Re: Локализация нулей функции
Сообщение07.10.2019, 00:04 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
Производную неправильно считаете, и то, что получилось, неправильно подставляете в формулу.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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



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

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


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

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