التحليل التقاربي
يصف التحليل التقاربي كيفية نمو وقت تشغيل الخوارزمية أو ذاكرتها مع تزايد حجم المدخلات، باستخدام ترميزات مثل Big-O وBig-Omega وBig-Theta لالتقاط معدل النمو مع تجاهل الثوابت والمصطلحات ذات الرتبة الأدنى.
Definition
التحليل التقاربي هو توصيف معدل نمو دالة عندما يميل وسيطها إلى اللانهاية؛ وفي تحليل الخوارزميات، يعبر عن كيفية تدرج استخدام الوقت أو المساحة مع حجم المدخلات، باستخدام ترميز الرتبة الذي يلغي العوامل الثابتة والمصطلحات ذات الرتبة الأدنى.
Scope
يغطي هذا الموضوع الترميزات التقاربية المستخدمة لتوصيف استخدام الموارد — Big-O (الحد الأعلى)، وBig-Omega (الحد الأدنى)، وBig-Theta (الحد المحكم)، بالإضافة إلى Little-o وLittle-omega الصارمة — إلى جانب فئات النمو القياسية (ثابت، لوغاريتمي، خطي، خطي-لوغاريتمي، متعدد الحدود، أسي) وقواعد التعامل مع هذه الحدود. ويتناول سبب تجريد العوامل الثابتة والمصطلحات ذات الرتبة الأدنى، وكيف تتنبأ المقارنات التقاربية بسلوك التوسع. ويستثني آليات حل التكرار المستخدمة للحصول على هذه الحدود، والتي تُغطى بشكل منفصل.
Core questions
- ماذا يؤكد كل من Big-O وBig-Omega وBig-Theta بشأن نمو الدالة؟
- لماذا يتم تجاهل العوامل الثابتة والمصطلحات ذات الرتبة الأدنى في المقارنة التقاربية؟
- كيف يتم ترتيب فئات النمو الشائعة من الأبطأ إلى الأسرع نموًا؟
- كيف تتنبأ الحدود التقاربية بكيفية تدرج الخوارزمية مع المدخلات الكبيرة؟
- متى يمكن أن تكون الخوارزميات الأبطأ تقاربيًا مفضلة عمليًا؟
Key concepts
- ترميز Big-O
- ترميز Big-Omega
- ترميز Big-Theta
- Little-o وLittle-omega
- فئات النمو
- العوامل الثابتة
- المصطلحات ذات الرتبة الأدنى
- قابلية التوسع
Key theories
- ترميز الرتبة
- يحدد Big-O دالة من الأعلى ضمن عامل ثابت، ويحدد Big-Omega دالة من الأسفل، ويحدد Big-Theta دالة من كلا الاتجاهين؛ هذه التعريفات، التي وحدها كانوث لعلوم الحاسوب، توفر لغة دقيقة لمعدلات النمو.
- هيمنة معدلات النمو
- مع تزايد حجم المدخلات، تهيمن المصطلحات ذات الرتبة الأعلى، لذا فإن الفئة التقاربية للخوارزمية (على سبيل المثال، خطي-لوغاريتمي مقابل تربيعي) تحدد في النهاية قابليتها للتوسع بغض النظر عن العوامل الثابتة.
Clinical relevance
الترميز التقاربي هو اللغة المشتركة لمناقشة كفاءة الخوارزميات: فهو يتيح للمهندسين مقارنة الخوارزميات المرشحة، والتنبؤ بما إذا كان النظام سيتوسع ليتحمل أعباء عمل أكبر، وتوصيل ضمانات الأداء في الوثائق والمقابلات وتحليل المكتبات والمعايير.
History
نشأت ترميزات Big-O والترميزات ذات الصلة في نظرية الأعداد التحليلية في القرن التاسع عشر مع باخمان ولانداو (ومن هنا جاءت تسمية 'ترميز لاندو'). قام دونالد كانوث بتكييفها وتوحيدها لتحليل الخوارزميات في الستينيات والسبعينيات، بما في ذلك مذكرة عام 1976 توضح استخدام Big-Omega وBig-Theta في علوم الحاسوب.
Key figures
- Donald Knuth
- Paul Bachmann
- Edmund Landau
Related topics
Seminal works
- knuth1976bigo
- cormen2009
Frequently asked questions
- هل يعني Big-O الأصغر دائمًا خوارزمية أسرع؟
- ليس بالضرورة لحجم مدخلات معين. يصف Big-O النمو عندما يميل حجم المدخلات إلى اللانهاية ويخفي العوامل الثابتة، لذا فإن الخوارزمية ذات الفئة التقاربية الأسوأ يمكن أن تكون أسرع على المدخلات الصغيرة. إنه الدليل الأفضل للمدخلات الكبيرة وقابلية التوسع.
- ما الفرق بين Big-O وBig-Theta؟
- يعطي Big-O حدًا أعلى فقط للنمو، لذا فهو ينص على أن الخوارزمية ليست أسوأ من معدل معين. بينما يعطي Big-Theta حدًا محكمًا، مؤكدًا أن النمو يتطابق مع هذا المعدل من الأعلى والأسفل. القول بأن الخوارزمية هي Theta(n log n) هو بيان أقوى وأكثر دقة من O(n log n).