Professional Documents
Culture Documents
AI-Chapter 4
AI-Chapter 4
فصل چهارم
Artificial Intelligence
نام كتاب :هوش مصنوعي رهياتي نوين
موﻟﻒ :راسل و نورويگ روش هاي جستجوي آگاهانه
مهدي بازرگاني
دانشگاه آزاد اسﻼمي زنجان
جستجوي اول بهترين بازگشتي )*(RBFA درخت جستجو را به يك روش از پيش تعريﻒ شﺪه گسترش مي دهنﺪ.
هيوريستيك ها )(Heuristics يعني قابليت تطبيق پذيري با آنچه كه تا كنون در مسير جستجو دريافته
اﻟگوريتم هاي جستجوي محلي
انﺪ و نيز حركتي كه مي توانﺪ خوب باشﺪ نﺪارنﺪ.
جستجوي تپه نوردي )(Hill Climbing •
جستجوي Simulated Annealing •
اﻟگوريتم هاي ژنتيك •
١
مرور :جستجوي درخت جستجوي اول -بهترين
5 6
function GENERAL-SEARCH( problem, strategy) returns a solution , or failure ايﺪه :براي هر گره از يك تابع ارزيابي ) (evaluation functionاستفاده كن.
◦ تخمين “ميزان مطلوب بودن” گره
initialize the search tree using the initial state of problem
هربار مطلوب ترين گره گسترش نيافته را بسط مي دهﺪ.
loop do
if there are no candidates for expansion then return failure پياده سازي:
choose a leaf node for expansion according to strategy fringeيك صﻒ مي باشﺪ كه بر اساس ميزان مطلوب بودن گره ها مرتب مي
if the node contains the goal state then return the corresponding solution
باشﺪ.
else expand the node and add the resulting node to the search tree
موارد خاص:
end
جستجوي حريصانه )(Greedy search ◦
جستجوي *A ◦
نﻘشه روماني به همراه هزينه مراحل برحسب km جستجوي اول-بهترين حريصانه
7 8
٢
مثال جستجوي حريصانه خواص جستجوي حريصانه
9 10
Arad
كامل؟ خير ،ممكن است در حلﻘه گير كنﺪ.
253 0
3: [B(0), R(193), S(253), T(329), A(366),
])Z(374), O(380
بهينه؟ خير ) ،با توجه به مثال قبل(
)f( n) = g( n) + h( n
Sibiu Bucharest Craiova Pitesti Sibiu
) :g( nهزينه مسير پيموده شﺪه تا .n
591=338+253 450=450+0
) :h( nهزينه تخميني ارزانترين مسير راه حل از nتا هدف. 526=366+160 417=317+100 553=300+253
) :f( nهزينه تخميني ارزانترين راه حل كه از nمي گذرد. Rimnicu
Bucharest Craiova vilcea
418=418+0 615=455+160 607=414+193
٣
جستجوي *A هيوريستيك قابل قبول
13 14
فرض كنيﺪ يك جواب زير بهينه ماننﺪ G2توﻟيﺪ شﺪه و در صﻒ قرار دارد.
)’h(n) ≤ c(n, a, n’) + h(n • يك هيوريستيك سازگار است اگر :
هم چنين فرض كنيﺪ nيك گره گسترش نيافته روي كوتاهترين مسير به هﺪف بهينه Gباشﺪ)؟؟( • اگر hسازگار باﺷﺪ ،داريم:
٤
بهينگي *A خصوصيات *A
17 18
ﻟﻢ A* :گره ها را براساس ترتيب صعودي مﻘادير fگسترش مي دهﺪ. كامل؟ بله ،مگر اينكه تعﺪادي نامحﺪود گره با ) f ≤ f(Gوجود داشته
باشﺪ A* .در گراف هاي متناهي محلي ) با فاكتور انشعاب محﺪود( كامل
* Aبه تﺪريج f-contourها را اضافه مي كنﺪ. است به شرط آنكه هزينه تمام عملگرها مثبت باشﺪ.
كانتور iشامل تمام گره ها با f = fiمي باشﺪ ،كه fi < fi+1 -گره اي با فاكتور انشعاب نامحﺪود وجود داشته باشﺪ.
-مسيري با هزينه محﺪود اما با تعﺪاد گره هاي نامحﺪود وجود داشته
باشﺪ.
پيچيﺪگي زماني؟ نمايي بر حسب ] خطاي نسبي * hطول راه حل[
مگر اينكه خطا در تابع كشﻒ كننﺪه رشﺪي سريعتر از ﻟگاريتم هزينه مسير
واقعي نﺪاشته باشﺪ ،به زبان رياضي:
))| h(n) – h*(n)| ≤ O (log h*(n
پيچيﺪگي فضا؟؟ تمام گره ها را در حافظه نگه مي دارد. چنﺪ راه حل براي مسأﻟه حافظه در *) Aبا حفﻆ خصوصيات كامل
بودن و بهينگي(:
بهينه؟؟ بله – نمي توانﺪ fi+1را گسترش دهﺪ مگر fiتمام شﺪه باشﺪ.
جستجوي عميق كننﺪه تكراري *(IDA*) A
* Aتمام گره ها با * f(n) < fرا گسترش مي دهﺪ. ◦
ماننﺪ IDSوﻟي به جاي محﺪوده عمﻘي از محﺪوده (g + h) f-costاستفاده مي
* Aبرخي از گره ها با * f(n) = fرا گسترش مي دهﺪ. ◦ شود
* Aگره اي با * f(n) > fرا هرگز گسترش نمي دهﺪ. ◦ جستجوي اول-بهترين بازگشتي )(RBFS
يك اﻟگوريتم بازگشتي با فضاي خطي كه سعي مي كنﺪ از جستجوي اول-بهترين
استانﺪارد تﻘليﺪ كنﺪ
* Aداراي كارآيي بهينه ) (optimally efficientمي باشﺪ! جستجوي )ساده شﺪه( * Aبا حافظه محﺪود )*((S)MBA
حذف بﺪترين گره وقتي كه حافظه پر مي باشﺪ
٥
(RBFS)بهترين بازگشتي-جستوي اول RBFS جستجوي
21 22
23 Arad 24 Arad
366 366
447 447
415 417
Rimnicu Rimnicu
Arad Fagaras Oradea Vilcea Arad Fagaras Oradea Vilcea
646 415 526 413 417 646 415 450 526 413 417
٦
مثال جستجوي RBFS ارزيابي RBFS
∞
447
پيچيﺪگي حافظه )O(bd
Rimnicu IDA* فﻘط يك عﺪد را نگهﺪاري مي كنﺪ )حﺪ فعلي (f-cost
Arad Fagaras Oradea
646 450 526
Vilcea
417 تعيين پيچﺪگي زماني مشكل است
447 به دقت تابع هيوريستيك و ميزان تغيير بهترين مسير در اثر بسط گره ها
بستگي دارد.
Craiova Pitesti Sibiu
526 417 553 ماننﺪ * IDAدر معرض افزايش نمايي پيچيﺪگي زماني قرار دارد
RBFSو * IDAهر دو از ميزان بسيار كم حافظه رنج مي برنﺪ.
Bucharest Craiova
Rimnicu
vilcea
با اينكه حافظه زيادي وجود دارد ،نمي تواننﺪ از ان استفاده كننﺪ.
418 615 607
ايﺪه :استفاده از تمامي حافظه موجود مثال براي معماي هشت:
يعني ،گسترش بهترين گره هاي برگي تا زماني كه حافظه موجود پر شود
h1(n) = number of misplaced tiles
در صورت پر شﺪن حافظه SMA* ،بﺪترين گره برگ ) با بيشترين مﻘﺪار (f-valueرا از
حافظه حذف مي كنﺪ h2(n) = total Manhattan distance
ماننﺪ RBFSاطﻼعات گره هاي فراموش شﺪه را در پﺪرشان ذخيره مي كنﺪ
٧
0+4
283
164 •مثال :جستجوي * Aبا h1 0+5
283
164 •مثال :جستجوي * Aبا h2
7_ 5 7_ 5
29 30
283 283 283 283 283 283
1+5 164 1+3 1_4 1+5 164 1+6 164 1+4 1_4 1+6 164
_ 75 765 _75 _ 75 765 _75
123 123
4+1 _84 4+1 _84
765 765
اگر بازاء هر nداشته باشيمh2(n) ≥ h1(n) ، فاكتور انشعاب موثر ):(EBF
)و هر دو هيوريستيك قابل قبول باشنﺪ( اگر تعﺪاد گره هاي گسترش يافته توسط روال جستجو Nباشﺪ و عمق راه حل d
آنگاه h2بر h1تسلط دارد و براي جستجو بهتر مي باشﺪ. باشﺪ b* ،به صورت زير محاسبه مي شود:
مثال هزينه جستجو :تعﺪاد گره هاي توﻟيﺪ شﺪه در عمق هاي مختلﻒ: N + 1 = 1 + b* + (b*)2 + … + (b*)d
d = 14 IDS = 3,473,941 مثال :اگر * Aراه حلي را در عمق ٥با استفاده از ٥٢گره پيﺪا كنﺪ ،فاكتور انشعاب
A*(h1) = 539 موثر را محاسبه كنيﺪ.
A*(h2) = 113 پاسﺦ:
53 = 1 + b* + (b*)2 + … (b*)5 b* = 1.92
d = 24 IDS = 54,000,000,000
A*(h1) = 39,135
در يك هيوريستيك هر چه فاكتور انشعاب به يك نزديكتر باشﺪ ،بهتر است و آن
A*(h2) = 1641 هيوريستيك كيفيت كشﻒ كننﺪگي بيشتري دارد.
٨
مﻘايسه بين هزينه جستجو و فاكتور انشعاب موثر ابﺪاع توابع هيوريستيك
33 34
مي توان هيوريستيكهاي قابل قبول را براي يك مسأﻟه ،از هزينه دقيق راه حل يك
Search Cost Effective Branching Factor
نسخه راحت ) (relaxedاز مسأﻟه بﺪست آورد.
d IDS )A*(h1 )A*(h2 IDS )A*(h1 )A*(h2
2 10 6 6 2.45 1.79 1.79 مثال :قانون معماي هشت .يك كاشي مي توانﺪ از خانه Aبه خانه Bبرود ،اگر A
4 112 13 12 2.87 1.48 1.45 مجاور Bباشﺪ و Bخاﻟي باشﺪ.
6 680 20 18 2.73 1.34 1.30
8 6,384 39 25 2.80 1.33 1.24
اگر قوانين معماي هشت به گونه اي راحت شونﺪ كه يك كاشي بتوانﺪ به هر خانه اي
10 47,127 93 39 2.79 1.38 1.22 حركت كنﺪ ،هيوريستيك ) h1(nكوتاهترين راه حل را مي دهﺪ.
12 364,404 227 73 2.78 1.42 1.24
14 3,473,941 539 113 2.83 1.44 1.23
اگر قوانين به گونه اي راحت شونﺪ كه يك كاشي بتوانﺪ به هر خانه مجاور حركت
16 - 1,301 211 - 1.45 1.25
كنﺪ ،هيوريستيك ) h2(nكوتاهترين راه حل را مي دهﺪ.
18 - 3,056 363 - 1.46 1.26
20 - 7,276 679 - 1.47 1.27
22 - 18,094 1,219 - 1.48 1.28
نكته كليﺪي :هزينه راه حل بهينه يك مسأﻟه راحت ،بيشتر از هزينه راه حل بهينه
اﻟگوريتم هاي جستجوي محلي و مسائل بهينه سازي اﻟگوريتم هاي جستجوي محلي و مسائل بهينه سازي
35 36
در بسياري از مسائل بهينه سازي ،مسير راه حل اهميت نﺪارد؛ خود جستجوي محلي = استفاده از يك حاﻟت فعلي و حركت به حاﻟت هاي
حاﻟت هﺪف پاسﺦ مسأﻟه مي باشﺪ. همسايه
فضاي حاﻟت = مجموعه پيكره بنﺪي هاي»كامل«؛
در چنين مواردي مي توان از اﻟگوريتم هاي جستجوي محلي بهره يافتن راه حل هاي معﻘول در اغلب موارد در فضاهاي حاﻟت بزرگ و يا نامحﺪود ◦
گرفت.
يك حاﻟت» فعلي« را به تنهايي در نظر بگير؛ سعي كن آن را بهبود مفيﺪ براي مسائل بهينه سازي محض
بخشي. يافتن بهترين حاﻟت بر طبق تابع هﺪف )(objective function ◦
٩
مثال-n :وزير تپه نوردي) يا گراديان صعودي/نزوﻟي(
37 38
مسأﻟه n :وزير را در يك صفحه شطرنج n * nبه گونه اي قرار بﺪه كه »ماننﺪ باﻻ رفتن از كوه اورست در مه غليﻆ با ضعﻒ حافظه«
هيچ دو وزيري در يك سطر ،ستون و يا قطر قرار نگيرنﺪ.
١٠
مثال :جستجوي تپه نوردي مثال :جستجوي تپه نوردي
41 42
١١
جستوي تپه نوردي :مثال ٨وزير تپه نوردي ) ادامه(
45 46
مشكل :بسته به حاﻟت اوﻟيه مسأﻟه ممكن است در ماكزيمم محلي گير
كنﺪ.
٥حركت
= hتعﺪاد جفت وزيرهايي كه بطور مستقيم و يا بطور غير مستقيم يكﺪيگر را تهﺪيﺪ مي كننﺪ.
انواع ديگر تپه نوردي )تپه نوردي اتفاقي( انواع ديگر تپه نوردي )تپه نوردي اتفاقي(
47 48
انتخاب تصادفي در ميان حركت هاي رو به باﻻ انتخاب تصادفي در ميان حركت هاي رو به باﻻ
احتمال انتخاب مي توانﺪ متناسب با شيب حركت تغيير كنﺪ احتمال انتخاب مي توانﺪ متناسب با شيب حركت تغيير كنﺪ
2
3 0
4 A D A D A D A D
9 h=5 h=2 0 h=5 h=2 h=5 h=2 1 h=5 h=2 0
S G S 1 G S 0 G S G
3
h=7 h=0 h=7 h=0 h=7 h=0 h=7 h=0
5
9 B E B E B E B E
h=4 h=4 h=4 h=4
h=2 h=2 h=2 h=2
F F F F
h=1 h=1 h=1 h=1
C H C H C H C H
h=5 h=4 h=5 h=4 h=5 h=4 h=5 h=4
١٢
انواع ديگر تپه نوردي )تپه نوردي اوﻟين انتخاب( انواع ديگر تپه نوردي )تپه نوردي با شروع مجﺪد تصادفي(
49 50
تپه نوردي اوﻟين انتخاب تپه نوردي با شروع مجﺪد تصادفي )ايﺪه :اگر شكست خوردي دوباره سعي كن(
همان تپه نوردي اتفاقي كه حاﻟت هاي بعﺪي را به طور تصادفي توﻟيﺪ مي كنﺪ تا سعي مي كنﺪ كه از گير افتادن در ماكزيمم محلي اجتناب كنﺪ
يكي از آنها بهتر از حاﻟت فعلي باشﺪ
A
h=5 h=2
D SBEF
)S(7 )A(5
A
h=5 h=2
D S G CBEF
h=7 h=0
S G
)S(7
B
h=4
E H
h=2
h=7 h=0 )A(5 )B(4
B E F CH
h=4 h=1
h=2 )C(5
F C H ADG
)B(4 )S(7 h=5 h=4
h=1
C H
h=5 h=4
)E(2 مشكل :معموﻻً در يك مسأﻟه در دنياي واقعي ،قبل از حل مسأﻟه جواب بهينه را نمي دانيم !
)E(2 )F(1 راه حل :تكرار تپه نوردي تا زماني كه وقت داريم.
انواع ديگر تپه نوردي )تپه نوردي با شروع مجﺪد تصادفي( Simulated Annealing
51 52
محاسبه تعﺪاد متوسط مراحل در تپه نوردي با شروع تصادفي مجﺪد
ايده :از ماكزيمم هاي محلي با انجام حركت هاي» بﺪ« فرار كن
تعﺪاد تكرارها = عكس احتمال موفﻘيت
تعﺪاد متوسط مراحل = تعﺪاد شكست ها * تعﺪاد متوسط مراحل شكست * ١ +تعﺪاد متوسط
اما به تﺪريج انﺪازه و تعﺪاد حركات بﺪ ) به سمت پايين( را كم كن
مراحل موفﻘيت
)A(2 )D(1
h=5 h=2
1 احتمال موفقيت =
)S(3 )G(0 3
h=7 h=0 تعداد تكرارها = 3
تعداد متوسط مراحل موفقيت = 1
)B(2 )E(1
h=4
h=2
)F(0 تعداد متوسط مراحل شكست = 8
6
h=1
)C(2 )H(0
h=5 h=4 3 1 8
6
11 4
١٣
آنلينگ شبيه سازي شﺪه خصوصيات آنلينگ شبيه سازي شﺪه
53 54
پيشروي ماننﺪ تپه نوردي مي باشﺪ ،اما در هر مرحله حاﻟت بعﺪي به
در مﻘادير باﻻتر ،Tاحتمال انجام حركات بﺪ ) رفتن به سمت پايين (بيشتر است) .ماننﺪ جستجوي
تصادفي رفتار مي كنﺪ(
طور تصادفي انتخاب مي شود.
با كاهش Tاين احتمال كاهش يافته و در T = 0اين احتمال به صفر مي رسﺪ ) .ماننﺪ تپه نوردي
اگر حاﻟت بعﺪي انتخاب شﺪه بهتر باشﺪ ،همواره به آن حاﻟت بعﺪي رفتار مي كنﺪ(
خواهيم رفت.
مي توان ثابت كرد كه اگر Tبه به انﺪازه كافي آرام كاهش بيابﺪ ،جستجوي SAيك پاسﺦ بهينه
در غير اين صورت ،تنها با يك احتمال به آن حاﻟت خواهيم رفت و اين
) (global optimumبا احتماﻟي كه به سمت يك ميل مي كنﺪ خواهﺪ يافت.
احتمال به صورت نمايي كاهش مي يابﺪ.
كاربردها:
تابع احتمال:
e ΔE/T حل مسائل VLSI
برنامه ريزي
شروع با kحاﻟت كه به طور تصادفي ايجاد شﺪه انﺪ. نوعي از local beam searchبه همراه تركيب جنسي
اگر يكي از آنها حاﻟت هﺪف بود جستجو متوقﻒ مي شود و در غير اين
١٤
اﻟگوريتم هاي ژنتيك اﻟگوريتم هاي ژنتيك
57 58
Crossover يك مثال براي عمل function GENETIC-ALGORITHM( population, FITNESS-FN) returns an individual
Parent1 Parent2 Offspring input: population, a set of individuals
FITNESS-FN, a function that measures the fitness of an individual
1
repeat
new_population empty set
loop for i from 1 to SIZE(population) do
y x RANDOM_SELECTION(population, FITNESS_FN)
RANDOM_SELECTION(population, FITNESS_FN)
child REPRODUCE(x,y)
if (small random probability) then child MUTATE(child )
add child to new_population
population new_population
until some individual is fit enough or enough time has elapsed
(3, 2, 7, 5, 2, 4, 1, 1) + (2, 4, 7, 4, 8, 5, 5, 2) = (3, 2, 7, 4, 8, 5, 5,
2) return the best individual in population, according to FITNESS-FN
١٥
دسته بنﺪي استراتژي هاي جستجو مسائل اكتشافي
61 62
دانش عامل: هﺪف :رسيﺪن به حاﻟت هﺪف با حﺪاقل هزينه
عمل )ها( :ﻟيست اعمال مجاز در حاﻟت s هزينه = كل هزينه مسير پيموده شﺪه
:c(s, a, s’) تابع هزينه گام ) پس از تعيين ’(s نسبت رقابتي = مﻘايسه هزينه با هزينه مسير راه حل در حاﻟتي كه فضاي
GOAL-TEST(s) جستجو شناخته شﺪه باشﺪ
عامل مي توانﺪ حاﻟت قبلي را تشخيص دهﺪ
مي توانﺪ نا محﺪود باشﺪ
در مواردي كه عامل به طور تصادفي
اعمال قطعي هستنﺪ
به يك بن بست مي رسﺪ
دستيابي به هيوريستيك قابل قبول )h(s
١٦
استﺪﻻل دشمنانه Online عامل هاي جستجوي
65 66
يك دشمن را تصور كنيﺪ كه قادر است در حين كاوش عامل فضاي دقت كنيﺪA* به تفاوت مثﻼ با
Online DFS-Agent
مثال، online جستجوي عمﻘي
67 68
١٧
مثال،online جستجوي عمﻘي مثال،online جستجوي عمﻘي
69 70
• GOAL-TEST((1, 1))?
– S not = G thus false
• GOAL-TEST((1,1))?
• (1,1) a new state? S’=(1,1) – S not = G thus false
– True
– ACTION((1,1)) -> UX[(1,1)]
• (1,1) a new state?
• {RIGHT,UP} – false
• s is null? • s is null?
– True (initially) – false (s = (2, 1))
– result [DOWN, (2, 1)] <- (1,1)
• UX[(1,1)] empty?
– UB[(1,1)] = {(2,1)}
– False
• POP(UX[(1,1)]) -> a • UX[(1,1)] empty?
– False
– a = UP
• s = (1,1) • a = RIGHT, s = (1,1)
• Return a • return a
١٨
مثال،online جستجوي عمﻘي online جستجوي محلي
73 74
برگشت باشنﺪ
١٩