مبرهنة التدفق الأقصى والقطع الأدنى

في علوم الكمبيوتر ونظرية التحسين، تنص **نظرية الحد الأقصى للتدفق والحد الأدنى للقطع** على أنه في شبكة التدفق، فإن الحد الأقصى لكمية التدفق التي تمر من المصدر إلى الحوض يساوي الوزن الإجمالي للحواف في الحد الأدنى للقطع، أي أصغر وزن إجمالي للحواف التي إذا أُزيلت ستفصل المصدر عن الحوض.

على سبيل المثال، تخيل وجود شبكة من الأنابيب تحمل المياه من خزان (المصدر) إلى مدينة (الحوض). يتمتع كل أنبوب بسعة تمثل الحد الأقصى لكمية المياه التي يمكن أن تتدفق من خلاله لكل وحدة زمنية. تخبرنا نظرية الحد الأقصى للتدفق والحد الأدنى للقطع أن الحد الأقصى لكمية المياه التي يمكن أن تصل إلى المدينة يقتصر على أصغر سعة إجمالية لأي مجموعة من الأنابيب، والتي إذا قُطعت، فإنها ستعزل الخزان عن المدينة تمامًا. أصغر سعة إجمالية هي الحد الأدنى للقطع. لذا، إذا كان هناك عنق زجاجة في شبكة الأنابيب، يتمثل في قطع صغير، فإن هذا العنق سيحدد الحد الأقصى الإجمالي لتدفق المياه إلى المدينة.

هذه حالة خاصة من نظرية الثنائية للبرامج الخطية ويمكن استخدامها لاستنتاج نظرية مينجر ونظرية كونيج-إيجرفاري.

## التعاريف والبيان
تساوي النظرية بين كميتين: الحد الأقصى للتدفق عبر شبكة، والحد الأدنى لسعة جزء من الشبكة. ولتوضيح هذه النظرية، لا بد من تعريف كل من هذه المفاهيم أولاً.

### شبكة
تتكون **الشبكة** من

* الرسم البياني الموجه المحدود  ، حيث يشير *V* إلى المجموعة المحدودة من الرؤوس و  هي مجموعة الحواف الموجهة؛
* **مصدر**  **ومصرف** ؛
* دالة **السعة**، وهي عبارة عن تعيين c:E\to\R^+ يُشار إليه بـ  أو  لـ  . وهو يمثل أقصى كمية تدفق يمكن أن تمر عبر الحافة.

### التدفقات
**التدفق** عبر الشبكة هو رسم خرائط f:E\to\R^+ يُشار إليه بـ f_{uv} أو f(u, v) ، مع مراعاة القيود التالية:

# **قيد السعة** : لكل حافة (u, v) \in E ، f_{uv} \le c_{uv}.
# **حفظ التدفقات** : لكل رأس v بعيدا s و t (أي المصدر والمصرف، على التوالي)، تنطبق المساواة التالية: \sum\nolimits_{\{ u : (u,v)\in E\}} f_{uv} = \sum\nolimits_{\{w : (v,w)\in E\}} f_{vw}.

يمكن تصور التدفق على أنه تدفق مادي للسائل عبر الشبكة، باتباع اتجاه كل حافة. وينص قيد السعة بعد ذلك على أن الحجم المتدفق عبر كل حافة لكل وحدة زمنية أقل من أو يساوي الحد الأقصى لسعة الحافة، وينص قيد الحفاظ على البيئة على أن الكمية التي تتدفق إلى كل رأس تساوي الكمية المتدفقة من كل رأس، باستثناء رؤوس المصدر والمصرف.

تُحدد **قيمة** التدفق بواسطة

: |f| = \sum\nolimits_{\{v : (s,v)\in E\}} f_{sv}=\sum\nolimits_{\{v : (v,t)\in E\}} f_{vt},

حيث كما هو مذكور أعلاه s هو المصدر و t هو مصدر الشبكة. في تشبيه السوائل، يمثل كمية السائل التي تدخل الشبكة عند المصدر. وبسبب مبدأ الحفاظ على التدفقات، فإن هذا هو نفس مقدار التدفق الذي يغادر الشبكة عند الحوض.**مشكلة التدفق الأقصى.** تعظيم |f|، أي توجيه أكبر قدر ممكن من التدفق من s ل t.

### القطع
يشير النصف الآخر من نظرية الحد الأقصى للتدفق والحد الأدنى للقطع إلى جانب مختلف من الشبكة: مجموعة القطع. **القطع الثابت**  هو تقسيم لـ  بحيث  و . أي أن القطع الثابت *s* - *t* هو تقسيم رؤوس الشبكة إلى قسمين، حيث يكون المصدر في أحد القسمين والمصرف في القسم الآخر. **مجموعة القطع** X_C من القطع  هي مجموعة الحواف التي تربط جزء المصدر من القطع بجزء الحوض:

: X_C := \{ (u, v) \in E \ : \ u \in S, v \in T \} = (S\times T) \cap E.

وبالتالي، إذا أُزيلت جميع الحواف في مجموعة القطع ، فلن يكون هناك تدفق إيجابي ممكن، لأنه لا يوجد مسار في الرسم البياني الناتج من المصدر إلى الحوض.

**سعة** *القطع* هي مجموع سعات الحواف في مجموعة القطع الخاصة بها،

: c(S,T) = \sum\nolimits_{(u,v) \in X_C} c_{uv} = \sum\nolimits_{(i,j) \in E } c_{ij}d_{ij},

حيث d_{ij} = 1 لو i \in S و j \in T ، 0 خلاف ذلك.

عادةً ما يكون هناك العديد من القطع في الرسم البياني، ولكن القطع ذات الأوزان الأصغر غالبًا ما يكون من الصعب العثور عليها.

: **مشكلة القطع الأدنى.** تقليل  ، أي تحديد  و  بحيث تكون سعة القطع st ضئيلة.

### النظرية الرئيسية
في الحالة المذكورة أعلاه، يمكن إثبات أن قيمة أي تدفق عبر شبكة أقل من أو تساوي سعة أي *قطع* ، وأنه علاوة على ذلك يوجد تدفق بقيمة قصوى وقطع بسعة دنيا. تربط النظرية الرئيسية بين الحد الأقصى لقيمة التدفق والحد الأدنى لسعة القطع للشبكة.

: **نظرية الحد الأقصى للتدفق والحد الأدنى للقطع.** القيمة القصوى لتدفق st تساوي الحد الأدنى للسعة على جميع قطع st.

## مثال
يسار|تصغير| الحد الأقصى للتدفق في الشبكة. تُسمي كل حافة بـ ''f/c'' ، حيث ''f'' هو التدفق عبر الحافة و ''c'' هي سعة الحافة. قيمة التدفق هي 5. هناك العديد من القطع ''s'' - ''t'' الدنيا بسعة 5؛ واحدة منها هي ''S'' ={ ''s'', ''p'' } و ''T'' ={ ''o'', ''q'', ''r'', ''t'' }.
يوضح الشكل الموجود على اليمين التدفق في الشبكة. يشير التعليق الرقمي على كل سهم، في النموذج *f* / *c* ، إلى التدفق ( *f* ) وسعة السهم ( *c* ). ويبلغ مجموع التدفقات الصادرة من المصدر خمسة (2+3=5)، كما يبلغ مجموع التدفقات إلى الحوض (2+3=5)، مما يؤكد أن قيمة التدفق هي 5.

يُعطى قطع *s* - *t* واحد بقيمة 5 بواسطة *S* ={ *s*, *p* } و *T* ={ *o*, *q*, *r*, *t* }. سعة الحواف التي تعبر هذا القطع هي 3 و 2، مما يعطي سعة قطع 3 + 2 = 5. (لا يؤخذ السهم من *o* إلى *p* في الاعتبار، لأنه يشير من *T* إلى *S* مرة أخرى)

قيمة التدفق تساوي سعة القطع، مما يدل على أن التدفق هو تدفق أقصى وأن القطع هو قطع أدنى.

لاحظ أن التدفق عبر كل من السهمين اللذين يربطان *S* بـ *T* يكون بكامل طاقته؛ وهذا هو الحال دائمًا: يمثل القطع الأدنى "عنق زجاجة" للنظام.

## صياغة البرنامج الخطي
يمكن صياغة مشكلة التدفق الأقصى ومشكلة القطع الأدنى كبرنامجين خطيين ثنائيين أساسيين.

## مراجع

تصنيف:استمثال توافقي
تصنيف:صفحات بترجمات غير مراجعة