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

يكون متغير في مسألة إرضاء القيود متسقًا مع متغير آخر إذا كانت كل قيمة من قيمه المسموح بها متسقة مع قيمة مسموح بها للمتغير الثاني. وبصورة رسمية، يكون المتغيرهل يتوافق القوس مع متغير آخر؟إذا، لكل قيمةفي مجال توجد قيمةفي مجالبحيثيفي بالشرط الثنائي بينوتكون المسألة متسقة قوسياً إذا كان كل متغير متسقاً قوسياً مع كل متغير آخر.
على سبيل المثال، ضع في اعتبارك القيدحيث تتراوح المتغيرات ضمن المجال من 1 إلى 3. لأنلا يمكن أن تكون القيمة 3 أبدًا، فلا يوجد قوس من 3 إلى قيمة فيلذا من الآمن إزالة القيمة 3 مننطاق 's، مما ينتج عنه. على نفس المنوال،لا يمكن أن يكون الناتج 1 أبدًا، لذا لا يوجد قوس، وبالتالي يمكن إزالة 1 مننطاق 's، مما ينتج عنه.
يمكن تعريف اتساق القوس أيضًا بالنسبة لقيد ثنائي محدد: يكون القيد الثنائي متسقًا قوسيًا إذا كانت كل قيمة لأحد المتغيرين لها قيمة للمتغير الآخر بحيث تحقق القيد. هذا التعريف لاتساق القوس مشابه للتعريف السابق، ولكنه خاص بقيد معين. هذا الاختلاف مهم بشكل خاص للمسائل غير المعيارية، حيث يأخذ التعريف السابق في الاعتبار جميع القيود بين متغيرين، بينما يأخذ هذا التعريف في الاعتبار قيدًا محددًا فقط.

إذا لم يكن أحد المتغيرات متسقًا مع متغير آخر، فيمكن جعله كذلك بإزالة بعض القيم من نطاقه. هذا هو شكل نشر القيود الذي يفرض الاتساق: إذ يُزيل من نطاق المتغير كل قيمة لا تُقابل قيمة في المتغير الآخر. يحافظ هذا التحويل على حلول المسألة، لأن القيم المُزالة ليست جزءًا من أي حل على أي حال.
يمكن لتقنية نشر القيود أن تجعل المسألة بأكملها متسقة من خلال تكرار عملية الإزالة هذه لجميع أزواج المتغيرات. قد تتطلب هذه العملية النظر في زوج معين من المتغيرات أكثر من مرة. في الواقع، قد تؤدي إزالة قيم من نطاق متغير ما إلى عدم اتساق متغيرات أخرى معه. على سبيل المثال، إذاهل القوس متوافق معلكن الخوارزمية تقلل من نطاق، اتساق القوسمعلم يعد هذا الأمر سارياً، ويجب تطبيقه مرة أخرى.
تعتمد خوارزمية بسيطة على المرور على أزواج المتغيرات، مع تطبيق اتساق القوس، وتكرار هذه العملية حتى لا تتغير المجالات خلال دورة كاملة. أما خوارزمية AC-3، فتتفوق على هذه الخوارزمية بتجاهل القيود التي لم تُعدّل منذ آخر تحليل لها. تحديدًا، تعمل هذه الخوارزمية على مجموعة من القيود تحتوي في البداية على جميع القيود؛ وفي كل خطوة، تأخذ قيدًا وتطبق عليه اتساق القوس؛ وإذا كان من المحتمل أن تؤدي هذه العملية إلى انتهاك اتساق القوس لقيد آخر، فإنها تعيد ذلك القيد إلى مجموعة القيود المراد تحليلها. وبهذه الطريقة، بمجرد تطبيق اتساق القوس على قيد ما، لا يُعاد النظر في هذا القيد إلا إذا تغير مجال أحد متغيراته.
اتساق المسار (الاتساق من الرتبة k)

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


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

قد يؤدي نشر القيود (فرض شكل من أشكال الاتساق المحلي) إلى مجال فارغ أو قيد غير قابل للتنفيذ . في هذه الحالة، لا يوجد حل للمشكلة. لكن العكس ليس صحيحًا بشكل عام: فقد تكون حالة غير متسقة متسقة قوسياً أو متسقة مسارياً دون وجود مجال فارغ أو قيد غير قابل للتنفيذ.
في الواقع، لا يرتبط الاتساق المحلي إلا باتساق مجموعات المتغيرات. فعلى سبيل المثال، يضمن اتساق القوس إمكانية تعميم أي تقييم متسق لمتغير ما على متغير آخر بشكل متسق. مع ذلك، عند تعميم قيمة واحدة لمتغير ما على متغيرين آخرين، لا يوجد ما يضمن اتساق هاتين القيمتين مع بعضهما. على سبيل المثال،قد يكون ذلك متسقًا معومعلكن هذين التقييمين قد لا يكونان متسقين مع بعضهما البعض.
مع ذلك، يمكن استخدام نشر القيود لإثبات إمكانية تحقيق الحل في بعض الحالات. مجموعة من القيود الثنائية المتسقة قوسياً والتي لا تحتوي على نطاق فارغ، لا يمكن أن تكون غير متسقة إلا إذا احتوت شبكة القيود على دورات. في الواقع، إذا كانت القيود ثنائية وتشكل رسمًا بيانيًا غير دوري، فيمكن دائمًا نشر القيم عبر القيود: لكل قيمة لمتغير، فإن جميع المتغيرات في القيد الذي يحتوي عليه لها قيمة تحقق ذلك القيد. ونتيجة لذلك، يمكن إيجاد حل عن طريق اختيار متغير غير مُعيّن بشكل متكرر ونشره بشكل متكرر عبر القيود. لا تحاول هذه الخوارزمية أبدًا تعيين قيمة لمتغير مُعيّن بالفعل، لأن ذلك سيؤدي إلى وجود دورات في شبكة القيود.
وينطبق شرط مماثل على اتساق المسار. وفيما يلي الحالات الخاصة التي يمكن فيها إثبات إمكانية الإرضاء من خلال فرض اتساق القوس واتساق المسار.
حالات خاصة
بعض التعريفات أو النتائج المتعلقة بالاتساق النسبي لا تنطبق إلا في حالات خاصة.
عندما تتكون المجالات من أعداد صحيحة ، يمكن تعريف اتساق الحدود. يعتمد هذا النوع من الاتساق على اتساق القيم القصوى للمجالات، أي القيم الدنيا والقصوى التي يمكن أن يأخذها المتغير.
عندما تكون القيود جبرية أو منطقية ، فإن اتساق القوس يعادل إضافة قيد جديد أو تعديل قيد قديم نحويًا، ويمكن القيام بذلك عن طريق تركيب القيود بشكل مناسب.
قيود متخصصة
تُستخدم بعض أنواع القيود بشكل شائع. على سبيل المثال، يُستخدم غالبًا القيد الذي ينص على أن بعض المتغيرات مختلفة تمامًا. وتوجد خوارزميات متخصصة وفعالة لفرض اتساق القوس على هذه القيود.
عادةً ما يُكتب القيد الذي يفرض اختلاف عدد من المتغيراتأو alldifferent([X1,...,Xn]). هذا القيد يعادل عدم تساوي جميع أزواج المتغيرات المختلفة، أيلكلعندما يُختزل نطاق متغير ما إلى قيمة واحدة، يمكن إزالة هذه القيمة من جميع النطاقات الأخرى عن طريق نشر القيد عند فرض اتساق القوس. يتيح استخدام القيد المُخصص استغلال خصائص لا تنطبق على حالات عدم المساواة الثنائية الفردية .
تتمثل إحدى الخصائص في أن العدد الإجمالي للعناصر في نطاقات جميع المتغيرات يجب أن يكون على الأقل مساويًا لعدد المتغيرات. وبشكل أدق، بعد تطبيق اتساق القوس، يجب ألا يتجاوز عدد المتغيرات غير المُخصصة عدد القيم في اتحاد نطاقاتها. وإلا، فلن يتحقق الشرط. يمكن التحقق من هذا الشرط بسهولة على قيد من الشكل المذكور alldifferent، ولكنه لا يتوافق مع اتساق قوس شبكة عدم المساواة. أما الخاصية الثانية للقيد الواحد alldifferentفهي إمكانية التحقق بكفاءة من اتساق القوس الفائق باستخدام خوارزمية مطابقة ثنائية الأجزاء . على وجه الخصوص، يتم إنشاء رسم بياني باستخدام المتغيرات والقيم كمجموعتين من العقد، ويتم تشغيل خوارزمية مطابقة رسوم بيانية ثنائية الأجزاء متخصصة عليه للتحقق من وجود مثل هذه المطابقة. [ 1 ]
هناك نوع آخر من القيود شائع الاستخدام، وهو cumulativeقيد التراكم. وقد طُرح هذا القيد لحل مشكلات الجدولة والتوزيع. على سبيل المثال، cumulative([S1,...,Sm], [D1,...,Dm], [R1,...,Rm], L)يمكن استخدام قيد التراكم لتحديد حالة وجود mأنشطة، لكل منها وقت بدء siومدة زمنية، diوتستهلك كمية محددة riمن الموارد. ينص قيد التراكم على أن إجمالي كمية الموارد المتاحة هو L. توجد تقنيات متخصصة لنشر القيود التراكمية؛ وتُستخدم تقنيات مختلفة بناءً على نطاقات المتغيرات التي تم اختزالها إلى قيمة واحدة.
يُعدّ قيد "الواحد " قيدًا متخصصًا ثالثًا يُستخدم في برمجة منطق القيودelement . في هذا النوع من البرمجة، يُسمح باستخدام القوائم كقيم للمتغيرات. element(I, L, X)يتحقق القيد إذا Lكانت قائمةً وكان Xهو Iالعنصر رقم في هذه القائمة. توجد قواعد نشر قيود متخصصة لهذه القيود. على سبيل المثال، إذا تم اختزال Lو Iإلى نطاق قيمة واحدة، Xيُمكن تحديد قيمة فريدة لـ . وبشكل أعم، Xيُمكن استنتاج القيم المستحيلة لـ من نطاق .والعكس صحيح.
الاتساق الاتجاهي
التناسق الاتجاهي هو شكل من أشكال القوس والمسار و- الاتساق مصمم خصيصًا للاستخدام بواسطة خوارزمية تُسند قيمًا للمتغيرات وفقًا لترتيب معين. وهو مشابه لنظيره غير الاتجاهي، ولكنه يتطلب فقط أن يكون التعيين المتسق لبعض المتغيرات قابلاً للتمديد بشكل متسق إلى متغير آخر أكبر منها وفقًا للترتيب.
اتساق القوس الاتجاهي والمسار

إذا كانت الخوارزمية تقيّم المتغيرات بالترتيب التالي، لا تكون الاتساق مفيدة إلا عندما تضمن أن تكون قيم المتغيرات ذات المؤشر الأدنى متسقة مع قيم المتغيرات ذات المؤشر الأعلى.
عند اختيار قيمة لمتغير ما، يمكن تجاهل القيم غير المتوافقة مع جميع قيم المتغير غير المُعيَّن. في الواقع، حتى لو كانت هذه القيم متوافقة مع التقييم الجزئي الحالي، فإن الخوارزمية ستفشل لاحقًا في إيجاد قيمة متوافقة للمتغير غير المُعيَّن. من ناحية أخرى، ليس من الضروري فرض التوافق مع المتغيرات التي تم تقييمها بالفعل: فإذا اختارت الخوارزمية قيمة غير متوافقة مع التقييم الجزئي الحالي، فسيتم اكتشاف عدم التوافق على أي حال.
بافتراض أن ترتيب تقييم المتغيرات هوتكون مسألة إرضاء القيود متسقة اتجاهيًا إذا كان كل متغيرهل يتوافق القوس مع أي متغير آخر؟بحيثاتساق المسار الاتجاهي مشابه، ولكنه يتضمن متغيرين.يجب أن يكون المسار متسقًا معفقط إذايعني التناسق القوي للمسار الاتجاهي كلاً من تناسق المسار الاتجاهي وتناسق القوس الاتجاهي. ويمكن تقديم تعريفات مماثلة لأنواع التناسق الأخرى.
نشر القيود لضمان اتساق القوس والمسار
تعتمد عملية نشر القيود، التي تفرض اتساق القوس الاتجاهي، على التكرار على المتغيرات من الأخير إلى الأول، حيث يتم في كل خطوة فرض اتساق القوس لكل متغير ذي فهرس أقل معه. إذا كان ترتيب المتغيرات هو، تقوم هذه الخوارزمية بالتكرار على المتغيرات منل; للمتغيرفهو يفرض اتساق القوس لكل متغير ذي فهرس أقل منمع.
| مثال لا يتوافق مع اتجاه القوس:لا يتوافق مع أي قيمة منولا يتوافق مع أي قيمة منلا يوجد قيد بينو(تم حذف الحواف المقابلة). | يبدأ ضمان اتساق القوس الاتجاهي بـ، ويجعلقوس متوافق معه عن طريق إزالة القيمة. | يتم تطبيق اتساق القوس الاتجاهي من خلال. منذتمت إزالته بالفعل، كلاهماوتتم إزالتها. |
يمكن فرض اتساق المسار الاتجاهي واتساق المسار الاتجاهي القوي بواسطة خوارزميات مشابهة لتلك المستخدمة في اتساق القوس. وتقوم هذه الخوارزميات بمعالجة المتغيرات منللكل متغيرمتغيرانمعيتم أخذها في الاعتبار، وتناسق مسارها معيتم تطبيق ذلك. لا يلزم إجراء أي عملية إذا لم تتضمن المسألة أي قيد علىوأو عدم وجود قيود بينوومع ذلك، حتى لو لم يكن هناك قيد بينويُفترض وجود قيد بسيط. إذا قلّص نشر القيد مجموعة التعيينات المُرضية، فإنه يُنشئ فعليًا قيدًا جديدًا غير بسيط. يُشابه نشر القيد الذي يفرض اتساقًا قويًا للمسار الاتجاهي هذا، ولكنه يفرض أيضًا اتساق القوس.
الاتساق الاتجاهي وإمكانية الإرضاء
يضمن الاتساق الاتجاهي إمكانية تعميم الحلول الجزئية التي تُحقق قيدًا ما بشكل متسق على متغير آخر ذي مؤشر أعلى. مع ذلك، لا يضمن هذا الاتساق أن تكون التعميمات على متغيرات مختلفة متسقة فيما بينها. على سبيل المثال، قد يُعمم حل جزئي بشكل متسق على متغيرأو إلى متغيرلكن هذين الامتدادين لا يتوافقان مع بعضهما البعض.
هناك حالتان لا يحدث فيهما هذا، ويضمن الاتساق الاتجاهي إمكانية الإرضاء إذا لم يكن أي مجال فارغًا ولم يكن أي قيد غير قابل للإرضاء.
تتمثل الحالة الأولى في مسألة القيود الثنائية، حيث يكون ترتيب المتغيرات بحيث يكون عرض الرسم البياني للقيود المرتبة 1. يوجد هذا الترتيب فقط إذا كان الرسم البياني للقيود شجرة. في هذه الحالة، يحد عرض الرسم البياني من الحد الأقصى لعدد العقد الأدنى (وفقًا للترتيب) التي ترتبط بها عقدة ما. يضمن اتساق القوس الاتجاهي إمكانية توسيع أي تعيين متسق لمتغير ما إلى عقد أعلى، ويضمن العرض 1 عدم ارتباط عقدة ما بأكثر من عقدة أدنى واحدة. ونتيجة لذلك، بمجرد تعيين قيمة للمتغير الأدنى، يمكن توسيعها بشكل متسق إلى كل متغير أعلى يرتبط به. لا يمكن أن يؤدي هذا التوسيع لاحقًا إلى عدم اتساق. في الواقع، لا يرتبط أي متغير أدنى آخر بذلك المتغير الأعلى، لأن عرض الرسم البياني هو 1.
ونتيجة لذلك، إذا كانت مشكلة القيد لها عرض 1 بالنسبة لترتيب متغيراتها (مما يعني أن الرسم البياني المقابل لها هو شجرة) وكانت المشكلة متسقة اتجاهيًا بالنسبة لنفس الترتيب، فيمكن إيجاد حل (إن وجد) عن طريق تعيين المتغيرات بشكل متكرر وفقًا للترتيب.
الحالة الثانية التي يضمن فيها الاتساق الاتجاهي إمكانية الإرضاء، في حال عدم وجود مجال فارغ وعدم وجود قيد غير قابل للإرضاء، هي حالة مسائل القيود الثنائية التي يكون عرض الرسم البياني لها 2، وذلك باستخدام اتساق المسار الاتجاهي القوي. في الواقع، يضمن هذا النوع من الاتساق إمكانية توسيع كل عملية إسناد لمتغير أو زوج من المتغيرات لتشمل متغيرًا أعلى، ويضمن العرض 2 عدم ربط هذا المتغير بزوج آخر من المتغيرات الأدنى.
يُعتمد على العرض المُستحث بدلاً من العرض الأصلي لأن فرض اتساق المسار الاتجاهي قد يُضيف قيودًا. فإذا لم يكن متغيران ضمن القيد نفسه، ولكنهما ضمن قيد مع متغير أعلى، فقد تُخالف بعض أزواج قيمهما اتساق المسار. ويؤدي حذف هذه الأزواج إلى إنشاء قيد جديد. ونتيجةً لذلك، قد ينتج عن نشر القيد مسألةٌ تحتوي على عدد أكبر من الحواف في الرسم البياني مقارنةً بالرسم البياني الأصلي. ومع ذلك، فإن جميع هذه الحواف موجودة بالضرورة في الرسم البياني المُستحث، لأنها جميعًا تقع بين عقدتين أبويتين لنفس العقدة. يضمن العرض 2 إمكانية توسيع كل تقييم جزئي متسق إلى حل، ولكن هذا العرض نسبي للرسم البياني المُولّد. ولذلك، فإن كون العرض المُستحث 2 ضروري لضمان اتساق المسار الاتجاهي القوي، وبالتالي ضمان وجود حلول.
الاتساق الاتجاهي

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

تُنتج هذه العملية اتجاهًا قويًا- مثال متسق. ومع ذلك، قد يضيف أيضًا قيودًا جديدة إلى المثال. ونتيجة لذلك، حتى لو كان عرض المشكلة الأصليةقد يكون عرض المثال الناتج أكبر. في هذه الحالة، لا يعني الاتساق القوي الاتجاهي إمكانية الإرضاء حتى لو لم يكن أي مجال فارغًا ولم يكن أي قيد غير قابل للإرضاء.
مع ذلك، لا تُضيف عملية نشر القيود إلا قيودًا إلى المتغيرات التي تقل قيمتها عن قيمة المتغير الذي تُعالجه حاليًا. ونتيجةً لذلك، لا يتم تعديل أو إضافة أي قيد على متغير ما بمجرد أن تتعامل الخوارزمية مع هذا المتغير. بدلًا من النظر في قيمة ثابتةيمكن تعديلها لتشمل عدد آباء كل متغير مُعتبر (آباء المتغير هم المتغيرات ذات الفهرس الأقل من فهرس المتغير والتي ترتبط به بقيد). وهذا يُعادل النظر في جميع آباء متغير مُحدد في كل خطوة. بعبارة أخرى، لكل متغيرمن الأخير إلى الأول، يتم تضمين جميع آبائه في قيد جديد يحد من قيمهم إلى القيم المتوافقة معبما أن هذه الخوارزمية يمكن اعتبارها تعديلاً للخوارزمية السابقة بقيمة يتم تغيير ذلك إلى عدد الآباء لكل عقدة، ويسمى ذلك الاتساق التكيفي .
تفرض هذه الخوارزمية اتجاهية قوية-الاتساق معيساوي العرض المُستحث للمسألة. تكون الحالة الناتجة قابلةً للحل إذا وفقط إذا لم يتم جعل أي مجال أو قيد فارغًا. في هذه الحالة، يمكن إيجاد حل بسهولة عن طريق تعيين قيمة عشوائية لمتغير غير مُعين بشكل متكرر، ونشر هذا التقييم الجزئي إلى متغيرات أخرى. لا تكون هذه الخوارزمية دائمًا ذات زمن متعدد الحدود، حيث أن عدد القيود المُدخلة من خلال فرض اتساق اتجاهي قوي قد يُؤدي إلى زيادة أسية في الحجم. ومع ذلك، يمكن حل المسألة في زمن متعدد الحدود إذا لم يُؤدِ فرض الاتساق الاتجاهي القوي إلى زيادة حجم الحالة بشكل فائق متعدد الحدود . ونتيجةً لذلك، إذا كان للحالة عرض مُستحث محدود بثابت، فيمكن حلها في زمن متعدد الحدود.
استبعاد الدلو
خوارزمية حذف المجموعات هي خوارزمية إرضاء. يمكن تعريفها على أنها إعادة صياغة للاتساق التكيفي. تستخدم تعريفاتها مجموعات، وهي حاويات للقيود، حيث يرتبط كل متغير بمجموعة. ينتمي القيد دائمًا إلى مجموعة المتغير الأعلى قيمة له.
تعتمد خوارزمية حذف المجموعات على الانتقال من المتغير الأعلى إلى المتغير الأدنى بالتتابع. في كل خطوة، يتم تطبيق القيود الموجودة في مجموعات هذا المتغير.تُؤخذ هذه القيود في الاعتبار. وبحسب التعريف، فإنها لا تشمل إلا المتغيرات الأقل منتُعدّل الخوارزمية القيد بين هذه المتغيرات الأدنى (إن وُجد، وإلا فإنها تُنشئ قيدًا جديدًا). وعلى وجه الخصوص، فإنها تُجبر قيمها على أن تكون قابلة للتمديد إلىبما يتوافق مع القيود الموجودة في مجموعةثم يُوضع هذا القيد الجديد، إن وُجد، في الخانة المناسبة. بما أن هذا القيد لا يشمل إلا المتغيرات الأقل من، تتم إضافته إلى مجموعة من المتغيرات التي تقل عن.
تُعادل هذه الخوارزمية فرض الاتساق التكيفي. وبما أن كلتيهما تفرضان اتساق المتغير مع جميع المتغيرات الأصلية، وبما أنه لا تتم إضافة أي قيد جديد بعد النظر في المتغير، فإن النتيجة هي حالة يمكن حلها دون الحاجة إلى التراجع .
بما أن الرسم البياني للمثال الناتج هو رسم بياني فرعي من الرسم البياني المُستحث، فإذا كان عرض الرسم البياني المُستحث محدودًا بقيمة ثابتة، فإن حجم المثال الناتج يكون متعدد الحدود بالنسبة لحجم المثال الأصلي. ونتيجة لذلك، إذا كان عرض المثال المُستحث محدودًا بقيمة ثابتة، فيمكن حله في وقت متعدد الحدود باستخدام الخوارزميتين.
الاتساق العلائقي
بينما تركز التعريفات السابقة للاتساق على اتساق التعيينات، فإن الاتساق العلائقي يقتصر على استيفاء قيد معين أو مجموعة من القيود. وبشكل أدق، يعني الاتساق العلائقي أنه يمكن توسيع كل تعيين جزئي متسق بحيث يتم استيفاء قيد معين أو مجموعة من القيود. رسميًا، القيد...حول المتغيراتهل القوس العلائقي متسق مع أحد متغيراته؟إذا كان كل تكليف متسق لـيمكن توسيعه ليشملبهذه الطريقةراضٍ. الفرق بين "العادي"الاتساق والاتساق في القوس العلائقي هو أن الأخير يتطلب فقط أن يفي التعيين الموسع بقيد معين، بينما يتطلب الأول أن يفي بجميع القيود ذات الصلة.


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

الحالة الثالثة هي حالة القيود الثنائية التي يمكن تمثيلها بمصفوفات محدبة الصفوف. يمكن تمثيل القيد الثنائي بمصفوفة ثنائية الأبعاد.، أينتكون القيمة 0 أو 1 اعتمادًا على ما إذا كانالقيمة رقم -th في مجالوالقيمة رقم -th في مجالتحقق الشرط. يكون صف هذه المصفوفة محدبًا إذا كانت جميع العناصر التي تحتويها من العدد 1 متتالية (بمعنى آخر، إذا كان عنصران يساويان 1، فإن جميع العناصر بينهما تساوي 1 أيضًا). وتكون المصفوفة محدبة صفّيًا إذا كانت جميع صفوفها محدبة.

الشرط الذي يجعل اتساق المسار العلائقي القوي مكافئًا لقابلية الإرضاء هو وجود مسائل إرضاء القيود التي يوجد فيها ترتيب للمتغيرات يجعل جميع القيود ممثلة بمصفوفات محدبة صفية. تستند هذه النتيجة إلى حقيقة أن مجموعة الصفوف المحدبة التي تحتوي على عنصر مشترك ثنائيًا تحتوي أيضًا على عنصر مشترك عالميًا. وبالنظر إلى التقييم علىالمتغيرات، القيم المسموح بها لـيتم تحديد القيم من خلال اختيار بعض الصفوف من بعض القيود. على وجه الخصوص، لكل متغير من بينأحدها، الصف بالنسبة لقيمته في المصفوفة التي تمثل القيد الذي يربطه بـيمثل أحدها القيم المسموح بها للمتغير الأخير. ولأن هذه الصفوف محدبة، ولأنها تشترك في عنصر واحد بين كل زوج منها بسبب اتساق المسار، فإنها تشترك أيضًا في عنصر مشترك، يمثل قيمة المتغير الأخير المتوافقة مع القيم الأخرى.
استخدامات الاتساق المحلي
يمكن فرض جميع أشكال الاتساق المحلي عن طريق نشر القيود، مما قد يقلل من نطاقات المتغيرات ومجموعات التعيينات التي تُحقق قيدًا ما، وقد يُدخل قيودًا جديدة. عندما يُنتج نشر القيود نطاقًا فارغًا أو قيدًا غير قابل للتحقيق، تكون المسألة الأصلية غير قابلة للتحقيق. لذلك، يمكن استخدام جميع أشكال الاتساق المحلي كتقريبات لقابلية التحقيق. بتعبير أدق، يمكن استخدامها كخوارزميات غير مكتملة لعدم قابلية التحقيق، حيث يمكنها إثبات أن المسألة غير قابلة للتحقيق، ولكنها غير قادرة عمومًا على إثبات قابليتها للتحقيق. يمكن استخدام هذه الخوارزميات التقريبية بواسطة خوارزميات البحث ( التراجع ، والقفز العكسي ، والبحث المحلي ، وما إلى ذلك) كطرق استدلالية لتحديد ما إذا كان من الممكن توسيع حل جزئي ليُحقق جميع القيود دون مزيد من التحليل.
حتى لو لم ينتج عن نشر القيود مجال فارغ أو قيد غير قابل للتنفيذ، فقد يؤدي مع ذلك إلى تقليص المجالات أو تقوية القيود. في هذه الحالة، يتقلص فضاء البحث الخاص بالمسألة، مما يقلل من حجم البحث اللازم لحلها.
يُثبت الاتساق المحلي إمكانية الإرضاء في بعض الحالات المحدودة (انظر تعقيد إرضاء القيود#القيود ). وينطبق هذا على أنواع خاصة من المسائل و/أو على أنواع معينة من الاتساق المحلي. على سبيل المثال، يسمح فرض اتساق القوس على المسائل الثنائية غير الدورية بتحديد ما إذا كانت المسألة قابلة للإرضاء. كما أن فرض اتجاه قوي- يسمح الاتساق بتحديد إمكانية إرضاء المشكلات التي أدت إلى اتساعوفقًا للترتيب نفسه. يسمح التناسق الاتجاهي التكيفي بتحديد إمكانية إرضاء أي مسألة.
انظر أيضاً
روابط خارجية
- نشر القيود - أطروحة غيدو تاك تقدم مسحًا جيدًا للنظرية وقضايا التنفيذ
مراجع
- ↑ ريجين، جان-شارل (يوليو 1994). "خوارزمية ترشيح لقيود الاختلاف في مسائل إرضاء القيود" (ملف PDF) . وقائع مؤتمر AAAI . تم الاطلاع عليه بتاريخ 16 ديسمبر 2022 .
- ليكوتر، كريستوف (2009). شبكات القيد: التقنيات والخوارزميات . إستي / وايلي.رقم الكتاب المعياري الدولي (ISBN) 978-1-84821-106-3
- ديشتر، رينا (2003). معالجة القيود . مورغان كوفمان.رقم الكتاب المعياري الدولي (ISBN) 1-55860-890-7
- أبت، كريستوف (2003). مبادئ البرمجة المقيدة . مطبعة جامعة كامبريدج.رقم الكتاب المعياري الدولي (ISBN) 0-521-82583-0
- ماريوت، كيم؛ بيتر ج. ستوكي (1998). البرمجة مع القيود: مقدمة . مطبعة معهد ماساتشوستس للتكنولوجيا.رقم الكتاب المعياري الدولي (ISBN) 0-262-13341-5
- البرمجة المقيدة
