Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Асимптотические порядки

Автор RawonaM, ноября 3, 2011, 09:13

0 Пользователи и 1 гость просматривают эту тему.

Квас

Престранно. Старенькая «шестёрка» даёт в первом случае тоже 0.
Пишите письма! :)

RawonaM

Поэксперементировал: если стоит пробел, что между эн в квадрате и скобкой, то считает правильно, если пробела нет, то выдает бесконечность. В чем прикол?

arseniiv

А вот в Mathematic'е я бы всегда смог посмотреть, как она это дело во внутренний вид распарсила! В Maple есть такая функция?

RawonaM


Квас

Пробел — знак умножения. Наверно, без пробела он интерпретировал n как имя функции.

Насчёт распаршивания я тоже не знаю.
Пишите письма! :)

RawonaM

А что он делает с незнакомыми функциями? Почему он не говорит, что такая функция не определена? Он ее за 0 считает что ли?

Квас

Цитата: RawonaM от ноября  5, 2011, 12:55
А что он делает с незнакомыми функциями? Почему он не говорит, что такая функция не определена? Он ее за 0 считает что ли?

Считает просто за n(), так же как a считает за некоторую величину. Если продифференцировать, например, то получится diff(n(x),x) — логично, собственно.
Пишите письма! :)

RawonaM

Не понял. Откуда все-таки взялось ∞ в первом примере?

Квас

Цитата: RawonaM от ноября  5, 2011, 13:01
Не понял. Откуда все-таки взялось ∞ в первом примере?

Бог его знает. Наверно, он решил, что поскольку числитель уходит в бесконечность, а о знаменателе он ничего сказать не может, то получается бесконечность.
Пишите письма! :)

RawonaM

В пицотый раз перестроил порядок. Все-таки задание выглядит глуповатым, да еще и найти классы эквивалентности, когда тут все функции разных порядков. Видимо чего-то я недопонял.

Квас

Пишите письма! :)

RawonaM

Спасибо :) У вас тоже все вышли нули/бесконечности, т.е. все разных порядков?

Квас

Пишите письма! :)

RawonaM

Почему-то в гуглдоксе 2 в степени корень логарифма выглядит как 2 умножить на корень.

RawonaM

А если я для определения порядков беру обе стороны в 2lg(x), порядки же должны сохраниться во всех случаях, неспа? Ведь это та же функция получается для х>0.
Допустим нужно определить f(n) ? g(n), берем в 2lg f(n) ? 2lg g(n), если определяется отношение, то то же самое можно ставить между f(n) и g(n), верно?

RawonaM

Мне нужно посчитать асимптотический порядок рекуррентного отношения
[tex]T(n)=\sqrt n \cdot T(\sqrt n) + n \lg n[/tex]

У меня получилось [tex]\Theta(n \lg n)[/tex], причем первая часть [tex]\sqrt n \cdot T(\sqrt n)=\Theta(1)[/tex], т.е. всегда константа. Может такое быть?

Квас

Цитата: RawonaM от ноября 19, 2011, 09:09
Ведь это та же функция получается для х>0.
Допустим нужно определить f(n) ? g(n), берем в 2lg f(n) ? 2lg g(n), если определяется отношение, то то же самое можно ставить между f(n) и g(n), верно?

Без сомнения, потому что написано одно и то же. :yes:
Пишите письма! :)

Квас

Цитата: RawonaM от ноября 19, 2011, 10:24
Мне нужно посчитать асимптотический порядок рекуррентного отношения
[tex]T(n)=\sqrt n \cdot T(\sqrt n) + n \lg n[/tex]

А как вы делали? Пока я догадался только поделить на n lg n и получить соотношение между двумя дробями одинакового вида. Однако, кажется, ничто не мешает обеим уходить в бесконечность.
Пишите письма! :)

RawonaM

Цитата: Квас от ноября 19, 2011, 13:55
Цитата: RawonaM от ноября 19, 2011, 10:24Мне нужно посчитать асимптотический порядок рекуррентного отношения
[tex]T(n)=\sqrt n \cdot T(\sqrt n) + n \lg n[/tex]
А как вы делали? Пока я догадался только поделить на n lg n и получить соотношение между двумя дробями одинакового вида. Однако, кажется, ничто не мешает обеим уходить в бесконечность.
Для уровня на один ниже верхнего:
[tex]T(\sqrt n)=n^{1/4} \cdot T(n^{1/4}) + n^{1/2} \lg n^{1/2}[/tex]

Отсюда [tex]T(n)=n^{1/2}(n^{1/4} \cdot T(n^{1/4}) + n^{1/2} \lg n^{1/2}) + n \lg n[/tex].
...
Для уровня i получается: [tex]T(n)=\prod_{k=1}^i n^{1/2^k} \cdot T(n^{1/2^i}) + \sum_{k=0}^{i-1} n^{1/2^k} \lg n^{1/2^k}[/tex].

Правое слагаемое [tex]\Theta(n\lg n)[/tex].

Левое слагаемое:
[tex]\prod_{k=1}^i n^{1/2^k} \cdot T(n^{1/2^i})=n^{\sum_{k=1}^i 1/2^k} \cdot T(n^{1/2^i})[/tex]

Определим T(2)=1, возьмем i=lg lg n (чтобы [tex]n^{1/2^i}=2[/tex]).

Подставим: [tex]n^{\sum_{k=1}^i 1/2^k} \cdot T(n^{1/2^i})=n^{\sum_{k=1}^{\lg\lg n} 1/2^k}=n^{\frac{1-1/2^{\lg\lg n +1}}{1-1/2}}=n^{2-1/\lg n}=\frac{n^2}{n^{1/lg n}}[/tex]
[tex]=\frac{n^2}{2^{\lg n^{1/lg n}}}=\frac{n^2}{2}=\Theta(n^2)[/tex].

Упс, вот и ошибка нашлась. :) Значит все вместе [tex]\Theta(n^2)[/tex].

Квас

Пишите письма! :)

RawonaM

Не, там еще одна ошибка в сумме.

Цитата: RawonaM от ноября 19, 2011, 14:18
Подставим: [tex]n^{\sum_{k=1}^i 1/2^k} \cdot T(n^{1/2^i})=n^{\sum_{k=1}^{\lg\lg n} 1/2^k}=n^{\frac{1-1/2^{\lg\lg n +1}}{1-1/2}}=n^{2-1/\lg n}=\frac{n^2}{n^{1/lg n}}[/tex]
[tex]=\frac{n^2}{2^{\lg n^{1/lg n}}}=\frac{n^2}{2}=\Theta(n^2)[/tex].
Должно быть:

[tex]n^{\sum_{k=1}^i 1/2^k} \cdot T(n^{1/2^i})=n^{\sum_{k=1}^{\lg\lg n} 1/2^k}=n^{\sum_{k=0}^{\lg\lg n - 1} 1/2^{k+1}}=n^{1/2 \cdot \sum_{k=0}^{\lg\lg n - 1} 1/2^{k}}=[/tex]

[tex]=n^{1/2 \cdot \frac{1-1/2^{\lg\lg n}}{1-1/2}}=n^{1-1/\lg n}=\frac{n}{n^{1/\lg n}}=\frac{n}{2}=\Theta(n)[/tex].

Опять таки выходит всего [tex]\Theta(n \lg n)[/tex].


RawonaM

[tex]\Theta(\lg(n-1))[/tex] чему равно? Разве не [tex]\Theta(\lg n)[/tex]?
А то если раскрыть получится деление на ноль.  :???

Квас

Цитата: RawonaM от ноября 23, 2011, 23:10
А то если раскрыть получится деление на ноль.  :???

Почему?

[tex]\lg (n-1) = \lg n \cdot \frac{n-1}n = \lg n + \lg \left( 1-\frac 1n\right)[/tex]

Последнее слагаемое стремится к 0, поэтому всё нормально.
Пишите письма! :)

RawonaM


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр