Transcript
Page 1: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

:مدرس

محمد صبریدانشجوی دکتری مهندسی کامپیوتر گرایش هوش مصنوعی

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

هوش مصنوعی، رهیافتی نوین

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

1

فرادرس

FaraDars.org

Page 2: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

2

فرادرس

FaraDars.org

Page 3: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

3

فرادرس

FaraDars.org

Page 4: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

عامل مبتنی بر حل مساله

:ازعبارتندمسالهیکحلبرایکلیمرحلهچهار•goal)هدفسازیفرموله1. formulation):است؟هدفحاالتازکدامیک

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

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

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

4

فرادرس

FaraDars.org

Page 5: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

رمانی: مثال

5

فرادرس

FaraDars.org

Page 6: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

رمانی: مثال

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

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

مسالهسازیفرموله:مختلفشهرهای:حاالتشهرهابینحرکت:اعمال

جستجو:Arad, Sibiu, Fagaras, Bucharest

6

فرادرس

FaraDars.org

Page 7: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

static: seq , an action sequence

state, some description of the current world state

goal, a goal

problem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty then

goal FORMULATE-GOAL(state)

problem FORMULATE-PROBLEM(state , goal)

seq SEARCH(problem)

action FIRST(seq)

seq REST(seq)

return action

7

فرادرس

FaraDars.org

Page 8: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

چند سوال

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

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

8

فرادرس

FaraDars.org

Page 9: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

9

فرادرس

FaraDars.org

Page 10: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

10

فرادرس

FaraDars.org

Page 11: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

انواع مساله

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

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

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

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

11

فرادرس

FaraDars.org

Page 12: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

مساله تک حالته

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

]مکش،راست[حل؟راه•

12

فرادرس

FaraDars.org

Page 13: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

{8....،2،1}حاالتازیکیازشروع:دریافتقابلغیرمساله•

]مکشوچپمکش،راست،[:حلراه•

13

فرادرس

FaraDars.org

Page 14: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

14

فرادرس

FaraDars.org

Page 15: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

15

فرادرس

FaraDars.org

Page 16: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

مساله غیرقطعی

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

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

؟؟؟:حلراه•

16

فرادرس

FaraDars.org

Page 17: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

17

فرادرس

FaraDars.org

Page 18: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

18

فرادرس

FaraDars.org

Page 19: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

سازی مسالهفرموله

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

successor)جانشینیتابع• function):عمل–حالتازمرتبزوجمجموعه

goal)هدفآزمون• test):صریح(explicit)بخارستمانندکردنماتمانند(implicit)ضمنی

path)مسیرهزینه• cost):C(x, a, y)استصعودیهمیشهکه.

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

19

فرادرس

FaraDars.org

Page 20: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

دنیای جاروبرقی: مثال

مختلفحالت8:حاالت•

حاالتازهریک:شروعحالت•

{کارهیجیامکشراست،چپ،}:اعمال•

{8و7}حاالت:هدفآزمون•

هدفبهرسیدنتاشدهانجاماعمالتعداد:مسیرهزینه•

20

فرادرس

FaraDars.org

Page 21: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

پازل اعداد: مثال

مختلفهایجایگشت:حاالت•

حاالتازهریک:شروعحالت•

{پایینوباالراست،چپ،}:اعمال•

هدفحالت:هدفآزمون•

شدهانجاماعمالتعداد:مسیرهزینه•

21

فرادرس

FaraDars.org

Page 22: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

وزیر8: مثال

1)افزایشیسازیفرمولهچینشمختلفهایجایگشت:حاالت•

خالیصفحه:شروعحالت•

مناسبجایدروزیرنمودناضافه:اعمال•

شطرنجصفحهرویبروزیر8:هدفآزمون•

-:مسیرهزینه•

22

فرادرس

FaraDars.org

Page 23: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

وزیر8: مثال

1)(دومروش)افزایشیسازیفرمولهچینشمختلفهایجایگشت:حاالت•

خالیصفحه:شروعحالت•

ستونیکدروزیرهرنمودناضافه:اعمال•

شطرنجصفحهرویبروزیر8:هدفآزمون•

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

23

فرادرس

FaraDars.org

Page 24: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

وزیر8: مثال

2)کاملسازیفرمولهچینشمختلفهایجایگشت:حاالت•

صفحهرویبروزیر8هر:شروعحالت•

صفحهدروزیرهانمودننمودنجابجا:اعمال•

وزیرهاتهدیدعدم:هدفآزمون•

-:مسیرهزینه•

24

فرادرس

FaraDars.org

Page 25: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

بازوی مکانیکی قطعه ساز: مثال

مفاصلمختلفهایجایگشت:حاالت•

مفاصلقرارگیریمقدارهر:شروعحالت•

مفاصلجابجایی:اعمال•

قطعهکاملساخت:هدفآزمون•

اجرازمان:مسیرهزینه•

25

فرادرس

FaraDars.org

Page 26: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

26

فرادرس

FaraDars.org

Page 27: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فهرست مطالب

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

27

فرادرس

FaraDars.org

Page 28: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

های جستجوی پایهالگوریتم

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

شروعحالت=ریشه•

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

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

28

فرادرس

FaraDars.org

Page 29: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

static: seq , an action sequence

state, some description of the current world state

goal, a goal

problem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty then

goal FORMULATE-GOAL(state)

problem FORMULATE-PROBLEM(state , goal)

seq SEARCH(problem)

action FIRST(seq)

seq REST(seq)

return action

29

فرادرس

FaraDars.org

Page 30: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

static: seq , an action sequence

state, some description of the current world state

goal, a goal

problem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty then

goal FORMULATE-GOAL(state)

problem FORMULATE-PROBLEM(state , goal)

seq SEARCH(problem)

action FIRST(seq)

seq REST(seq)

return action

30

فرادرس

FaraDars.org

Page 31: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی درختی

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

end do

31

فرادرس

FaraDars.org

Page 32: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

رمانی: مثال

32

فرادرس

FaraDars.org

Page 33: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی درختی

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

end do

33

فرادرس

FaraDars.org

Page 34: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی درختی

34

function TREE-SEARCH(problem, strategy) return a solution or failure

Initialize search tree to the initial state of the problem

do

if no candidates for expansion then return failure

else choose leaf node for expansion according to strategy

if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree

enddo

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

فرادرس

FaraDars.org

Page 35: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی درختی

35

function TREE-SEARCH(problem, strategy) return a solution or failure

Initialize search tree to the initial state of the problem

do

if no candidates for expansion then return failure

else choose leaf node for expansion according to strategy

if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree

enddo

فرادرس

FaraDars.org

Page 36: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

static: seq , an action sequence

state, some description of the current world state

goal, a goal

problem, a problem formulation

state UPDATE-STATE(state, percept)if seq is empty then

goal FORMULATE-GOAL(state)

problem FORMULATE-PROBLEM(state , goal)

seq SEARCH(problem)

action FIRST( seq )

seq REST(seq)

return action

36

فرادرس

FaraDars.org

Page 37: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

(2)الگوریتم جستجوی درختی

37

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 failure

node 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(الف

فرادرس

FaraDars.org

Page 38: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی درختی

38

function TREE-SEARCH(problem, strategy) return a solution or failure

Initialize search tree to the initial state of the problem

do

if no candidates for expansion then return failure

else choose leaf node for expansion according to strategy

if node contains goal state then return solution

else expand the node and add resulting nodes to the search tree

enddo

فرادرس

FaraDars.org

Page 39: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

عامل و محیط( یادآوری

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

Suck:عمل•

S𝑗:بعدیحالت•

39

فرادرس

FaraDars.org

Page 40: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فضای حالت

بیانگرحقیقتدر(state)حالتهر•.استفیزیکیحالتیک

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

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

40

فرادرس

FaraDars.org

Page 41: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

الگوریتم جستجوی درختی

41

function EXPAND(node,problem) return a set of nodes

successors the empty set

for each <action, result> in SUCCESSOR-FN[problem](STATE[node]) do

s a new NODE

STATE[s] result

PARENT-NODE[s] node

ACTION[s] action

PATH-COST[s] PATH-COST[node] + STEP-COST(node, action,s)

DEPTH[s] DEPTH[node]+1

add s to successors

return successors

فرادرس

FaraDars.org

Page 42: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

های جستجواستراتژی

.کندمیمشخصراهاگرهبسطترتیباستراتژی•

.دشومیگیریاندازهمعیارچهاربا(استراتژی)جستجوالگوریتمکارایی•کند؟میپیداآنوجودصورتدرراحلراههمیشهالگوریتمآیا:بودنکامل1)

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

؟شودمیدادهبسط/تولیدجستجوحیندرگرهتعدادچه:زمانیپیچیدگی3)

شود؟میذخیرهحافظهدرجستجوحیندرگرهتعدادچه:حافظهپیچیدگی4)

42

فرادرس

FaraDars.org

Page 43: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

های جستجواستراتژی

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

•(b):انشعابفاکتورحداکثر

•(d):بهینهجوابعمق

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

43

فرادرس

FaraDars.org

Page 44: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوهای ناآگاهانه

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

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

44

فرادرس

FaraDars.org

Page 45: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

انواع جستجوهای ناآگاهانه

Breadth-first)سطحیجستجوی1. search)

Uniform-cost)یکنواختهزینهجستجوی2. search)

Depth-first)عمقیجستجوی3. search)

Depth-limited)محدودعمقیجستجوی4. search)

Iterative)تکرارشوندهعمقیجستجوی5. deepening search)

Bidirectional)دوطرفهجستجوی6. search)

45

فرادرس

FaraDars.org

Page 46: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطحی( 1

درختازسطحباالترینبسط•

FIFOصفیکطریقاز(fringe)سازیپیاده•

46

فرادرس

FaraDars.org

Page 47: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطحی( 1

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

47

فرادرس

FaraDars.org

Page 48: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطحی( 1

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

48

فرادرس

FaraDars.org

Page 49: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطحی( 1

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

49

فرادرس

FaraDars.org

Page 50: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطحی( 1

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

50

فرادرس

FaraDars.org

Page 51: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

(BF Search)ارزیابی جستجوی سطحی

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

51

فرادرس

FaraDars.org

Page 52: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

(BF Search)ارزیابی جستجوی سطحی

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

52

فرادرس

FaraDars.org

Page 53: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

(BF Search)ارزیابی جستجوی سطحی

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

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

53

)()(... 113210 ddd bObbbbbbb

2b

)( 11 dd bObb

فرادرس

FaraDars.org

Page 54: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی سطری( 1

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

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

54

61)22(22222 1443210

فرادرس

FaraDars.org

Page 55: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

آزمایش

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

55

فرادرس

FaraDars.org

Page 56: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

آزمایش

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

56

فرادرس

FaraDars.org

Page 57: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجو با هزینه غیر یکنواخت( 2

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

.استیکسانBFباآنگاهباشندبرابرباهممسیرهاهزینهاگر•

57

فرادرس

FaraDars.org

Page 58: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجو با هزینه یکنواخت( 2

بودن؟کامل•:کهشرطیبهبلی

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

؟بودنبهینه•:کهشرطیبهبلی

باشدکامل.

58

فرادرس

FaraDars.org

Page 59: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجو با هزینه یکنواخت( 2

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

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

59

O(bC*/ )

فرادرس

FaraDars.org

Page 60: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

60

فرادرس

FaraDars.org

Page 61: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

61

فرادرس

FaraDars.org

Page 62: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

62

فرادرس

FaraDars.org

Page 63: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

63

فرادرس

FaraDars.org

Page 64: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

64

فرادرس

FaraDars.org

Page 65: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

65

فرادرس

FaraDars.org

Page 66: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

66

فرادرس

FaraDars.org

Page 67: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

67

فرادرس

FaraDars.org

Page 68: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

68

فرادرس

FaraDars.org

Page 69: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

69

فرادرس

FaraDars.org

Page 70: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

70

فرادرس

FaraDars.org

Page 71: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

.شودمیدادهبسطگرهترینعمیق•

(پشته)LIFOصفیکطریقازfringe:سازیپیاده•

71

فرادرس

FaraDars.org

Page 72: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

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

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

72

فرادرس

FaraDars.org

Page 73: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی( 3

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

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

73

)( mbO

)1( bmO

فرادرس

FaraDars.org

Page 74: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی عمقی محدود( 4

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

74

فرادرس

FaraDars.org

Page 75: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

عمقی محدودجستجوی ( 4

زمانی؟پیچیدگی•

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

75

O(b l )

)(blOفرادرس

FaraDars.org

Page 76: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

عمقی محدودجستجوی ( 4

function 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/cutoff

cutoff_occurred? false

if GOAL-TEST[problem](STATE[node]) then return SOLUTION(node)

else if DEPTH[node] == limit then return cutoff

else for each successor in EXPAND(node, problem) do

result RECURSIVE-DLS(successor, problem, limit)

if result == cutoff then cutoff_occurred? true

else if result failure then return result

if cutoff_occurred? then return cutoff else return failure

76

فرادرس

FaraDars.org

Page 77: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

Lمقداربهترینیافتنبرایاستراتژییک•

DFوBFجستجویمزایایترکیببرایروشی•

function ITERATIVE_DEEPENING_SEARCH(problem) return a solution or failure

inputs: problem

for depth 0 to ∞ do

result DEPTH-LIMITED_SEARCH(problem, depth)

if result cuttoff then return result

77

فرادرس

FaraDars.org

Page 78: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

78

Limit=0

فرادرس

FaraDars.org

Page 79: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

79

Limit=1

فرادرس

FaraDars.org

Page 80: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

80

Limit=2

فرادرس

FaraDars.org

Page 81: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

81

Limit=3

فرادرس

FaraDars.org

Page 82: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

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

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

82

فرادرس

FaraDars.org

Page 83: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

زمانی؟پیچیدگی•

level d: once

level d-1: 2

level d-2: 3

level 2: d-1

level 1: d

Level 0: d+1

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

83

O(bd )

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

)(...)( 12 bbbbbBFSN dd

O(bd)

فرادرس

FaraDars.org

Page 84: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

سالهمیکدرتکراریعمقیوسطریجستجویباشدهتولیدهایگرهتعداد:مثال•.آوریدبدسترا5بهینهجوابعمقو10انشعابفاکتوربافرضی

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

84

111110099999010000010000100010010)(

12345010000020000300040050)(

BFSN

IDSN فرادرس

FaraDars.org

Page 85: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی دوطرفه( 6

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

85

bd / 2 bd / 2 bdفرادرس

FaraDars.org

Page 86: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

جستجوی دوطرفه( 6

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

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

86

فرادرس

FaraDars.org

Page 87: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

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

Criterion Breadth-

First

Uniform-

cost

Depth-First Depth-

limited

Iterative

deepening

Bidirectional

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

87

فرادرس

FaraDars.org

Page 88: آموزش هوش مصنوعی - بخش سوم

مصنوعیآموزش هوش

faradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

این اسالید ها بر مبنای نکات مطرح شده در فرادرس

« آموزش هوش مصنوعی».تهیه شده است

یدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایfaradars.org/fvsft102

مصنوعیآموزش هوش

faradars.org/fvsft102

فرادرس

FaraDars.org