تالار گفتمان مانشت
مرتبه زمانی - نسخه‌ی قابل چاپ

مرتبه زمانی - H-Arshad - 09 آبان ۱۳۹۵ ۰۵:۲۶ ب.ظ

سلام بچه ها این چطور گفته تتا n ?? اخه حدش میگه صورت از مخرج بزرگ تر هست پس باید بشه O اون ، نه تتا اون

RE: مرتبه زمانی - Pure Liveliness - 09 آبان ۱۳۹۵ ۰۹:۳۹ ب.ظ

(۰۹ آبان ۱۳۹۵ ۰۵:۲۶ ب.ظ)H-Arshad نوشته شده توسط:  سلام بچه ها این چطور گفته تتا n ?? اخه حدش میگه صورت از مخرج بزرگ تر هست پس باید بشه O اون ، نه تتا اون
سلام. نسبت حدشون که عدد ثابت [tex]\sqrt{۱۰}[/tex] شده پس یعنی هم رشد هستن.

مرتبه زمانی - H-Arshad - 09 آبان ۱۳۹۵ ۱۱:۰۴ ب.ظ

ممنون فقط اگر بی نهایت شد، میگیم رشد صورت بیشتر از مخرج هست...اگر صفر شد . برعککس درسته؟
اگر عدد شد، میگیم هم رشد هستند ؟

RE: مرتبه زمانی - Pure Liveliness - 10 آبان ۱۳۹۵ ۱۲:۳۳ ق.ظ

(۰۹ آبان ۱۳۹۵ ۱۱:۰۴ ب.ظ)H-Arshad نوشته شده توسط:  ممنون فقط اگر بی نهایت شد، میگیم رشد صورت بیشتر از مخرج هست...اگر صفر شد . برعککس درسته؟
اگر عدد شد، میگیم هم رشد هستند ؟
خواهش میکنم.
بله. همین طور هست.
اگه وقتی n به سمت بی نهایت میره صورت و مخرج هر دو صفر یا بی نهایت بشن، مشتق میگیریم. اگه نه هم که مثل اینجا نیازی به مشتق نیست.
[tex]\lim_{n\longrightarrow\infty}\: (\frac{f(n)}{g(n)})=c\: (constant)\: \: \longrightarrow f(n)\in\theta(g(n))[/tex]
[tex]\lim_{n\longrightarrow\infty}\: (\frac{f(n)}{g(n)})=0\: \: \longrightarrow f(n)\in O(g(n))[/tex]
[tex]\lim_{n\longrightarrow\infty}\: (\frac{f(n)}{g(n)})=\infty\: \: \longrightarrow f(n)\in\Omega(g(n))[/tex]


RE: مرتبه زمانی - H-Arshad - 10 آبان ۱۳۹۵ ۰۶:۲۱ ب.ظ

برای اینکه مجدد موضوع ایجاد نشه همین جا پرسیدم ...ببنید من یک جا خیلی گیج میشم...مثلا برای مقایسه این دوتا از دو طرف Ln گرفته و فک کنم درست هم بدست اومده(اگر واضح نیست لطفا بفرمایید تا بازنویسی کنمش و بزارم)
یکجا هم حد میگیریم در بی نهایت...من از کجا بفهمم -کجا نیاز هست حد بگیرم و کجا این طور Ln بگیرم؟ که راه اشتباه نرم...

RE: مرتبه زمانی - Pure Liveliness - 10 آبان ۱۳۹۵ ۰۷:۴۷ ب.ظ

چند تا راه وجود داره.
یکیش حد هست که توی پست قبلی گفتم چطور میشه با استفاده از حد گرفتن دو تا تابع رو مقایسه کرد. (حد گرفتن توی بی نهایت هم واضح هست که دو تا تابع رو وقتی n شون(متغیرشون) میره به سمت بی نهایت با هم مقایسه میکنیم. وگرنه مثلا توی مقایسه ی [tex]2^n[/tex] و [tex]n^2[/tex] تا یه جایی [tex]n^2[/tex] بزرگتر هست اما از یه [tex]n_0[/tex] ای به بعد[tex]2^n[/tex] بیشتر هست. یعنی توی n به سمت بی نهایت مهمه مقایسه ی دو تا تابع)
یکیش لگاریتم گرفتن هست که شرایط زیر پیش میاد:
[tex]\log(f(n))\: >\: \log(g(n))[/tex] در نتیجه رشد تابع f بیشتر هست.
[tex]\log(f(n))\: <\: \log(g(n))[/tex] در نتیجه رشد تابع g بیشتر هست.
[tex]\log(f(n))\: =\: \log(g(n))[/tex] اصلا نمیشه گفت رشد کدوم یکی بیشتر هست. مثل مقایسه ی [tex]n^2[/tex] و [tex]n^3[/tex] که رشد لگاریتم هر دو تاشون برابر میشه و نمیتونیم بگیم که کدوم بیشتر هست. یا مساوی هستن.
راه دیگه که بیشتر کاربرد داره یه سری ساده سازی ها هست که توابع رو مثلا به فرم هم در بیاریم.
این که از کدوم راه بریم واسه توابع مختلف فرق داره و فقط با تمرین زیاد میتونید بگید که بهتره چطوری توابع رو مقایسه کنید.
این سوال رو کاملا درست حل کردید (البته فرقی نمیکنه نسبت به چه پایه ای لگاریتم بگیرید ولی معمولا لگاریتم در مبنای ۲ میگیرن و این باعث میشه گاهی بعضی توابع با این پایه ساده تر بشه نوشتشون.) بعد هم واسه این تابع حد گرفتن و بعدش مشتق (حد بی نهایت روی بی نهایت و استفاده از قاعده ی هوپیتال) سخت میشه و البته میشه هم به صورت n به توان یه چیزی نوشت جفتشون رو و مقایسه کرد.) اینجا انگار لگاریتم گرفتن راحت تره.
میخواید اگه به سوالی برخورد کردید که نمیدونستید از کدوم راه برید همین جا بگید.