X1 , X2 - ghobaei.ir
Download
Report
Transcript X1 , X2 - ghobaei.ir
هوش مصنوعي
فصل پنجم
مسائل ارضای محدوديت
هوش مصنوعي
Artificial Intelligence
فهرست
ارضای محدوديت چيست؟
جست و جوی عقبگرد برای CSP
بررس ی پيشرو
پخش محدوديت
مسائل ارضای محدوديت
ارضای محدوديت ( )CSPچيست؟
مجموعه متناهی از متغيرها؛ X1, X2, …, Xn
مجموعه متناهی از محدوديتها؛ C1, C2, …, Cm
دامنه های ناتهی برای هر يک از متغيرها؛ DX1,DX2,…,DXn
هر محدوديت Ciزيرمجموعه ای از متغيرها و ترکيبهای ممکنی از مقادير برای آن زيرمجموعه ها
هر حالت با انتساب مقاديری به چند يا تمام متغيرها تعريف ميشود
انتسابی که هيچ محدوديتی را نقض نکند ،انتساب سازگار نام دارد
انتساب کامل آن است که هر متغيری در آن باشد
راه حل CSPيک انتساب کامل است اگر تمام محدوديتها را برآورده کند
بعض ی از CSPها به راه حلهايي نياز دارند که تابع هدف را بيشينه کنند
مسائل ارضای محدوديت
مثال :CSPرنگ آميزی نقشه
متغيرهاWA, NT, Q, NSW, V, SA, T :
دامنه{ :آبی ،سبز ،قرمز} = Di
محدوديتها :دو منطقه مجاور ،همرنگ نيستند
مثال WA ≠ NT :يعنی ) (WA,NTعضو
{(قرمز,سبز(),قرمز,آبی(),سبز,قرمز)،
(سبز,آبی(),آبی,قرمز(),آبی,سبز)}
مسائل ارضای محدوديت
راه حل انتساب مقاديری است که محدوديتها را ارضا کند
مسائل ارضای محدوديت
گراف محدوديت
در گراف محدوديت:
گره ها :متغيرها
يالها :محدوديتها
گراف برای ساده تر کردن
جست و جو بکار ميرود
متغیرها در یک مسله CSP
در هر مسله CSPمجموعه ای متناهی از متغیرها وجود دارد آنها را با حروف زیر می شناسیم :
X1 , X2 , … , Xn
در مسئله رنگ آمیزی استرالیا متغیرها اسم ایاالت و استان ها می باشند :
} { WA , NT , Q , NSW , V , SA , T
دامنه یک متغیر در یک مسله CSP
در هر مسله CSPمتغیرها نمی توانند هر مقداری بگیرند بلکه مقادیری که متغیرها
می توانند بگیرند دامنه میگویم آنها را با عالئم زیر نشان می دهیم :
DX1 , DX2 , … , DXn
در مسئله رنگ آمیزی استرالیا با سه رنگ قرمز و سبز و آبی دامنه هر متغیر میشود :
} { Red , Blue , Green
محدودیت یک متغیر در یک مسله CSP
برای هر مسله CSPیک سری محدودیت ها تعریف میشود ما آنها را با عالئم زیر نشان می دهیم :
C 1 , C 2 , … , Cm
در مسئله رنگ آمیزی استرالیا با سه رنگ قرمز و سبز و آبی محدودیت به شکل زیر تعریف میشود :
دو منطقه مجاور ،همرنگ نيستند
حالت در یک مسله CSP
هر حالت با انتساب مقاديری به چند يا تمام متغیرها تعريف ميشود :
} { WA = Red , NT = Green , Q = Red , NSW = Green , V = Red, SA = Blue , T = Green
گراف محدودیت در یک مسله CSP
برای ساده سازی بهتر است یک گراف داشته باشیم با قرارداد زیر :
الف ) هر متغیر را یگ راس در نظر بگیرید .
ب ) محدودیت ها را با یال نشان دهیم .
NT
Q
WA
SA
NSW
V
گراف محدودیت مسئله
T
انتساب کامل در یک مسله CSP
انتساب کامل آن است که هر متغیری در آن باشد
یک مثال از انتساب کامل :
} { WA = Red , NT = Green ,Q = Red , NSW = Green , V = Red, SA = Green,T = Green
یک مثال از انتساب غیر کامل :
} = NSW = Green , V = Red , SA = Blue , T
Q= ,
NT = ,
{ WA = Red ,
از طرفی انتسابی که هيچ محدوديتی را نقض نکند ،انتساب سازگار نام دارد مانند :
} { WA = Red , NT = Green , Q = Red , NSW = Green , V = Red, SA = Blue , T = Green
مسائل ارضای محدوديت
مثال :CSPرمزنگاری
متغيرهاF,T,U,W,R,O,X1,X2,X3:
محدوديتها F,T,U,R,O,W :مخالفند
دامنه9{:و8و7و6و5و4و3و2و1و}0
... - O+O=R+10.X1 -
:Cryptarithmetic
در مسائل کريپتاريتمتيک ،حروف به جاي ارقام مينشينند و هدف يافتن جايگزيني از اعداد براي حروف
ً
است که مجموع نتيجه از نظر رياض ي درست باشد .معموال هر حرف بايد به جاي يک رقم مختلف
بنشينند.
مثال:
F=2, O=9, R=7, etc.
29786
FORTY
+ 850
+ TEN
+ 850
+ TEN
----------
----------
31486
SIXTY
مسائل ارضای محدوديت
نمايش حالتها در CSPاز الگوی استانداردی پيروی ميکند
برای CSPميتوان فرمول بندی افزايش ي ارائه کرد:
حالت اوليه :انتساب خالی{} که در آن ،هيچ متغيری مقدار ندارد
تابع جانشين :انتساب يک مقدار به هر متغير فاقد مقدار ،به شرطی که با
متغيرهايي که قبال مقدار گرفتند ،متضاد نباشند
آزمون هدف :انتساب فعلی کامل است
هزينه مسير :هزينه ثابت برای هر مرحله
چند نکته در CSP
ساده ترین نوع CSPزمانی می شود که متغیرها گسسته و دامنه آنها متناهی باشد .
مثال :در هشت وزیر متغیرها { }v1 , v2 , v3 , … , v8و دامنه { }1, 2 , 3 , … , 8می باشد
{ } v1=4 , v2=2 , v3=8 , v4=6 , v5=1 , v6=3 , v7=5 , v8= 7
{ } v1=5 , v2=3 , v3=7 , v4=4 , v5=5 , v6=6 , v7=7 , v8= 6
برای CSPميتوان فرمول بندی افزايش ي ارائه کرد
حالت اوليه :انتساب خالی{} که در آن ،هيچ متغیری مقدار ندارد.
تابع جانشین :انتساب يک مقدار به هر متغیر فاقد مقدار ،به شرطی که با
متغیرهايي که قبال مقدار گرفتند ،متضاد نباشند.
آزمون هدف :انتساب فعلی کامل است.
هزينه مسیر :هزينه ثابت برای هر مرحله.
مسئله چهار وزیر را فرمول بندی افزايش ي می کنیم
حالت اوليه :انتساب خالی{} که در آن ،هيچ متغیری مقدار ندارد.
{ = , v4
= v3
,
= , v2
= }v1
مسئله چهار وزیر را فرمول بندی افزايش ي می کنیم
تابع جانشین :انتساب يک مقدار به هر متغیر فاقد مقدار ،به شرطی که با متغیرهايي که قبال مقدار گرفتند ،متضاد
نباشند.
تابع جانشین فراخوانی شد
{ = , v4
,
= v3
, v2 = 1
= }v1
تابع جانشین دوباره فراخوانی شد
{ = , v4
,
v3 = 3
, v2 = 1
= }v1
تابع جانشین دوباره فراخوانی شد
{ = , v4
v3 = 3
,
, v2 = 1
}v1 =4
مسئله چهار وزیر را فرمول بندی افزايش ي می کنیم
آزمون هدف :انتساب فعلی آیا کامل است.
تابع جانشین فراخوانی شو د
انتساب کامل نیست پس
تابع جانشین فراخوانی شود
{ = }v1 =2 , v2 = , v3 = , v4
تابع جانشین فراخوانی شو د
انتساب کامل نیست پس
تابع جانشین فراخوانی شود
{ = }v1 =2 , v2 = 4 , v3 = , v4
تابع جانشین فراخوانی شو د
انتساب کامل نیست پس
تابع جانشین فراخوانی شود
{ = }v1 =2 , v2 = 4 , v3 =1 , v4
تابع جانشین فراخوانی شو د
چون انتساب کامل ا ست پس
تابع جانشین فراخوانی نمی شود
و وارد فاز محاسبه
هزینه میشویم
{ }v1 =2 , v2 = 4 , v3 =1 , v4 =3
C= C1+C2+C3+C4= 1+ 1 + 1 + 1= 4
مسائل ارضای محدوديت
جست و جوی عقبگرد برای CSP
جست و جوی عمقي
انتخاب مقادير يک متغير در هر زمان و عقبگرد در صورت عدم وجود
مقداری معتبر برای انتساب به متغير
يک الگوريتم ناآگاهانه است
برای مسئله های بزرگ کارآمد نيست
مسائل ارضای محدوديت
مثال جست و جوی عقبگرد برای CSP
مسائل ارضای محدوديت
مثال جست و جوی عقبگرد برای CSP
مسائل ارضای محدوديت
مثال جست و جوی عقبگرد برای CSP
مسائل ارضای محدوديت
مثال جست و جوی عقبگرد برای CSP
الگوریتم جستجوی عقبگرد چیست ؟
ترتیب انتخاب متغیرها برای مقدار دادن
می خواهیم یک مسئله cspرا حل کنیم چکاری انجام دهیم که بدون نیاز به عقبگرد به سمت حل
نهایی رویم ؟
ً
مثال در مسئله چهار وزیر کدام انتساب را انجام دهیم ؟
{ = , v4
= v3
}v1 = 1 , v2 = ,
{ = , v4
= v3
}v1 = 2 , v2 = ,
{ = , v4
= v3
}v1 = 3 , v2 = ,
{ = , v4
= v3
}v1 = 4 , v2 = ,
ترتیب انتخاب متغیرها برای مقدار دادن
یا فرض کنید می خواهیم رنگ آمیزی گراف زیر را تنها با 3رنگ انجام دهیم از کدام راس شروع به رنگ کردن بکنیم تا نیاز
به سه رنگ بیشتر نشود ؟
3
2
5
4
6
1
ترتیب انتخاب متغیرها برای مقدار دادن
قضیه :برای تعیین ترتیب درست انتخاب در مسائل cspاز هیوروستیک های زیر استفاده
میشود :
الف ) هیورستیک MRV
ب ) هیورستیک درجه
NT
Q
WA
SA
NSW
V
T
مسائل ارضای محدوديت
مقادير باقيمانده کمينه()MRV
انتخاب متغيری با کمترين مقادير معتبر
متغيری انتخاب ميشود که به احتمال زياد ،بزودی با شکست مواجه شده و درخت
جست و جو را هرس ميکند
هیورستیک درجه
در ابتدای کار هیورستیک MRVبکار نمی رود زیرا هر ناحیه سه رنگ معتبر دارد .در این مواقع از هیورستیک درجه
استفاده میکنیم .هیورستیک درجه سعی می کند فاکتور انشعاب
را برای انتخاب های آینده کم کند .به این منظور متغیری را انتخاب می کند که بیشترین
محدودیت را روی متغیرهای که انتساب نشده اند ایجاد کند .
NT
Q
WA
SA
NSW
V
T
مسائل ارضای محدوديت
اکتشاف درجه ای
سعی ميکند فاکتور انشعاب را در انتخاب آينده کم کند
متغيری انتخاب ميکند که در بزرگترين محدوديتهای مربوط به متغيرهای بدون انتساب
قرار دارد
مسائل ارضای محدوديت
اکتشاف مقداری باکمترين محدوديت
اين روش مقداری را ترجيح ميدهد که در گراف محدوديت ،متغيرهای همسايه به ندرت
آن را انتخاب ميکنند
سعی بر ايجاد بيشترين قابليت انعطاف برای انتساب بعدی متغيرها
مسائل ارضای محدوديت
بررس ی پيشرو
وقتی انتساب به Xصورت ميگيرد ،فرايند بررس ی پيشرو ،متغيرهای بدون
انتساب مثل Yرا در نظر ميگيرد که از طريق يک محدوديت به Xمتصل
است و هر مقداری را که با مقدار انتخاب شده برای Xبرابر است ،از
دامنه Yحذف ميکند
مسائل ارضای محدوديت
بررس ی پيشرو
مسائل ارضای محدوديت
بررس ی پيشرو
مسائل ارضای محدوديت
بررس ی پيشرو
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{1,2,3,4
X1
}{1,2,3,4
X4
}{1,2,3,4
X3
}{1,2,3,4
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{1,2,3,4
X1
}{1,2,3,4
X4
}{1,2,3,4
X3
}{1,2,3,4
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , ,3,4
X1
}{1,2,3,4
X4
} { ,2,3,
X3
}{ ,2, ,4
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , ,3,4
X1
}{1,2,3,4
X4
} { ,2,3,
X3
}{ ,2, ,4
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , ,3,4
X1
}{1,2,3,4
X4
} { ,2, ,
X3
} { , , ,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{1,2,3,4
X1
}{ ,2,3,4
X4
}{1,2,3,4
X3
}{1,2,3,4
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
}{1, ,3,4
X3
} {1, ,3,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
}{1, ,3,4
X3
} {1, ,3,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
} {1, ,3,
X3
} {1, , ,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
} {1, ,3,
X3
} {1, , ,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
} { , ,3,
X3
} {1, , ,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
مثال :مسئله -4وزير
X2
}{ , , ,4
X1
}{ ,2,3,4
X4
} { , ,3,
X3
} {1, , ,
X1 X2 X3 X4
1
2
3
4
مسائل ارضای محدوديت
پخش محدوديت
پخش الزام محدوديتهای يک متغير به متغيرهای ديگر
مثال :پخش محدوديتهای WAو Qبه NTو SA
مسائل ارضای محدوديت
سازگاری يال
روش سريعی برای پخش محدود و قويتر از بررس ی پيشرو
يال؛ يال جهت دار در گراف محدوديت
بررس ی سازگاری يال
يک مرحله پيش پردازش ،قبل از شروع جستجو
يک مرحله پخش ی پس از هر انتساب در حين جستجو
مسائل ارضای محدوديت
مثال :سازگاری يال
SA NSWسازگار است اگر
SA=blue and NSW=red
مسائل ارضای محدوديت
مثال :سازگاری يال
NSW SA سازگار است اگر
SA=blue and NSW=red
???=NSW=blue and SA
يال ميتواند سازگار شود با حذف blueاز NSW
مسائل ارضای محدوديت
مثال :سازگاری يال
يال ميتواند سازگار شود با حذف blueاز NSW
حذف redاز V
مسائل ارضای محدوديت
مثال :سازگاری يال
يال ميتواند سازگار شود با حذف blueاز NSW
حذف redاز V
تکرار تا هيچ ناسازگاری باقی نماند
مسائل ارضای محدوديت
سازگاری K
سازگاری يال تمام ناسازگاريهای ممکن را مشخص نميکند
با روش سازگاری ،Kشکلهای قويتری از پخش را ميتوان تعريف کرد
در ص ووورتی CSPس ووازگاری Kاس ووت ،ک ووه ب ورای ه وور k-1متغي وور و ب ورای ه وور
انتساب سازگار با آن متغيرها ،يک مقدار سازگار ،هميشوه بتوانود بوه متغيور kام
نسبت داده شود
مسائل ارضای محدوديت
بطور مثال:
سازگاری K
سازگاری :1هر متغير با خودش سازگار است(سازگاری گره)
سازگاری :2مشابه سازگاری يال
سازگاری :kبسط هر جفت از متغيرهای همجوار به سومين متغير همسايه(سازگاری مسير)
گراف در صورتی قويا سازگار Kاست که:
سازگار kباشد
همچنين سازگار k-1و سازگار k-2و ...سازگار 1باشد
در اين صورت ،مسئله را بدون عقبگرد ميتوان حل کرد
پيچيدگی زمانی آن ) O(ndاست
مسائل ارضای محدوديت
جست و جوی محلی در مسائل ارضای محدوديت
بسياری از CSPها را بطور کارآمد حل ميکنند
حالت اوليه ،مقداری را به هر متغير نسبت ميدهد
تابع جانشين ،تغيير مقدار يک متغير در هر زمان
انتخاب مقدار جديد برای يک متغير
انتخاب مقداری که کمترين برخورد را با متغيرهای ديگر ايجاد کند(اکتشاف برخورد کم)
زمان اجرای برخورد کم مستقل از اندازه مسئله است
برخورد کم ،برای مسئله های سخت نيز کار ميکند
جست و جوی محلی ميتواند در صورت تغيير مسئله ،تنظيمات Onlineرا
انجام دهد
مسائل ارضای محدوديت
مثال
راه حل دو مرحله ای برای مسئله 8وزير با استفاده از کمترين برخورد
در هر مرحله ،يک وزير برای انتساب مجدد در ستون خودش انتخاب ميگردد
تعداد برخوردها در هر مربع نشان داده شده است
الگوريتم وزير را به مربعي با کمترين برخورد انتقال ميدهد ،بطوريکه گره ها را بطور تصادفی ميشکند
71