خوارزمية البحث العكسي

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

تم تقديم خوارزميات البحث العكسي بواسطة ديفيد أفيس وكومي فوكودا في عام 1991، لحل مشاكل توليد رؤوس متعددات الوجوه المحدبة وخلايا ترتيبات المستويات الفائقة . [ 1 ] وقد تم صياغتها بشكل أكثر شمولاً بواسطة أفيس وفوكودا في عام 1996. [ 2 ]

مبادئ

تُنشئ خوارزمية البحث العكسي الكائنات التوافقية في فضاء الحالة ، وهو رسم بياني ضمني تمثل رؤوسه الكائنات المراد سردها، وتمثل حوافه "حركات محلية" تربط أزواجًا من الكائنات، عادةً بإجراء تغييرات طفيفة على بنيتها. وتجد هذه الخوارزمية كل كائن باستخدام بحث العمق أولًا في شجرة ممتدة جذرية لفضاء الحالة هذا، والموصوفة بالمعلومات التالية: [ 2 ]

  • جذر الشجرة الممتدة، أحد الكائنات
  • روتين فرعي لتوليد الأصل لكل كائن في الشجرة، مع خاصية أنه إذا تكرر عددًا كافيًا من المرات فسيصل في النهاية إلى الجذر.
  • روتين فرعي لسرد جميع الجيران في مساحة الحالة (ليس بالضرورة أن يكونوا جميعًا جيرانًا في الشجرة)

انطلاقًا من هذه المعلومات، يُمكن إيجاد أبناء أي عقدة مُعطاة في الشجرة، وذلك بعكس الروابط التي تُحددها الدالة الفرعية للعقدة الأبوية: فهم ببساطة الجيران الذين تكون العقدة الأبوية هي العقدة المُعطاة. وتبحث الخوارزمية في هذه الروابط المعكوسة إلى العقد الأبناء. [ 2 ]

في البحث العميق الكلاسيكي لهذه الشجرة الممتدة، يتم اجتياز الشجرة بشكل متكرر، بدءًا من الجذر، مع سرد جميع العقد الفرعية عند كل عقدة، وإجراء استدعاء متكرر لكل عقدة. على عكس البحث العميق في رسم بياني يحتوي على دورات، لا يلزم الاحتفاظ بمجموعة العقد التي تمت زيارتها مسبقًا لتجنب الزيارات المتكررة؛ إذ لا يمكن حدوث مثل هذا التكرار في الشجرة. مع ذلك، قد تتطلب هذه الخوارزمية المتكررة مساحة كبيرة من الذاكرة لمكدس الاستدعاءات ، خاصةً في حالة الشجرة العميقة جدًا. في المقابل، يجتاز البحث العكسي الشجرة الممتدة بنفس الترتيب، مع تخزين عنصرين فقط: العنصر الحالي للاجتياز، والعنصر الذي تم اجتيازه سابقًا. في البداية، يُعيّن العنصر الحالي إلى جذر الشجرة، ولا يوجد عنصر سابق. من هذه المعلومات، يمكن تحديد الخطوة التالية للاجتياز من خلال تحليل الحالة التالي: [ 2 ]

  • إذا لم يكن هناك عنصر سابق، أو كان العنصر السابق هو العنصر الأب للعنصر الحالي، فهذه هي المرة الأولى التي يصل فيها البحث إلى العنصر الحالي، وبالتالي يتم إخراجه من نتائج البحث. العنصر التالي هو أول عنصر ابن له، أو إذا لم يكن له عناصر ابن، فهو العنصر الأب.
  • في جميع الحالات الأخرى، يجب أن يكون الكائن السابق تابعًا للكائن الحالي. تقوم الخوارزمية بسرد الأبناء (أي جيران الكائن الحالي في فضاء الحالة الذين يكون الكائن الحالي هو أصلهم) واحدًا تلو الآخر حتى الوصول إلى هذا الابن السابق، ثم تتقدم خطوة أخرى في قائمة الأبناء هذه. إذا تم العثور على ابن آخر بهذه الطريقة، فهو الكائن التالي. إذا لم يكن هناك ابن تالٍ وكان الكائن الحالي ليس الجذر، فإن الكائن التالي هو أصل الكائن الحالي. في الحالة المتبقية، عندما لا يكون هناك ابن تالٍ وكان الكائن الحالي هو الجذر، ينتهي البحث العكسي.

تتضمن هذه الخوارزمية سرد جيران الكائن مرة واحدة لكل خطوة في البحث. ومع ذلك، إذا كان هناكشمال{\displaystyle N}يتم عرض العناصر المراد إدراجها، ثم يتم إجراء البحث2شمال-1{\displaystyle 2N-1}[ 2 ]

التطبيقات

تتضمن أمثلة المشكلات التي تم تطبيق البحث العكسي عليها مشاكل التوليد التوافقي التالية:

رؤوس متعددات الوجوه المحدبة البسيطة
إذا كاند{\displaystyle d}يُعرَّف متعدد السطوح المحدب ذو البعد n بأنه تقاطع أنصاف فضاءات ، وبالتالي يمكن وصف رؤوسه بأنها نقاط تقاطعد{\displaystyle d}أو أكثر من المستويات الفائقة التي تحد أنصاف الفضاءات؛ وهو متعدد السطوح بسيط إذا لم يكن أي رأس منه تقاطعًا لأكثر مند{\displaystyle d}من هذه المستويات الفائقة. مشكلة تعداد الرؤوس هي مشكلة سرد جميع هذه الرؤوس. تربط حواف متعدد السطوح أزواجًا من الرؤوس التي لهاد-1{\displaystyle d-1}تشترك المستويات الفائقة، لذا تشكل الرؤوس والحواف فضاء حالة يكون فيه لكل رأسد{\displaystyle d}الجيران. تجد خوارزمية السمبلكس، المستمدة من نظرية البرمجة الخطية ، رأسًا يُعظّم دالة خطية مُعطاة للإحداثيات، وذلك بالانتقال من رأس إلى آخر، واختيار الرأس ذي القيمة الأكبر للدالة في كل خطوة. توجد عدة خيارات قياسية لـ"قاعدة المحور" تُحدد بدقة أكبر الرأس المطلوب اختياره. يمكن تفسير أي قاعدة محور من هذا القبيل على أنها تُعرّف الدالة الأصلية لشجرة ممتدة للمضلع، وجذرها هو الرأس الأمثل. يُولّد تطبيق البحث العكسي على هذه البيانات جميع رؤوس المضلع. يمكن لخوارزمية مماثلة أيضًا تعداد جميع قواعد برنامج خطي، دون اشتراط تعريف مضلع بسيط. [ 2 ] [ 3 ]
خلايا ترتيبات المستويات الفائقة
يُقسّم ترتيب المستويات الفائقة الفضاء الإقليدي إلى خلايا، تُوصف كل منها بـ "متجه إشارة" يُحدد ما إذا كانت نقاطها تنتمي إلى أحد المستويات الفائقة (إشارة 0)، أو تقع على أحد جانبي المستوى الفائق (إشارة +1)، أو تقع على الجانب الآخر (إشارة -1 ). تُشكّل هذه الخلايا فضاء حالة متصلًا عند إجراء حركات محلية تُغيّر إشارة واحدة بمقدار وحدة واحدة، ويمكن التحقق من صحة هذه العملية من خلال حلّ مسألة جدوى برمجة خطية. يُمكن إنشاء شجرة ممتدة لأي اختيار لخلية الجذر بتعريف مُعامل أب يُجري أول تغيير ممكن يُقرّب متجه الإشارة من متجه إشارة الجذر. باستخدام البحث العكسي في فضاء الحالة هذا ومُعامل الأب، يُمكن الحصول على خوارزمية لسرد جميع الخلايا في وقت متعدد الحدود لكل خلية. [ 2 ] [ 4 ]
التثليثات باستخدام مجموعة النقاط
تُربط التثليثات لمجموعة نقاط مستوية بحركات "قلب" تُزيل أحد الأقطار من التثليث وتستبدله بآخر. إذا تم اختيار تثليث ديلاوناي كجذر، فيمكن قلب كل تثليث إلى تثليث ديلاوناي بخطوات يتم فيها استبدال تثليث مجموعة فرعية من أربع نقاط بتثليث ديلاوناي الخاص بها. [ 5 ] [ 6 ] باختيار أول قلب لتثليث ديلاوناي كأصل لكل تثليث، وتطبيق البحث المحلي، ينتج خوارزمية لسرد جميع التثليثات في وقت متعدد الحدود لكل تثليث. [ 2 ]
الرسوم البيانية الفرعية المتصلة
تشكل الرسوم البيانية الفرعية المتصلة، والرسوم البيانية الفرعية المستحثة المتصلة ، لرسم بياني متصل معين، فضاء حالة تكون فيه التحركات المحلية عبارة عن إضافة أو إزالة حافة أو رأس واحد من الرسم البياني، على التوالي. يمكن الحصول على شجرة ممتدة لفضاء الحالة هذا بإضافة أول حافة أو رأس (بترتيب معين للحواف أو الرؤوس) ينتج عن إضافته رسم بياني فرعي متصل آخر؛ وجذرها هو الرسم البياني بأكمله. يؤدي تطبيق البحث المحلي على فضاء الحالة هذا وعامل الأصل إلى إنتاج خوارزمية لسرد جميع الرسوم البيانية الفرعية المتصلة في وقت متعدد الحدود لكل رسم بياني فرعي. [ 2 ]

وتشمل التطبيقات الأخرى خوارزميات لتوليد الهياكل التالية:

مراجع

  1. أفيس، ديفيد ؛ فوكودا، كومي (1992)، "خوارزمية محورية للأغلفة المحدبة وتعداد رؤوس الترتيبات والمجسمات متعددة السطوح"، الهندسة المنفصلة والحسابية ، 8 (3): 295-313 ، doi : 10.1007/BF02293050 ، MR 1174359 ; نسخة أولية في الندوة السنوية السابعة حول الهندسة الحسابية، 1991، doi : 10.1145/109648.109659
  2. 1 2 3 4 5 6 7 8 9 10 11 أفيس، ديفيد ؛ فوكودا، كومي (1996)، "البحث العكسي للتعداد" ، الرياضيات التطبيقية المنفصلة ، ​​65 ( 1-3 ): 21-46 ، doi : 10.1016/0166-218X(95)00026-N ، MR 1380066 
  3. أفيس، ديفيد (2000)، "تطبيق مُنقّح لخوارزمية تعداد الرؤوس بالبحث العكسي"، في كالاي، جيل ؛ زيغلر، غونتر م . (محرران)، متعددات الوجوه - التوافقية والحساب: بما في ذلك أوراق من ندوة DMV "متعددات الوجوه والتحسين" التي عُقدت في أوبرولفاخ، نوفمبر 1997 ، ندوة DMV، المجلد 29، بازل: بيركهاوزر، الصفحات 177-198 ، MR 1785299   
  4. سليومر، نورا هـ. (1999)، "تعداد الخلايا الحساس للمخرجات في ترتيبات المستويات الفائقة"، المجلة الإسكندنافية للحوسبة ، 6 (2): 137-147 ، MR 1709978 
  5. لوسون، سي إل (1972)، توليد شبكة مثلثية مع تطبيقات لرسم خطوط الكنتور ، مذكرة رقم 299، مختبر الدفع النفاث
  6. سيبسون، ر. (1973)، "التثليثات متساوية الزوايا محليًا"، مجلة الكمبيوتر ، 21 (3): 243-245 ، doi : 10.1093/comjnl/21.3.243 ، MR 0507358 
  7. ليانغ، شياودونغ؛ وانغ، روي؛ مينغ، جي شيانغ (2017)، "كود متعدد الأضلاع والبحث الحاسوبي عن متعددات الأضلاع متساوية الطيف"، مجلة التحسين التوافقي ، 33 (1): 254-264 ، doi : 10.1007/s10878-015-9953-z ، MR 3595411 ، S2CID 254655722  
  8. هورياما، تاكاشي؛ ياماني، شوغو (2011)، "توليد متعددات المعينات لتبليط p6 باستخدام البحث العكسي"، في أكياما، جين ؛ جيانغ، بو؛ كانو، ميكيو؛ تان، شيويهو (محررون)، الهندسة الحسابية، والرسوم البيانية، والتطبيقات - المؤتمر الدولي التاسع، CGGA 2010، داليان، الصين، 3-6 نوفمبر 2010، أوراق مختارة منقحة ، سلسلة محاضرات في علوم الحاسوب، المجلد 7033، سبرينغر، الصفحات 96-107 ، doi : 10.1007/978-3-642-24983-9_10 ، ISBN   978-3-642-24982-2MR 2927314 
  9. كابوروسي، جيل؛ هانسن، بيير (مايو 1998)، "حصر الهيدروكربونات متعددة الهكسان إلىح=21{\displaystyle h=21}، مجلة المعلومات الكيميائية وعلوم الحاسوب ، 38 (4): 610-619 ، doi : 10.1021/ci970116n
  10. كوريتا، كازوهيرو؛ واسا، كونيهيرو (2022)، "تعداد المسارات الأويلرية بزمن استهلاك ثابت"، علوم الحاسوب النظرية ، 923 : 1-12 ، arXiv : 2101.10473 ، doi : 10.1016/j.tcs.2022.04.048 ، MR 4436557 
  11. إبستين، ديفيد (2009)، "جميع المجموعات المستقلة القصوى والهيمنة الديناميكية للرسوم البيانية المتفرقة"، معاملات ACM في الخوارزميات ، 5 (4): A38:1–A38:14، arXiv : cs/0407036 ، doi : 10.1145/1597036.1597042 ، MR 2571901 ، S2CID 2769046  
  12. أفيس، ديفيد (1996)، "توليد المثلثات الجذرية بدون تكرارات"، Algorithmica ، 16 (6): 618-632 ، doi : 10.1007/s004539900067 ، MR 1412663 
  13. ديزا، أنطوان؛ فوكودا، كومي ؛ روستا، فيرا (1994)، "نظرية فاغنر والتعداد التوافقي للمضلعات ثلاثية الأبعاد"، وقائع ندوة عُقدت في معهد البحوث للعلوم الرياضية، جامعة كيوتو، كيوتو، 17-19 مايو 1993 ، RIMS Kôkyûroku Bessatsu، المجلد 872، الصفحات 30-34 ، MR 1330480   
  14. ^ أفيس، ديفيد ؛ كاتوه، ناوكي؛ أوساكي، ماكوتو؛ الأماكن القريبة : تانيجاوا ، شين إيتشي (يونيو 2007) ، “تعداد الأطر الصلبة غير المتقاطعة” (PDF) ، الرسوم البيانية والتوافقيات ، 23 (S1): 117–134 ، دوى : 10.1007 / s00373-007-0709-0 ، S2CID 10874512 
  15. ^ ياماناكا، كاتسوهيسا؛ أفيس, ديفيد ; هورياما، تاكاشي؛ أوكاموتو، يوشيو؛ أوهارا، ريوهي؛ ياماوتشي ، تانامي (2021)، “التعداد الخوارزمي للمضلعات المحيطة” (PDF) ، الرياضيات التطبيقية المنفصلة ، 303 : 305– 313 ، دوى : 10.1016/j.dam.2020.03.034 ، MR 4310502 
  16. فوكودا، كومي (2004)، "من بناء الزونوتوب إلى جمع مينكوفسكي للمضلعات المحدبة"، مجلة الحساب الرمزي ، 38 (4): 1261-1272 ، doi : 10.1016/j.jsc.2003.08.007 ، MR 2094220 
  17. ويبل، كريستوف (2010)، "تنفيذ وموازاة خوارزمية البحث العكسي لمجاميع مينكوفسكي"، في بليلوش، جاي إي .؛ هالبرين، دان (محرران)، وقائع ورشة العمل الثانية عشرة حول هندسة الخوارزميات والتجارب، ALENEX 2010، أوستن، تكساس، الولايات المتحدة الأمريكية، 16 يناير 2010 ، جمعية الرياضيات الصناعية والتطبيقية، ص 34-42 ، doi : 10.1137/1.9781611972900.4 ، ISBN  978-0-89871-931-4
  18. باير، ديف ؛ تايلور، أميليا (2009)، "البحث العكسي عن المُثُل الأحادية"، مجلة الحوسبة الرمزية ، 44 (10): 1477-1486 ، doi : 10.1016/j.jsc.2009.05.002 ، MR 2543431