Remove ads

نماد O بزرگ (به انگلیسی: Big O notation) یک نماد ریاضیاتی ست که برای توصیف رفتار حدی یک تابع (وقتی آرگومان‌های آن به بی‌نهایت میل کند) به کار می‌رود.

این نماد (مخفف Order of growth (به فارسی: مرتبهٔ رشد)) اولین بار برای تحلیل سرعت الگوریتم‌های رایانشی ابداع شد و بعدها به حسابان و نظریّهٔ اعداد گسترش یافت.

در علوم رایانه و نظریهٔ پیچیدگی محاسباتی، این نماد برای تحلیل الگوریتم‌ها و دسته‌بندی و مقایسهٔ الگوریتم‌های متفاوتِ موجود برای حل یک مسئلهٔ خاص به کار می‌رود. پیچیدگی محاسباتی نشان‌دهندهٔ رابطهٔ میان «داده‌ها» با «مقدار زمان یا مقدار حافظهٔ مورد نیاز برای پیدا کردن جواب» است و برای توصیف آن از این نماد استفاده می‌شود.[۱]

در نظریهٔ تحلیلی اعداد، این نماد برای توصیف میزان دقت یک تقریب به کار می‌رود. یکی از مثال‌های معروف این موضوع در قضیهٔ اعداد اول است: اگر تعداد اعداد اول کمتر از باشد، آنگاه .

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

به دلیل توصیف رفتار حدی، نماد به ریاضی‌دان‌ها اجازه می‌دهد که تابع را ساده کنند تا بر روی نرخ رشد آن متمرکز شود؛ بنابراین توابع مختلف با نرخ رشد یکسان می‌توانند دارای یک نماد مشابه باشند و در نتیجه در یک دسته قرار بگیرند.

نماد معروفترین عضو از مجموعه‌ای از نمادهای دیگری همچون (کوچک) و ... است که ابداعات پاول باخمن (به آلمانی: Paul Bachmann)[۲] و ادموند لانداو (به آلمانی: Edmund Landau‎)[۳] بوده اند؛ به همین دلیل به این‌ها نمادهای باخمن-لانداو و یا نمادهای مجانبی (به انگلیسی: asymptotic notations) گفته می‌شود.

Remove ads

تعاریف دقیق

فرض کنید که تابعی باشد که بخواهیم آن را توصیف کنیم و نیز یک تابع فرضی ست و همچنین و توابع مثبت هستند.

هر نماد دو تعریف معمول و تعریف حدی دارد (که طبق قضیه‌هایی معادل یکدیگر هستند و به یک مفهوم اشاره دارند).

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

O بزرگ

[۱]

به این معنی که از یک مقدار خاصی () بیشتر، تابع از ضریبی از تابع کمتر یا مساوی است.

به عنوان مثال، و می‌خوانیم « از اردر است» یا « از اُو است» یا « کران بالای حدی است».[۴]

به طور رایج، به جای علامت از استفاده می‌شود:

اما باید دقت کنید که این رابطه تساوی نیست. به عنوان مثال و ولی

همچنین ولی

می‌توان را به صورت مجموعهٔ تمام توابعی که از اردر هستند تصور کرد.

همیشه سعی می‌شود که از ساده‌ترین ممکن استفاده شود. به عنوان مثال و هر دو درست اند ولی اولی ترجیح داده می‌شود.[۱]

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

تعریف حدی: [۵]

o کوچک

[۱]

به این معنی که از یک مقدار خاصی () بیشتر، تابع از تابع و تمام مضارب آن اکیداً کمتر است.

به عنوان مثال، و می‌خوانیم «نرخ رشد از کمتر است» یا « به صورت حدی از کوچکتر است».

ولی .

تعریف حدّی:

امگا بزرگ

[۱]

به این معنی که از یک مقدار خاصی () بیشتر، تابع از ضریبی از تابع بیشتر یا مساوی است.

به عنوان مثال، و می‌خوانیم « از امگا است» یا « کران بالای حدی است».

تعریف حدی: [۵]

امگا کوچک

[۱]

به این معنی که از یک مقدار خاصی () بیشتر، تابع از تابع و تمام مضارب آن اکیداً بیشتر است.

به عنوان مثال، و می‌خوانیم «نرخ رشد از بیشتر است» یا « به صورت حدی از بزرگتر است».

ولی .

تعریف حدی:

خاصیت تقارنی ترانهاده با O

تتا

[۱]

به این معنی که از یک مقدار خاصی () بیشتر، تابع در بین ضریب‌هایی از ساندویچ می‌شود.

به عنوان مثال، و می‌خوانیم « از تتا است» یا «نرخ رشد و یکسان است» یا « و به صورت مجانبی برابر اند».

تعریف حدی: [۱]

با وجود این تعریف در علوم کامپیوتری، تعریف این نماد در ریاضیات کمی متفاوت است:

این نماد در تحلیل مجانبی در ریاضیات پرکاربرد است.[۶]

قضیه کنوت

[۱]

به این معنی که هم از اردر باشد و هم از اردر باشد. این قضیه ابداع دونالد کنوت بود و مزیت آن سادگی و قابل‌فهم کردن تعریف است.

به عبارت دیگر اگر نرخ رشد از هم بیشتر-مساوی باشد و هم کمتر-مساوی، پس نرخ رشدشان مساوی است.

کنوت با این تعریف، نماد O بزرگ را به علوم کامپیوتر معرفی و آن را محبوب کرد.[۵]

Remove ads

یک مثال

چهار تابع زیر را در نظر بگیرید:

رفتار این چهار تابع را طبق نمودارشان بررسی می‌کنیم. در ابتدا به نظر می‌رسد تابع با توجه به ضریب بزرگتری که دارد مقدارهای بزرگتری نیز داشته باشد که برای هم همین گونه است.

Thumb
نمودار این ۴ تابع وقتی

اما با بزرگ شدن مقدار رفتار تابع‌ها نیز نسبت به هم متفاوت می‌شود. شکل زیر رفتار توابع را وقتی است نشان می‌دهد. ملاحظه می‌شود که تابع به‌تدریج مقدارش از سایر توابع بیشتر می‌شود.

Thumb

با بزرگتر شدن وضعیت به این شکل در می‌آید: به‌تدریج تابع از بقیه توابع بیش‌تر می‌شود.

Thumb

و برای مقدار بزرگ داریم:

تابع کاملاً از بقیه توابع بیشتر می‌شود.

همان طور که دیده شد، چون این تابع از سایر توابع مرتبهٔ بالاتری داشت در نهایت مقدارش از همهٔ آنها بیشتر شد.

طبق تعاریف بالا می‌توان رابطهٔ این توابع را برحسب نمادگذاری‌های گفته شده بیان کنیم:

یا و یا

زیرا تابع همواره حدوداً دوبرابر تابع است و مرتبهٔ یکسانی دارند.

یا

Remove ads

تاریخچه

علامت O بزرگ اولین بار توسط متخصص اعداد Paul Bachmann در سال ۱۸۹۴، در جلد دوم کتاب Analytische Zahlentheorie معرفی شد (که جلد اولش در سال ۱۸۹۲ چاپ شده و شامل این علامت نبود). این علامت در کارهای نظریه اعداد توسط ادموند لانداو متداول شد و به همین خاطر گاهی از آن به نام Landau symbol یاد می‌شود.

این علامت در علوم کامپیوتر توسط دانلد کنوت (که علامت‌های مربوطه امگا و تتا را نیز برای اولین بار معرفی کرد) مشهور شد. او هم چنین متذکر شد که علامت امگا توسط Hardy و Littlewood تحت معنی اندکی متفاوت قبلاً تعریف شده بوده‌است.

Remove ads

جستارهای وابسته

منابع

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads