تخطّي إلى المحتوى
Kudos AI

نمذجة مسألة على هيئة قيود

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

الأساسياتالوحدة 125 دقيقة · 100 XP
خريطة أستراليا تتحوّل إلى بيان من سبع عقد وتسعة أحرف، ثم شجرة بحث تعدّ كل ترتيب إسناد تنهار إلى شجرة تعدّ كل إسناد مرة واحدة.

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

الصورة القياسية

مسألة إرضاء القيود ثلاثة أشياء.

  • مجموعة متغيّرات X1,…,XnX_1, \dots, X_n.
  • ومجال DiD_i لكلٍّ منها، أي القيم التي يجوز أن يأخذها.
  • ومجموعة قيود، يقيّد كلٌّ منها القيمَ التي يجوز لمجموعة جزئية من المتغيّرات أن تأخذها في آنٍ واحد.

والإسناد يعطي قيمًا لبعض المتغيّرات أو لها جميعًا. وهو متّسق إن لم يخرق أي قيد، وتامّ إن كان لكل متغيّر قيمة، وحلّ إن كان الأمرين معًا.

المثال: تلوين خريطة

لوّن كل إقليم من أقاليم أستراليا بحيث لا يشترك إقليمان متجاوران في لون. سبعة متغيّرات - أستراليا الغربية، والإقليم الشمالي، وكوينزلاند، ونيو ساوث ويلز، وفيكتوريا، وأستراليا الجنوبية، وتسمانيا - لكلٍّ منها المجال {red,green,blue}\{\text{red}, \text{green}, \text{blue}\}، وقيدٌ واحد لكل حدود مشتركة:

WA≠NT,WA≠SA,NT≠SA,NT≠Q,SA≠Q,\mathrm{WA} \neq \mathrm{NT},\quad \mathrm{WA} \neq \mathrm{SA},\quad \mathrm{NT} \neq \mathrm{SA},\quad \mathrm{NT} \neq \mathrm{Q},\quad \mathrm{SA} \neq \mathrm{Q}, SA≠NSW,SA≠V,Q≠NSW,NSW≠V.\mathrm{SA} \neq \mathrm{NSW},\quad \mathrm{SA} \neq \mathrm{V},\quad \mathrm{Q} \neq \mathrm{NSW},\quad \mathrm{NSW} \neq \mathrm{V} .

تسعة قيود. وتسمانيا جزيرة، فلا تظهر في أيٍّ منها.

بيان القيود

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

SA5NT, Q, NSW3WA, V2T0\begin{array}{ll} \mathrm{SA} & 5 \\ \mathrm{NT},\ \mathrm{Q},\ \mathrm{NSW} & 3 \\ \mathrm{WA},\ \mathrm{V} & 2 \\ \mathrm{T} & 0 \end{array}

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

وهناك 18 تلوينًا صحيحًا في المجموع، أي ستة تلوينات متمايزة للبرّ الرئيس مضروبة في ثلاثة خيارات لتسمانيا.

Python

يعمل في متصفحك. تُنزّل عملية التشغيل الأولى بيئة بايثون (~10 ميغابايت)، ثم تُخزّن مؤقتًا.

لوّنها بنفسك أدناه، وراقب القراءة الثانية لا الأولى. فهي تعدّ التلوينات السليمة التي ما زالت تُتمّ ما أسندته، وهي تصحّح قراءتين للفقرة السابقة.

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

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

تفاعلي: بيان القيود، وما يُخفيه

انقر على منطقة لتبديل لونها.

WAالدرجة 2NTالدرجة 3Qالدرجة 3NSWالدرجة 3Vالدرجة 2SAالدرجة 5Tالدرجة 0
القيود المخروقة
0
التلوينات الممكنة بعدُ
18
المناطق المُسنَدة
0 / 7
التلوينات جميعًا
18

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

الإبدالية، ولماذا تساوي 5,040

يعامل البحث الساذج «أسند WA ثم NT» و«أسند NT ثم WA» فرعين مختلفين. وعُدّ أوراق تلك الشجرة: n!n! ترتيبًا مضروبة في dnd^n تركيبة قيم،

7!×37=5,040×2,187=11,022,480.7! \times 3^7 = 5{,}040 \times 2{,}187 = 11{,}022{,}480 .

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

dn=37=2,187,d^n = 3^7 = 2{,}187 ,

أي أصغر بعامل 5,0405{,}040، ودون أي تنازل. وهذا ليس إرشادًا ولا تقريبًا؛ بل هو حشو في الصياغة الساذجة ما كان ينبغي أن يوجد أصلًا. وكل خوارزمية في هذا المسار تفترضه.

الصورة نفسها، مسائل أخرى

والمقصود من الصورة القياسية أن تحطّ فيها مسائل لا صلة بين بعضها وبعض.

  • الجدولة. متغيّر واحد لكل مهمّة، قيمته زمن بدئها. وقيدُ الأسبقية القائل بأن المهمّة T1T_1 ذات المدّة d1d_1 تنتهي قبل أن تبدأ T2T_2 هو T1+d1≤T2T_1 + d_1 \le T_2. والموعد النهائي تقييد على كل مجال. والأداة المشتركة تصير قيدًا فصليًا: إمّا A+10≤BA + 10 \le B وإمّا B+10≤AB + 10 \le A.
  • السودوكو. واحد وثمانون متغيّرًا، واحد لكل مربّع، بالمجال {1,…,9}\{1, \dots, 9\} ومجالات أحادية للمعطيات. وسبعة وعشرون قيدَ اختلافٍ تامّ، واحد لكل صفّ وعمود وصندوق.
  • الملكات الثماني. متغيّر واحد لكل عمود، قيمته الصفّ، مع قيود تمنع وجود ملكتين على صفّ واحد أو قطر واحد.

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

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

أبعد من المجالات المنتهية

لا يلزم أن تكون المجالات صغيرة ولا حتى منتهية. فقد يكون المجال المنفصل غير منتهٍ، كالأعداد الصحيحة، وعندئذ لا يمكن سرد القيود أزواجًا مسموحة، بل تلزم لغة قيود للتعبير عن T1+d1≤T2T_1 + d_1 \le T_2 مباشرةً. وللقيود الخطّية على الأعداد الصحيحة حلّالات مخصّصة؛ أما القيود غير الخطّية العامة على الأعداد الصحيحة فلا حلّالات لها، ولا يمكن أن تكون، إذ لا توجد خوارزمية لها أصلًا.

قبل الاختبار

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

المراجع والقراءات الإضافية

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· مكتبة مراجع Kudos AI

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

افتح المسار كاملًا

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