مشكلة التغطية القصوى

تُعدّ مسألة التغطية القصوى سؤالاً كلاسيكياً في علوم الحاسوب ، ونظرية التعقيد الحسابي ، وبحوث العمليات . وهي مسألة تُدرّس على نطاق واسع في خوارزميات التقريب .

يتم تزويدك كمدخلات بعدة مجموعات وعددك{\displaystyle k}قد تشترك المجموعات في بعض العناصر. يجب عليك اختيار أكثر منك{\displaystyle k}من هذه المجموعات بحيث يتم تغطية أكبر عدد ممكن من العناصر، أي أن اتحاد المجموعات المختارة له أكبر حجم ممكن.

بصورة رسمية، (بدون ترجيح) أقصى تغطية

مثال: رقمك{\displaystyle k}ومجموعة من المجموعاتS={S1،S2،...،Sم}{\displaystyle S=\{S_{1},S_{2},\ldots ,S_{m}\}}.
الهدف: إيجاد مجموعة جزئيةSS{\displaystyle S'\subseteq S}من المجموعات، بحيث|S|ك{\displaystyle \left|S'\right|\leq k}وعدد العناصر المشمولة|SأناSSأنا|{\displaystyle \left|\bigcup _{S_{i}\in S'}{S_{i}}\right|}يتم تحقيق أقصى قدر من الفائدة.

تُعتبر مشكلة التغطية القصوى من المسائل الصعبة من نوع NP ، ولا يمكن تقريبها ضمن1-1هـ+o(1)0.632{\displaystyle 1-{\frac {1}{e}}+o(1)\approx 0.632}في ظل الافتراضات القياسية. تتطابق هذه النتيجة بشكل أساسي مع نسبة التقريب التي تحققها الخوارزمية الجشعة العامة المستخدمة لتعظيم الدوال شبه المعيارية مع قيد على عدد العناصر . [ 1 ]

صياغة ILP

يمكن صياغة مشكلة التغطية القصوى على النحو التالي كبرنامج خطي صحيح .

أقصىهـجهـyج{\displaystyle \sum _{e_{j}\in E}y_{j}}(تعظيم مجموع العناصر المغطاة)
رهناً بـxأناك{\displaystyle \sum {x_{i}}\leq k}(لا يزيد عن)ك{\displaystyle k}(تم اختيار المجموعات)
هـجSأناxأناyج{\displaystyle \sum _{e_{j}\in S_{i}}x_{i}\geq y_{j}}(لوyج>0{\displaystyle y_{j}>0}ثم مجموعة واحدة على الأقلهـجSأنا{\displaystyle e_{j}\in S_{i}}(تم اختياره)
yج{0،1}{\displaystyle y_{j}\in \{0,1\}}(لوyج=1{\displaystyle y_{j}=1}ثمهـج{\displaystyle e_{j}}(مشمول بالتغطية)
xأنا{0،1}{\displaystyle x_{i}\in \{0,1\}}(لوxأنا=1{\displaystyle x_{i}=1}ثمSأنا{\displaystyle S_{i}}(تم اختيارها للغلاف)

خوارزمية جشعة

تختار الخوارزمية الجشعة لتحقيق أقصى تغطية المجموعات وفقًا لقاعدة واحدة: في كل مرحلة، يتم اختيار مجموعة تحتوي على أكبر عدد من العناصر غير المغطاة. ويمكن إثبات أن هذه الخوارزمية تحقق نسبة تقريبية قدرها1-1هـ{\displaystyle 1-{\frac {1}{e}}}[ 2 ] تُظهر نتائج التقريب اللوغاريتمي أن الخوارزمية الجشعة هي في الأساس أفضل خوارزمية تقريبية ممكنة في وقت متعدد الحدود لتحقيق أقصى تغطية، ما لمP=شمالP{\displaystyle P=NP}[ 3 ]

الامتدادات المعروفة

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

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

النسخة المرجحة

في النسخة الموزونة، كل عنصرهـج{\displaystyle e_{j}}له وزن w(هـج){\displaystyle w(e_{j})}تتمثل المهمة في إيجاد أقصى تغطية ذات وزن أقصى. النسخة الأساسية هي حالة خاصة عندما تكون جميع الأوزان1{\displaystyle 1}.

أقصىهـهـw(هـج)yج{\displaystyle \sum _{e\in E}w(e_{j})\cdot y_{j}}(تعظيم المجموع المرجح للعناصر المغطاة).
رهناً بـxأناك{\displaystyle \sum {x_{i}}\leq k}؛ (لا يزيد عنك{\displaystyle k}(يتم اختيار المجموعات).
هـجSأناxأناyج{\displaystyle \sum _{e_{j}\in S_{i}}x_{i}\geq y_{j}}؛ (لوyج>0{\displaystyle y_{j}>0}ثم مجموعة واحدة على الأقلهـجSأنا{\displaystyle e_{j}\in S_{i}}(يتم الاختيار).
yج{0،1}{\displaystyle y_{j}\in \{0,1\}}؛ (لوyج=1{\displaystyle y_{j}=1}ثمهـج{\displaystyle e_{j}}(مشمول بالتغطية)
xأنا{0،1}{\displaystyle x_{i}\in \{0,1\}}(لوxأنا=1{\displaystyle x_{i}=1}ثمSأنا{\displaystyle S_{i}}(تم اختيارها للغلاف).

تختار الخوارزمية الجشعة للتغطية القصوى الموزونة في كل مرحلة مجموعة تحتوي على أكبر وزن للعناصر غير المغطاة. تحقق هذه الخوارزمية نسبة تقريبية قدرها1-1هـ{\displaystyle 1-{\frac {1}{e}}}[ 1 ]

أقصى تغطية مُدرجة في الميزانية

في النسخة ذات التغطية القصوى المحددة في الميزانية، لا يقتصر الأمر على أن كل عنصرهـج{\displaystyle e_{j}}لها وزنw(هـج){\displaystyle w(e_{j})}ولكن أيضاً كل مجموعةSأنا{\displaystyle S_{i}}له تكلفةج(Sأنا){\displaystyle c(S_{i})}. بدلاً منك{\displaystyle k}يحد ذلك من عدد المجموعات التي تغطي الميزانيةب{\displaystyle B}هذه الميزانية مُعطاة.ب{\displaystyle B}يحد من التكلفة الإجمالية للتغطية التي يمكن اختيارها.

أقصىهـهـw(هـج)yج{\displaystyle \sum _{e\in E}w(e_{j})\cdot y_{j}}(تعظيم المجموع المرجح للعناصر المغطاة).
رهناً بـج(Sأنا)xأناب{\displaystyle \sum {c(S_{i})\cdot x_{i}}\leq B}لا يمكن أن تتجاوز تكلفة المجموعات المختارةب{\displaystyle B}).
هـجSأناxأناyج{\displaystyle \sum _{e_{j}\in S_{i}}x_{i}\geq y_{j}}؛ (لوyج>0{\displaystyle y_{j}>0}ثم مجموعة واحدة على الأقلهـجSأنا{\displaystyle e_{j}\in S_{i}}(يتم الاختيار).
yج{0،1}{\displaystyle y_{j}\in \{0,1\}}؛ (لوyج=1{\displaystyle y_{j}=1}ثمهـج{\displaystyle e_{j}}(مشمول بالتغطية)
xأنا{0،1}{\displaystyle x_{i}\in \{0,1\}}(لوxأنا=1{\displaystyle x_{i}=1}ثمSأنا{\displaystyle S_{i}}(تم اختيارها للغلاف).

لن تُنتج الخوارزمية الجشعة حلولًا بضمان أداء. بمعنى آخر، قد يكون أسوأ أداء لهذه الخوارزمية بعيدًا جدًا عن الحل الأمثل. يتم توسيع خوارزمية التقريب بالطريقة التالية: أولًا، تعريف خوارزمية جشعة مُعدّلة، تقوم باختيار المجموعةSأنا{\displaystyle S_{i}}التي تتمتع بأفضل نسبة بين العناصر غير المغطاة المرجحة والتكلفة. ثانياً، من بين أغطية العددية1،2،...،ك-1{\displaystyle 1,2,...,k-1}ابحث عن أفضل تغطية تأمينية لا تتجاوز ميزانيتك. سمِّ هذه التغطيةح1{\displaystyle H_{1}}ثالثًا، ابحث عن جميع أغطية العدديةك{\displaystyle k}التي لا تنتهك الميزانية. باستخدام هذه الأغطية من العدديةك{\displaystyle k}كنقطة بداية، طبّق خوارزمية الجشع المعدّلة، مع الحفاظ على أفضل غطاء تم العثور عليه حتى الآن. سمِّ هذا الغطاءح2{\displaystyle H_{2}}في نهاية العملية، ستكون أفضل تغطية تقريبية إماح1{\displaystyle H_{1}}أوح2{\displaystyle H_{2}}تحقق هذه الخوارزمية نسبة تقريب تبلغ1-1هـ{\displaystyle 1-{1 \over e}}بالنسبة لقيمك3{\displaystyle k\geq 3}هذه هي أفضل نسبة تقريب ممكنة ما لمشمالPدتيأنامهـ(نيا(سجلسجلن)){\displaystyle NP\subseteq DTIME(n^{O(\log \log n)})}[ 5 ]

تغطية قصوى عامة

في نسخة التغطية القصوى المعممة، كل مجموعةSأنا{\displaystyle S_{i}}له تكلفةج(Sأنا){\displaystyle c(S_{i})}، عنصرهـج{\displaystyle e_{j}}يختلف وزنها وتكلفتها حسب المجموعة التي تغطيها. أي، إذاهـج{\displaystyle e_{j}}يشملها الطقمSأنا{\displaystyle S_{i}}وزنهـج{\displaystyle e_{j}} يكونwأنا(هـج){\displaystyle w_{i}(e_{j})}وتكلفتهجأنا(هـج){\displaystyle c_{i}(e_{j})}الميزانيةب{\displaystyle B}تم تحديد التكلفة الإجمالية للحل.

أقصىهـهـ،Sأناwأنا(هـج)yأناج{\displaystyle \sum _{e\in E,S_{i}}w_{i}(e_{j})\cdot y_{ij}}. (تعظيم المجموع المرجح للعناصر المغطاة في المجموعات التي يتم تغطيتها فيها).
رهناً بـجأنا(هـج)yأناج+ج(Sأنا)xأناب{\displaystyle \sum {c_{i}(e_{j})\cdot y_{ij}}+\sum {c(S_{i})\cdot x_{i}}\leq B}لا يمكن أن تتجاوز تكلفة المجموعات المختارةب{\displaystyle B}).
أناyأناج1{\displaystyle \sum _{i}y_{ij}\leq 1}؛ (عنصرهـج=1{\displaystyle e_{j}=1}لا يمكن تغطيتها إلا بمجموعة واحدة على الأكثر).
Sأناxأناyأناج{\displaystyle \sum _{S_{i}}x_{i}\geq y_{ij}}؛ (لوyج>0{\displaystyle y_{j}>0}ثم مجموعة واحدة على الأقلهـجSأنا{\displaystyle e_{j}\in S_{i}}(يتم الاختيار).
yأناج{0،1}{\displaystyle y_{ij}\in \{0,1\}}؛ (لوyأناج=1{\displaystyle y_{ij}=1}ثمهـج{\displaystyle e_{j}}يشملها الطقمSأنا{\displaystyle S_{i}})
xأنا{0،1}{\displaystyle x_{i}\in \{0,1\}}(لوxأنا=1{\displaystyle x_{i}=1}ثمSأنا{\displaystyle S_{i}}(تم اختيارها للغلاف).

خوارزمية التغطية القصوى المعممة

تعتمد الخوارزمية على مفهوم التكلفة/الوزن المتبقي. تُقاس التكلفة/الوزن المتبقي مقابل حل مبدئي، وهي الفرق بين التكلفة/الوزن والتكلفة/الوزن المكتسب من الحل المبدئي.

تتألف الخوارزمية من عدة مراحل. أولًا، يتم إيجاد حل باستخدام خوارزمية جشعة. في كل تكرار للخوارزمية، يُضاف إلى الحل المبدئي المجموعة التي تحتوي على أكبر وزن متبقٍ للعناصر مقسومًا على التكلفة المتبقية لهذه العناصر، بالإضافة إلى التكلفة المتبقية للمجموعة. ثانيًا، تتم مقارنة الحل المُستخلص في الخطوة الأولى بأفضل حل يستخدم عددًا قليلًا من المجموعات. ثالثًا، يتم إرجاع أفضل حل من بين جميع الحلول التي تم فحصها. تحقق هذه الخوارزمية نسبة تقريبية قدرها1-1/هـ-o(1){\displaystyle 1-1/e-o(1)}[ 6 ]

ملحوظات

  1. 1 2 جي. إل. نيمهاوزر ، إل. إيه. وولسي، وإم. إل. فيشر. تحليل التقريبات لتعظيم دوال المجموعات شبه المعيارية I، البرمجة الرياضية 14 (1978)، 265-294
  2. هوشباوم، دوريت س. (1997). "تقريب مسائل التغطية والتعبئة: تغطية المجموعة، تغطية الرؤوس، المجموعة المستقلة، والمسائل ذات الصلة". في هوشباوم، دوريت س. (محرر). خوارزميات التقريب للمسائل الصعبة من نوع NP . بوسطن: شركة PWS للنشر. ص 94-143 . ISBN  978-053494968-6.
  3. فيج، أورييل (يوليو 1998). "عتبة ln n لتقريب تغطية المجموعة" . مجلة ACM . 45 (4). نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة: 634-652 . doi : 10.1145/285055.285059 . ISSN 0004-5411 . S2CID 52827488 .  
  4. علي، جوناد؛ ديو، فلاديمير (2017). "تغطية وتحديد مواقع أجهزة الاستشعار المتنقلة للمركبات على مسارات محددة مسبقًا: نهج استدلالي جشع". وقائع المؤتمر الدولي المشترك الرابع عشر حول التجارة الإلكترونية والاتصالات . المجلد 2: WINSYS. الصفحات 83-88 . doi : 10.5220/0006469800830088 . ISBN   978-989-758-261-5.
  5. خولر، سمير؛ موس، آنا؛ ناور، جوزيف (سيفي) (1999). "مشكلة التغطية القصوى المُدرجة في الميزانية". رسائل معالجة المعلومات . 70 : 39-45 . CiteSeerX 10.1.1.49.5784 . doi : 10.1016/S0020-0190(99)00031-9 . 
  6. كوهين، رؤوفين؛ كاتزير، ليران (2008). "مشكلة التغطية القصوى المعممة". رسائل معالجة المعلومات . 108 : 15-22 . CiteSeerX 10.1.1.156.2073 . doi : 10.1016/j.ipl.2008.03.017 . 

مراجع