تحسين التقسيم
في تصميم الخوارزميات ، يُعدّ تحسين التقسيم أسلوبًا لتمثيل تقسيم مجموعة ما كبنية بيانات تسمح بتحسين هذا التقسيم عن طريق تقسيم مجموعاته إلى عدد أكبر من المجموعات الأصغر. وبهذا المعنى، فهو يُشابه بنية بيانات الاتحاد والبحث ، التي تُحافظ أيضًا على التقسيم إلى مجموعات منفصلة، ولكن عملياتها تدمج أزواجًا من المجموعات. في بعض تطبيقات تحسين التقسيم، مثل البحث المعجمي بالعرض أولًا ، تُحافظ بنية البيانات أيضًا على ترتيب المجموعات في التقسيم.
يُعدّ تحسين التقسيم عنصرًا أساسيًا في العديد من الخوارزميات الفعّالة على الرسوم البيانية والآلات المحدودة ، بما في ذلك تصغير DFA ، وخوارزمية كوفمان-غراهام للجدولة المتوازية، والبحث المعجمي بالعرض أولًا في الرسوم البيانية. [ 1 ] [ 2 ] [ 3 ]
بنية البيانات
تحافظ خوارزمية تحسين التقسيم على مجموعة من المجموعات المنفصلة Si . في بداية الخوارزمية، تحتوي هذه المجموعة على مجموعة واحدة تضم جميع عناصر بنية البيانات. في كل خطوة من خطوات الخوارزمية، تُقدَّم مجموعة X للخوارزمية ، ويتم تقسيم كل مجموعة Si في المجموعة التي تحتوي على عناصر من X إلى مجموعتين : التقاطع Si ∩ X والفرق Si \ X.
يمكن تنفيذ مثل هذه الخوارزمية بكفاءة من خلال الحفاظ على هياكل البيانات التي تمثل المعلومات التالية: [ 4 ] [ 5 ]
- التسلسل المرتب للمجموعات S i في العائلة، في شكل مثل القائمة المرتبطة ثنائياً التي تسمح بإدخال مجموعات جديدة في منتصف التسلسل
- يرتبط بكل مجموعة S i مجموعة من عناصرها ، على شكل قائمة مرتبطة ثنائياً أو مصفوفة ، مما يسمح بحذف العناصر الفردية من المجموعة بسرعة. بدلاً من ذلك، يمكن تمثيل هذا المكون من بنية البيانات بتخزين جميع عناصر جميع المجموعات في مصفوفة واحدة ، مرتبة حسب المجموعة التي تنتمي إليها، وتمثيل مجموعة العناصر في أي مجموعة S i بموقعَي بدايتها ونهايتها في هذه المصفوفة.
- يرتبط بكل عنصر المجموعة التي ينتمي إليها.
لإجراء عملية تحسين، يمرّ الخوارزمية على عناصر المجموعة المعطاة X. لكل عنصر x ، يجد الخوارزمية المجموعة Si التي تحتوي على x، ويتحقق مما إذا كانت قد بدأت مجموعة ثانية لـ Si ∩ X. إذا لم تكن قد بدأت، فإنه يُنشئ المجموعة الثانية ويضيف Si إلى قائمة L للمجموعات التي تم تقسيمها بواسطة العملية. بعد ذلك، وبغض النظر عما إذا تم تكوين مجموعة جديدة أم لا، يزيل الخوارزمية x من Si ويضيفه إلى Si ∩ X. في التمثيل الذي تُخزّن فيه جميع العناصر في مصفوفة واحدة، يمكن نقل x من مجموعة إلى أخرى عن طريق تبديل x مع العنصر الأخير من Si ، ثم إنقاص فهرس نهاية Si وفهرس بداية المجموعة الجديدة. أخيرًا، بعد معالجة جميع عناصر X بهذه الطريقة، يمرّ الخوارزمية على L ، ويفصل كل مجموعة حالية Si عن المجموعة الثانية التي تم تقسيمها منها، ويُبلغ عن كلتا المجموعتين على أنهما قد تم تكوينهما حديثًا بواسطة عملية التحسين .
يستغرق تنفيذ عملية تحسين واحدة بهذه الطريقة زمنًا قدره O ( | X | ) ، وهو زمن مستقل عن عدد العناصر في مجموعة البيانات ، وكذلك مستقل عن العدد الإجمالي للمجموعات في بنية البيانات. وبالتالي، فإن زمن تنفيذ سلسلة من عمليات التحسين يتناسب طرديًا مع الحجم الإجمالي للمجموعات المُعطاة للخوارزمية في كل خطوة من خطوات التحسين.
التطبيقات
كان أحد التطبيقات المبكرة لتحسين التقسيم في خوارزمية هوبكروفت (1971) لتقليل عدد حالات الأوتوماتون الحتمي المحدود . في هذه المسألة، يُعطى مُدخل أوتوماتون حتمي محدود ، ويجب إيجاد أوتوماتون مكافئ له بأقل عدد ممكن من الحالات. تحافظ خوارزمية هوبكروفت على تقسيم حالات الأوتوماتون المُدخل إلى مجموعات فرعية، بحيث تُقابل أي حالتين في مجموعتين فرعيتين مختلفتين حالتين مختلفتين في الأوتوماتون الناتج. في البداية، توجد مجموعتان فرعيتان، إحداهما تحتوي على جميع حالات القبول للأوتوماتون، والأخرى تحتوي على الحالات المتبقية. في كل خطوة، تُختار إحدى المجموعتين الفرعيتين Si وأحد رموز الإدخال x للأوتوماتون، ويتم تحسين مجموعات الحالات الفرعية إلى حالات يؤدي فيها الانتقال المُسمى x إلى Si ، وحالات يؤدي فيها الانتقال x إلى حالة أخرى. عندما يتم تقسيم مجموعة S i تم اختيارها مسبقًا عن طريق التحسين، لا يلزم سوى اختيار واحدة من المجموعتين الناتجتين (الأصغر بينهما)؛ وبهذه الطريقة، تشارك كل حالة في المجموعات X لمدة O ( s log n ) خطوة تحسين، وتستغرق الخوارزمية الإجمالية وقتًا قدره O ( ns log n ) ، حيث n هو عدد الحالات الأولية و s هو حجم الأبجدية. [ 6 ]
طبّق سيثي (1976) تقنية تحسين التقسيم في تطبيق فعّال لخوارزمية كوفمان-غراهام للجدولة المتوازية. بيّن سيثي إمكانية استخدام هذه التقنية لإنشاء ترتيب طوبولوجي معجمي لرسم بياني موجه غير دوري مُعطى في زمن خطي؛ ويُعدّ هذا الترتيب الطوبولوجي المعجمي إحدى الخطوات الرئيسية في خوارزمية كوفمان-غراهام. في هذا التطبيق، تُمثّل عناصر المجموعات المنفصلة رؤوس الرسم البياني المُدخل، بينما تُمثّل المجموعات X المُستخدمة لتحسين التقسيم مجموعات جيران الرؤوس. وبما أن العدد الإجمالي لجيران جميع الرؤوس هو نفسه عدد حواف الرسم البياني، فإن الخوارزمية تستغرق زمنًا خطيًا بالنسبة لعدد الحواف، أي حجم المُدخل. [ 7 ]
يُعدّ تحسين التقسيم خطوةً أساسيةً في البحث المعجمي بالعرض أولاً ، وهو خوارزمية بحث في الرسوم البيانية تُستخدم في التعرّف على الرسوم البيانية الوترية والعديد من فئات الرسوم البيانية المهمة الأخرى. وكما ذُكر سابقاً، فإنّ عناصر المجموعة المنفصلة هي رؤوس، والمجموعة X تُمثّل مجموعات الجيران ، لذا فإنّ الخوارزمية تستغرق وقتاً خطياً. [ 8 ] [ 9 ]
مراجع
- ↑ بايج، روبرت؛ تارجان، روبرت إي. (1987)، "ثلاث خوارزميات لتحسين التقسيم"، مجلة SIAM للحوسبة ، 16 (6): 973-989 ، doi : 10.1137/0216062 ، MR 0917035 .
- ↑ حبيب، ميشيل؛ بول، كريستوف؛ فيينو، لوران (1999)، "تقنيات تحسين التقسيم: مجموعة أدوات خوارزمية مثيرة للاهتمام"، المجلة الدولية لأسس علوم الحاسوب ، 10 (2): 147-170 ، doi : 10.1142/S0129054199000125 ، MR 1759929 .
- ↑ حبيب، ميشيل؛ بول، كريستوف؛ فيينو، لوران (1998)، "توليف حول تحسين التقسيم: روتين مفيد للسلاسل، والرسوم البيانية، والمصفوفات البوليانية، والآلات"، في مورفان، ميشيل؛ مينيل، كريستوف؛ كروب، دانيال (محررون)، STACS 98: الندوة السنوية الخامسة عشرة حول الجوانب النظرية لعلوم الحاسوب، باريس، فرنسا، 25-27 فبراير 1998، وقائع (PDF) ، سلسلة محاضرات في علوم الحاسوب ، المجلد 1373، سبرينغر-فيرلاغ، الصفحات 25-38 ، doi : 10.1007/BFb0028546 ، ISBN 978-3-540-64230-5MR 1650757 .
- ↑ فالماري، أنتي؛ ليتينين، بيتري (2008)، "التقليل الفعال لآلات الحالة المحدودة المحددة ذات دوال الانتقال الجزئية"، في ألبرز، سوزان ؛ ويل، باسكال (محرران)، الندوة الدولية الخامسة والعشرون حول الجوانب النظرية لعلوم الحاسوب (STACS 2008) ، وقائع لايبنتز الدولية في المعلوماتية (LIPIcs)، المجلد 1، داغشتول، ألمانيا: قلعة داغشتول: مركز لايبنتز للمعلوماتية، الصفحات 645-656 ، arXiv : 0802.2826 ، doi : 10.4230/LIPIcs.STACS.2008.1328 ، ISBN 978-3-939897-06-4MR 2873773
- ↑ كنوتيلا، تيمو (2001)، "إعادة وصف خوارزمية هوبكروفت"، علوم الحاسوب النظرية ، 250 ( 1-2 ): 333-363 ، doi : 10.1016/S0304-3975(99)00150-4 ، ISSN 0304-3975
- ↑ هوبكروفت، جون (1971)، " خوارزمية n log n لتقليل عدد الحالات في آلة محدودة"، نظرية الآلات والحسابات (وقائع الندوة الدولية، التخنيون، حيفا، 1971) ، نيويورك: أكاديميك برس، ص 189-196 ، MR 0403320 .
- ↑ سيثي، رافي (1976)، "جدولة الرسوم البيانية على معالجين"، مجلة SIAM للحوسبة ، 5 (1): 73-82 ، doi : 10.1137/0205005 ، MR 0398156 .
- ↑ روز، دي جيه؛ تارجان، آر إي ؛ لوكر، جي إس (1976)، "الجوانب الخوارزمية لحذف الرؤوس على الرسوم البيانية"، مجلة SIAM للحوسبة ، 5 (2): 266-283 ، doi : 10.1137/0205021.
- ↑ كورنيل، ديريك ج. (2004)، "البحث المعجمي بالعرض أولاً - دراسة استقصائية"، في هرومكوفيتش، يوراي؛ ناجل، مانفريد؛ ويستفشتل، برنارد (محررون)، أساليب نظرية الرسم البياني في علوم الحاسوب: ورشة العمل الدولية الثلاثون، WG 2004، باد هونيف، ألمانيا، 21-23 يونيو 2004، أوراق منقحة ، سلسلة محاضرات في علوم الحاسوب ، المجلد 3353، سبرينغر-فيرلاغ، الصفحات 1-19 ، doi : 10.1007/978-3-540-30559-0_1 ، ISBN 978-3-540-24132-4.
- هياكل البيانات
