تمثيل O الكبرى

400px|تصغير|مثال على رمز O الكبير: ((f(x) ∈ O(g(x بما أنه يوجد c&nbsp;>&nbsp;0 (كما في المثال، c&nbsp;=&nbsp;1) وx<sub>0</sub> (كما في المثال، x<sub>0</sub>&nbsp;=&nbsp;5) حيث (f(x)&nbsp;<&nbsp;cg(x عندما يكون x&nbsp;>&nbsp;x<sub>0</sub>.

في الرياضيات، يستعمل **تمثيل O الكبرى** أو **رمز O الكبرى**  من أجل وصف تقارب وتباعد الدوال عن بعضها البعض حينما يقترب المدخل إلى قيمة معينة أو حينما يؤول إلى ما لا نهاية.
بشكل عام توجد عدة رموز كل منها له مفهومه الخاص.
نشط استخدام هذا الرمز في تحليل سرعة الخوارزميات وذلك لأن حساب عدد العمليات التي تنفذها خوارزمية ما قد يكون مستحيلاً في بعض الأحيان مع وجود كثير من الأمور التي تؤثر على عدد العمليات. لذا فإن إعطاء تقريب لعدد العمليات التي تقوم بها الخوارزمية أكثر راحةً لنا والرمز O الكبير يتيح هذا الامر بسهولة.

## تعريف
* رمز O كبير: نقول أَنَّ  g(n) \in O(f(n))  أو  g(n) = O(f(n))  إذا كان هنالك ثابت c بحيث انه يوجد  n_0 \in N  ولكل  n>n_0  يحدث التالي: g(n)\le c \cdot f(n) أي انه إذا تخيلنا رسم الدالتين f و- g حينها نرى ان الدالة f اعلى من الدالة g ابتداء من مكان معين.

على غرار رمز O الكبير يمكن تعريف الرموز التالية:

* رمز Ω : نقول أَنَّ  g(n) \in  \Omega(f(n))  أو  g(n) = \Omega(f(n))  إذا كان هنالك ثابت c بحيث انه يوجد  n_0 \in N  ولكل  n>n_0  يحدث التالي: g(n)\ge c \cdot f(n) أي انه إذا تخيلنا رسم الدالتين f و- g حينها نرى ان الدالة f تحت الدالة g ابتداء من مكان معين.
* رمز Θ : نقول أَنَّ  g(n) \in  \Theta(f(n))  أو  g(n) = \Theta(f(n))  إذا كان هنالك ثابت c_1 ,c_2  بحيث انه يوجد  n_0 \in N  ولكل  n>n_0  يحدث التالي: c_1 \cdot f(n) \le g(n)\le c_2\cdot f(n) أي انه  g(n) = \Theta(f(n))  إذا  g(n) = O(f(n))  وأيضا  g(n) = \Omega(f(n))  أي انَّ الرسم البياني للدالة g محصور بين  c_1 \cdot f  وبين  c_2 \cdot f .

## تحليل الخوارزميات
عند تحليل خوارزمية ما، نريد حساب عدد الحسابات أو سرعة الخوارزمية أو تعقيدها الحسابي، ونستطيع كتابة التعقيد الحسابي اما عن طريق معادلة عودية واما بطريقة مباشرة، في كلا الحالتين نرمز للتعقيد ب-  T(n)  عندما n هو طول المُدخل للخوارزمية، مثال لخوارزمية هي خوارزمية البحث الخطي من المفهوم ضمنا ان عدد حساباتها هو:  T(n)=O(n)  وذلك لانها تقارن كل عدد في القائمة مرة واحدة مع العدد المُدخل وبما ان طول القائمة هو فرضا n عندها عدد حسابات الخوارزمية هو (قيمة المقارنة الواحدة) \cdot n  وفيمة المقارنة الواحدة تعتمد على نموذج الحساب (computational model) لذا قد يكون من الصعب اعطاء تقريب لهذه القيمة لذا فانه من المفيد ان نفترض ان قيمة كل مقارنة هو **عدد ثابت** من الحسابات أي انه: يوجد ثابت c بحيث ان كل مقارنة عدد حساباتها اقل من c ، لذا فاننا نحصل على  T(n) \le c \cdot n  وحسب تعريف رمز O الكبير نحصل على انه  T(n)=O(n)  .

## خواص رمز O كبير والرموز الأخرى

485x485px|تصغير|يسار|الصورة توضح انه باختيار الثابت الصحيح في رمز O الكبير يمكن اهمال احادية الحدود التي أُسها صغير وكذلك يمكن اهمال المعاملات المضروبة باحادية الحدود

### اهمال الثوابت والدوال ذات الدرجة الصغيرة
بما ان رمز O الكبير يفترض وجود ثابت c بحيث انه يُحقق امر مُعين (حسب التعريف) لذا فانه يمكن اهمال الثوابت، مثال  T(n)=2 \cdot n^5 +n^4+n^3 يمكن اهمال العدد 2 المضروب ب-  n^5  وكذلك يمكن اهمال  n^4+n^3  وذلك لانه إذا اخذنا ثابت كبير كفاية يمكن حينها ان نهمل الثوابت واحادية الحدود التي اسها صغير وكذلك المعاملات (انظر إلى الصورة) لذا فانه، T(n)=O(n^5)  وبشكل عام إذا كان تعقيد الخوارزمية متعدد الحدود فاذا كان الاس الأكبر هو k حينها:  T(n)=O(n^k) .

### خاصية التعدي

 f(n)=\Theta(g(n))  وكذلك  g(n)=\Theta(h(n))  حينئذ يتحقق  f(n)=\Theta(h(n))

 f(n)=O(g(n))  وكذلك  g(n)=O(h(n))  حينئذ يتحقق  f(n)=O(h(n))

 f(n)=\Omega(g(n))  وكذلك  g(n)=\Omega(h(n))  حينئذ يتحقق  f(n)=\Omega(h(n))

### خاصية الانعكاسية

 f(n)=\Theta(f(n)) 

 f(n)=O(g(n)) 

 f(n)=\Omega(g(n)) 

### خاصية التماثل

 f(n)=\Theta(g(n))  إذا وفقط إذا  g(n)=\Theta(f(n)) 

## جدول دوال

## انظر أيضًا
* نظرية التعقيد الحسابي

## مراجع

تصنيف:تحليل الخوارزميات
تصنيف:تحليل حقيقي
تصنيف:تحليل مقارب
تصنيف:تدوين رياضي
تصنيف:مصطلحات الرياضيات
تصنيف:نظرية الأعداد التحليلية