Remove ads

در نظریهٔ پیچیدگی محاسباتی، پیچیدگی حالت متوسط یک الگوریتم (برخلاف پیچیدگی بدترین حالت) مقدار متوسط پپیچیدگی محاسباتی یک الگوریتم را ارائه می‌کند.

بیشتر الگوریتم‌ها بر اساس ویژگی‌های ورودی رفتار (پیچیدگی) متفاوتی دارند. به عنوان مثال در الگوریتم‌های مرتب‌سازی میزان پیچیدگی را بر حسب طول آرایه () بررسی می‌کنیم، در حالی که بسیاری از این الگوریتم‌ها به متغیرهای دیگری نیز بستگی دارند؛ مثلاً این که این عدد چه اعدادی باشند یا چه رابطه‌ای با یکدیگری داشته باشند.

پیچیدگی حالت متوسط بیان می‌کند که به‌طور متوسط (بین اشکالی که این مقادیر و این روابط ممکن است داشته باشند)، پیچیدگی الگوریتم مورد بحث چه خواهد بود.[1]

سه انگیزه اصلی برای مطالعه پیچیدگی حالت متوسط وجود دارد.[2] ممکن است برخی مسائل در بدترین حالت عملکرد بسیار ضعیفی داشته باشند اما این حالت‌های بد بسیار نادر باشند؛ بنابراین پیچیدگی حالت متوسط ممکن است معیار دقیق‌تری برای عملکرد یک الگوریتم باشد. پیچیدگی حالت متوسط اجازه می‌دهد تا کارآمدترین الگوریتم در دنیای واقعی را در میان چند الگوریتم (مثل مرتب‌سازی سریع) تشخیص دهیم. همچنین تحلیل پیچیدگی متوسط ابزارهایی را فراهم می‌کند که برای ایجاد نسخه‌های سخت مسائل استفاده می‌شوند و می‌توانند در زمینه‌هایی مانند رمزنگاری و تصادفی سازی مورد استفاده قرار گیرند.

Remove ads

تعاریف

تعریفی مشابه تعریف پیچیدگی بدترین حالت به این صورت است:

در یک مدل محاسباتی با فرض الفبای باینری، تمام ورودی‌های به طول ممکن را با نمایش می‌دهیم. فرض کنید برای الگوریتم تابع پیچیدگی الگوریتم را در حالات مختلف بدهد؛ مثلاً یعنی اگر و ۱۰ ورودی به ترتیب به الگوریتم داده شود، در آن صورت با پیچیدگی اجرا می‌شود.

حالت متوسط پیچیدگی محاسباتی را به این صورت تعریف می‌کنیم: میانگین این پیچیدگی‌ها میان تمام حالات مختلف. به عبارتی دیگر در تحلیل احتمالاتی، با فرض این که احتمال پیشامد هر ورودی ممکن (متغیر تصادفی) از یکسان باشد، امید ریاضی پیچیدگی را می‌نامیم.[1]


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

Remove ads

توصیف

پیچیدگی را با نمادهای مجانبی توصیف می‌کنیم؛ مثلاً در مرتب‌سازی سریع، پیچیدگی بدترین حالت است در حالی که در حالت متوسط است.

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