نمی دونم پروژه چه درسیه ولی توی هوش مصنوعی یه همچین الگریتم هایی به نام (CPS) مسائل ارضای محدودیت هستش .
من در اینجا مسئله می خواهم نقشه کشور استرالیا رو طوری رنگ امیزی کنم که بین سه رنگ آبی ، قرمز و سبز هیچ وقت دو رنگ مشابه کنار هم نباشند .
روش اول : رنگ ها رو در خانه تا پخش و هر دو رنگ مشابه ای که وجود داشت جایش را با خانه بقلی عوض کنه . (این روش نه کهمله و نه بهینه)
روش دوم : انتساب یک مقدار به هر خانه فاقد مقدار، به شرطی که با خانه هایی که قبالا مقدار گرفته بودند ، تضاد نداشته باشه. (این روش کامله ولی بهینه نیست)
روش سوم :انتخاب مقادیر یک خانه در هر سطح و عقبگرد در صورت عدم وجود مقداری معتبر برای انتساب به متغیر.
(کامل هست ولی برای مثائل خیلی بزرگ بهینه نیست)
شما می تونی از روشهای Forward Checking و Arc Consistency هم استفاده کنید که درصد کامل و بهینگیشون بیشتره ولی باز هم در مثائل حریصانی به خاطر حرص و ولع زیاد یه مشکلی دارن در کل میشه گفت این گونه الگیریتم ها کامل و بهینگیشون به بزرگی مثئله و طریقه پیاده سازیشون بستگی داره . . .
پیشنهاد برای کد نویسی :
شما از سیستم خاصیت buttom.background رو بگیر و اون رو با خصوصیات رنگ خانه های بعدی مقایسه کنید .