Transcript Power Point
مسائل ارضاء محدوديت
تهيه کننده :عبدالرضا ميرزايي
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سرفصل مطالب
مسائل ارضاء محدوديت
كاربرد جستجوهاي عمومي در حل CSP
جستجوي عقبگرد backtrackingبراي مسائل ارضاء
محدوديت
جستجوي محلي براي مسائل ارضاء محدوديت
2
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مسائل ارضاء محدوديت
• مسأله جستجوي استاندارد
– حالت يك “ جعبه سياه” است – هر ساختار داده اي كه از تابع
حاالت بعدي ،تابع هيوريستيك و تست هدف پشتيباني كند.
• :CSP
– حالت توسط متغيرهاي Xiتعريف مي شود كه هر يك
مقاديرشان را از يك دامنه Diانتخاب مي کنند.
– تست هدف مجموعه اي از محدوديت ها مي باشد كه تركيبات
مجاز مقادير براي زيرمجموعه اي از متغيرها را مشخص مي
كند.
• امكان استفاده از الگوريتم هاي همه منظوره كه نسبت به
3
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
الگوريتم هاي استاندارد قدرت بيشتري دارند.
مثال :رنگ آميزي نقشه
• متغيرهاWA, NT, Q, NSW, V, SA, T :
• دامنه هاDi = {red,green,blue} :
• محدوديت ها :نواحي همسايه بايد رنگ متفاوتي داشته باشند مثال
WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),(green,red),
})(green,blue), (blue,red),(blue,green
4
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال :رنگ آميزي نقشه
• راه حل ها انتساب هاي كامل و سازگار مي باشند.
• مثال :
WA = red, NT = green,Q = red,NSW = green,V = red,SA = blue,T = green
5
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مزاياي بيان مسأله به صورت CSP
• به دليل نمايش استاندارد حالت ها (مجموعه متغيرهايي با
مقدارشان) ،مي توان تابع Successorو آزمون هدف را به
شكل كلي نوشت به طوريكه براي هر CSPقابل اعمال
باشد.
• مي توان هيوريستيك هاي كلي و كارايي ايجاد كرد كه نياز
به تخصص اضافي در دامنه خاص مسأله نداشته باشند.
6
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
انواع مسائل CSP
• متغيرهاي گسسته
– دامنه هاي محدود:
nمتغير ،اندازه هر دامنه : dتعداد انتساب هاي كامل)O(dn
مثال CSPهاي بولين n ،وزير ،رنگ آميزي نقشه و ...
– دامنه هاي نامحدود:
اعداد صحيح ،رشته ها و ...
مثال :زمانبندي كارها -متغيرها ،زمان شروع/پايان هر كار هستند.
نياز به زبان محدوديت دارند .مثالStartJob1 + 5 ≤ StartJob3 :
• متغيرهاي پيوسته
– مثال :زمان هاي شروع و پايان مشاهدات تلسكوپ فضايي هابل
– اگر محدوديت ها خطي :توسط برنامه ريزي خطي قابل حل در زمان
چندجمله اي مي باشند.
7
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
انواع محدوديت ها
• يكاني ( )unaryروي يك متغير تعريف مي شود،
• مثال
SA ≠ green
• دوگاني ( )binaryمحدوديت شامل يك زوج از متغيرها مي
باشد،
• مثال
SA ≠ WA
• محدوديت مرتبه باالتر( )Higher-orderشامل سه يا بيشتر
متغير است،
• مثال :محدوديت هاي موجود در ستون هاي مسائل رياضيات رمزي
• در صورت متناهي بودن دامنه ،مي تواند به تعدادي محدوديت دوديي
كاهش يابد.
8
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
انواع محدوديت ها
• محدوديت مطلق
• محدوديت هايي که نبايد هيچ يک از آنها در راه حل نقض شود.
• محدوديت ترجيحي (نرم):
preference constraint
• مثال ،استاد تمايل به تدريس در صبح دارد.
• اغلب بوسيله در نظر گرفتن هزينه براي انتساب متغيرها
9
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
گراف محدوديت
• CSPدوگاني ()Binary CSP
• CSPکه داراي محدوديت هاي دودويي
باشد
• گراف محدوديت:
گره ها متغيرها را نشان مي دهند. يالهاي گراف محدوديت ها ي بينمتغيرها را نشان مي دهند.
10
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
گراف محدوديت مثال
رنگ آميزي نقشه
رياضيات رمزي:مثال
• Variables: F T U W R O X1 X2 X3
• Domains: {0,1,2,3,4,5,6,7,8,9}
• Constraints: Alldiff (F,T,U,W,R,O)
•
•
•
•
O + O = R + 10 · X1
X1 + W + W = U + 10 · X2
X2 + T + T = O + 10 · X3
X3 = F, T ≠ 0, F ≠ 0
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
11
مسائل ارضاء محدوديت در دنياي واقعي
• مسائل انتسابي
Assignment problems
– مثال ،چه كسي چه كالسي را درس مي دهد.
• مسائل تعيين جدول زمانبندي
Timetabling problems
– مثال ،كدام كالس ،كجا وكي ارائه مي شود؟
• زمانبندي حمل و
• زمانبندي كارخانه Factory scheduling
• توجه :بسياري از مسائل در دنياي واقعي شامل متغيرهايي
با مقادير حقيقي مي باشند.
نقلTransportation scheduling
12
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
فرموله سازي جستجوي استاندارد(افزايشي)
• حاالت توسط مقاديري كه تا كنون انتساب يافته اند ،تعريف مي
شوند.
• حالت اوليه :تمام متغيرها بدون مقدار ،يعني انتساب تهي
• عملگرها :انتساب مقدار به يك متغير بدون مقدار به طوري كه با انتساب
فعلي تناقض ايجاد نكند
• در صورت عدم وجود انتساب هاي مجاز شكست مي خورد.
• تست هدف :انتساب فعلي كامل باشد.
• هزينه مسير :هزينه يكسان براي تمام مراحل
• محدوديت ها را مي توان به دو روش نمايش داد:
• صريح :به عنوان مجموعه اي از مقادير مجاز
• ضمني :بوسيله تابعي كه ارضاء محدوديت ها را بررسي مي كند.
13
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
فرموله سازي جستجوي استاندارد(افزايشي)
•
•
•
•
براي تمام cspها يکسان است.
هر پاسخ در عمق nو با nمتغير ظاهر مي شود.
در عمق lفاکتور انشعاب برابر است با (n - l)d
بنابراين تعداد برگهاي درخت جستجو برابر است با n! · dn
(nd) * [(n-1)d] * [(n-2)d] * … d = n!dn
مثال در -8وزير:
اين موارد مي توانند با توجه به نكات زير بهبود يابند:
8!.88
• ترتيب انتساب مقادير به متغيرها اهميت ندارد ،پس بسياري از مسيرها
معادل يكديگر مي باشند .در -8وزير اندازه فضاي حالت از 8!.88به
کاهش 88مي يابد
کامپيوترشده را تصحيح كنند.
محدوديتبرق ونقض
صنعتييك
توانند
•14انتساب هاي بعدي نمي
اصفهان دانشکده
دانشگاه
جستجوي Backtracking
• انتساب متغيرها جابه جايي پذير است مثال
] [ WA = red then NT = greenبرابر است با
•
•
•
•
] [ NT = green then WA = red
در هر گره تنها بايد انتساب هاي يك متغير در نظر گرفته شود؛پس
b=dو تعداد برگها برابر است با dn
جستجوي اول -عمق با انتساب هاي يك متغير جداگانه در CSPها
backtrackingنام دارد .جستجوي ناآگاهانه استاندارد.
قرار دادن يك آزمون قبل از بسط گره ها كه بررسي مي كند آيا
تاكنون محدوديتي نقض شده يا خير .اگر محدوديتي نقض شده باشد،
ديگر اين گره بسط داده نمي شود و جستجو به عقب باز مي گردد.
مي تواند -nوزير را تا nحدود 25حل کند
15
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
جستجوي Backtracking
16
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال Backtracking
17
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال Backtracking
18
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال Backtracking
19
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال Backtracking
20
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
بهبود كارآيي Backtracking
• افزايش سرعت توسط روش هاي جستجوي همه منظوره:
• در مرحله بعد بايد به كدام متغير مقدار داده شود؟
• مقادير آن بايد به چه ترتيبي امتحان شوند؟
• آيا مي توان شكست هاي حتمي را زودتر تشخيص داد؟
• فرض كنيد در عقبگرد در مسأله -8وزير 6 ،وزير اول به گونه اي
قرار گرفته اند كه قرار دادن هشتمين وزير را غير ممكن مي سازند.
عقب گرد تمام مكانهاي ممكن براي وزير هفتم را چك مي كند ،اگرچه
مسأله غير قابل حل مي باشد.
• آيا مي توان از ساختار مسأله بهره گرفت؟
21
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مرتب سازي مقدار و متغير
• متغير با بيشترين محدوديت :
Most constrained variable
– متغيري را انتخاب كن كه كمترين مقادير معتبر را دارد.
• هيوريستيك كمترين مقادير باقيمانده ()Minimum remaining value
• هيوريستيك اول شکست ()Fail first
22
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
محدودکننده ترين متغير
• در حالت تساوي ميان متغيرهايي كه بيشترين محدوديت را
دارند
• محدودکننده ترين متغير
Most constraining variable
• هيوريستيك درجه
• متغير با بيشترين محدوديت را روي مقادير باقيمانده انتخاب كن
23
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مقدار با حداقل محدوديت
• براي يك متغير ،مقداري را كه كمترين محدوديت را ايجاد مي
كند انتخاب كن.
• مقداري كه كمترين مقادير را از متغيرهاي باقيمانده حذف مي كند
• با تركيب اين هيوريستيك ها مسأله - 1000وزير قابل حل مي
شود.
24
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
وارسي رو به جلو
Forward checking
• ايده:
– سابقه مقادير مجاز باقيمانده براي متغيرهاي بدون مقدار را نگهداري کن.
– زماني كه يك متغير هيچ مقدار مجاز باقيمانده اي ندارد ،به جستجو پايان
بده.
25
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
وارسي رو به جلو
Forward checking
• ايده:
– سابقه مقادير مجاز باقيمانده براي متغيرهاي بدون مقدار را نگهداري کن.
– زماني كه يك متغير هيچ مقدار مجاز باقيمانده اي ندارد ،به جستجو پايان
بده.
26
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
وارسي رو به جلو
Forward checking
• ايده:
– سابقه مقادير مجاز باقيمانده براي متغيرهاي بدون مقدار را نگهداري کن.
– زماني كه يك متغير هيچ مقدار مجاز باقيمانده اي ندارد ،به جستجو پايان
بده.
27
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
وارسي رو به جلو
Forward checking
• ايده:
– سابقه مقادير مجاز باقيمانده براي متغيرهاي بدون مقدار را نگهداري کن.
– زماني كه يك متغير هيچ مقدار مجاز باقيمانده اي ندارد ،به جستجو پايان
بده.
28
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
انتشار محدوديت
Constraint propagation
• وارسي رو به جلو محدوديت ها را از متغيرهاي انتساب يافته به متغير هاي
انتساب نيافته منتشر مي كند ،اما تمام شكست ها را نمي تواند در زود ترين
زمان ممكن تشخيص دهد.
• NTو SAهر دو نمي توانند آبي باشند!
• انتشار محدوديت به طور مكرر بر محدوديت ها به طور محلي تأكيد دارد.
29
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري كمان
Arc consistency
• ساده ترين شكل انتشار ،هر كمان را سازگار مي كند.
• X Yسازگار است اگر و فقط اگر بازاء هر مقدار xتعدادي مقدار مجاز
yوجود داشته باشد.
30
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري كمان
Arc consistency
• ساده ترين شكل انتشار ،هر كمان را سازگار مي كند.
• X Yسازگار است اگر و فقط اگر بازاء هر مقدار xتعدادي مقدار مجاز
yوجود داشته باشد.
31
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري كمان
Arc consistency
• ساده ترين شكل انتشار ،هر كمان را سازگار مي كند.
• X Yسازگار است اگر و فقط اگر بازاء هر مقدار xتعدادي مقدار مجاز
yوجود داشته باشد.
• اگر Xمقداري را از دست بدهد ،همسايه هاي Xنياز به بررسي مجدد دارند.
32
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري كمان
Arc consistency
• ساده ترين شكل انتشار ،هر كمان را سازگار مي كند.
• X Yسازگار است اگر و فقط اگر بازاء هر مقدار xتعدادي مقدار مجاز
yوجود داشته باشد.
• اگر Xمقداري را از دست بدهد ،همسايه هاي Xنياز به بررسي مجدد دارند.
• سازگاري كمان شكست ها را زودتر از forward checkingتشخيص مي دهد
و مي تواند به عنوان پيش پردازش و يا بعد از هر انتساب اجرا شود.
33
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
الگوريتم
Arc consistency AC-3
• پيچيدگي زماني )O(n2d3
34
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري مرتبة kام
AC3قادر به تشخيص ناسازگاري روبرو نيست
ناسازگار
اَشكال قويتري از انتشار محدوديت
• سازگاري مرتبة kام
• يک CSPداراي سازگاري مرتبة kاست اگر براي هر مجموعة
k-1عضوي از متغيرها و براي هر انتساب سازگار به آنها،
هميشه يك مقدار سازگار يافت شود كه بتوان به هر متغيرkام
انتساب داد.
35
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري مرتبة kام
سازگاري مرتبة 1يا سازگاري گره به معناي آن است كه هر متغير
با خودش سازگار مي باشد.
سازگاري مرتبة 2مشابه سازگاري كمان است.
سازگاري مرتبة 3به معناي آن است كه هر زوج متغير مجاور،
قابل گسترش به سه متغير مجاور باشند؛ كه به سازگاري مسير
معروف است.
36
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
سازگاري قوي مرتبة kام
• يك گراف ،داراي سازگاري شديد مرتبة kمي باشد ،در صورتي كه
داراي سازگاري مرتبة سازگاري ،k-1مرتبة ،k-2تا سازگار مرتبة
1نيز باشد.
• يک CSPبا nگره داريم كه داراي سازگاري قوي مرتبة nاست
• در ابتدا ،يك مقدار سازگار را براي x1انتخاب مي کنيم .از آنجا
كه گراف داراي سازگاري مرتبة 2مي باشد ،مطمئن هستيم كه
مي توان مقداري سازگار يافت كه بتوان به x2اختصاص داد و
به ترتيب ،مي توان مقاديري سازگار براي بقيه متغيرها يافت
• مي توان اين مسأله را بدون انجام عقب گرد ،حل كرد.
• راه حل مسأله حداكثر با مرتبة زماني ) O(ndپيدا مي شود.
37
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
برخورد با محدوديتهاي ويژه
• مثال محدوديت Alldiff
• تمامي متغيرها بايد داراي مقادير متفاوتي باشند.
• يك شكل ساده از ايجاد ناسازگاري براي اين محدوديت بدين صورت
است :اگر mمتغير شامل اين محدوديت باشند ولي تنها nمقدار
مجموع براي انتساب موجود باشد ) ،(n<mديگر اين محدوديت
نمي تواند برآورده شود.
38
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
برخورد با محدوديتهاي ويژه
• مثال محدوديت Alldiff
• راه حل مسئله:
• در ابتدا تمام متغيرهايي كه داراي دامنة واحد مي باشند را حذف
و مقدار مربوط به دامنة آنها را نيز از دامنة ساير متغيرها حذف
مي كنيم.
• اين كار را براي تمام متغيرهاي تك مقداره تكرار مي نماييم.
• اگر در پايان دامنة يك متغير تهي شود يا تعداد متغير بيشتري از
تعداد مقادير دامنه ،باقي مانده باشد ،ناسازگاري در مسأله
تشخيص داده خواهد شد.
39
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
برخورد با محدوديتهاي ويژه
• مثال محدوديت منبع (محدوديت بيشينه)
• در نظر بگيريد PA1,…,PA4به تعداد افرادي اشاره مي كند كه براي
انجام چهار كار متفاوت در نظر گرفته شده اند.
• محدوديتي كه براساس آن ،تعداد افراد در مجموع نبايد از 10نفر
تجاوز نمايد به صورت ) atmost (10,PA1,PA2,PA3,PA4نمايش
داده مي شود.
40
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
برخورد با محدوديتهاي ويژه
• مثال محدوديت منبع (محدوديت بيشينه)
• مي توان با بررسي مجموع حداقل مقادير دامنه هاي فعلي،
ناسازگاري را تشخيص داد.
• مثالً اگر هر متغير داراي دامنة { } 3،4،5،6باشد ،محدوديت بيشينه ،تأمين
نمي شود.
• مي توان براي اعمال سازگاري ،مقدار بيشينه در هر دامنه را ،به
شرطي كه با مقدار كمينه در دامنه هاي ديگر ناسازگار باشد ،حذف
نمود.
• اگر هر متغيري در مثال فوق ،داراي دامنة { } 2،3،4،5،6باشد ،مي توان
به منظور رسيدن به سازگاري ،مقادير 5و 6را از دامنة متغيرها حذف
نمود.
41
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
عقبگرد هوشمندانه :نگاه رو به عقب
• در الگوريتم BACKTRACKING-SEARCHهنگامي كه يكي از شاخه ها
با شكست در جستجو مواجه مي شود ،الگوريتم به متغير قبلي باز مي
گردد و مقداري جديد براي آن در نظر مي گيرد.
• يك روش پس گرد هوشمندانه تر آن است كه تمام مسير را تا رسيدن به
مجموعه اي از متغيرها كه باعث شكست شده اند(مجموعة تناقض) ،به
عقب باز گرديم.
• مجموعة تناقض براي متغير xعبارت است از مجموعه اي از متغيرهايي كه
قبالً مقداردهي شده اند و به واسطة يك محدوديت با xدر ارتباطند.
• اين روش (روش پرش رو به عقب) ،مسير پيموده شده را تا رسيدن به
آخرين متغيري كه در مجموعة تناقض مقداردهي شده است ،به عقب
مي پيمايد.
42
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
عقبگرد هوشمندانه :نگاه رو به عقب
•
•
•
•
هيچ مقداري براي SAموجود نيست
تغيير رنگ Tکمکي به SAنمي کند
مجموعه تناقض SAبرابر است با }{Q, NSW, V
الگوريتم دنبال مقدار جديدي براي Vخواهد گشت
43
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
عقبگرد هوشمندانه :نگاه رو به عقب
•
•
•
•
پرش رو به عقب هنگامي رخ مي دهد كه هر مقدار متعلق به دامنه
با انتساب انجام شده داراي تناقض باشد.
وارسي روبه جلو اين حالت را تشخيص مي دهد و از رسيدن به آن
جلوگيري مي كند.
هر شاخه اي كه به وسيلة پرش رو به عقب هرس مي شود ،مي
تواند به وسيلة انجام وارسي رو به جلو نيز هرس شود.
پرش رو به عقب ساده ،در جستجوهايي كه از روشهاي قويتر
بررسي سازگاري نظير MACاستفاده مي كنند زائد است.
44
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
پس گرد هوشمندانه :نگاه رو به عقب
• الگوريتم پرش رو به عقب هم جهت با تناقض:
conflict directed backjumping
• روش محاسبة مجموعه هاي تناقض :شكست نهايي در يك مسير از
الگوريتم جستجو هنگامي رخ مي دهد كه دامنة يك متغير ،تهي
تشخيص داده شود .آن متغير داراي يك مجموعة تناقض استاندارد
مي باشد.
• در نظر بگيريد كه Xjمتغير فعلي و ) conf(Xjمجموعة تناقض آن
باشد.
• اگر تمام مقادير ممكن براي Xjبا با شكست مواجه شوند ،الگوريتم
به Xiبرخواهد گشت كه آخرين متغير مقدار داده شده و متعلق به
کامپيوتر انجام مي دهيم:
زير را
صنعتيو
دانشگاهباشد
45مجموعة تناقض Xjمي
انتساببرق و
اصفهان دانشکده
عقبگرد هوشمندانه :نگاه رو به عقب
•
•
•
•
انتساب جزئي روبرو ناسازگار است.
فرض در مرحله بعد T=redمقداردهي شود و سپس متغيرهاي
V ،Q ،NTو SAمقدار دهي شوند.
انتساب همزمان به 4متغير جديد منجر به شکست
الگوريتم پرش رو به عقب هم جهت با تناقض پس از رسيدن به
شکست به NSWبر مي گردد
46
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
جستجوي محلي براي CSP
• Saو تپه نوردي با حاالت كامل كار مي كنند
• حالت اوليه ،يك مقدار را به هر يك از متغيرها اختصاص مي
دهد.
• تابع پسين معموالً هر بار مقدار يكي از متغيرها را تغيير مي
دهد.
• انتخاب متغير:
• به صورت تصادفي يك متغير درگير را انتخاب كن
• هيوريستيک min-conflicts :
• مقداري را انتخاب كن كه كمترين تعداد محدوديت ها را نقض
47مي كند،
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
الگوريتم Min-Conflicts
48
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
جستجوي محلي براي CSP
• مثال :در مساله 8وزير:
• حالت اوليه قرار دادن 8وزير در 8ستون جدول به صورت
تصادفي
• تابع پسين يكي از وزيرها را انتخاب مي نمايد و موقعيتش را در
ستون مربوطه تغيير مي دهد.
• امكان ديگر آن است كه با هر هشت وزير شروع نماييم و با
جايگشت رديفها ،هر يك را در يك ستون قرار دهيم و پسين
آنها با عوض كردن موقعيت دو وزير با هم ايجاد شود.
49
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
مثال - 8 :وزير
• راه حل دو مرحله اي براي مسألة 8وزير با استفاده از
الگوريتم Min-Conflicts
• اين روش حتي با در نظر گرفتن تعداد يك ميليون وزير ،مسأله را
به طور متوسط در 50مرحله حل مي كند (پس از جايگذاري اوليه
مهره ها).
• از آنجا كه در مساله nوزير ،حالتهاي هدف به طور متراكم در
فضاي حالت توزيع شده اند ،روش جستجوي محلي درمورد آن
بسيار مفيد واقع مي شود.
50
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
ساختار مسأله
• Tasmaniaو جزيره اصلي زيرمسايل مستقل هستند.
• با توجه به مولفه هاي همبند در گراف محدوديت قابل
شناسايي هستند.
51
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
ساختار مسأله
• فرض كنيد هر زيرمسأله شامل cمتغير از nمتغير باشد
• هزينه راه حل در بدترين حالت خطي(برحسب )nو برابر n/c
. dcمي باشد
• مثال n = 80, d = 2, c =20
• 280 = 4 billion years at 10 million nodes/sec
• 4.220 = 0.4 seconds at 10 million nodes/sec
52
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
الگوريتم براي CSPهاي داراي ساختار درختي
•
يك متغير را به عنوان ريشه انتخاب كن و سپس متغيرها را از
ريشه تا برگها به گونه اي مرتب كن كه والد هر گره قبل از آن
گره قرار بگيرد.
•
به ازاي jاز nتا 2عمل زير را انجام بده.
)REMOVEINCONSISTENT(Parent(Xj),Xj
• براي jاز 1تا nمقدار Xjرا به طور سازگار با ) Parent(Xjتعيين
کن.
صنعتي اصفهان دانشکده برق و کامپيوتر
•53پيچيدگي زماني 2) :دانشگاه
O(n.d
تقليل گراف محدوديت به حالت درختي
• راهکار اول :حذف يک سري از نودها
• زير مجموعه اي از متغيرها (در تمام حاالت ممكن) را مقدار دهي كن به
طوريكه گراف محدوديت باقيمانده يك درخت شودCycle cutset .
• به يك متغير مقدار بده؛ دامنه همسايه هاي آن را هرس كن
• اگر اندازه Cycle cutsetبرابر cباشد زمان اجرا )O(dc . (n - c)d2
54
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
تقليل گراف محدوديت به حالت درختي
• راهکار دوم :تجزيه درختي
55
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
تجزيه درختي
• شرايط تجزيه درختي:
– هر متغير در مسأله اصلي بايد حداقل در يك زيرمسأله ظاهر
شود
– اگر دو متغير به وسيله محدوديتي در مسأله اصلي متصل شده
باشند ،آنگاه آن دو متغيربا هم(به همراه محدوديت) بايد حداقل
در يك زير مسأله ظاهر شوند.
– اگر متغيري در درخت در دو زير مسأله ظاهر شده باشد ،آنگاه
بايد در هر زيرمسأله در طول مسيري كه زيرمسايل را متصل
مي كند ،ظاهر شود.
56
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
تجزيه درختي
• حل تجزيه درختي:
• هر زير مساله به صورت مجزا حل مي شود
• اگر هر يک از زير مسائل داراي راه حلي نباشد مساله اصلي
نيز هيچ راه حلي ندارد.
• اگر بتوانيم تمام زيرمسائل را حل کنيم
57
• هر زير مسأله را به صورت يك متغير بزرگ در نظر مي
گيريم که كه دامنه آن مجموعه تمام راه حل هاي ممكن آن زير
مسأله مي باشد.
• سپس محدوديت هاي ميان زير مسايل را با استفاده از الگوريتم
كاراي درخت حل مي كنيم.
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر
تجزيه درختي
راه حلهاي مربوط به هر زير مساله بايد در مقادير انتساب
داده شده به متغيرهاي مشترک يکسان باشند.
مثال اگر پاسخ اولين زير مسأله انتساب زير باشد:
}{WA = red, SA= blue, NT = green
آنگاه تنها پاسخ سازگار براي زير مسأله بعدي انتساب زير مي
باشد:
}{SA = blue, NT = green, Q = red
Tree width=wکم کردن يک واحد از اندازه بزرگترين زير
مساله پس از تجزيه درختي
58پيچيدگي زمانيO(n . dw+1) :
دانشگاه صنعتي اصفهان دانشکده برق و کامپيوتر