الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التباديل والتوافيق وتطبيقاتها في علوم الحاسب

بدأه KeepForward في 20 نوفمبر 2013 · 0 رد · 4,207 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1

Combinations and Permutations in computer science

 

بسم الله الرحمن الرحيم

اعتقد أن أغلبنا قد درس عن التباديل والتوافيق في الرياضيات ولكن لا يعلم ما هي استخداماتها في البرمجة ولكي اعبر لك عن اهميتها سأطرح الأسئلة التالية :
كم رقم ثنائي بطول A خانات يمكننا تكوينه إذا كان يحتوي على B واحدات بين خاناته
كم رقم يمكننا تكوينه إذا كان بامكاننا فقط استخدام A عدد والتكرار غير مسموح
ما هو عدد التباديل التي يمكن بها إعادة تشكيل الكلمة "CALCULUS" .
ما هو عدد الطرق التي يمكن بها توزيع A رسالة على B مراسلين بحيث كل مراسل يأخذ رسالة على الأقل ؟
ما هو عدد حلول هذه المعادلة : X1 + X2 + X3 + X4 = N بحيث (X >= 0) .

 

 

 

 

حسنا لنبدأ .

قاعدة الجمع :
بفرض كان لدينا N عنصر (m1 , m2 , ...... , mn ) وكل عنصر من نوع مختلف ، فإن عدد الطرق التي يمكننا بها اختيار أي عنصر هو W
W = m1 + m2 + ..... + m3

قاعدة الضرب :
بفرض كان لدينا N عنصر (m1 , m2 , ...... , mn ) وكل عنصر من نوع مختلف ، فإن عدد الطرق التي يمكننا بها اختيار أي عنصر من كل نوع هو W
W = m1 * m2 * .... * mn

نعلم جميعا أن عدد التبديلات لـ n عنصر خلال m حدث مع السماح بتكرار العنصر هو nm

وعدد التبديلات لـ n عنصر خلال m حدث مع عدم السماح بتكرار العنصر هو n * (n-1) * (n-2) * .... * (n-m+1

 

 

 

 

التباديل :

 

( سحب r عنصر على التوالي من n إذا كان الترتيب مهم )

مثلا إن عدد التبديلات في حال تم السحب مرتين (حدثين) من العناصر (x , y , z) إذا كان الترتيب مهما :
x y  ,  x z  ,  y x  ,  y z  ,  z x  ,  zy

 

(الترتيب مهما : أي يمكننا كتابة x y  و y x  أما إذا كان الترتيب غير مهم فتكفي واحدة منهما)

أي أن عدد التبديلات 3 * 2 = 6 أي n * (n-1

 

  • فعدد التباديل لـ n عنصر خلال k حدث هو 

    permutation%20formula.gif
     
  • عدد التبديلات عندما نختار k عنصر من n عندما يجب عدم اختيار s عنصر هو

ru1kdv.jpg

  • عدد التبديلات عند اختيار k عنصر إذا كان يجب اختيار s عنصر هو

ilx4x0.jpg

 

التوافيق :

 

( سحب r عنصر معا من n إذا كان الترتيب غير مهم )

 

مثلا إن عدد التوافيق في حال تم السحب مرتين (حدثين) من العناصر (x , y , z) إذا كان الترتيب غير مهم :
x y  ,  x z  ,  y z

 

الناتج هو (1 * 2 ) / ( 2 * 3 )
 

 

  • عدد التوافيق في حالة سحب k عنصر من n عنصر هو

Figure-2.-Combinations-formula.jpg

  • عدد طرق توزيع n كرة في r صندوق بحيث كل صندوق يحوي على كرة على الأقل

rw8dg7.jpg

  • عدد التوافيق في حال التكرار مسموح

330zjgn.jpg

  • عدد حول المعادلة X1 + X2 + .... + Xr = N في حال (X > 0 ) هو

rw8dg7.jpg

 

 

وهو ما يشبه حالة توزيع n  كرة في r صندوق بحيث كل صندوق يحوي كرة على الأقل
أما في حال ( X >= 0 ) فعدد الحلول هو

5wjs7m.jpg

 

 

  • عدد التبديلات عند اختيار r1 عنصر من النوع A و r2 عنصر من النوع B وووو ..... و rn عنصر من النوع K هو
     

2i23jvk.jpg

 

 

 

 

 

 

 

 

أصبح الأن بإمكاننا حل الأسئلة السابقة :

عدد التشكيلات لرقم ثنائي بطول A يحوي على B وحدات بين خاناته هو CA,B

عدد الأرقام التي يمكن تشكيلها من A عدد بغير تكرار هو !A
 

عدد التباديل التي يمكن تشكيلها من كلمة CALCULUS هي 

2ldityf.jpg

 

عدد الطرق التي يمكن بها توزيع A رسالة على B مراسلين بحيث كل مراسل يأخذ رسالة على الأقل هو عدد حول المعادلة X1 + X2 + .... + XB = A في حال (X > 0 )

rw8dg7.jpg

 

 

 

 

 

 

 

ويعد إيجاد عدد الطرق في الشبكات من أهم التطبيقات لها .
وإليك المثال التالي :

5l9slx.jpg

 

أ . ما هي عدد الطرق الممكنة في الشبكة للوصول إلى F من S ؟
ب . ما هي عدد الطرق الممكنة للوصول إلى F من S إذا علمت أنه يجب المرور من M ؟
جـ . ما هي عدد الطرق الممكنة للوصول إلى F من S إذا علمت أنه يجب عدم المرور من M ؟

 ~ أ . الطريق من S إلى  F  يمثل سلسلة من الخطوات يمنة R وإلى الأسفل D ، وهي 7 خطوات بالتحديد ( 4D و 3R ) ، فمثلا السلسلة "RDDRDRD" تعتبر من أحد الحلول .
فعدد الطرق الممكنة هي عدد السلاسل التي طولها 7 وتحوي 3R (و 4D بالطبع )
W = C(7 , 3) =35
W = 7! / ( 3! * 4!) = 35

 

~ ب . نقسم الطريق إلى طريقين من S إلى M و من M إلى F
C(3 , 1) * C(4 , 2) = 18

~ جـ . الحل إما : 17 = 18 - 35
أو يمكننا القول أن عدم المرور ب M يستوجب المروةر بالنقاط الأخرى ( u,v,w )
C(3,0)* C(4,3)   +  C(3,2)*C(4,1)  +  C(3,3)*C(4,0) = 17


شكرا لمتابعتكم .. والسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة KeepForward في 20 نوفمبر 2013 في 18:38

2

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…