slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
نام مرجع : هوش مصنوعی تهیه کننده : سید محسن هاشمی PowerPoint Presentation
Download Presentation
نام مرجع : هوش مصنوعی تهیه کننده : سید محسن هاشمی

Loading in 2 Seconds...

play fullscreen
1 / 54

نام مرجع : هوش مصنوعی تهیه کننده : سید محسن هاشمی - PowerPoint PPT Presentation


  • 169 Views
  • Uploaded on

نام مرجع : هوش مصنوعی تهیه کننده : سید محسن هاشمی. هوش مصنوع ي. فصل چهارم. جست و جوی آگاهانه و اکتشاف. جست و جوی آگاهانه و اکتشاف. متدهای جستجوی آگاهانه. جستجوی محلی و بهينه سازی تپه نوردی شبيه سازی حرارت پرتو محلی الگوريتمهای ژنتيک. بهترين جستجو حريصانه A* IDA* RBFS

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'نام مرجع : هوش مصنوعی تهیه کننده : سید محسن هاشمی' - brooke


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
نام مرجع :

هوش مصنوعی

تهیه کننده :

سید محسن هاشمی

slide2

هوش مصنوعي

فصل چهارم

جست و جوی آگاهانه و اکتشاف

slide3

جست و جوی آگاهانه و اکتشاف

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

  • جستجوی محلی و بهينه سازی
      • تپه نوردی
      • شبيه سازی حرارت
      • پرتو محلی
      • الگوريتمهای ژنتيک
  • بهترين جستجو
    • حريصانه
    • A*
    • IDA*
    • RBFS
    • MA* و SMA*
slide4

جست و جوی آگاهانه و اکتشاف

تعاريف

تابع هزينه مسير g(n) : هزينه مسير از گره اوليه تا گره n

تابع اکتشافیh(n) : هزينه تخمينی ارزان ترين مسير از گره n به گره هدف

تابع بهترين مسير h*(n) : ارزان ترين مسير از گره n تا گره هدف

تابع ارزيابي f(n) : هزينه تخمينی ارزان ترين مسير از طريق n

f(n): g(n) + h(n)

f*(n) : هزينه ارزان ترين مسير از طريق n

f*(n): g(n) + h*(n)

slide5

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

استراتژي جستجوي آگاهانه از دانش مسئله استفاده مي کند و در انتخاب گره، گرهي را انتخاب مي کنند که شانس رسيدن به هدف در آن بيشتر باشد يا به نظر برسد که به هدف نزديك تراست .

براي اينكه تخمين بزنيم که گره فرزند چقدر به هدف نزديك تر است از تابع ارزيابي استفاده مي کنيم. اين تابع هزينه رسيدن به گره هدف را تخمين مي زند و به عبارت ديگر ميزان مفيد بودن گره فعلي را باز مي گرداند.

تابع ارزيابي را با f(n) نشان می دهند

تابع هیورستیک را با h(n) نشان می دهند

slide6

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

1) جستجوی حریصانه

جستجوی اول بهترین

A *

2) جستجوی

IDA *

1)

جستجوی حافظه محدود شده

MA *

2)

SMA *

3)

تپه نوردی

1)

سرد و گرم

2)

جستجوی محلی

ژنتیک

3)

پرتو

4)

slide7

جستجوی اول بهترین

در اين روش در هر مرتبه گره اي که بهترين ارزيابي را داشته باشد ابتدا بسط داده مي شود به عبارت ديگر گرهي انتخاب مي شود که تابع ارزيابي بهترين مقدار را براي آن باز گرداند.

جستجوی اول بهترین با صف اولویت پیاده سازی می شود .

در جستجوی اول بهترین اگر تابع ارزیابی غیر صحیح باشد می تواند باعث گمراه شدن جستجو شود .

جزء کلیدی جستجوی اول بهترین تابع هیورستیک ( اکتشافی ) می باشد

slide8

تابع هیورستیک در الگوریتم جستجوی اول بهترین

جزء کلیدی جستجوی اول بهترین تابع هیورستیک ( اکتشافی ) می باشد

n

h(n) = هزینه تخمینی ارزانترین مسیر از حالت تا نود هدف

n

h(n) = 0

اگر هدف باشد داریم :

slide9

یک مثال از تابع هیورستیک

در یک مسله مسیر یابی داریم :

B

230

185

A

350

200

C

slide10

جستجوی اول بهترین با استراتژی حریصانه (Greedy Search)

جستجوي حريصانه يكي از روش هاي جستجوي اول بهترين است در اين روش هدف به حداقل رساندن هزينه رسيدن به هدف با استفاده از تابع تخمين ( هیورستیک ) مي باشد در این استراتژی گرهي که به هدف نزديكتر است ابتدا بسط داده مي شود

در جستجوی حریصانه داریم :

f(n) = h(n)

slide11

مسیر یابی با استراتژی حریصانه

75

B

مثال :

99

F

140

S

80

E

211

G

118

I

C

H

101

111

D

97

مسیر بدست آمده با جستجوی حریصانه :

S-E-F-G = 140 + 99 + 211= 450

slide12

مسیر یابی با استراتژی حریصانه بهینه نیست

75

99

B

مثال :

F

80

S

E

211

140

G

118

I

101

C

H

111

97

D

مسیر بدست آمده با جستجوی حریصانه :

S-E-F-G = 140 + 99 + 211= 450

مسیر بدست آمده بهینه :

S-E-I-H-G = 140 + 80 + 97+101= 418

slide13

2

1

4

1

B

C

1

1

1

5

D

E

3

3

1

J

K

0

مثال :

A

1

1

3

3

F

G

1

3

1

2

1

3

2

3

2

1

3

3

H

I

L

M

N

O

2

3

2

3

3

3

2

1

3

2

1

P

Q

R

S

T

U

V

W

X

Y

Z

1

0

3

1

2

2

1

1

2

2

1

slide14

2

1

1

3

2

4

1

B

C

1

1

1

5

D

E

3

3

1

J

K

0

ادامه مثال :

A

slide15

ویژگی های استراتژی حریصانه

1 ) کامل نیست

2 ) بهینه نیست

O(bm)

3 ) پیچیدگی زمانی

O(bm)

4 ) پیچیدگی مکانی

5 ) کارآیی این روش به دقت تابع هیورستیک بستگی دارد

6 ) پیچیدگی زمانی و مکانی با انتخاب یک تابع هیورستیک خوب

کاهش می یابد.

slide16

حالات خاص در الگوریتم حریصانه

اگر h = h*آنگاه جستجو کامل ميشود

اگر h = h*آنگاه جستجو بهینه ميشود

اگر h = h*آنگاه پیچیدگی زمانی و مکانیO(bd) می شود .

slide17

ایراد های استراتژی حریصانه

ممکن است در یک بن بست گرفتار شود

B

S

D

G

C

D

مانند جستجوی عمقی مسیر را برای رسیدن به هدف دنبال می کند و ممکن است یک مسیر نامتناهی به پایین را دنبال کند که هیچ وقت به هدف نمی رسد.

slide18

مثال :

با استفاده از روش حريصانه مسئله زير را حل کنيد.

10.4

7.6

4

1

2

B

A

C

3

4

5

8

S

11

2

4

3

4

D

E

F

G

9.6

3

8.9

0

slide19

جستجوی اول بهترین با استراتژی الگوریتم A*

روش جستجوی A*تلفیقی از روش جستجوی هزینه یکنواخت ( UCS ) و روش جستجوی حریصانه است. در جستجوی هزینه یکنواخت بر اساس هزینه تا گره فعلی ، کم هزینه ترین گره را انتخاب کرده و گسترش می دهیم. جستجوی هزینه یکنواخت بهینه است ، یعنی جواب بهینه مسئله را پیدا می کند ولی در مقابل بسیاز زمانبر است. جستجوی حریصانه نیز بر اساس هزینه تا مقصد ، کم هزینه ترین گره را برای گسترش انتخاب می کند. یافتن جواب با استفاده از جستجوی حریصانه به سرعت انجام می گیرد. ولی این روش نیز از مشکلاتی همچون بهینه نبودن جواب رنج می برد.

روش جستجوی A*، سرعت روش حریصانه در رسیدن به جواب و بیهنگی روش هزینه یکنواخت در پیدا کردن جواب را باهم ترکیب کرده و به جستجوی هدف خود می پردازد.

slide20

جستجوی اول بهترین با استراتژی الگوریتم A*

جستجوی A* سعی می کند مجموع هزینه پرداخت شده تا گره فعلی و هزینه باقی مانده از گره فعلی تا هدف را مینیمم کند. تخمین هزینه باقی مانده تا هدف را هیوریستیک مسئله می گویند. طراحی هیوریستیک مسئله در روش جستجوی *A از اهمیت بسزایی برخوردار است و بهینگی روشA* تحت تاثیر طراحی هیوریستیک مسئله قرار دارد.

هیوریستیک در روش A* هرینه قابل پرداخت از نقطه فعلی تا نقطه هدف را تخمین می زند. با این توصیف هیوریستیک قابل قبول را چنین تعریف می کنیم :

هیوریستیکی قابل قبول است که هزینه تخمینی آن از نقطه فعلی تا نقطه هدف، از هزینه واقعی قابل پرداخت از نقطه فعلی تا نقطه هدف کمتر باشد. هیوریستیکی که این شرط را برآورده نکند، هیوریستیک غیرقابل قبول می نامند.

بعبارت دیگر : یک تابع هیورستیک در صورتی قابل قبول است که هزینه رسیدن به هدف رابیشتر از هزینه واقعی تخمین نزند.

slide21

جستجوی اول بهترین با استراتژی الگوریتم A*

در این الگوریتم با ترکيب دو تابع داريم:

f(n) = g(n) + h(n)

:g(n)هزينه مسير از گره آغازين به گره n را به ما مي‌دهد.

h(n): هزينه تخمين زده شده از ارزانترين مسير از n به هدف است.

هزينه تخمين زده شده ارزانترين راه حل از طريق n= f(n)

slide22

جستجوی اول بهترین با استراتژی الگوریتم A*

f(n) = g(n) + h(n)

هزینه واقعی رسیدن از گره شروع به گره n

هزینه تقریبی رفتن از گره n به گره هدف

250

200

120

A

S

G

300

f(n) = 0 + 300 = 300

محاسبه تابع f(n) در گره S

f(n) = 250+ 120 = 370

محاسبه تابع f(n) در گره A

f(n) =( 250+200)+ 0 = 450

محاسبه تابع f(n) در گره G

slide23

مثال : استراتژی A * را روی گراف زیر پیاده سازی کنید و مسیری که توسط

این الگوریتم تولید می شود را محاسبه کنید ؟

A

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

slide24

جواب :

A

2

برای هر گره f (n ) را محاسبه کنید البته نیاز نیست برای تمام گره ها محاسبه شود

4

1

2

B

C

f(n) = g(n) + h(n)

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

چون f(B) کوچکتر از f(C) هست پس گره

B گسترش می یابد .

f(B) = g(B) + h(B) =1+ 3 = 3

f(C) = g(C) + h(C) =4+ 1 = 5

slide25

جواب :

A

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

f(D) = g(D) + h(D) =(1+1) + 3 = 5

f(C) = g(C) + h(C) =( 1 + 2 ) + 1 = 4

f(E) = g(E) + h(E) =( 1 + 3 ) + 1 = 5

چون f(C) کوچکتر از ما بقی هست پس گرهC گسترش می یابد .

slide26

جواب :

A

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

f(F) = g(F) + h(F) =(1+2+1) + 1 = 5

f(G) = g(G) + h(G) =( 1 + 2 + 3 ) + 0 = 6

چون f(F) کوچکتر از f(G) هست پس گرهF گسترش می یابد .

slide27

جواب :

A

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

f(G) = g(G) + h(G) =( 1 + 2 + 3 ) + 0 = 6

انتخابی دیگر نداریم و به هدف رسیدیم با مسیر زیر :

A B C F G

هزینه آن 5 می شود

البته چند مسیر دیگر داریم :

A C G

هزینه آن 7 می شود

A B C G

هزینه آن 6 می شود

A B E G

هزینه آن 7 می شود

slide28

تابع h(n) قابل قبول باشد

A*بهینه است به شرط اینکه

چرا تابع h(n) زیر قابل قبول است ؟

سوال :

A

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

چرا تابع h(n) در مسله مسیر یابی قابل قبول است ؟

سوال :

slide29

قضیه : ثابت کنید که A*با استفاده از الگوریتم TREE – SEARCH بهینه است

توجه : برای هر گره هدف چه

بهینه چه نیمه بهینه داریم :

h(n)=0

S

C* هزینه واقعی مسیر بهینه است

G2 یک گره نیمه بهینه است

G1 یک گره بهینه است

n

G2

G1

برای گره نیمه بهینه G2 داریم :

1

f(G2) = g(G2) + h(G2) = g(G2) +0 > C*

برای گره n که در مسیر بهینه قرار دارد داریم :

2

f(n) = g(n) + h(n) = g(n) +h(n) ≤ C*

,

f(n) ≤ C* < h(G2)

1

2

==>

این نشان می دهد که G2 گسترش نمی یابد بلکه n گسترش می یابد

توجه : این اثبات در الگوریتم های GRAPH- SEARCH به شکست میرسد .

slide30

نکات مهم الگوریتم A*

نکته ١: مهمترين شرط برای بهينه بودن الگوريتم A*اين است که برای هر گره داشته باشيم

h(n)≤ h*(n)

يعنی تابع اکتشافی هميشه کمتر مساوی مقدار واقعی تخمين بزند h(n) هزينه تخميني براي رسيدن از نود n به هدف است

h(n) هزينه تخميني براي رسيدن از نود n به هدف است

h*(n) هزينه واقعی براي رسيدن از نود n به هدف است

slide31

نکات مهم الگوریتم A*

A* قابل قبول باشد ، آنگاه در الگوريتمh هزينه واقعي مسير بهينه باشد و f* نكته ٢: اگر

را دارند بسط مي يابند. f (n)<f* تمام گره هايي را که شرايط

همواره ازدر مسير بهينه به سمت جواب f(n) بعبارت دیگر : يعنی هزينه تخمينی هر گره

هزينهبهينه واقعی کل مسير کمتر است

slide32

نکات مهم الگوریتم A*

باشد جستجو تبديل به جستجوی غير هوشمند خواهد شد. h(n)= ها 0 n نکته ٣: اگر برای (جستجو با هزينه يكسان).

حال اگر g (n) برابر با يك باشد جستجو تبديل به جستجوي اول سطح مي شود.

نکته 4: اگر h(n)= h*(n) باشدجستجو ی صورت نمیگیرد و فقط گره های واقع در مسیر بهینه بسط داده می شوند .

slide33

نکات مهم الگوریتم A*

نکته 5 : اگر A1 و A2 دو نسخه از A* باشند که که با h1 و h2 بسط داده می شوندو داشته باشیم که h*(n)>h2(n)>h1(n) آنگاه الگوریتم A2 هوشمند تر از الگوریتم A1عمل می کند .

در ضمن تعداد گره های که A2 بسط می دهد حداقل به تعداد گر ه های A1 است .

slide34

نکات مهم الگوریتم A*

نکته 6 : تابع h(n) را یکنوا می گویند اگر رابطه زیر در مورد آن صادق باشد :

h(n) < C(n , a , n ) + h( n )

׳

׳

S

n

׳

G1

n

׳

یعنی׳ n با استفاده از عمل a از حالت n ساخته شده

C(n , a , n )

slide35

نکات مهم الگوریتم A*

مثال : در گراف زیر تابع h(n) یکنوا است زیرا با توجه به رابطه زیر :

h(n) < C(n , a , n׳) + h( n׳ )

A

2

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

h(A) < C(A , a , B) +h(B) => 2 < 1 + 3 => 2 < 4 ≡ True

h(A) < C(A , a , C) +h(C) => 2 < 4 + 1 => 2 < 5 ≡ True

slide36

نکات مهم الگوریتم A*

مثال : ثابت کنید در مسله مسیر یابی تابع هیورستیک hSLD

یکنواست؟

y

׳

G1

n

h(n)

h( )

x

n

h(n) < C(n , a , n׳) + h( n׳ )

h( n׳ ) >=0

چون روابط بازگشتی هستند اثبات می شود

x < y + h( n׳ )

slide37

نکات مهم الگوریتم A*

مثال : ثابت کنید اگر h(n) یکنوا باشد مقادیر f(n) در مسیر غیر کاهشی قرار دارند ؟

g (n)

n

C(n , a , n׳)

׳

n

G1

g(n ׳ )

1

g(n ׳ )= g (n) + C(n , a , n׳)

2

h(n)< C(n , a , n׳) + h(n׳)

1

2

f(n ׳ )= g(n ׳ ) + h(n ׳ ) = g(n) + C(n , a , n׳) + h(n ׳ ) >g(n) +h(n) = f(n)

نکته مهم : خصوصیت غیر کاهشی تابع f این امکان را به ما می دهد که کانتور را تعریف کنیم

slide38

نکات مهم الگوریتم A*

سوال : با توجه به گراف زیر موضوع ذیل را بررسی کنید :

A* تمام گره های را که f(n) < C * باشد را بسط می دهد.

A

2

2

4

1

2

B

C

1

1

3

1

F

D

3

3

1

2

G

E

1

2

0

1

3

slide39

نکات تکمیلی الگوریتم A*

A* تمام گره های را که f(n) < C * باشد را بسط می دهد

A* ممکن است برخی از گره های که روی کانتورf(n) = C * هستند را قبل

از گره هدف بسط دهد

A* تمام گره های f(n) < C * را بسط می دهد

A* هیچ گره ای را که f(n) > C * را بسط نمی دهد

هیچ الگوریتمی بهینه دیگری تضمین نمی کند که تعداد گره کمتری نسبت

به A* تولید کنند زیرا اگر الگوریتمی تمام گره های که در محدوده

f(n) < C * را بسط ندهد با خطر از دست دادن راه حل بهینه مواجه میشود

slide40

نکات تکمیلی الگوریتم A*

توابع هیورستیک که یکنوا نیستند به معادله زیر تبدیل به یکنوا می شوند

معادله pathmax :

f(n׳)= max { f(n) , g(n׳)+h(n׳)}

پدر

n

׳

فرزند

G1

n

slide41

مثال : تابع هیورستیک غیر یکنوای زیر را تبدیل

به یک تابع هیورستیک یکنوا کنید ؟

شرط یکنوایی :

A

2

h(n) < C(n , a , n׳ ) + h( n׳ )

7

4

1

B

C

1

1

4

1

F

D

1

2

G

1

0

f(n׳)= max { f(n) , g(n׳)+h(n׳)}

slide42

ایرادات اصلی الگوریتم A*

تعداد گره های که در کانتور هدف قرار دارد نمایی هستند( تعداد زیاد)

اثبات می شود اگر رابطه زیر برقرار باشد تعداد گر ه ها در کانتور هدف

نمایی نیست :

|h(n) –h*(n)| ≤O(log h*(n))

متاسفانه در عمل :

|h(n) –h*(n)| ≈h*(n)

h*(n) ≥O(log h*(n))

1

2

1

|h(n) –h*(n)| ≥O(log h*(n))

2

نتیجه : در نهایت رشد نمایی تعداد گره ها کل حافظه کامپیوتر را اشغال می کند

slide43

ایرادات اصلی الگوریتم A*

هم از نظر زمانی و هم از نظر مکانی الگوریتم A* مرتبه نمایی دارد .

به علت مصرف زیاد الگوریتم A* برای مسائلی با فضای حالت گسترده کاربرد ندارد .

slide44

رفع مشکل الگوریتم A*

برای رفع مشکل الگوریتم A* باید سعی کنیم بر فضای حالت بزرگ غلبه کرد برای این کار سه روش داریم :

IDA *

1)

جستجوی حافظه محدود شده

MA *

2)

SMA *

3)

slide45

الگوریتم IDA *

ديديم که جستجوي عميق کننده تكراري تكنيكي مفيد براي کاهش مصرف حافظه است. حال مي توانيم از اين تكنيك استفاده نموده و هر بار يك جستجوي عمقي تا هزينه f-limit را انجام دهیم . اگر هدف پیدا نشد مقداری به هزینهf-limit اضافه می کنیم و دوباره جستجو را تکرار می کنیم . البته در این الگوریتم بجای عمق از محدودیت هزینه استفاده می کنیم .در این الگوریتم مقدار اولیه f-limit را برابر مقدار f ریشه قرار می دهیم . در هر مرحله گره ای که f آن از f-limit کمتر باشد گسترش می یابد . اگر هدف پیدا شد الگوریتم تمام می شود وگرنه کمترین مقدار f گسترش نیافته را درون متغیرf-limit می ریزیم .

slide46

ویژگی های الگوریتم IDA *

هدف در تکراری پیدا می شود که f-limit = C*

ثابت میشو د این الگوریتم کامل و بهینه است

در این الگوریتم در هر مرحله فقط گره های که f<f-limit است گسترش می یابد .

اگر تعداد تکرار زیاد نباشد این الگوریتم از نظر کارآیی مانند A *است .

محدوديت هزينه در هر مرحله به گونه اي انتخاب مي شود که در مراحل قبلي ثابت شده است که جوابي با هزينه کمتر از اين مقدار وجود ندارد.

slide47

ویژگی های الگوریتم IDA *

مي توان هزينه مرحله جديد را برابر با کمترين هزينه نودي که در مرحله قبلي بسط داده نشده قرار داد از آنجا که اين روش به صورت عمقي است پسپيچيدگي فضايي آن در بدترين حالت S (b.d) است. پيچيدگي زماني بستگي به تابع اکتشافي دارد.

نقطه ضعف الگوریتم : IDA *نقطه ضعف اصلی این الگوریتم دوباره کاری اضافی است.

slide48

حل مسله فروشنده دوره گرد باIDA *

در این روش تعداد تکرار زیاد نیست

در این روش کارآیی مانند A * است .

در این روش در هر تکرار فقط یک گره اضافه می شود .

اگر در A * تعدادn گره گسترش یابد پس IDA *n بار تکرار می شود .

پیچیدگی این روش :

1 + 2 + 3 + … + n = O(n2)

slide49

الگوریتم بازگشتی RBFS

ساختار آن شبيه جستجوی عمقي بازگشتي است، اما به جای اينکه دائما به طرف پايين مسير حرکت کند، مقدار f مربوط به بهترين مسير از هر جد گره فعلی را نگهداری ميکند، اگر گره فعلی از اين حد تجاوز کند، بازگشتی به عقب برميگردد تا مسير ديگري را انتخاب کند.اين جستجو اگر تابع اکتشافی قابل قبولی داشته باشد، بهينه است.

پيچيدگي فضايي آن O(bd) است

تعيين پيچيدگی زمانی آن به دقت تابع اکتشافی و ميزان تغيير بهترين مسير در اثر بسط گره ها بستگی دارد.

slide50

ویژگی های الگوریتم بازگشتی RBFS

RBFS تا حدی از IDA* کارآمدتر است، اما گره های زيادی توليد ميکند.

IDA* و RBFS در معرض افزايش تواني پيچيدگي قرار دارند که در جستجوی گرافها مرسوم است، زيرا نميتوانند حالتهای تکراری را در غير از مسير فعلي بررسي کنند. لذا، ممکن است يک حالت را چندين بار بررسي کنند.

IDA* و RBFS از فضای اندکي استفاده ميکنند که به آنها آسيب ميرساند. IDA* بين هر تکرار فقط يک عدد را نگهداری ميکند که فعلي هزينه f است. RBFS اطلاعات بيشتری در حافظه نگهداری ميکند

slide53

جستجوی حافظه محدود ساده SMA*

SMA* بهترين برگ را بسط ميدهد تا حافظه پر شود. در اين نقطه بدون از بين بردن گره های قبلي نميتواند گره جديدی اضافه کند

SMA* هميشه بدترين گره برگ را حذف ميکند و سپس از طريق گره فراموش شده به والد آن بر ميگردد. پس جد زير درخت فراموش شده، کيفيت بهترين مسير را در آن زير درخت ميداند

اگر عمق سطحی ترين گره هدف کمتر از حافظه باشد, کامل است.

SMA* بهترين الگوريتم همه منظوره برای يافتن حلهای بهينه ميباشد

slide54

جستجوی حافظه محدود ساده SMA*

اگر مقدار f تمام برگها يکسان باشد و الگوريتم يک گره را هم برای بسط و هم برای حذف انتخاب کند، SMA* اين مسئله را با بسط بهترين برگ جديد و حذف بهترين برگ قديمی حل ميکند

ممکن است SMA* مجبور شود دائما بين مجموعه ای از مسيرهای حل کانديد تغيير موضع دهد، در حالی که بخش کوچکی از هر کدام در حافظه جا شود

محدوديتهای حافظه ممکن است مسئله ها را از نظر زمان محاسباتی، غير قابل حل کند.