fasl4 - سید محسن هاشمی
Download
Report
Transcript fasl4 - سید محسن هاشمی
نام مرجع :
هوش مصنوعی
تهیه کننده :
سید محسن هاشمی
1
هوش مصنوعي
فصل چهارم
جست و جوی آگاهانه و اکتشاف
2
جست و جوی آگاهانه و اکتشاف
متدهای جستجوی آگاهانه
بهترين جستجو
حريصانه
A*
IDA*
RBFS
MA* و*SMA
3
جستجوی محلی و بهينه سازی
تپه نوردی
شبيه سازی حرارت
پرتو محلی
الگوريتمهای ژنتيک
جست و جوی آگاهانه و اکتشاف
تعاريف
تابع هزينه مسير ) : 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
4
جستجوی آگاهانه
استراتژي جستجوي آگاهانه از دانش مسئله استفاده مي کند و در انتخاب گره ،گرهي را انتخاب
مي کنند که شانس رسيدن به هدف در آن بيشتر باشد يا به نظر برسد که به هدف نزديك
تراست .
براي اينكه تخمين بزنيم که گره فرزند چقدر به هدف نزديك تر است از تابع ارزيابي استفاده مي
کنيم .اين تابع هزينه رسيدن به گره هدف را تخمين مي زند و به عبارت ديگر ميزان مفيد بودن گره
فعلي را باز مي گرداند.
تابع ارزيابي را با ) f(nنشان می دهند
تابع هیورستیک را با ) h(nنشان می دهند
انواع استراتژی های جستجوی آگاهانه
جستجوی اول بهترین
جستجوی حافظه محدود
شده
)1جستجوی حریصانه
)2جستجوی
*A
IDA * )1
MA * )2
SMA * )3
جستجوی محلی
)1
تپه نوردی
)2
سرد و گرم
)3
)4
ژنتیک
پرتو
جستجوی اول بهترین
در اين روش در هر مرتبه گره اي که بهترين ارزيابي را داشته باشد ابتدا بسط داده مي شود به
عبارت ديگر گرهي انتخاب مي شود که تابع ارزيابي بهترين مقدار را براي آن باز گرداند.
جستجوی اول بهترین با صف اولویت پیاده سازی می شود .
در جستجوی اول بهترین اگر تابع ارزیابی غير صحیح باشد می تواند باعث گمراه شدن جستجو
شود .
جزء کلیدی جستجوی اول بهترین تابع هیورستیک ( اکتشافی ) می باشد
تابع هیورستیک در الگوریتم جستجوی اول بهترین
جزء کلیدی جستجوی اول بهترین تابع هیورستیک ( اکتشافی ) می باشد
هزینه تخمینی ارزانترین مسير از حالتn
اگر
nهدف باشد داریم :
h(n) = 0
تا نود هدف = )h(n
یک مثال از تابع هیورستیک
در یک مسله مسير یابی داریم :
B
185
230
A
C
200
350
)h(n
State
185
B
200
C
)(Greedy Searchجستجوی اول بهترین با استراتژی حریصانه
جستجوي حريصانه يكي از روش هاي جستجوي اول بهترين است در اين روش هدف به حداقل
رساندن هزينه رسيدن به هدف با استفاده از تابع تخمين ( هیورستیک ) مي باشد در این
استراتژی گرهي که به هدف نزديكتر است ابتدا بسط داده مي شود
در جستجوی حریصانه داریم :
)f(n) = h(n
مسير یابی با استراتژی حریصانه
مثال :
75
B
99
F
80
140
E
S
211
G
118
I
101
H
97
D
111
مسير بدست آمده با جستجوی حریصانه :
S-E-F-G = 140 + 99 + 211= 450
C
)h(n
State
366
S
374
B
329
C
244
D
253
E
178
F
193
I
98
H
0
G
مسير یابی با استراتژی حریصانه بهینه نیست
مثال :
99
75
B
F
80
211
E
S
140
G
118
I
101
H
97
D
111
مسير بدست آمده با جستجوی حریصانه :
S-E-F-G = 140 + 99 + 211= 450
مسير بدست آمده بهینه :
S-E-I-H-G = 140 + 80 + 97+101= 418
C
)h(n
State
366
S
374
B
329
C
244
D
253
E
178
F
193
I
98
H
0
G
: مثال
A
2
1
1
B
C
1
1
D
2
3
P
3
3
I 3
1
2
3
2
Q
R
1
2
S
2
J
3
T
F
3
1
K
0
L 3
3
U
1
1
3
E
3
H
1
1
5
1
4
1
G
2
2
V
2
3
1
M
2
N
1
1
3
1
O
2
W
X
Y
1
0
2
3
3
Z
1
: ادامه مثال
A
2
1
1B
1
4
C
1
1
1
5
D
E
3
1
J
2
3
K
3
0
ویژگی های استراتژی حریصانه
) 1کامل نیست
) 2بهینه نیست
) 3پیچیدگی زمانی
)O(bm
) 4پیچیدگی مکانی
)O(bm
) 5کارآیی این روش به دقت تابع هیورستیک بستگی دارد
) 6پیچیدگی زمانی و مکانی با انتخاب یک تابع هیورستیک خوب
کاهش می یابد.
حاالت خاص در الگوریتم حریصانه
اگر * h = hآنگاه جستجو کامل ميشود
اگر * h = hآنگاه جستجو بهینه ميشود
اگر * h = hآنگاه پیچیدگی زمانی و مکانی ) O(bdمی شود .
ایراد های استراتژی حریصانه
ممکن است در یک بن بست گرفتار شود
B
S
D
G
C
D
مانند جستجوی عمقی مسير را برای رسیدن به هدف دنبال می کند و ممکن است یک
مسير نامتناهی به پایين را دنبال کند که هیچ وقت به هدف نمی رسد.
مثال :
با استفاده از روش حريصانه مسئله زير را حل کنيد.
4
1
7.6
B
C
8
2
A
5
4
3
10.4
3
4
2
G
F
E
D
0
3
9.6
8.9
S
4
11
*Aجستجوی اول بهترین با استراتژی الگوریتم
روش جستجوی * Aتلفیقی از روش جستجوی هزینه یکنواخت ( ) UCSو روش جستجوی حریصانه است .در
جستجوی هزینه یکنواخت بر اساس هزینه تا گره فعلی ،کم هزینه ترین گره را انتخاب کرده و گسترش می دهیم.
جستجوی هزینه یکنواخت بهینه است ،یعنی جواب بهینه مسئله را پیدا می کند ولی در مقابل بسیاز زمانبر است.
جستجوی حریصانه نيز بر اساس هزینه تا مقصد ،کم هزینه ترین گره را برای گسترش انتخاب می کند .یافتن جواب با
استفاده از جستجوی حریصانه به سرعت انجام می گيرد .ولی این روش نيز از مشکالتی همچون بهینه نبودن جواب رنج
می برد.
روش جستجوی* ، Aسرعت روش حریصانه در رسیدن به جواب و بیهنگی روش هزینه یکنواخت در پیدا کردن جواب را
باهم ترکیب کرده و به جستجوی هدف خود می پردازد.
جستجوی اول بهترین با استراتژی الگوریتم *A
جستجوی * Aسعی می کند مجموع هزینه پرداخت شده تا گره فعلی و هزینه باقی مانده از گره فعلی تا هدف را
مینیمم کند .تخمين هزینه باقی مانده تا هدف را هیوریستیک مسئله می گویند .طراحی هیوریستیک مسئله در روش
جستجوی * Aاز اهمیت بسزایی برخوردار است و بهینگی روش * Aتحت تاثير طراحی هیوریستیک مسئله قرار دارد.
هیوریستیک در روش * Aهرینه قابل پرداخت از نقطه فعلی تا نقطه هدف را تخمين می زند .با این توصیف
هیوریستیک قابل قبول را چنين تعریف می کنیم :
هیوریستیکی قابل قبول است که هزینه تخمینی آن از نقطه فعلی تا نقطه هدف ،از هزینه واقعی قابل پرداخت از نقطه
فعلی تا نقطه هدف کمتر باشد .هیوریستیکی که این شرط را برآورده نکند ،هیوریستیک غيرقابل قبول می نامند.
بعبارت دیگر :یک تابع هیورستیک در صورتی قابل قبول است که هزینه رسیدن به هدف را بیشتر از هزینه واقعی
تخمين نزند.
*Aجستجوی اول بهترین با استراتژی الگوریتم
در این الگوریتم با ترکيب دو تابع داريم:
)f(n) = g(n) + h(n
) :g(nهزينه مسير از گره آغازين به گره nرا به ما ميدهد.
) :h(nهزينه تخمين زده شده از ارزانترين مسير از nبه هدف است.
هزينه تخمين زده شده ارزانترين راه حل از طريق f(n) =n
*Aجستجوی اول بهترین با استراتژی الگوریتم
)f(n) = g(n) + h(n
nهزینه واقعی رسیدن از گره شروع به گره
به گره هدف nهزینه تقریبی رفتن از گره
200
G
120
250
A
S
300
Sدر گره )f(nمحاسبه تابع
f(n) = 0 + 300 = 300
Aدر گره )f(nمحاسبه تابع
f(n) = 250+ 120 = 370
Gدر گره )f(nمحاسبه تابع
f(n) =( 250+200)+ 0 = 450
مثال :استراتژی * Aرا روی گراف زیر پیاده سازی کنید و مسيری که توسط
این الگوریتم تولید می شود را محاسبه کنید ؟
4
1
A
2
1
2
C
1
F
1
1
1
D
2
3
3
G
0
B
3
3
E
1
2
جواب :
برای هر گره ) f (nرا محاسبه کنید البته نیاز
نیست برای تمام گره ها محاسبه شود
)f(n) = g(n) + h(n
1
4
A
2
1
2
C
1
F
1
1
چون ) f(Bکوچکتر از ) f(Cهست پس گره
Bگسترش می یابد .
1
D
2
3
3
G
0
B
3
3
E
1
2
f(B) = g(B) + h(B) =1+ 3 = 3
f(C) = g(C) + h(C) =4+ 1 = 5
جواب :
4
1
A
2
1
2
C
1
F
1
1
1
D
2
3
3
G
0
B
3
3
E
1
2
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گسترش می یابد .
جواب :
4
1
A
2
1
2
C
1
F
1
1
1
D
2
3
3
G
0
B
3
3
E
1
2
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گسترش می یابد .
جواب :
4
1
A
2
1
2
C
1
F
1
1
1
D
2
3
3
G
0
B
3
3
E
1
2
f(G) = g(G) + h(G) =( 1 + 2 + 3 ) + 0 = 6
انتخابی دیگر نداریم و به هدف رسیدیم با مسير زیر :
ABCFG
البته چند مسير دیگر داریم :
ACG
ABCG
ABEG
هزینه آن 5می شود
هزینه آن 7می شود
هزینه آن 6می شود
هزینه آن 7می شود
تابع ) h(nقابل قبول باشد
* Aبهینه است به شرط اینکه
سوال :چرا تابع ) h(nزیر قابل قبول است ؟
4
1
A
2
1
2
C
1
F
1
1
1
D
2
3
3
G
0
B
3
3
E
1
سوال :چرا تابع ) h(nدر مسله مسير یابی قابل قبول است ؟
2
قضیه :ثابت کنید که * Aبا استفاده از الگوریتم TREE – SEARCHبهینه است
* Cهزینه واقعی مسير بهینه است
G2یک گره نیمه بهینه است
G1یک گره بهینه است
S
توجه :برای هر گره هدف چه
بهینه چه نیمه بهینه داریم :
h(n)=0
n
G1
برای گره نیمه بهینه G2داریم :
G2
*f(G2) = g(G2) + h(G2) = g(G2) +0 > C
1
برای گره nکه در مسير بهینه قرار دارد داریم :
*f(n) = g(n) + h(n) = g(n) +h(n) ≤ C
)f(n) ≤ C* < h(G2
این نشان می دهد که G2گسترش نمی یابد بلکه nگسترش می یابد
توجه :این اثبات در الگوریتم های GRAPH- SEARCHبه شکست ميرسد .
>==
,2
2
1
* Aنکات مهم الگوریتم
نکته :١مهمترين شرط برای بهينه بودن الگوريتم * Aاين است که برای هر گره داشته باشيم
)h(n)≤ h*(n
يعنی تابع اکتشافی هميشه کمتر مساوی مقدار واقعی تخمين بزند ) h(nهزينه تخميني براي رسيدن از نود nبه
هدف است
) h(nهزينه تخميني براي رسيدن از نود nبه هدف است
) h*(nهزينه واقعی براي رسيدن از نود nبه هدف است
* Aنکات مهم الگوریتم
نكته :٢اگر * fهزينه واقعي مسير بهينه باشد و hقابل قبول باشد ،آنگاه در الگوريتم*A
تمام گره هايي را که شرايط * f (n)<fرا دارند بسط مي يابند.
بعبارت دیگر :يعنی هزينه تخمينی هر گره )f(nدر مسير بهينه به سمت جواب همواره از
هزينه بهينه واقعی کل مسير کمتر است
* Aنکات مهم الگوریتم
نکته :٣اگر برای (جستجو با هزينه nها h(n)= 0باشد جستجو تبديل به جستجوی غير هوشمند خواهد شد.
يكسان).
حال اگر ) g (nبرابر با يك باشد جستجو تبديل به جستجوي اول سطح مي شود.
نکته :4اگر ) h(n)= h*(nباشد جستجو ی صورت نمیگيرد و فقط گره های واقع در مسير بهینه بسط داده می
شوند .
* Aنکات مهم الگوریتم
نکته : 5اگر A1و A2دو نسخه از * Aباشند که که با h1و h2بسط داده می شوند و
داشته باشیم که ) h*(n)>h2(n)>h1(nآنگاه الگوریتم A2هوشمند تر از الگوریتم A1
عمل می کند .
در ضمن تعداد گره های که A2بسط می دهد حداقل به تعداد گر ه های A1است .
* Aنکات مهم الگوریتم
نکته : 6تابع ) h(nرا یکنوا می گویند اگر رابطه زیر در مورد آن صادق باشد :
)׳ ) + h( n׳ h(n) < C(n , a , n
S
n
G1
׳n
׳) C(n , a , nیعنی׳ nبا استفاده از عمل aاز حالت nساخته شده
* Aنکات مهم الگوریتم
مثال :در گراف زیر تابع ) h(nیکنوا است زیرا با توجه به رابطه زیر :
) ׳) + h( n׳h(n) < C(n , a , n
4
1
A
22
2
C
1
F
1
1
B
3
1
D
2
3
3
G
0
1
3
E
1
2
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
* Aنکات مهم الگوریتم
مثال :ثابت کنید در مسله مسير یابی تابع هیورستیک hSLD
یکنواست؟
y
G1
)׳ h( n׳ n
)h(n
x
n
) ׳) + h( n׳h(n) < C(n , a , n
چون روابط بازگشتی هستند اثبات می شود
) >=0׳h( n
) ׳x < y + h( n
* Aنکات مهم الگوریتم
مثال :ثابت کنید اگر ) h(nیکنوا باشد مقادیر ) f(nدر مسير غير کاهش ی قرار دارند ؟
)n g (n
)׳C(n , a , n
) ׳ g(n׳ n
G1
)׳ )= g (n) + C(n , a , n׳ g(n
1
)׳) + h(n׳h(n )< C(n , a , n
2
) ) >g(n) +h(n) = f(n׳ ) + h(n׳ ) = g(n) + C(n , a , n׳ ) + h(n׳ )= g(n׳ f(n
نکته مهم :خصوصیت غير کاهش ی تابع fاین امکان را به ما می دهد که کانتور را تعریف کنیم
2
1
* Aنکات مهم الگوریتم
سوال :با توجه به گراف زیر موضوع ذیل را بررس ی کنید :
* Aتمام گره های را که * f(n) < Cباشد را بسط می دهد.
4
1
A
22
2
C
1
F
1
1
B
3
1
D
2
3
3
G
0
1
3
E
1
2
* Aنکات تکمیلی الگوریتم
* Aتمام گره های را که * f(n) < Cباشد را بسط می دهد
* Aممکن است برخی از گره های که روی کانتور * f(n) = Cهستند را قبل
از گره هدف بسط دهد
* Aتمام گره های * f(n) < Cرا بسط می دهد
* Aهیچ گره ای را که * f(n) > Cرا بسط نمی دهد
هیچ الگوریتمی بهینه دیگری تضمين نمی کند که تعداد گره کمتری نسبت
به * Aتولید کنند زیرا اگر الگوریتمی تمام گره های که در محدوده
* f(n) < Cرا بسط ندهد با خطر از دست دادن راه حل بهینه مواجه میشود
* Aنکات تکمیلی الگوریتم
توابع هیورستیک که یکنوا نیستند به معادله زیر تبدیل به یکنوا می شوند
معادله : pathmax
})׳)+h(n׳)= max { f(n) , g(n׳f(n
پدر
n
فرزند
G1
׳n
مثال :تابع هیورستیک غير یکنوای زیر را تبدیل
به یک تابع هیورستیک یکنوا کنید ؟
4
1
C
1
A
27
شرط یکنوایی :
) ׳ ) + h( n׳h(n) < C(n , a , n
1
B
4
1
F
1
D
2
1
G
0
})׳)+h(n׳)= max { f(n) , g(n׳f(n
* Aایرادات اصلی الگوریتم
تعداد گره های که در کانتور هدف قرار دارد نمایی هستند( تعداد زیاد)
اثبات می شود اگر رابطه زیر برقرار باشد تعداد گر ه ها در کانتور هدف
نمایی نیست :
))|h(n) –h*(n)| ≤O(log h*(n
متاسفانه در عمل :
1
)|h(n) –h*(n)| ≈ h*(n
))*(n) ≥O(log h*(n
h
2
))|h(n) –h*(n)| ≥O(log h*(n
نتیجه :در نهایت رشد نمایی تعداد گره ها کل حافظه کامپیوتر را اشغال می کند
2
1
* Aایرادات اصلی الگوریتم
هم از نظر زمانی و هم از نظر مکانی الگوریتم * Aمرتبه نمایی دارد .
به علت مصرف زیاد الگوریتم * Aبرای مسائلی با فضای حالت گسترده کاربرد ندارد .
*Aرفع مشکل الگوریتم
برای رفع مشکل الگوریتم * Aباید سعی کنیم بر فضای حالت بزرگ غلبه کرد برای این کار سه روش
داریم :
جستجوی حافظه محدود
شده
IDA * )1
MA * )2
SMA * )3
الگوریتم * IDA
ديديم که جستجوي عميق کننده تكراري تكنيكي مفيد براي کاهش مصرف حافظه است .حال مي توانيم از
اين تكنيك استفاده نموده و هر بار يك جستجوي عمقي تا هزينه f-limitرا انجام دهیم .اگر هدف پیدا
نشد مقداری به هزینه f-limitاضافه می کنیم و دوباره جستجو را تکرار می کنیم .البته در این الگوریتم
بجای عمق از محدودیت هزینه استفاده می کنیم .در این الگوریتم مقدار اولیه f-limitرا برابر مقدار f
ریشه قرار می دهیم .در هر مرحله گره ای که fآن از f-limitکمتر باشد گسترش می یابد .اگر هدف
پیدا شد الگوریتم تمام می شود وگرنه کمترین مقدار fگسترش نیافته را درون متغير f-limitمی ریزیم .
ویژگی های الگوریتم * IDA
هدف در تکراری پیدا می شود که *f-limit = C
ثابت میشو د این الگوریتم کامل و بهینه است
در این الگوریتم در هر مرحله فقط گره های که f<f-limitاست گسترش می یابد .
اگر تعداد تکرار زیاد نباشد این الگوریتم از نظر کارآیی مانند * Aاست .
محدوديت هزينه در هر مرحله به گونه اي انتخاب مي شود که در مراحل قبلي ثابت شده است که جوابي
با هزينه کمتر از اين مقدار وجود ندارد.
ویژگی های الگوریتم * IDA
مي توان هزينه مرحله جديد را برابر با کمتررين هزينره نرودي کره در مرحلره قبلري بسرط داده نشرده
ق رررار داد از آنج ررا ک رره اي ررن روش ب رره ص ررورت عمق رري اس ررت پ ررس
پيچي رردگي فض ررايي آن در ب رردترين
حالت ) S (b.dاست .پيچيدگي زماني بستگي به تابع اکتشافي دارد.
نقطه ضعف الگوریتم * : IDAنقطه ضعف اصلی این الگوریتم دوباره کاری اضافی است.
حل مسله فروشنده دوره گرد با * IDA
در این روش تعداد تکرار زیاد نیست
در این روش کارآیی مانند * Aاست .
در این روش در هر تکرار فقط یک گره اضافه می شود .
اگر در * Aتعداد nگره گسترش یابد پس * IDA
nبار تکرار می شود .
پیچیدگی این روش :
)1 + 2 + 3 + … + n = O(n2
الگوریتم بازگشتی RBFS
ساختار آن شبيه جستجوی عمقي بازگشرتي اسرت ،امرا بره جرای اينکره دائمرا بره طررف پرايين مسرير
حرکررت کنررد ،مقرردار fمربرروط برره بهترررين مسررير از هررر جررد گررره فعلرری را نگهررداری ميکنررد ،اگررر گ رره
فعلرری از ايررن حررد تجرراوز کنررد ،بازگشررتی برره عقررب برميگررردد تررا مسررير ديگررري را انتخرراب کنرد .ايررن
جستجو اگر تابع اکتشافی قابل قبولی داشته باشد ،بهينه است.
پيچيدگي فضايي آن ) O(bdاست
تعيررين پيچيرردگی زمررانی آن برره دقررت تررابع اکتشررافی و ميررزان تغييررر بهترررين مسررير در اث رر بسررط گررره هررا
بستگی دارد.
ویژگی های الگوریتم بازگشتی RBFS
RBFSتا حدی از * IDAکارآمدتر است ،اما گره های زيادی توليد ميکند.
* IDAو RBFSدر معرررا افررزايش تررواني پيچيرردگي قرررار دارنررد کرره در جسررتجوی گرافهررا
مرسرروم اسررت ،زيرررا نميتواننررد حالرهررای تکررراری را در غيررر از مسررير فعلرري بررس ر ي کنن رد .ل ر ا،
ممکن است يک حالت را چندين بار بررس ي کنند.
* IDAو RBFSاز فضررای انرردکي اسررتفاده ميکننررد کرره برره آنهررا آسرريب ميرسرراندIDA* .
بين هر تکرار فقط يک عدد را نگهداری ميکند که فعلي هزينره fاسرت RBFS .اطالعرات
بيشتری در حافظه نگهداری ميکند
مسله مسير یابی در رومانی توسط RBFS
مسله مسير یابی در رومانی توسط RBFS
جستجوی حافظه محدود ساده *SMA
* SMAبهتررين بررگ را بسرط ميدهرد ترا حافظره پرر شرود .در ايرن نقطره بردون از برين برردن گرره هرای
قبلي نميتواند گره جديدی اضافه کند
* SMAهميشه بدترين گره برگ را ح ف ميکند و سرسس از طريرق گرره فرامروش شرده بره والرد آن
بر ميگردد .پس جد زير درخت فراموش شده ،کيفيت بهترين مسير را در آن زير درخت ميداند
اگر عمق سطحی ترين گره هدف کمتر از حافظه باشد ,کامل است.
* SMAبهترين الگوريتم همه منظوره برای يافتن حلهای بهينه ميباشد
جستجوی حافظه محدود ساده *SMA
اگررر مقرردار fتمررام برگهررا يکسرران باشررد و الگرروريتم يررک گررره را هررم برررای بسررط و هررم برررای ح ر ف
انتخاب کند SMA* ،اين مسئله را با بسط بهترين برگ جديد و ح ف بهترين بررگ قرديمی حرل
ميکند
ممکن است * SMAمجبور شود دائما بين مجموعره ای از مسريرهای حرل کانديرد تغييرر موضرع
دهد ،در حالی که بخش کوچکی از هر کدام در حافظه جا شود
محدوديرهای حافظه ممکن است مسئله ها را از نظر زمان محاسباتی ،غير قابل حل کند.