مساله های ارضای محدودیت (CSP)

Download Report

Transcript مساله های ارضای محدودیت (CSP)

Constraint Satisfaction
Problems
(CSP)
‫• مساله ارضای محدودیت به وسیله مجموعه ای از متغیرهای ‪ X1,X2,… , Xn‬و مجموعه ای از محدودیت‬
‫های ‪ C1, C2, … , Cn‬تعریف می شود‪.‬‬
‫• هر متغیر ‪ Xi‬دارای یک دامنه ناتهی ‪ Di‬با مقادیر ممکن است‪.‬‬
‫• هر محدودیت ‪ Ci‬شامل زیر مجموعه های ی از متغیرها و ترکیب های ممکنی از مقادیر برای ان زیرمجموعه هاست‪.‬‬
‫• هر حالت مساله با انتساب مقادیری به چند یا تمام متغیرها تعریف می شود‪:‬‬
‫}… ‪• {Xi = vi, Xj = vj ,‬‬
‫• انتسابی که هیچ محدودیتی را نقض نکند‪ ،‬انتساب سازگار یا معتبر نام دارد‪.‬‬
‫• انتساب کامل ان است که هر متغیری در ان باشد‪.‬‬
‫• راه حل ‪ CSP‬یک انتساب کامل است اگر تمام محدودیتها را براورده کند‪.‬‬
‫• بعضی از ‪ CSP‬ها به راه حل های ی نیاز دارند که تابع هدف را بیشینه کنند‪.‬‬
‫• عمق هر راه حل‪ ،‬اگر ‪ n‬متغیر وجود داشته باشد‪ n ،‬است‪.‬‬
‫• الگوریتمهای عمقی برای ‪ CSP‬ها مناسب اند‪.‬‬
‫گراف محدودیت‬
‫فرمول بندی افزایشی‬
‫•حالت اولیه‪ :‬انتساب خالی }{ بدون متغیر‬
‫•تابع جانشین‪ :‬انتساب یک مقدار به یک متغیر به شرط رعایت محدودیت‬
‫•ازمون هدف‪ :‬انتساب کامل‬
‫•هزینه مسیر‪ :‬هزینه ثابت برای هر مرحله‬
‫چون مسیر رسیدن به راه حل مهم نیست می توان از فرمول بندی کامل نیز استفاده کرد‪.‬‬
‫مساله های ارضای محدودیت (‪)CSP‬‬
‫یک نمونه راه حل‬
‫ساده ترین نوع ‪ CSP‬ها شامل متغیرهای ی است که گسسته اند و دامنههای متناهی دارند‪ .‬مثل رنگ امیزی نقشه و‬
‫مساله هشت وزیر‬
‫محدوديتها به گونههاي مختلفي ظاهر ميشوند‪:‬‬
‫‪ ‬محدوديتهاي يک تا‬
‫‪ ‬محدوديتهاي دودوي ي‬
‫محدوديتهاي مطلق •‬
‫محدوديتهاي اولويتدار•‬
‫‪CSP‬ها ميتوانند توسط الگوريتمهاي جستجوي ‪ general-purpose‬حل شوند‪ ،‬اما به علت ساختار‬
‫خاص انها‪ ،‬الگوريتمهاي ي صرفا براي ‪ CSP‬ها طرح ميشوند که از الگوريتمهاي عمومي کاراي ي بهتري دارند‪.‬‬
‫تعویض پذیری یکی از خواص مهم ‪CSP‬‬
‫جستجوی عقبگرد‪ ،‬با استفاده از روش یک مقدار در هر زمان‬
‫مقادیر باقیمانده کمینه (‪)Minimum Remaining Values‬‬
‫پس از انتساب‬
‫‪WA = red‬‬
‫‪NT = green‬‬
‫فقط یک مقدار برای ‪ SA‬وجود دارد‬
‫به جای ‪ Q‬قدم بعدی ‪ SA = blue‬انجام می شود‪.‬‬
‫وقتی انتساب به ‪ X‬صورت می گیرد‪ ،‬فرایند بررسی پیش رو‪ ،‬متغیرهای بدون‬
‫انتساب مثل ‪ Y‬را در نظر می گیردکه از طریق یک محدودیت به ‪ X‬متصل است‬
‫و هر مقداری را که با مقدار انتخاب شده برای ‪ X‬برابر است‪ ،‬از دامنه ‪ Y‬حذف‬
‫می کند‪.‬‬
‫• جست و جوی محلی با اک تشاف کمترین برخورد‬
‫• انتخاب مقداري كه كمترين برخورد را با متغيرهاي ديگر ايجاد كند‬