87
مدرس: ری صب مد ح م ی ع و ن ص م وس ه ش ی را گ ر ت و ن" پ م ی کا س د ن ه م ری کب وی د ج ش ی دا. ران ه ت دس ر ق ه ش ی واحد م لا س اد ا ه ا;ر گا ش ی ی دا م ل ع ات ن ه و ض ع. ن ی و ن ی ت ف ا ن ه ی، ر ع و ن ص م وس ه» ه ; گاهانا ا وهای ن جV ت س ج« : وم س ل ص ف1

هوش مصنوعی - فصل سوم

Embed Size (px)

Citation preview

Page 1: هوش مصنوعی - فصل سوم

1

مدر�س:محمد صبری

دانشجوی دکتری مهندسی کامپیوتر گرایش هوش مصنوعی عضو هیات علمی دانشگاه آزاد اسالمی واحد شهر قدس تهران

هوش مصنوعی، رهیافتی نوینفصل سوم: »جستجوهای ناآگاهانه«

Page 2: هوش مصنوعی - فصل سوم

2

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 3: هوش مصنوعی - فصل سوم

3

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 4: هوش مصنوعی - فصل سوم

4

عامل مبتنی بر حل مسالهچهار مرحله کلی برای حل یک مساله عبارتند از:•

) فرمول(ه1. هدف هدف (: goal formulationس(ازی حاالت از کدامیک است؟

اعمالی (: problem formulationس(ازی مس(اله) فرمول(ه2. و حاالت چ(ه برای رسیدن به هدف مورد نیاز است؟

ایی از اعمال از حال(ت شروع تا هدف (راه حل( دنبال(ه(: searchجستجو )3.شود. تعیین می

دهد. حل، اعمال مورد نظر را انجام می : با دریافت راه(executeاجرا )4.

Page 5: هوش مصنوعی - فصل سوم

5

مثال: رمانی

Page 6: هوش مصنوعی - فصل سوم

6

مثال: رمانی( :شهر حالت شروع )در مسافرت کشور رمانیArad

:بلیط برگشت( شهر فرموله سازی هدف(Bucharest

:فرموله سازی مسالهحاالت: شهرهای مختلفاعمال: حرکت بین شهرهاجستجو :Arad, Sibiu, Fagaras, Bucharest

Page 7: هوش مصنوعی - فصل سوم

7

عامل مبتنی بر حل مسالهfunction SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

static: seq , an action sequencestate, some description of the current world stategoal, a goalproblem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty thengoal FORMULATE-GOAL(state)problem FORMULATE-PROBLEM(state , goal)seq SEARCH(problem)action FIRST(seq)seq REST(seq)return action

Page 8: هوش مصنوعی - فصل سوم

8

چند سوالشود؟ جستجو چندبار انجام می1(ی(ا بخش(ی قابل مشاهده 2( قاب(ل مشاهده محی(ط کامالً

است؟محیط قطعی یا غیر قطعی است؟3(محیط گسسته یا پیوسته است؟4(محیط اپیزودیک یا ترتیبی است؟ 5(

Page 9: هوش مصنوعی - فصل سوم

9

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 10: هوش مصنوعی - فصل سوم

10

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 11: هوش مصنوعی - فصل سوم

11

انواع مسالهقاب(ل مشاهده: • و کامالً )قطع(ی حالته ت(ک Singleمس(ایل

State)قاب(ل مشاهده: • بخش(ی و دریافت قطع(ی قاب(ل غی(ر مس(ایل

(Sensorless/Conformant)مشاهده: • قاب(ل بخش(ی و قطع(ی احتمالی غی(ر مس(ایل

(Contingency)ناشناخت(ه: • حال(ت برخط فضای ی((ا اکتشاف((ی مس((ایل

(Exploration/Online)

Page 12: هوش مصنوعی - فصل سوم

12

مساله تک حالته5شروع از حالت : مساله تک حالته•[راست، مکش]راه حل؟ •

Page 13: هوش مصنوعی - فصل سوم

13

مساله غیرقابل دریافتدریاف(ت: • قاب(ل غی(ر حاالت مس(اله از یکی از شروع

{2،1 ....،8}[راست، مکش، چپ و مکش]راه حل: •

Page 14: هوش مصنوعی - فصل سوم

14

مساله غیرقابل دریافت

Page 15: هوش مصنوعی - فصل سوم

15

Page 16: هوش مصنوعی - فصل سوم

16

مساله غیرقطعی{3،1شروع از یکی از حاالت }مساله غیر قطعی: •

با فرض اینکه مکش ممکن است باعث کثیفی نیز شود )قانون مرفی(

راه حل: ؟؟؟•

Page 17: هوش مصنوعی - فصل سوم

17

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 18: هوش مصنوعی - فصل سوم

18

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 19: هوش مصنوعی - فصل سوم

19

سازی مساله فرمولهشود. یک مساله با موارد زیر تعریف می•Aradمانند (: initial state )حالت شروع•

مجموعه زوج مرتب از حالت – عمل(: successor functionتابع جانشینی)•( مانند بخارست explicitصریح)(: goal testآزمون هدف )•

( مانند مات کردنimplicitضمنی) که همیشه صعودی است.)C)x, a, y(: path costهزینه مسیر)•ایی از اعمال از حالت شروع تا حالت هدف است. دنباله(: solutionراه حل)•( :راه حل با کمترین هزینه است.optimal solutionراه حل بهینه )•

Page 20: هوش مصنوعی - فصل سوم

20

مثال: دنیای جاروبرقی حالت مختلف8حاالت: •هریک از حاالتحالت شروع: •چپ، راست، مکش یا هیج کار{اعمال:}•{8 و 7حاالت }آزمون هدف: •تعداد اعمال انجام شده تا رسیدن به هدفهزینه مسیر: •

Page 21: هوش مصنوعی - فصل سوم

21

مثال: پازل اعدادهای مختلف جایگشتحاالت: •هریک از حاالتحالت شروع: •}چپ، راست، باال و پایین{اعمال: •حالت هدفآزمون هدف: •تعداد اعمال انجام شدههزینه مسیر: •

Page 22: هوش مصنوعی - فصل سوم

22

وزیر8مثال: 1فرموله سازی افزایشی )جایگشت های مختلف چینشحاالت: •صفحه خالیحالت شروع: •اضافه نمودن وزیر در جای مناسباعمال: • وزیر بر روی صفحه شطرنج8آزمون هدف: • - هزینه مسیر: •

Page 23: هوش مصنوعی - فصل سوم

23

وزیر8مثال: 1 روش دوم(( فرموله سازی افزایشی(های مختلف چینش جایگشتحاالت: •صفحه خالیحالت شروع: •اضافه نمودن هر وزیر در یک ستون اعمال: • وزیر بر روی صفحه شطرنج8آزمون هدف: • - هزینه مسیر: •

وزیر نخواهد داشت.100بهبود قابل توجه در مساله

Page 24: هوش مصنوعی - فصل سوم

24

وزیر8مثال: 2فرموله سازی کامل )های مختلف چینش جایگشتحاالت: • وزیر بر روی صفحه 8هر حالت شروع: •جابجا نمودن نمودن وزیرها در صفحهاعمال: •عدم تهدید وزیرهاآزمون هدف: • - هزینه مسیر: •

Page 25: هوش مصنوعی - فصل سوم

25

مثال: بازوی مکانیکی قطعه سازهای مختلف مفاصل جایگشتحاالت: •هر مقدار قرارگیری مفاصلحالت شروع: •جابجایی مفاصلاعمال: •ساخت کامل قطعهآزمون هدف: • زمان اجرا هزینه مسیر: •

Page 26: هوش مصنوعی - فصل سوم

26

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 27: هوش مصنوعی - فصل سوم

27

فهرست مطالب

مبتنی بر حل مساله عامل•انواع مساله•فرموله سازی مساله•انواع جستجوهای ناآگاهانه•

Page 28: هوش مصنوعی - فصل سوم

28

های جستجوی پایه الگوریتمشود؟ راه حل مسایل قبلی چگونه پیدا می•جستجوی فضای حالت با تولید یک درخت•حالت شروعریشه = •تواب(ع جانشین(ی تولی(د می ه(ا و برگ گره• از طری(ق ه(ا

شوند.گردد. در حالت کلی جستجو منجر به تولید گراف می•

) حاالت یکسان از طریق چندین مسیر(

Page 29: هوش مصنوعی - فصل سوم

29

عامل مبتنی بر حل مسالهfunction SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

static: seq , an action sequencestate, some description of the current world stategoal, a goalproblem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty thengoal FORMULATE-GOAL(state)problem FORMULATE-PROBLEM(state , goal)seq SEARCH(problem)action FIRST(seq)seq REST(seq)return action

Page 30: هوش مصنوعی - فصل سوم

30

عامل مبتنی بر حل مسالهfunction SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

static: seq , an action sequencestate, some description of the current world stategoal, a goalproblem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty thengoal FORMULATE-GOAL(state)problem FORMULATE-PROBLEM(state , goal)seq SEARCH(problem)action FIRST(seq)seq REST(seq)return action

Page 31: هوش مصنوعی - فصل سوم

31

جستجوی درختی

function TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo if no candidates for expansion then return failure else choose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search treeend do

Page 32: هوش مصنوعی - فصل سوم

32

مثال: رمانی

Page 33: هوش مصنوعی - فصل سوم

33

جستجوی درختی

function TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo if no candidates for expansion then return failure else choose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search treeend do

Page 34: هوش مصنوعی - فصل سوم

34

جستجوی درختی

function TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo

if no candidates for expansion then return failureelse choose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search tree

enddo

ترتیب بسط گره ها استراتژی نامیده می شود.

Page 35: هوش مصنوعی - فصل سوم

35

جستجوی درختی

function TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo

if no candidates for expansion then return failureelse choose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search tree

enddo

Page 36: هوش مصنوعی - فصل سوم

36

عامل مبتنی بر حل مسالهfunction SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

static: seq , an action sequencestate, some description of the current world stategoal, a goalproblem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty thengoal FORMULATE-GOAL(state)problem FORMULATE-PROBLEM(state , goal)seq SEARCH(problem)action FIRST( seq )seq REST(seq)return action

Page 37: هوش مصنوعی - فصل سوم

37

(2 )الگوریتم جستجوی درختیfunction TREE-SEARCH(problem, fringe) return a solution or failure

fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe)loop do

if EMPTY?(fringe) then return failurenode REMOVE-FIRST(fringe)if GOAL-TEST[node] then

return SOLUTION(node)else

fringe INSERT-ALL(EXPAND(node, problem), fringe)

استراتژی در کدام تابع پیاده سازی شده است؟ Insert_All د( Expandج( Goal Test ب( Remove-Firstالف(

Page 38: هوش مصنوعی - فصل سوم

38

جستجوی درختی

function TREE-SEARCH(problem, strategy) return a solution or failureInitialize search tree to the initial state of the problemdo

if no candidates for expansion then return failureelse choose leaf node for expansion according to strategyif node contains goal state then return solutionelse expand the node and add resulting nodes to the search tree

enddo

Page 39: هوش مصنوعی - فصل سوم

39

یادآوری( عامل و محیطباشد. ها می بنابراین هر محیط دارای مجموعه ای از حالت•باشد. ها می محیط در هر لحظه در یکی از این حالت•شود. عمل عامل در محیط باعث تغییر حالت محیط می•حالت فعلی: •Suckعمل: •حالت بعدی : •

Page 40: هوش مصنوعی - فصل سوم

40

فضای حالت( در حقیقت بیانگرstateهر حالت )•

یک حالت فیزیکی است.

( نی(ز در حقیق(ت ی(ک س(اختمان داده متناظ(ر ب(ا درخ(ت است. nodeه(ر گره)• هر گره دارای فرزند، پدر ، عمق و سایر مفاهیم درختان است.

های تولی(د شده ام(ا بسط داده نشده ( شام(ل گرهFRINGEه(ا ) آرای(ه برگ•در درخت است. )گره های سفید(

Page 41: هوش مصنوعی - فصل سوم

41

الگوریتم جستجوی درختیfunction EXPAND(node,problem) return a set of nodes

successors the empty setfor each <action, result> in SUCCESSOR-FN[problem](STATE[node]) do

s a new NODESTATE[s] resultPARENT-NODE[s] nodeACTION[s] actionPATH-COST[s] PATH-COST[node] + STEP-COST(node, action,s)DEPTH[s] DEPTH[node]+1add s to successors

return successors

Page 42: هوش مصنوعی - فصل سوم

42

های جستجو استراتژیکند(. ها را مشخص می ترتیب( بسط گره استراتژی •شود. گیری می الگوریتم جستجو )استراتژی( با چهار معیار اندازهکارایی •

آی(ا الگوریت(م همیش(ه راه ح(ل را در ص(ورت وجود آ(ن پید(ا میکام(ل بودن: 1(

کند؟آیا الگوریتم همیشه راه حل با کمترین هزینه را در صورت وجود بهینه بودن: 2(

آن پیدا می کند؟شود؟( در حین جستجو تولید/ بسط داده می تعد(اد گره چهپیچیدگی زمانی: 3(شود؟( تعداد گره در حین جستجو در حافظه ذخیره می چهپیچیدگی حافظه: 4(

Page 43: هوش مصنوعی - فصل سوم

43

های جستجو استراتژیپیچیدگ(ی زمان(ی و حافظه معموالً ب(ا س(ه پارامت(ر تعریف •

شود: می•(b :)حداکثر فاکتور انشعاب•(d :)عمق جواب بهینه•(m :))حداکثر عمق فضای حالت )معموالً بینهایت است

Page 44: هوش مصنوعی - فصل سوم

44

جستجوهای ناآگاهانهجس(تجوی ناآگاهان(ه فق(ط از اطالعات موجود در ص(ورت مساله •

نماید )جستجوهای کورکورانه(. استفاده می

حاالت • از را هدف غیر حاالت بتوان(د جس(تجو اس(تراتژی اگ(ر شود می نامیده آگاهان(ه جس(تجو آنگاه ده(د، تشخی(ص هدف

)فصل چهارم(.

Page 45: هوش مصنوعی - فصل سوم

45

انواع جستجوهای ناآگاهانه(Breadth-first searchجستجوی سطحی )1.(Uniform-cost searchجستجوی هزینه یکنواخت )2.(Depth-first searchجستجوی عمقی )3.(Depth-limited searchجستجوی عمقی محدود )4.(Iterative deepening searchجستجوی عمقی تکرارشونده )5.(Bidirectional searchجستجوی دوطرفه )6.

Page 46: هوش مصنوعی - فصل سوم

46

( جستجوی سطحی1بسط باالترین سطح از درخت•FIFOاز طریق یک صف (fringe )پیاده سازی•

Page 47: هوش مصنوعی - فصل سوم

47

( جستجوی سطحی1بسط باالترین سطح از درخت•FIFOپیاده سازی از طریق یک صف •

Page 48: هوش مصنوعی - فصل سوم

48

( جستجوی سطحی1بسط باالترین سطح از درخت•FIFOپیاده سازی از طریق یک صف •

Page 49: هوش مصنوعی - فصل سوم

49

( جستجوی سطحی1بسط باالترین سطح از درخت•FIFOپیاده سازی از طریق یک صف •

Page 50: هوش مصنوعی - فصل سوم

50

( جستجوی سطحی1بسط باالترین سطح از درخت•FIFOپیاده سازی از طریق یک صف •

Page 51: هوش مصنوعی - فصل سوم

51

(BF Searchارزیابی جستجوی سطحی )کامل بودن؟ • به شرطی که:بلی•

( جواب بهینه در عمقd.قابل دسترس باشد )( فاکتور انشعابb.محدود باشد )

Page 52: هوش مصنوعی - فصل سوم

52

(BF Searchارزیابی جستجوی سطحی )بهینه بودن؟ • به شرطی که:بلی•

.مسیرها فاقد هزینه باشند

Page 53: هوش مصنوعی - فصل سوم

53

(BF Searchارزیابی جستجوی سطحی )پیچیدگی زمانی؟• فرزند است.bگره ریشه حداکثر دارای • فرزند است، بنابراین در سطح اول گره وجود دارد.bهر فرزند نیز حداکثر دارای • باش(د، در بدتری(ن حال(ت جواب بای(د در س(مت راست dب(ا فرض اینک(ه( جواب در عم(ق •

ترین گره باشد..تعداد نودهای( تولید شده از رابطه زیر محاسبه می شود

پیچدگی حافظه؟•.هم مرتبه پیچیدگی زمانی است

)()(... 113210 ddd bObbbbbbb

2b

)( 11 dd bObb

Page 54: هوش مصنوعی - فصل سوم

54

( جستجوی سطری1انشعاب • فاکتور ب(ا مس(اله ی(ک در عمق 2مثال( و

، جس(تجوی س(طحی دقیقاً چه تعداد گره 4جواب بهین(ه شود؟ تولید می

شود؟؟؟ چه تعداد گره بسط داده می•

61)22(22222 1443210

Page 55: هوش مصنوعی - فصل سوم

55

آزمایش( مفروض است.b=10یک مساله با فاکتور انشعاب )•های متفاوت جستجو ای(ن مس(اله ب(ا جس(تجوی س(طحی در عم(ق•

شده است.میزان حافظه و زمان جستجو ثبت شده است.•

Page 56: هوش مصنوعی - فصل سوم

56

آزمایشدرس های آموخته شده:

مشکل حافظه به مراتب مشکل بزرگتری از زمان اجرا است.1()2( نمای(ی پیچیدگ(ی ب(ا نمون(همس(ایل کوچ(ک حت(ی جستجوهای های توس(ط )

باشند. ناآگاهانه قابل حل نمی

Page 57: هوش مصنوعی - فصل سوم

57

( جستجو با هزینه غیر یکنواخت2در حقیق(ت مدل توس(عه داده شده جس(تجوی سطحی •

است.گره با کمترین هزینه بسط داده شود.•ی(ک ص(ف مرت(ب بر اس(اس هزینه fringeپیاده س(ازی: •

مسیربا • آنگاه باشن(د برابر باه(م مس(یرها هزین(ه BFاگ(ر

یکسان است.

Page 58: هوش مصنوعی - فصل سوم

58

( جستجو با هزینه یکنواخت2کامل بودن؟ •

به شرطی که: بلی.جواب در عمق قابل دسترس باشد.هزینه ها مقدار مثبت داشته باشند بهینه بودن؟•

به شرطی که:بلی .کامل باشد

Page 59: هوش مصنوعی - فصل سوم

59

( جستجو با هزینه یکنواخت2پیچیدگی زمانی؟•

فرض شودC.هزینه مسیر بهینه است * فرض شود هزینه هر عمل حداقل.است پیچیدگی زمانی است.در بدترین حالت پیچیدگی حافظه؟•

.برابر با پیچیدگی زمانی است

O(bC*/ )

Page 60: هوش مصنوعی - فصل سوم

60

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 61: هوش مصنوعی - فصل سوم

61

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 62: هوش مصنوعی - فصل سوم

62

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 63: هوش مصنوعی - فصل سوم

63

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 64: هوش مصنوعی - فصل سوم

64

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 65: هوش مصنوعی - فصل سوم

65

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 66: هوش مصنوعی - فصل سوم

66

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 67: هوش مصنوعی - فصل سوم

67

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 68: هوش مصنوعی - فصل سوم

68

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 69: هوش مصنوعی - فصل سوم

69

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 70: هوش مصنوعی - فصل سوم

70

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 71: هوش مصنوعی - فصل سوم

71

( جستجوی عمقی3شود. ترین گره بسط داده می عمیق•)پشته( LIFOاز طریق یک صف fringeپیاده سازی: •

Page 72: هوش مصنوعی - فصل سوم

72

( جستجوی عمقی3کامل بودن؟ خیر•

وجود تکرار حلقه و باش(د محدود حال(ت فضای اینک(ه مگ(ر نداشته باشد.

بهینه بودن؟ خیر•.چون کامل نیست

Page 73: هوش مصنوعی - فصل سوم

73

( جستجوی عمقی3پیچیدگی زمانی؟ •

اگرm خیلی بزرگتر از d .باشد به مراتب بدتر است در بسیاری از مسایل سریعتر از جستجویBF.است پیچیدگی حافظه؟ •

شود. در زمان عقبگرد حافظه آزاد می

)( mbO

)1( bmO

Page 74: هوش مصنوعی - فصل سوم

74

( جستجوی عمقی محدود4( است.Lعمق محدود ) با DFدر حقیقت •باشد. تعیین در همه مسایل امکان پذیر نمی• آنگاه غیر کامل است.L<dاگر • آنگاه کامل اما غیر بهینه است.L>dاگر • آنگاه کامل و بهینه است.L=dاگر •

Page 75: هوش مصنوعی - فصل سوم

75

( جستجوی عمقی محدود4پیچیدگی زمانی؟ •

پیچیدگی حافظه؟ •

O(bl )

)(blO

Page 76: هوش مصنوعی - فصل سوم

76

( جستجوی عمقی محدود4function DEPTH-LIMITED-SEARCH(problem,limit) return a solution or failure/cutoff

return RECURSIVE-DLS(MAKE-NODE(INITIAL-STATE[problem]),problem,limit)

function RECURSIVE-DLS(node, problem, limit) return a solution or failure/cutoffcutoff_occurred? falseif GOAL-TEST[problem](STATE[node]) then return SOLUTION(node)else if DEPTH[node] == limit then return cutoffelse for each successor in EXPAND(node, problem) do

result RECURSIVE-DLS(successor, problem, limit)if result == cutoff then cutoff_occurred? trueelse if result failure then return result

if cutoff_occurred? then return cutoff else return failure

Page 77: هوش مصنوعی - فصل سوم

77

( جستجوی عمقی تکراری5Lیک استراتژی برای یافتن بهترین مقدار •DFو BFروشی برای ترکیب مزایای جستجوی •

function ITERATIVE_DEEPENING_SEARCH(problem) return a solution or failureinputs: problemfor depth 0 to ∞ do

result DEPTH-LIMITED_SEARCH(problem, depth)if result cuttoff then return result

Page 78: هوش مصنوعی - فصل سوم

78

( جستجوی عمقی تکراری5 Limit=0

Page 79: هوش مصنوعی - فصل سوم

79

( جستجوی عمقی تکراری5 Limit=1

Page 80: هوش مصنوعی - فصل سوم

80

( جستجوی عمقی تکراری5 Limit=2

Page 81: هوش مصنوعی - فصل سوم

81

( جستجوی عمقی تکراری5 Limit=3

Page 82: هوش مصنوعی - فصل سوم

82

( جستجوی عمقی تکراری5کامل بودن؟ بلی•

که حلقه تکرار وجود نداشته باشد.به شرطی

بهینه بودن؟ بلی•اگر هزینه مسیرها باهم برابر باشد.•

Page 83: هوش مصنوعی - فصل سوم

83

( جستجوی عمقی تکراری5پیچیدگی زمانی؟•

level d: once level d-1: 2 level d-2: 3 … level 2: d-1 level 1: d Level 0: 1

پیچیدگی حافظه؟

O(bd )

dbbdbdIDSN )1(...)1()()( 2

)(...)( 12 bbbbbBFSN dd

O(bd)

Page 84: هوش مصنوعی - فصل سوم

84

( جستجوی عمقی تکراری5مثال: تعداد گره های تولی(د شده ب(ا جس(تجوی س(طری و عمقی •

انشعاب فاکتور ب(ا ی(ک مس(اله فرض(ی در و عمق 10تکراری را بدست آورید.5جواب بهینه

تعداد گره های بسط داده شده؟؟؟•

111110099999010000010000100010010)(12345010000020000300040050)(

BFSNIDSN

Page 85: هوش مصنوعی - فصل سوم

85

( جستجوی دوطرفه6دو جستجوی همزمان از شروع و هدف•

bd / 2 bd / 2 bd

Page 86: هوش مصنوعی - فصل سوم

86

( جستجوی دوطرفه6کامل بودن؟ بلی•.به شرطی که از جستجوی سطری استفاده شود

بهینه بودن؟ بلی•.به شرطی که از جستجوی سطری استفاده شود

Page 87: هوش مصنوعی - فصل سوم

87

بندی جستجوهای ناآگاهانه جمعCriterion Breadth-

FirstUniform-

costDepth-First Depth-

limitedIterative

deepeningBidirectional

search

Complete? YES* YES* NO YES, if l d

YES YES*

Time bd+1 bC*/e bm bl bd bd/2

Space bd+1 bC*/e bm bl bd bd/2

Optimal? YES* YES* NO NO YES YES