שאלה ב Order of growth

gil levi

New member
שאלה ב Order of growth

צריך לדרג את הפונ':
4^log(n) n^2 * log(n)
לפי ה order of growth שלהן (הפונ' השניה זה n בריבוע כפול log(n)zzz, לא n בחזקת 2log(n) zzz ). נראה לי ש:
log(n)*n^2 = O( 4^log(n) )​
(O גדול) אבל אני לא מצליח להוכיח את זה. ניסיתי לקחת גבול של אחת חלקי השנייה אבל אני לא מצליח לחשב אותו (חוץ מלופיטל אני בקושי זוכר איך לגשת לגבולות). ניסיתי להשתמש בזה ש n^2 * log(n) <= n^3 ואז לקחת גבול אבל גם זה לא מצליח. ניסיתי להגדיר את הפונ':
f(n):= 4^log(n) - n^2 * log(n) g(n):= 4^log(n) - n^3​
ולהראות שהן חיוביות לכל n טבעי, אבל בשביל זה אני צריך למצוא נקודות קיצון אבל כשאני גוזר ומשווה לאפס אני מקבל משוואה שאין לי מושג איך לפחור (ואני לא רוצה להשתמש במטלאב בשביל זה). למישהו יש רעיון/רמז/הדרכה? תודה מראש.
 

vinney

Well-known member
חייב גבולות

ההגדרה של O מתבססת על הגבול, לכן אתה חייב ללכת על גבולות. אין מה לעשות, תפשפש בסיכומי אינפי הישנים
 
אין שום צורך לגעת בגבולות

בעקרון, בשביל להוכיח ש f=O(g) zz מספיק להוכיח שקיימים n0,c כך שלכל n>n0 מתקיים f(n)<=cg(n) zzz ובפונקציות מסוג זה זה ממש לא סיפור, במיוחד כאשר ע"פ חוקי הלוגריתמים מה שיש לך שם זה n^2 ו n^2lgn
 

vinney

Well-known member
המם...

מה שאמרת בעצם הוא שגבול F/G כשN שואף לאינסוף הוא קבוע.
 

yuvalmadar

New member
תהפוך את שתיהן לפונקציות מעריכיות

עם אותו בסיס. (בסיס הלוג הזה, למשל)
 

Witztum

New member
אני חושב שזה ההפך

כלומר, 4^log(n) = O( log(n)*n^2 ) 4^log(n) = (2^2)^log(n) = 2^(2*log(n)) = 2^log(n^2) = n^2 = O( log(n)*n^2 ) בהנחה שהלוג הוא על בסיס 2. אפשר גם להפעיל לוג על שתי הפוקנציות ואז מקבלים: f = log(4^log(n)) = log(n)*log4 g = log(log(n)*n^2) = log(log(n)) + log(n^2) = log(log(n)) + 2log(n) והחל מאן מסויים f<=g
 

gil levi

New member
תודה לכולם.

הייתי צריך לדעת את התשובה בשביל לפתור נוסחת רקורסיה, שבסופו של דבר נפתרה בדרך הרבה יותר פשוטה מהדרך הראשונה שניסיתי. מחר כשאני אהיה קצת פחות עייף אני אעבור על הפתרון שהציעו כאן.
 
למעלה