2014 dxdy logo

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

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



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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Помогите оценить сложность решения
Сообщение07.08.2014, 10:21 
Аватара пользователя


27/03/09
35
Москва
Доброе время суток всем!

Необходимо "незамутненным" взглядом оценить сложность нижеприводимого решения задачи.

Количество действий F зависит от длинны ввода n.

1) $\forall n \leq N \Rightarrow F(n) \leq C $, где N и C - наперед известные константы.

2) $F(n) = C + F(\lfloor 0,75 n \rfloor) + F(\lceil 0,75 n \rceil)  + \tau (\lfloor 0,75 n \rfloor) + \tau (\lceil 0,75 n \rceil) $,
где $\tau(n)$ - количество делителей числа n и для этой задачи $\tau(n) \leq \log_3 n$.

Помогите, пожалуйста, оценить сложность количества действий.

Заранее всем благодарен за помощь, подсказки и комментарии.

 Профиль  
                  
 
 Re: Помогите оценить сложность решения
Сообщение07.08.2014, 13:52 
Заслуженный участник


08/04/08
8389
А оценивать штуки типа
$f(n)=C+2f(\frac{3}{4})n$ умеете?

$[t]\leqslant t, \lceil t\rceil<t+1$

 Профиль  
                  
 
 Re: Помогите оценить сложность решения
Сообщение08.08.2014, 18:31 
Аватара пользователя


27/03/09
35
Москва
Sonic86, скиньте, пожалуйста ссылки, где можно о подобных рекурсивных вычислениях почитать.
Вычисления, где есть порядковая связь между шагами (пример - числа Фибоначчи), более или менее стандартизированы, есть общедоступная методика.
А вот когда на четверть уменьшается размерность, тут сложнее, потому и прошу о подсказке/помощи.
Заранее благодарен!

 Профиль  
                  
 
 Re: Помогите оценить сложность решения
Сообщение08.08.2014, 18:56 
Заслуженный участник
Аватара пользователя


06/10/08
5891
Тут тоже есть общедоступная методика. Ключевые слова - теорема Акра-Баззи, например, тут: http://courses.csail.mit.edu/6.046/spri ... abazzi.pdf

 Профиль  
                  
 
 Re: Помогите оценить сложность решения
Сообщение12.08.2014, 10:22 
Аватара пользователя


27/03/09
35
Москва
Xaositect, огромное спасибо за ссылку, очень полезная статья! :-)

Перевел, почитал, вник, хочу поделиться результатом, исправьте, если что упустил или ошибся.

Согласно уравнению (1) в этой статье получаем следующие результаты.

1) $k=1$;
2) $a=2$;
3) $b=0,75$;
4) $g(x)=C$;
5) Условие $$x_0=N$ удовлетворяет требованиям $N \geq \frac43 $ и $N \geq 4$.

Решение вспомогательного уравнения $ab^p=1$ приводит к результату $p=\log_{\frac34}{\frac12}=2,409...$

Таким образом получаем, что сложность решения F составляет:

$\Theta(F(n))=\Theta(n^p(1 + C $\int_1^n \frac{du}{u^{p + 1}}))$

Решение интеграла дает:
$$\int_1^n \frac{du}{u^{p + 1}}= \int_1^n u^{-p-1} du = \frac{n^{-p}}{-p}+\frac1p = \frac{1-n^{-p}}p$

Учитывая, что $ \frac{1-n^{-p}}p \leq \frac1p $, можно грубо оценить сложность решения F следующим образом:

$$\Theta(F(n))=\Theta(n^p(1+\frac Cp)) \approx \Theta(n^p) = \Theta(n^{2,409...})$

Следовательно, можно утверждать, что решение F является полиномиально ограниченным от n.

Поправьте, если в моих рассуждениях есть ошибка.
Заранее благодарен всем за комментарии, помощь в решении и подсказки.

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


06/10/08
5891
Алекс77 в сообщении #893858 писал(а):
2) $F(n) = C + F(\lfloor 0,75 n \rfloor) + F(\lceil 0,75 n \rceil)  + \tau (\lfloor 0,75 n \rfloor) + \tau (\lceil 0,75 n \rceil) $,
где $\tau(n)$ - количество делителей числа n и для этой задачи $\tau(n) \leq \log_3 n$.
Алекс77 в сообщении #895495 писал(а):
4) $g(x)=C$;

По условию получается $g(x) = O(\log n)$.

Дальше все правильно, и результат будет тот же, потому что $\frac{\log u}{u^{p+1}} = O(\frac{1}{u^{p + 1 - \varepsilon}})$ и поэтому $\int_1^{\infty} \frac{\log u}{u^{p+1}}du$ сходится.

 Профиль  
                  
 
 Re: Помогите оценить сложность решения
Сообщение12.08.2014, 13:39 
Аватара пользователя


27/03/09
35
Москва
Xaositect, еще раз огромное спасибо за помощь!!! :D

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

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



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

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


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

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