خوارزمية دينيك

خوارزمية دينيتش أو خوارزمية دينيتز هي خوارزمية متعددة الحدود قوية لحساب أقصى تدفق في شبكة تدفق ، وقد ابتكرها عالم الحاسوب الإسرائيلي (السوفيتي سابقًا) يفيم دينيتز عام 1970. [ 1 ] تعمل الخوارزمية فييا(|V|2|هـ|){\displaystyle O(|V|^{2}|E|)}وهي مشابهة لخوارزمية إدموندز-كارب ، التي تعمل فييا(|V||هـ|2){\displaystyle O(|V||E|^{2})}يعتمد هذا الأسلوب على استخدام أقصر المسارات الإضافية. وقد مكّن إدخال مفاهيم الرسم البياني للمستوى وتدفق الحجب خوارزمية دينيك من تحقيق هذا الأداء.

تاريخ

ابتكر دينيتز الخوارزمية في يناير 1969، عندما كان طالب ماجستير في مجموعة جورجي أديلسون-فيلسكي . وبعد بضعة عقود، تذكر قائلاً: [ 2 ]

في محاضرة أديلسون-فيلسكي عن الخوارزميات، اعتاد المحاضر أن يُعطي الطلاب المسألة التي ستُناقش في الجلسة التالية كتمرين. وقد تم ابتكار خوارزمية DA استجابةً لهذا التمرين. في ذلك الوقت، لم يكن المؤلف على دراية بالحقائق الأساسية المتعلقة بخوارزمية فورد-فولكرسون .

⋮ قد يكون للجهل أحيانًا مزاياه. على الأرجح، لم يكن ليتم اختراع تقنية DA آنذاك، لو كانت فكرة إمكانية إزالة تشبع الحواف معروفة للمؤلف.

في عام ١٩٧٠، نشر دينيتز وصفًا للخوارزمية في مجلة "دوكلادي أكاديميي ناوك إس إس إس آر" . وفي عام ١٩٧٤، أبدى شيمون إيفن وطالبه آنذاك في الدكتوراه، ألون إيتاي، في معهد التخنيون بحيفا، فضولًا كبيرًا وانبهارًا بخوارزمية دينيتز، فضلًا عن فكرة ألكسندر ف. كارزانوف المتعلقة بتدفق الحظر. إلا أنهما واجها صعوبة في فهم هاتين الورقتين البحثيتين، إذ اقتصرت كل منهما على أربع صفحات فقط التزامًا بقيود مجلة " دوكلادي أكاديميي ناوك إس إس إس آر" . لم يستسلم إيفن، وبعد ثلاثة أيام من الجهد، تمكن من فهم الورقتين باستثناء مسألة صيانة الشبكة متعددة الطبقات. وعلى مدى العامين التاليين، ألقى إيفن محاضرات حول "خوارزمية دينيتز"، مُخطئًا في نطق اسم المؤلف أثناء الترويج لها. كما ساهم إيفن وإيتاي في تطوير هذه الخوارزمية من خلال دمج خوارزميتي البحث في العرض أولًا (BFS) والبحث في العمق أولًا (DFS) ، وهي الطريقة الشائعة لعرض الخوارزمية اليوم. [ ٢ ]

لعشر سنوات تقريبًا بعد ابتكار خوارزمية فورد-فولكرسون، ظلّ من غير المعروف ما إذا كان بالإمكان جعلها تنتهي في زمن متعدد الحدود في الحالة العامة لسعات الحواف غير النسبية. وقد أدّى ذلك إلى عدم وجود أي خوارزمية معروفة تعمل في زمن متعدد الحدود لحلّ مشكلة التدفق الأقصى في الحالات العامة. أظهرت خوارزمية دينيتز وخوارزمية إدموندز-كارب (المنشورة عام ١٩٧٢) بشكل مستقل أنه في خوارزمية فورد-فولكرسون، إذا كان كل مسار مُعزِّز هو الأقصر، فإن طول المسارات المُعزِّزة لا يتناقص، وتنتهي الخوارزمية دائمًا.

تعريف

يتركجي=((V،هـ)،ج،و،s،ت){\displaystyle G=((V,E),c,f,s,t)}كن شبكة معج(u،v){\displaystyle c(u,v)}وو(u،v){\displaystyle f(u,v)}سعة وتدفق الحافة(u،v){\displaystyle (u,v)}، على التوالى.

السعة المتبقية هي عملية رسم خرائطجو:V×VR+{\displaystyle c_{f}\colon V\times V\to R^{+}}يُعرَّف بأنه،
  1. لو(u،v)هـ{\displaystyle (u,v)\in E}،
    جو(u،v)=ج(u،v)-و(u،v){\displaystyle c_{f}(u,v)=c(u,v)-f(u,v)}
  2. لو(v،u)هـ{\displaystyle (v,u)\in E}،
    جو(u،v)=و(v،u){\displaystyle c_{f}(u,v)=f(v,u)}
  3. جو(u،v)=0{\displaystyle c_{f}(u,v)=0}خلاف ذلك.
الرسم البياني المتبقي هو رسم بياني غير مرجحجيو=((V،هـو)،جو|هـو،s،ت){\displaystyle G_{f}=((V,E_{f}),c_{f}|_{E_{f}},s,t)}، أين
هـو={(u،v)V×V:جو(u،v)>0}{\displaystyle E_{f}=\{(u,v)\in V\times V\colon \;c_{f}(u,v)>0\}}.
المسار المعزز هوs{\displaystyle s}ت{\displaystyle t}المسار في الرسم البياني المتبقيجيو{\displaystyle G_{f}}.
يُعرِّفتوزيع(v){\displaystyle \operatorname {dist} (v)}ليكون طول أقصر مسار منs{\displaystyle s}لv{\displaystyle v}فيجيو{\displaystyle G_{f}}ثم الرسم البياني للمستوى لـجيو{\displaystyle G_{f}}الرسم البيانيجيل=((V،هـل)،جو|هـل،s،ت){\displaystyle G_{L}=((V,E_{L}),c_{f}|_{E_{L}},s,t)}، أين
هـل={(u،v)هـو:توزيع(v)=توزيع(u)+1}{\displaystyle E_{L}=\{(u,v)\in E_{f}\colon \;\operatorname {dist} (v)=\operatorname {dist} (u)+1\}}.
التدفق المعيق هوs{\displaystyle s}ت{\displaystyle t}تدفقو{\displaystyle f'}بحيث يكون الرسم البيانيجي=((V،هـل)،s،ت){\displaystyle G'=((V,E_{L}'),s,t)}معهـل={(u،v):و(u،v)<جو|هـل(u،v)}{\displaystyle E_{L}'=\{(u,v)\colon \;f'(u,v)<c_{f}|_{E_{L}}(u,v)\}}لا يحتوي علىs{\displaystyle s}ت{\displaystyle t}المسار. [ ملاحظة 1 ] [ 3 ]

الخوارزمية

خوارزمية دينيتش

المدخلات : شبكةجي=((V،هـ)،ج،s،ت){\displaystyle G=((V,E),c,s,t)}.
الناتج :s{\displaystyle s}ت{\displaystyle t}تدفقو{\displaystyle f}ذات قيمة قصوى.
  1. تعيينو(هـ)=0{\displaystyle f(e)=0}لكلهـهـ{\displaystyle e\in E}.
  2. بناءجيل{\displaystyle G_{L}}منجيو{\displaystyle G_{f}}لجي{\displaystyle G}. لوتوزيع(ت)={\displaystyle \operatorname {dist} (t)=\infty }توقف وأخرجو{\displaystyle f}.
  3. ابحث عن تدفق معيقو{\displaystyle f'}فيجيل{\displaystyle G_{L}}.
  4. زيادة التدفقو{\displaystyle f}بواسطةو{\displaystyle f'}ثم ارجع إلى الخطوة الثانية.

تحليل

يمكن إثبات أن عدد الطبقات في كل تدفق حاجب يزداد بمقدار طبقة واحدة على الأقل في كل مرة، وبالتالي يوجد على الأكثر|V|-1{\displaystyle |V|-1}حجب التدفقات في الخوارزمية. لكل منها:

  • الرسم البياني للمستوىجيل{\displaystyle G_{L}}يمكن بناؤها عن طريق البحث بالعرض أولاً فييا(هـ){\displaystyle O(E)}وقت
  • تدفق معيق في الرسم البياني للمستوىجيل{\displaystyle G_{L}}يمكن العثور عليها فييا(Vهـ){\displaystyle O(VE)}الوقت [ ملاحظة 2 ]

مع إجمالي وقت التشغيليا(هـ+Vهـ)=يا(Vهـ){\displaystyle O(E+VE)=O(VE)}لكل طبقة. ونتيجة لذلك، فإن وقت تشغيل خوارزمية دينيك هويا(V2هـ){\displaystyle O(V^{2}E)}[ 2 ]

باستخدام بنية بيانات تسمى الأشجار الديناميكية ، يمكن تقليل وقت تشغيل عملية إيجاد تدفق معيق في كل مرحلة إلىيا(هـسجلV){\displaystyle O(E\log V)}وبالتالي يمكن تحسين وقت تشغيل خوارزمية دينيك إلىيا(VهـسجلV){\displaystyle O(VE\log V)}.

حالات خاصة

في الشبكات ذات السعات الموحدة، يكون الحد الزمني أقوى بكثير. يمكن العثور على كل تدفق مانع فييا(هـ){\displaystyle O(E)}ويمكن إثبات أن عدد المراحل لا يتجاوز الزمنيا(هـ){\displaystyle O({\sqrt {E}})}ويا(V2/3){\displaystyle O(V^{2/3})}[ ملاحظة 3 ] وبالتالي ، تعمل الخوارزمية فييا(مين{V2/3،هـ1/2}هـ){\displaystyle O(\min\{V^{2/3},E^{1/2}\}E)}الوقت. [ 4 ]

في الشبكات التي تنشأ من مشكلة المطابقة الثنائية ، يكون عدد المراحل محدودًا بـيا(V){\displaystyle O({\sqrt {V}})}وبالتالي يؤدي إلىيا(Vهـ){\displaystyle O({\sqrt {V}}E)}الحد الزمني. تُعرف الخوارزمية الناتجة أيضًا باسم خوارزمية هوبكروفت-كارب . وبشكل أعم، ينطبق هذا الحد على أي شبكة أحادية - وهي شبكة يكون لكل رأس فيها، باستثناء المصدر والمصب، إما حافة دخول واحدة بسعة واحد، أو حافة خروج واحدة بسعة واحد، وجميع السعات الأخرى أعداد صحيحة اختيارية. [ 3 ]

مثال

فيما يلي محاكاة لخوارزمية دينيك. في الرسم البياني للمستوياتجيل{\displaystyle G_{L}}الرؤوس التي تحمل تسميات باللون الأحمر هي القيمتوزيع(v){\displaystyle \operatorname {dist} (v)}تشكل المسارات باللون الأزرق تدفقًا يعيق الحركة.

جي{\displaystyle G}جيو{\displaystyle G_{f}}جيل{\displaystyle G_{L}}
1.

يتكون التدفق المعيق من

  1. {s،1،3،ت}{\displaystyle \{s,1,3,t\}}بأربع وحدات تدفق،
  2. {s،1،4،ت}{\displaystyle \{s,1,4,t\}}بست وحدات تدفق، و
  3. {s،2،4،ت}{\displaystyle \{s,2,4,t\}}بأربع وحدات تدفق.

وبالتالي، فإن التدفق المعاق يبلغ 14 وحدة وقيمة التدفق|و|{\displaystyle |f|}14. لاحظ أن كل مسار معزز في التدفق المانع له 3 حواف.

2.

يتكون التدفق المعيق من

  1. {s،2،4،3،ت}{\displaystyle \{s,2,4,3,t\}}بمعدل تدفق 5 وحدات.

لذلك، يبلغ التدفق المعاق 5 وحدات وقيمة التدفق|و|{\displaystyle |f|}14 + 5 = 19. لاحظ أن كل مسار معزز يحتوي على 4 حواف.

3.

منذت{\displaystyle t}لا يمكن الوصول إليه فيجيو{\displaystyle G_{f}}، تنتهي الخوارزمية وتعيد تدفقًا بقيمة قصوى تبلغ 19. لاحظ أنه في كل تدفق حجب، يزداد عدد الحواف في المسار المعزز بمقدار 1 على الأقل.

انظر أيضاً

ملحوظات

  1. هذا يعني أن الرسم البياني الفرعي الناتج عن إزالة جميع الحواف المشبعة (الحواف)(u،v){\displaystyle (u,v)}معو(u،v)=جو|هـل(u،v){\displaystyle f'(u,v)=c_{f}|_{E_{L}}(u,v)}) لا يحتوي على أي مسار منs{\displaystyle s}لت{\displaystyle t}بعبارة أخرى، يكون التدفق المعاق بحيث يكون كل مسار ممكن منs{\displaystyle s}لت{\displaystyle t}يحتوي على حافة مشبعة.
  2. يمكن تنفيذ إيجاد التدفق المعيق فييا(هـ){\displaystyle O(E)}لكل مسار عبر سلسلة من عمليات التقدم والتراجع. راجع الرابط http://courses.csail.mit.edu/6.854/06/scribe/scribe11.pdf لمزيد من التفاصيل.
  3. الـيا(V2/3){\displaystyle O(V^{2/3})}يفترض الحد أن لا يوجد ضلعان يربطان نفس زوج الرؤوس في نفس الاتجاه، بينمايا(هـ){\displaystyle O({\sqrt {E}})}لا يفترض باوند مثل هذا الافتراض.
  1. إي. أ. دينيتش (1970). "خوارزمية لحل مشكلة التدفق الأقصى في شبكة مع تقدير الطاقة" (ملف PDF) . دوكلادي أكاديميي ناوك إس إس إس آر . 11 : 1277-1280 .
  2. 1 2 3 دينيتز، يفيم (2006). "خوارزمية دينيتز: النسخة الأصلية ونسخة إيفن" . في: عوديد غولدريتش ؛ أرنولد ل. روزنبرغ ؛ آلان ل. سيلمان (محررون). علوم الحاسوب النظرية: مقالات في ذكرى شيمون إيفن . سلسلة محاضرات في علوم الحاسوب. المجلد 3895. سبرينغر. الصفحات 218-240 . doi : 10.1007/11685654_10 . ISBN   978-3-540-32880-3.
  3. 1 2 تارجان 1983 ، ص. 102.
  4. إيفن، شيمون؛ تارجان، ر. إندري (1975). "تدفق الشبكة واختبار اتصال الرسم البياني". مجلة SIAM للحوسبة . 4 (4): 507-518 . doi : 10.1137/0204043 . ISSN 0097-5397 . 

مراجع