الاتساق المحلي

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

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

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

الافتراضات

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

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

في الأشكال المستخدمة في هذه المقالة، يشير عدم وجود روابط بين متغيرين إلى أنه إما لا يوجد قيد أو يوجد قيد يتم استيفاؤه بواسطة جميع القيم بين هذين المتغيرين.

الاتساق المحلي

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

اتساق العقدة

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

على سبيل المثال، بالنظر إلى متغيرV{\displaystyle V}بنطاق{1،2،3،4}{\displaystyle \left\{1,2,3,4\right\}}وقيدV3{\displaystyle V\leq 3}سيؤدي اتساق العقدة إلى تقييد النطاق إلى{1،2،3}{\displaystyle \left\{1,2,3\right\}}وبذلك يمكن التخلص من القيد. هذه الخطوة التمهيدية تبسط المراحل اللاحقة.

اتساق القوس

x2{\displaystyle x_{2}}هل القوس متوافق معx3{\displaystyle x_{3}}لكن ليس معx1{\displaystyle x_{1}}، كقيمةx2=1{\displaystyle x_{2}=1}لا يتوافق مع أي قيمة لـx1{\displaystyle x_{1}}.

يكون متغير في مسألة إرضاء القيود متسقًا مع متغير آخر إذا كانت كل قيمة من قيمه المسموح بها متسقة مع قيمة مسموح بها للمتغير الثاني. وبصورة رسمية، يكون المتغيرxأنا{\displaystyle x_{i}}هل يتوافق القوس مع متغير آخر؟xج{\displaystyle x_{j}}إذا، لكل قيمةأ{\displaystyle a}في مجال xأنا{\displaystyle x_{i}}توجد قيمةب{\displaystyle b}في مجالxج{\displaystyle x_{j}}بحيث(أ،ب){\displaystyle (a,b)}يفي بالشرط الثنائي بينxأنا{\displaystyle x_{i}}وxج{\displaystyle x_{j}}تكون المسألة متسقة قوسياً إذا كان كل متغير متسقاً قوسياً مع كل متغير آخر.

على سبيل المثال، ضع في اعتبارك القيدx<y{\displaystyle x<y}حيث تتراوح المتغيرات ضمن المجال من 1 إلى 3. لأنx{\displaystyle x}لا يمكن أن تكون القيمة 3 أبدًا، فلا يوجد قوس من 3 إلى قيمة فيy{\displaystyle y}لذا من الآمن إزالة القيمة 3 منx{\displaystyle x}نطاق 's، مما ينتج عنه{1،2}{\displaystyle \{1,2\}}. على نفس المنوال،y{\displaystyle y}لا يمكن أن يكون الناتج 1 أبدًا، لذا لا يوجد قوس، وبالتالي يمكن إزالة 1 منy{\displaystyle y}نطاق 's، مما ينتج عنه{2،3}{\displaystyle \{2,3\}}.

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

يتم فرض اتساق القوس عن طريق إزالة 1 كقيمة لـ x2. ونتيجة لذلك، لم يعد x3 متسقًا مع x2 لأن x3=2 لا يتوافق مع قيمة لـ x2.

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

يمكن لتقنية نشر القيود أن تجعل المسألة بأكملها متسقة من خلال تكرار عملية الإزالة هذه لجميع أزواج المتغيرات. قد تتطلب هذه العملية النظر في زوج معين من المتغيرات أكثر من مرة. في الواقع، قد تؤدي إزالة قيم من نطاق متغير ما إلى عدم اتساق متغيرات أخرى معه. على سبيل المثال، إذاx3{\displaystyle x_{3}}هل القوس متوافق معx2{\displaystyle x_{2}}لكن الخوارزمية تقلل من نطاقx2{\displaystyle x_{2}}، اتساق القوسx3{\displaystyle x_{3}}معx2{\displaystyle x_{2}}لم يعد هذا الأمر سارياً، ويجب تطبيقه مرة أخرى.

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

اتساق المسار (الاتساق من الرتبة k)

لا يتوافق المسار بين x1 و x2 مع x3. ويمكن جعلهما متوافقين عن طريق إزالة القيم الزرقاء من R12.

يُعدّ اتساق المسار خاصيةً مشابهةً لاتساق القوس، ولكنه يأخذ في الاعتبار أزواج المتغيرات بدلاً من متغير واحد فقط. يكون زوج المتغيرات متسقًا مساريًا مع متغير ثالث إذا أمكن تعميم كل تقييم متسق للزوج على المتغير الآخر بطريقة تُحقق جميع القيود الثنائية . رسميًا،xأنا{\displaystyle x_{i}}وxج{\displaystyle x_{j}}المسار متسق معxك{\displaystyle x_{k}}إذا، لكل زوج من القيم(أ،ب){\displaystyle (a,b)}الذي يحقق القيد الثنائي بينxأنا{\displaystyle x_{i}}وxج{\displaystyle x_{j}}، توجد قيمةج{\displaystyle c}في مجالxك{\displaystyle x_{k}}بحيث(أ،ج){\displaystyle (a,c)}و(ب،ج){\displaystyle (b,c)}تلبية القيد بينxأنا{\displaystyle x_{i}}وxك{\displaystyle x_{k}}وبينxج{\displaystyle x_{j}}وxك{\displaystyle x_{k}}، على التوالى.

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

يمكن اعتبار متغيرين غير موجودين في قيد مرتبطين بقيد افتراضي يسمح بأي زوج ممكن من القيم، ممثلة بالحواف الزرقاء في هذا الشكل.
يؤدي فرض اتساق المسار بين x1 و x2 مع x3 إلى إزالة الحافة في الأعلى. لم تعد قيم x1 و x2 حرة، بل أصبحت مرتبطة بقيد فعلي جديد.

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

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

التعميمات

يمكن تعميم اتساق القوس والمسار ليشمل القيود غير الثنائية باستخدام مجموعات من المتغيرات بدلاً من متغير واحد أو زوج. مجموعة منأنا-1{\displaystyle i-1}المتغيرات هيأنا{\displaystyle i}- متسق مع متغير آخر إذا كان كل تقييم متسق لـأنا-1{\displaystyle i-1}يمكن توسيع المتغيرات بقيمة المتغير الآخر مع الحفاظ على الاتساق. وينطبق هذا التعريف على المشكلات بأكملها بشكل واضح. قويأنا{\displaystyle i}الاتساق هو ج{\displaystyle j}- الاتساق للجميعجأنا{\displaystyle j\leq i}.

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

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

الاتساق وإمكانية الإرضاء

هذه الحالة متسقة قوسياً ولا تحتوي على مجال فارغ، ولكن ليس لها حل. تشير الخطوط الزرقاء إلى التعيينات المفروضة باختيار x1=1.

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

في الواقع، لا يرتبط الاتساق المحلي إلا باتساق مجموعات المتغيرات. فعلى سبيل المثال، يضمن اتساق القوس إمكانية تعميم أي تقييم متسق لمتغير ما على متغير آخر بشكل متسق. مع ذلك، عند تعميم قيمة واحدة لمتغير ما على متغيرين آخرين، لا يوجد ما يضمن اتساق هاتين القيمتين مع بعضهما. على سبيل المثال،x1=1{\displaystyle x_{1}=1}قد يكون ذلك متسقًا معx2=1{\displaystyle x_{2}=1}ومعx3=1{\displaystyle x_{3}=1}لكن هذين التقييمين قد لا يكونان متسقين مع بعضهما البعض.

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

وينطبق شرط مماثل على اتساق المسار. وفيما يلي الحالات الخاصة التي يمكن فيها إثبات إمكانية الإرضاء من خلال فرض اتساق القوس واتساق المسار.

  1. إن فرض اتساق القوس يثبت إمكانية إرضاء المشكلات المكونة من قيود ثنائية بدون دورات ( شجرة من القيود الثنائية)؛
  2. إن فرض اتساق المسار يؤدي إلى إرساء إمكانية تحقيق القيود الثنائية (ربما مع دورات) ذات المجالات الثنائية؛
  3. فرض قوين{\displaystyle n}يُثبت الاتساق إمكانية حل المشكلات التي تحتوي علىن{\displaystyle n}المتغيرات.

حالات خاصة

بعض التعريفات أو النتائج المتعلقة بالاتساق النسبي لا تنطبق إلا في حالات خاصة.

عندما تتكون المجالات من أعداد صحيحة ، يمكن تعريف اتساق الحدود. يعتمد هذا النوع من الاتساق على اتساق القيم القصوى للمجالات، أي القيم الدنيا والقصوى التي يمكن أن يأخذها المتغير.

عندما تكون القيود جبرية أو منطقية ، فإن اتساق القوس يعادل إضافة قيد جديد أو تعديل قيد قديم نحويًا، ويمكن القيام بذلك عن طريق تركيب القيود بشكل مناسب.

قيود متخصصة

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

عادةً ما يُكتب القيد الذي يفرض اختلاف عدد من المتغيراتأللدأناووهـرهـنت(x1،...،xن){\displaystyle \mathop {\rm {alldifferent}} (x_{1},\ldots ,x_{n})}أو alldifferent([X1,...,Xn]). هذا القيد يعادل عدم تساوي جميع أزواج المتغيرات المختلفة، أيxأناxج{\displaystyle x_{i}\not =x_{j}}لكلأناج{\displaystyle i\not =j}عندما يُختزل نطاق متغير ما إلى قيمة واحدة، يمكن إزالة هذه القيمة من جميع النطاقات الأخرى عن طريق نشر القيد عند فرض اتساق القوس. يتيح استخدام القيد المُخصص استغلال خصائص لا تنطبق على حالات عدم المساواة الثنائية الفردية .

تتمثل إحدى الخصائص في أن العدد الإجمالي للعناصر في نطاقات جميع المتغيرات يجب أن يكون على الأقل مساويًا لعدد المتغيرات. وبشكل أدق، بعد تطبيق اتساق القوس، يجب ألا يتجاوز عدد المتغيرات غير المُخصصة عدد القيم في اتحاد نطاقاتها. وإلا، فلن يتحقق الشرط. يمكن التحقق من هذا الشرط بسهولة على قيد من الشكل المذكور 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يُمكن استنتاج القيم المستحيلة لـ من نطاق .أنا{\displaystyle I}والعكس صحيح.

الاتساق الاتجاهي

التناسق الاتجاهي هو شكل من أشكال القوس والمسار وأنا{\displaystyle i}- الاتساق مصمم خصيصًا للاستخدام بواسطة خوارزمية تُسند قيمًا للمتغيرات وفقًا لترتيب معين. وهو مشابه لنظيره غير الاتجاهي، ولكنه يتطلب فقط أن يكون التعيين المتسق لبعض المتغيرات قابلاً للتمديد بشكل متسق إلى متغير آخر أكبر منها وفقًا للترتيب.

اتساق القوس الاتجاهي والمسار

مثالٌ متسقٌ اتجاهيًا مع القوس وفقًا للترتيب x1 x2 x3، ولكنه غير متسقٍ مع القوس (لا يوجد قيد بين x1 و x3؛ تم حذف الحواف المقابلة). كل قيمة لمتغير ذي فهرس أدنى تقابلها قيم لمتغيرات ذات فهرس أعلى. تشير علامات الاستفهام إلى النقاط التي لا ينطبق عليها العكس.

إذا كانت الخوارزمية تقيّم المتغيرات بالترتيب التاليx1،...،xن{\displaystyle x_{1},\ldots ,x_{n}}، لا تكون الاتساق مفيدة إلا عندما تضمن أن تكون قيم المتغيرات ذات المؤشر الأدنى متسقة مع قيم المتغيرات ذات المؤشر الأعلى.

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

بافتراض أن ترتيب تقييم المتغيرات هوx1،...،xن{\displaystyle x_{1},\ldots ,x_{n}}تكون مسألة إرضاء القيود متسقة اتجاهيًا إذا كان كل متغيرxأنا{\displaystyle x_{i}}هل يتوافق القوس مع أي متغير آخر؟xج{\displaystyle x_{j}}بحيثأنا<ج{\displaystyle i<j}اتساق المسار الاتجاهي مشابه، ولكنه يتضمن متغيرين.xأنا،xج{\displaystyle x_{i},x_{j}}يجب أن يكون المسار متسقًا معxz{\displaystyle x_{z}}فقط إذاأنا،ج<z{\displaystyle i,j<z}يعني التناسق القوي للمسار الاتجاهي كلاً من تناسق المسار الاتجاهي وتناسق القوس الاتجاهي. ويمكن تقديم تعريفات مماثلة لأنواع التناسق الأخرى.

نشر القيود لضمان اتساق القوس والمسار

تعتمد عملية نشر القيود، التي تفرض اتساق القوس الاتجاهي، على التكرار على المتغيرات من الأخير إلى الأول، حيث يتم في كل خطوة فرض اتساق القوس لكل متغير ذي فهرس أقل معه. إذا كان ترتيب المتغيرات هوx1،...،xن{\displaystyle x_{1},\ldots ,x_{n}}، تقوم هذه الخوارزمية بالتكرار على المتغيرات منxن{\displaystyle x_{n}}لx1{\displaystyle x_{1}}; للمتغيرxج{\displaystyle x_{j}}فهو يفرض اتساق القوس لكل متغير ذي فهرس أقل منج{\displaystyle j}معxج{\displaystyle x_{j}}.

مثال لا يتوافق مع اتجاه القوس:x1=2{\displaystyle x_{1}=2}لا يتوافق مع أي قيمة منx2{\displaystyle x_{2}}وx2=3{\displaystyle x_{2}=3}لا يتوافق مع أي قيمة منx3{\displaystyle x_{3}}لا يوجد قيد بينx1{\displaystyle x_{1}}وx3{\displaystyle x_{3}}(تم حذف الحواف المقابلة).يبدأ ضمان اتساق القوس الاتجاهي بـx3{\displaystyle x_{3}}، ويجعلx2{\displaystyle x_{2}}قوس متوافق معه عن طريق إزالة القيمةx2=3{\displaystyle x_{2}=3}.يتم تطبيق اتساق القوس الاتجاهي من خلالx2{\displaystyle x_{2}}. منذx2=3{\displaystyle x_{2}=3}تمت إزالته بالفعل، كلاهماx1=2{\displaystyle x_{1}=2}وx1=3{\displaystyle x_{1}=3}تتم إزالتها.

يمكن فرض اتساق المسار الاتجاهي واتساق المسار الاتجاهي القوي بواسطة خوارزميات مشابهة لتلك المستخدمة في اتساق القوس. وتقوم هذه الخوارزميات بمعالجة المتغيرات منxن{\displaystyle x_{n}}لx1{\displaystyle x_{1}}لكل متغيرxz{\displaystyle x_{z}}متغيرانxأنا،xج{\displaystyle x_{i},x_{j}}معأنا،ج<z{\displaystyle i,j<z}يتم أخذها في الاعتبار، وتناسق مسارها معxz{\displaystyle x_{z}}يتم تطبيق ذلك. لا يلزم إجراء أي عملية إذا لم تتضمن المسألة أي قيد علىxأنا{\displaystyle x_{i}}وxz{\displaystyle x_{z}}أو عدم وجود قيود بينxج{\displaystyle x_{j}}وxz{\displaystyle x_{z}}ومع ذلك، حتى لو لم يكن هناك قيد بينxأنا{\displaystyle x_{i}}وxج{\displaystyle x_{j}}يُفترض وجود قيد بسيط. إذا قلّص نشر القيد مجموعة التعيينات المُرضية، فإنه يُنشئ فعليًا قيدًا جديدًا غير بسيط. يُشابه نشر القيد الذي يفرض اتساقًا قويًا للمسار الاتجاهي هذا، ولكنه يفرض أيضًا اتساق القوس.

الاتساق الاتجاهي وإمكانية الإرضاء

يضمن الاتساق الاتجاهي إمكانية تعميم الحلول الجزئية التي تُحقق قيدًا ما بشكل متسق على متغير آخر ذي مؤشر أعلى. مع ذلك، لا يضمن هذا الاتساق أن تكون التعميمات على متغيرات مختلفة متسقة فيما بينها. على سبيل المثال، قد يُعمم حل جزئي بشكل متسق على متغيرxأنا{\displaystyle x_{i}}أو إلى متغيرxج{\displaystyle x_{j}}لكن هذين الامتدادين لا يتوافقان مع بعضهما البعض.

هناك حالتان لا يحدث فيهما هذا، ويضمن الاتساق الاتجاهي إمكانية الإرضاء إذا لم يكن أي مجال فارغًا ولم يكن أي قيد غير قابل للإرضاء.

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

ونتيجة لذلك، إذا كانت مشكلة القيد لها عرض 1 بالنسبة لترتيب متغيراتها (مما يعني أن الرسم البياني المقابل لها هو شجرة) وكانت المشكلة متسقة اتجاهيًا بالنسبة لنفس الترتيب، فيمكن إيجاد حل (إن وجد) عن طريق تعيين المتغيرات بشكل متكرر وفقًا للترتيب.

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

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

الاتساق الاتجاهي

تشير الخطوط الزرقاء إلى عدم وجود قيد بين x3 و x4، مما يسمح بكل زوج من القيم. في هذه الصور، يشير غياب الخطوط بين متغيرين ضمنيًا إلى عدم وجود قيد. عرض هذه المسألة هو 2.

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

يمكن جعل كل مشكلة ذات اتجاه قويأنا{\displaystyle i}متسق، ولكن هذه العملية قد تزيد من عرض الرسوم البيانية المقابلة لها. إجراء نشر القيود الذي يفرض الاتساق الاتجاهي مشابه للإجراء المستخدم لاتساق القوس الاتجاهي واتساق المسار. تُدرس المتغيرات بالتتابع، من الأخير إلى الأول وفقًا للترتيب. بالنسبة للمتغيرxك{\displaystyle x_{k}}تأخذ الخوارزمية في الاعتبار كل مجموعة منأنا-1{\displaystyle i-1}المتغيرات التي لها مؤشر أقل منك{\displaystyle k}وهم في وضع مقيد معxك{\displaystyle x_{k}}اتساق هذه المتغيرات معxك{\displaystyle x_{k}}يتم التحقق من ذلك، وربما فرضه، عن طريق إزالة التعيينات المُرضية من القيد من بين جميع هذه التعيينات.أنا{\displaystyle i}المتغيرات (إن وجدت، أو إنشاء متغير جديد في حالة عدم وجودها).

يؤدي فرض التناسق على x5 إلى إزالة الخط الأحمر، مما يُنشئ قيدًا جديدًا غير بديهي بين x3 و x4. ونتيجةً لذلك، يصبح x3 هو الأصل الجديد لـ x4، بالإضافة إلى x1 و x2. هذا التغيير يزيد العرض إلى 3.

تُنتج هذه العملية اتجاهًا قويًاأنا{\displaystyle i}- مثال متسق. ومع ذلك، قد يضيف أيضًا قيودًا جديدة إلى المثال. ونتيجة لذلك، حتى لو كان عرض المشكلة الأصليةأنا{\displaystyle i}قد يكون عرض المثال الناتج أكبر. في هذه الحالة، لا يعني الاتساق القوي الاتجاهي إمكانية الإرضاء حتى لو لم يكن أي مجال فارغًا ولم يكن أي قيد غير قابل للإرضاء.

مع ذلك، لا تُضيف عملية نشر القيود إلا قيودًا إلى المتغيرات التي تقل قيمتها عن قيمة المتغير الذي تُعالجه حاليًا. ونتيجةً لذلك، لا يتم تعديل أو إضافة أي قيد على متغير ما بمجرد أن تتعامل الخوارزمية مع هذا المتغير. بدلًا من النظر في قيمة ثابتةأنا{\displaystyle i}يمكن تعديلها لتشمل عدد آباء كل متغير مُعتبر (آباء المتغير هم المتغيرات ذات الفهرس الأقل من فهرس المتغير والتي ترتبط به بقيد). وهذا يُعادل النظر في جميع آباء متغير مُحدد في كل خطوة. بعبارة أخرى، لكل متغيرxأنا{\displaystyle x_{i}}من الأخير إلى الأول، يتم تضمين جميع آبائه في قيد جديد يحد من قيمهم إلى القيم المتوافقة معxأنا{\displaystyle x_{i}}بما أن هذه الخوارزمية يمكن اعتبارها تعديلاً للخوارزمية السابقة بقيمةأنا{\displaystyle i} يتم تغيير ذلك إلى عدد الآباء لكل عقدة، ويسمى ذلك الاتساق التكيفي .

تفرض هذه الخوارزمية اتجاهية قويةأنا{\displaystyle i}-الاتساق معأنا{\displaystyle i}يساوي العرض المُستحث للمسألة. تكون الحالة الناتجة قابلةً للحل إذا وفقط إذا لم يتم جعل أي مجال أو قيد فارغًا. في هذه الحالة، يمكن إيجاد حل بسهولة عن طريق تعيين قيمة عشوائية لمتغير غير مُعين بشكل متكرر، ونشر هذا التقييم الجزئي إلى متغيرات أخرى. لا تكون هذه الخوارزمية دائمًا ذات زمن متعدد الحدود، حيث أن عدد القيود المُدخلة من خلال فرض اتساق اتجاهي قوي قد يُؤدي إلى زيادة أسية في الحجم. ومع ذلك، يمكن حل المسألة في زمن متعدد الحدود إذا لم يُؤدِ فرض الاتساق الاتجاهي القوي إلى زيادة حجم الحالة بشكل فائق متعدد الحدود . ونتيجةً لذلك، إذا كان للحالة عرض مُستحث محدود بثابت، فيمكن حلها في زمن متعدد الحدود.

استبعاد الدلو

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

تعتمد خوارزمية حذف المجموعات على الانتقال من المتغير الأعلى إلى المتغير الأدنى بالتتابع. في كل خطوة، يتم تطبيق القيود الموجودة في مجموعات هذا المتغير.xأنا{\displaystyle x_{i}}تُؤخذ هذه القيود في الاعتبار. وبحسب التعريف، فإنها لا تشمل إلا المتغيرات الأقل منxأنا{\displaystyle x_{i}}تُعدّل الخوارزمية القيد بين هذه المتغيرات الأدنى (إن وُجد، وإلا فإنها تُنشئ قيدًا جديدًا). ​​وعلى وجه الخصوص، فإنها تُجبر قيمها على أن تكون قابلة للتمديد إلىxأنا{\displaystyle x_{i}}بما يتوافق مع القيود الموجودة في مجموعةxأنا{\displaystyle x_{i}}ثم يُوضع هذا القيد الجديد، إن وُجد، في الخانة المناسبة. بما أن هذا القيد لا يشمل إلا المتغيرات الأقل منxأنا{\displaystyle x_{i}}، تتم إضافته إلى مجموعة من المتغيرات التي تقل عنxأنا{\displaystyle x_{i}}.

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

بما أن الرسم البياني للمثال الناتج هو رسم بياني فرعي من الرسم البياني المُستحث، فإذا كان عرض الرسم البياني المُستحث محدودًا بقيمة ثابتة، فإن حجم المثال الناتج يكون متعدد الحدود بالنسبة لحجم المثال الأصلي. ونتيجة لذلك، إذا كان عرض المثال المُستحث محدودًا بقيمة ثابتة، فيمكن حله في وقت متعدد الحدود باستخدام الخوارزميتين.

الاتساق العلائقي

بينما تركز التعريفات السابقة للاتساق على اتساق التعيينات، فإن الاتساق العلائقي يقتصر على استيفاء قيد معين أو مجموعة من القيود. وبشكل أدق، يعني الاتساق العلائقي أنه يمكن توسيع كل تعيين جزئي متسق بحيث يتم استيفاء قيد معين أو مجموعة من القيود. رسميًا، القيد...ج{\displaystyle C}حول المتغيراتX{\displaystyle X}هل القوس العلائقي متسق مع أحد متغيراته؟x{\displaystyle x}إذا كان كل تكليف متسق لـX{x}{\displaystyle X\backslash \{x\}}يمكن توسيعه ليشملx{\displaystyle x}بهذه الطريقةج{\displaystyle C}راضٍ. الفرق بين "العادي"أنا{\displaystyle i}الاتساق والاتساق في القوس العلائقي هو أن الأخير يتطلب فقط أن يفي التعيين الموسع بقيد معين، بينما يتطلب الأول أن يفي بجميع القيود ذات الصلة.

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

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

بالنسبة لأكثر من قيدين، علائقيم{\displaystyle m}تم تعريف الاتساق. علائقيم{\displaystyle m}- يتضمن الاتساق مجموعة منم{\displaystyle m}القيود ومتغير يقع ضمن نطاق جميع هذه القيود. وعلى وجه الخصوص، هذهم{\displaystyle m}القيود علائقيةم{\displaystyle m}- يكون المتغير متسقًا مع المتغير إذا أمكن توسيع كل عملية إسناد متسقة لجميع المتغيرات الأخرى الموجودة في نطاقاتها لتشمل المتغير بطريقة تُلبّي هذه القيود. تكمن المشكلة فيم{\displaystyle m}متسقة علائقياً إذا كانت كل مجموعة منم{\displaystyle m}القيود علائقيةم{\displaystyle m}- متسق مع كل متغير موجود في جميع نطاقاته. علاقات قويةم{\displaystyle m}يُعرَّف الاتساق كما سبق: إنه خاصية من خصائص العلاقاتك{\displaystyle k}- متسق لكلك<م{\displaystyle k<m}.

يمكن تعريف الاتساق العلائقي لأكثر من متغير، بدلاً من متغير واحد. مجموعة منم{\displaystyle m}القيود علائقية(أنا،م){\displaystyle (i,m)}- متسق إذا كان كل تعيين متسق لمجموعة فرعية منأنا{\displaystyle i}يمكن توسيع نطاق متغيراتهم ليشمل تقييم جميع المتغيرات التي تستوفي جميع القيود. هذا التعريف لا يُوسّع التعريف السابق تمامًا، لأن المتغيرات التي يُفترض أن تكون التقييمات قابلة للتوسيع إليها ليست بالضرورة ضمن جميع نطاقات القيود المعنية.

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

الاتساق العلائقي وإمكانية الإرضاء

قد تكون مسألة إرضاء القيود متسقة علائقياً، ولا تحتوي على مجال فارغ أو قيد غير قابل للإرضاء، ومع ذلك تكون غير قابلة للإرضاء. ومع ذلك، توجد بعض الحالات التي لا يكون فيها هذا ممكناً.

الحالة الأولى هي حالة العلاقات القويةم{\displaystyle m}مشكلة متسقة عندما تحتوي المجالات على أكثر منم{\displaystyle m}العناصر. في هذه الحالة، تقييم متسق لـك{\displaystyle k}يمكن دائمًا توسيع المتغيرات لتشمل متغيرًا واحدًا آخر. إذاx1=أ1،...،xك=أك{\displaystyle x_{1}=a_{1},\ldots ,x_{k}=a_{k}}هذا التقييم وxك+1{\displaystyle x_{k+1}}المتغير، لا يوجد سوىم{\displaystyle m}القيم المحتملة التي يمكن أن يأخذها المتغير. إذا كانت جميع هذه القيم غير متسقة مع التقييم، فهناكم{\displaystyle m}القيود (غير الفريدة بالضرورة) التي يتم انتهاكها أثناء التقييم وإحدى قيمها المحتملة. ونتيجة لذلك، لا يمكن توسيع نطاق التقييم ليشمل جميع هذه القيود.م{\displaystyle m}القيود الأقل من أو تساويها، مما ينتهك شرط العلاقات القويةم{\displaystyle m}-تناسق.

أما الحالة الثانية فتتعلق بمقياس القيود، وليس بالمجالات. القيد هوم{\displaystyle m}يكون الشرط محكمًا إذا أمكن توسيع كل تقييم لجميع متغيراته باستثناء متغير واحد لتلبية القيد إما بجميع القيم الممكنة للمتغير الآخر أو بأكثر منم{\displaystyle m}من قيمها. مشكلة في امتلاكهام{\displaystyle m}تكون القيود الصارمة قابلة للتنفيذ إذا وفقط إذا كانت ذات علاقة قويةم+1{\displaystyle m+1}-ثابت.

مصفوفة محدبة صفية: القيم 1 في كل صف متجاورة (لا يوجد 0 بينها).

الحالة الثالثة هي حالة القيود الثنائية التي يمكن تمثيلها بمصفوفات محدبة الصفوف. يمكن تمثيل القيد الثنائي بمصفوفة ثنائية الأبعاد.م{\displaystyle M}، أينمأناج{\displaystyle M_{ij}}تكون القيمة 0 أو 1 اعتمادًا على ما إذا كانأنا{\displaystyle i}القيمة رقم -th في مجالxأنا{\displaystyle x_{i}}وج{\displaystyle j}القيمة رقم -th في مجالxج{\displaystyle x_{j}}تحقق الشرط. يكون صف هذه المصفوفة محدبًا إذا كانت جميع العناصر التي تحتويها من العدد 1 متتالية (بمعنى آخر، إذا كان عنصران يساويان 1، فإن جميع العناصر بينهما تساوي 1 أيضًا). وتكون المصفوفة محدبة صفّيًا إذا كانت جميع صفوفها محدبة.

تمثل كل مصفوفة القيد بين xᵢ و xⱼ₊₁ . إذا كانت a₁ ... aⱼₖ قيمًا لـ x₁ ... xⱼₖ ، فإن صفوف a₁ ... aⱼₖ في كل مصفوفة تحدد القيم المسموح بها لـ xⱼ₊₁ . يشير التحدب الصفّي والاتساق القوي للمسار العلائقي إلى وجود قيمة متسقة aⱼ₊₁ لـ xⱼ₊₁ .

الشرط الذي يجعل اتساق المسار العلائقي القوي مكافئًا لقابلية الإرضاء هو وجود مسائل إرضاء القيود التي يوجد فيها ترتيب للمتغيرات يجعل جميع القيود ممثلة بمصفوفات محدبة صفية. تستند هذه النتيجة إلى حقيقة أن مجموعة الصفوف المحدبة التي تحتوي على عنصر مشترك ثنائيًا تحتوي أيضًا على عنصر مشترك عالميًا. وبالنظر إلى التقييم علىك{\displaystyle k}المتغيرات، القيم المسموح بها لـك+1{\displaystyle k+1}يتم تحديد القيم من خلال اختيار بعض الصفوف من بعض القيود. على وجه الخصوص، لكل متغير من بينك{\displaystyle k}أحدها، الصف بالنسبة لقيمته في المصفوفة التي تمثل القيد الذي يربطه بـك+1{\displaystyle k+1}يمثل أحدها القيم المسموح بها للمتغير الأخير. ولأن هذه الصفوف محدبة، ولأنها تشترك في عنصر واحد بين كل زوج منها بسبب اتساق المسار، فإنها تشترك أيضًا في عنصر مشترك، يمثل قيمة المتغير الأخير المتوافقة مع القيم الأخرى.

استخدامات الاتساق المحلي

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

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

يُثبت الاتساق المحلي إمكانية الإرضاء في بعض الحالات المحدودة (انظر تعقيد إرضاء القيود#القيود ). وينطبق هذا على أنواع خاصة من المسائل و/أو على أنواع معينة من الاتساق المحلي. على سبيل المثال، يسمح فرض اتساق القوس على المسائل الثنائية غير الدورية بتحديد ما إذا كانت المسألة قابلة للإرضاء. كما أن فرض اتجاه قويأنا{\displaystyle i}- يسمح الاتساق بتحديد إمكانية إرضاء المشكلات التي أدت إلى اتساعأنا-1{\displaystyle i-1}وفقًا للترتيب نفسه. يسمح التناسق الاتجاهي التكيفي بتحديد إمكانية إرضاء أي مسألة.

انظر أيضاً

  • نشر القيود - أطروحة غيدو تاك تقدم مسحًا جيدًا للنظرية وقضايا التنفيذ

مراجع

  1. ريجين، جان-شارل (يوليو 1994). "خوارزمية ترشيح لقيود الاختلاف في مسائل إرضاء القيود" (ملف PDF) . وقائع مؤتمر AAAI . تم الاطلاع عليه بتاريخ 16 ديسمبر 2022 .