ریاضی را حرف بزن · دانشگاه

نماد O بزرگ: کار با چه سرعتی زیاد می‌شود؟

نماد O بزرگ رشد دو کمیت را وقتی n بزرگ می‌شود، بدون توجه به ضریب‌های ثابت، مقایسه می‌کند. دانشمندان علوم رایانه با آن می‌گویند یک روش بی‌نهایت کندتر از روش دیگر است.

پیش‌نویس: نوشتهٔ یک دستیار هوش مصنوعی؛ هنوز معلمی آن را بررسی نکرده است.

الفبا

هر نماد را همان‌طور که زیرش نوشته شده بلند بخوان.

  • بخوان: f از n، O بزرگ g از n استیعنی: f حداکثر به اندازهٔ g رشد می‌کند، تا یک ضریب ثابت، وقتی n بزرگ است.
  • بخوان: f از n، تتای بزرگ g از n استیعنی: f و g با یک آهنگ رشد می‌کنند: f بین دو مضرب ثابت از g می‌ماند.
  • بخوان: f از n، اُمگای بزرگ g از n استیعنی: f دست‌کم به اندازهٔ g رشد می‌کند، تا یک ضریب ثابت.
  • بخوان: f از n، o کوچک g از n استیعنی: f در برابر g ناچیز می‌شود: نسبت f به g به صفر میل می‌کند.
  • بخوان: f از n، هم‌ارز مجانبی g از n استیعنی: f و g برای n بزرگ تقریباً برابرند: نسبت f به g به یک میل می‌کند.
  • بخوان: لگاریتم n در پایهٔ دو، و n ضرب در لگاریتم n در پایهٔ دویعنی: تعداد دفعاتی که می‌شود n را نصف کرد، و همین تعداد ضرب در n.
  • بخوان: دو به توان n، و n فاکتوریلیعنی: دو نوع رشد سریع: دو برابر شدن در هر گام، و ضرب در همهٔ عددها تا n.
  • بخوان: T از n برابر است با دو برابر T از n بر دو، به‌علاوهٔ nیعنی: یک رابطهٔ بازگشتی: هزینه برای اندازهٔ n دو کار نیم‌اندازه است، به‌علاوهٔ n گام اضافه.

داستان: دو راه برای پیدا کردن یک نام

زیرنویس:

روی هر سطر بزن تا کلمه‌هایش را ببینی.

  1. راه اول: نام‌ها را یکی‌یکی نگاه کن. در بدترین حالت n بار نگاه؛ برای یک میلیون نام، یک میلیون بار.
  2. راه دوم، روی فهرست مرتب: وسط را ببین، نیمهٔ نادرست را دور بینداز، دوباره. حدود log₂ n بار نگاه.
  3. چون یک میلیون بین ۲ به توان ۱۹ و ۲ به توان ۲۰ است، نصف کردن دقیقاً بعد از ۲۰ بار نگاه تمام می‌شود.
  4. یک روش مثل n رشد می‌کند، دیگری مثل log n؛ ضریب ثابت اهمیتی ندارد.
  5. جست‌وجوی دودویی، تا یک ضریب ثابت، از جست‌وجوی خطی بیشتر نیست، و جست‌وجوی خطی دست‌کم به اندازهٔ دودویی است.
  6. بیشتر از این: نسبت هزینهٔ سریع به هزینهٔ کند به صفر میل می‌کند.
  7. وقتی n دست‌کم ۵ باشد، مرتبه‌های رشد بالا می‌روند: n، n log n، n به توان دو، ۲ به توان n، n فاکتوریل.
  8. امتحان کردن همهٔ ترتیب‌های فقط ۲۰ نام یعنی حدود ۲٫۴ ضرب در ۱۰ به توان ۱۸ ترتیب: نومیدکننده.
  9. مرتب‌سازی با تقسیم: دو نیمه را مرتب کن، بعد در n گام ادغامشان کن.
  10. این رابطهٔ بازگشتی به هزینه‌ای از مرتبهٔ n log n حل می‌شود، میان خطی و درجه دو.

این داستان با کلمه‌ها ۸۶۸ حرف است؛ با نمادها ۱۸۷.

بخوانش

چه می‌گوید؟

بنویسش

کدام نمادنویسی همین را می‌گوید؟

f دست‌کم به اندازهٔ g رشد می‌کند، تا یک ضریب ثابت.

برای n بزرگ، f و g تقریباً برابرند: نسبتشان به یک میل می‌کند.

جست‌وجوی دودویی در فهرستی با n عضو، حدود لگاریتم n در پایهٔ دو بار نگاه لازم دارد.

n log n حداکثر به اندازهٔ n به توان دو رشد می‌کند، تا یک ضریب ثابت.

هزینه‌های دو روش هم‌مرتبه‌اند.

جست‌وجوی دودویی: هزینه برای اندازهٔ n برابر هزینهٔ نیم‌اندازه است، به‌علاوهٔ یک گام.

نصف کردن یک میلیون تا رسیدن به یک، حدود بیست گام می‌خواهد.

امتحان کردن همهٔ ترتیب‌های n چیز، هزینه‌ای از مرتبهٔ n فاکتوریل دارد.

log n در برابر n ناچیز است.

هر بار که n یکی بیشتر شود هزینه دو برابر می‌شود: رشد نمایی.

برای n بزرگ، تعداد گام‌ها تقریباً دقیقاً n به توان دو بر دو است.

هر روشی برای این کار دست‌کم از مرتبهٔ n log n گام لازم دارد.

بسازش

کاشی‌ها را به ترتیب بزن. یکی از کاشی‌ها اضافه است.

هزینهٔ T از n هم‌مرتبه با n log n است.

هزینه برای اندازهٔ n دو برابرِ هزینهٔ نیم‌اندازه است، به‌علاوهٔ n.

هزینه برای اندازهٔ n برابر هزینهٔ اندازهٔ n منهای یک است، به‌علاوهٔ n گام دیگر.

n در برابر n به توان دو ناچیز است.

نسبت f به g به یک میل می‌کند: f و g هم‌ارز مجانبی‌اند.

بیست فاکتوریل حدود ۲٫۴ ضرب در ۱۰ به توان ۱۸ است.

چالش‌ها

معماهای خلاقانه‌ای که همهٔ نمادهای این فصل را به کار می‌برند. عجله نکن؛ ساعتی در کار نیست.

1 نردبان رشد

شش آهنگ رشد، هر کدام در برابر همهٔ دیگران. هر جمله دربارهٔ آن‌ها را داوری کن.

✓✓✓✓✓✓
✓✓✓✓✓
✓✓✓✓
✓✓✓
✓✓
✓

تیک یعنی تابع سطر، O بزرگِ تابع ستون است.

2 پنج خویشاوند

پنج مقایسه از دو تابع رشدکننده. هر کدام را به معنایش وصل کن.

روی یک سطر بزن، بعد روی معنایش.

3 هزینهٔ تقسیم

مرتب‌سازی با تقسیم این هزینه را دارد: دو مرتب‌سازی با نصف اندازه، به‌علاوهٔ n گام برای ادغام. یکی از کاشی‌ها غلط است. پیدایش کن و درستش کن.

روی کاشیِ غلط بزن.

4 کوچک‌تر، واقعاً کوچک‌تر

این باید بگوید n در برابر n log n ناچیز است. یکی از کاشی‌ها غلط است. پیدایش کن و درستش کن.

روی کاشیِ غلط بزن.

5 نگاه‌ها در یک میلیون

جست‌وجوی دودویی در فهرست مرتب یک میلیون نام حداکثر به این تعداد نگاه نیاز دارد. این عدد چیست؟

6 بازش کن

اگر T از ۱ صفر باشد، T از ۸ چقدر است؟

7 دو برابر شدن از هزارها جلو می‌زند

در هر گام دو برابر می‌شویم: کوچک‌ترین n که ۲ به توان n از هزار بیشتر شود چیست؟

8 بگو چه کسی برنده است

T۱ هزینهٔ راه کند و T۲ هزینهٔ راه تند است. بنویس که هزینهٔ راه تند در برابر هزینهٔ راه کند ناچیز است.

9 چه چیزی در یک ثانیه تمام می‌شود؟

یک رایانهٔ تند حدود یک میلیارد گام در ثانیه برمی‌دارد. چهار هزینه (ستون‌ها) در چهار اندازهٔ ورودی (سطرها). n روی چهار اندازه می‌گردد. هر جمله را در این جدول داوری کن.

✓✓✓✓
✓✓✓
✓✓
✓

تیک یعنی آن هزینه در آن n حداکثر یک میلیارد گام است: در حدود یک ثانیه تمام می‌شود.

10 تقریباً برابر

شش تابع، هر کدام در برابر همهٔ دیگران. f و g روی این شش تابع می‌گردند. هر جمله دربارهٔ آن‌ها را داوری کن.

✓✓
✓✓
✓
✓✓✓
✓✓✓
✓✓✓

تیک یعنی تابع سطر هم‌ارز مجانبی تابع ستون است: نسبتشان به یک میل می‌کند.

11 پنج رابطهٔ بازگشتی

پنج راه که هزینه می‌تواند به حالت‌های کوچک‌تر وابسته باشد. هر کدام را به مرتبه‌ای که به آن حل می‌شود وصل کن.

روی یک سطر بزن، بعد روی معنایش.

12 دو برابر شدن از فاکتوریل می‌بازد

این باید بگوید ۲ به توان n در برابر n فاکتوریل ناچیز است. یکی از کاشی‌ها غلط است. پیدایش کن و درستش کن.

روی کاشیِ غلط بزن.

13 نصف کردن یک میلیون

این باید بگوید یک میلیون را چند بار می‌شود نصف کرد تا یک چیز بماند: حدود بیست. یکی از کاشی‌ها غلط است. پیدایش کن و درستش کن.

روی کاشیِ غلط بزن.

14 نگاه‌ها در هزار

جست‌وجوی دودویی: یک نگاه، بعد همان کار روی نصف فهرست؛ یک چیز تنها یک نگاه می‌خواهد. برای ۱۰۲۴ چیز چند نگاه؟

15 سه ادعا، یکی درست

کدام‌یک از سه جمله دربارهٔ این f درست است؟

16 مقایسه با همهٔ قبلی‌ها

جا دادن هر کارت تازه میان کارت‌های مرتب‌شده تا ۱ + ۲ + … + n مقایسه می‌خواهد. این مجموع از چه مرتبه‌ای رشد می‌کند؟

17 هر جفت

وارسی هر جفت از n چیز برای یافتن تداخل، حدود n به توان دو بر دو وارسی می‌خواهد: از مرتبهٔ n به توان دو. آن را با نماد بنویس، بعد مقایسه کن.

18 هرگز سخت‌تر نمی‌شود

یافتن یک واژه در جدول درهم‌سازی، هر چند واژه ذخیره شده باشد، حدوداً همان هزینه را دارد: هزینه زیر یک کران ثابت می‌ماند. آن را با نماد بنویس، بعد مقایسه کن.

19 بگو O بزرگ یعنی چه

تعریف: f، O بزرگِ g است وقتی که پس از یک نقطهٔ شروع، f هرگز از یک مضرب ثابت g بیشتر نشود. آن را با سورها بنویس، بعد مقایسه کن.

داستان خودت را بگو

دو راه برای یک کار (پیدا کردن یک کارت در یک دسته، مرتب کردن یک قفسه) را با هزینه‌شان بر حسب n توصیف کن و بگو کدام o کوچک دیگری است.

فقط روی همین دستگاه نگه داشته می‌شود.