صفحه 1:
,Complexity
NP-Complete
Problems
And
Meta-heuristics
محمدرضا کاویانی
دکتر قدسی پور
صفحه 2:
سوال اصلی
چه زمانی اجازه داره از الگوریتم های متا هیوریستیک
استفاده کنیم؟
صفحه 3:
تعریف مسئله
(Problem) alo
* یک سوال کلی که باید جواب داده شود.
مثال : مساله ی بهینه سازی فروشنده دوره گرد.
(Parameters) & ,1,4,
* متغیرهای آزاد مساله که مقادیرشان نامعین قرار داده ميشود.
*مثال : مجموعه اى از شهرهاى CAG GG) و مسافت (669:4 بين هر زوج
شهر © و ©
صفحه 4:
تعریف مسئله
Anstance) aigai
co يك نمونه از يك مساله با قرار دادن مقاذیر من برای تمام پارامترهای ساله *
می آید.
C=16,6,6,4) d(g,q)=10 d(G,¢)=5 dlg,q)=9 مثال : ی
صفحه 5:
تعریف مسئله
مساله بهینه سازی فروشنده دوره گرد
طول " تور"ی که از همه ی شهرها به ترتیب میگذرد و به
شهر اول بر ميكردد را حداقل كنيد
طول تور مینیمم - ۲۷
صفحه 6:
تعریف الگوریتم
الگوریتم (مصطاندهوله)
یک الگوریتم یک رویه ی گام به گام (شامل توالی محدودی از دستورات) برای حل یک
مساله است.
الگوریتمها با زمان چند جمله ای Polynomial Time
Algorithms
الگوریتمها با زمان نمایی Exponential Time
Algorithms
صفحه 7:
عوامل موثر بر پیچیدگی الگوریتم
طول 505)3. Anput length)
تعداد سمبلهای اطلاعات ورودی مورد نیاز برای توضیف یک نمونه مساله با استفاده از
یک طرح کدگذاری منطقی.
(Largest number) ous 5 3555
* اهمیت (بزرگی) بزرگترین عدد در یک نمونه مساله
تابع بيجيدكى زمانى (Time-complexity function)
* بیان کننده ی زمان مورد نیاز الگوریتم است. توسط ارلئه ی بیشترین زمان مورد نياز
الگوریتم برای حل نمونه مساله با همه طول ورودی های ممکن.
7
صفحه 8:
الگوریتمها با زمان چند جمله ای و مسائل رام نشدنی
تعریف: به یک مساله رام نشدنی می گوییم اگر آنقدر سخت باشد که هیچ
الگوریتم با زمان چندجمله ای نمی تواند آنرا حل کند.
الگوریتم با زمان چند جمله ای چیست ؟
صفحه 9:
الگوریتمها با زمان چند جمله ای و مسائل رام نشدنی (دامه)
الکوریتم با زمان چندجمله ای (حصطاندمولع مصن]-[متصهمصواوط)
* یک الگوریتم که تابع پیچیدگی زمانی آن((۲70 است. که م یک تابع چندجمله
ای و ۸ طول ورودی است.
الكوريتم (Exponential-time algorithm) 25 (05 b
* هر الگوریتم که تابع پیچیدگی زمانی آن نمی تواند محدود باشد. مانند:
|
tb Ur 73!
صفحه 10:
9 ی با
چند حمله ای و مسائل رام نشدتی
مقایسه ی چندین تابع پیچیدگی زمانی چند جمله ای و نمایی
Cues
eo eo eo
eov0e, | ooove, | ood
بهوه. 6 er
le eee 6۵ اس
=
pee dam OOF لس موم
وووه 210 0
سس ان
یی
06۶
0.80
9
م6
006
6:
وه
0000۶
Neal asl د i
د
صفحه 11:
بيجيدكى زمانى Ma)
1000000 7
100000 7
10000 1
امم
1000 7 —Ollogn)
—oIn)
100 1 (0)0۸2ست
(0)2۸0ست
10 +
10
1 5 10 50 100 50 ۰ 0
o1 J
11
صفحه 12:
مسائل رام نشدنی- طم 0003-60
#مسایلی که تابع پیچیدگی زمانی حل آنها چند جمله ای نباشد
در مسایل پیوسته اگر
تابع هدف(02111 : محدب
محدوديت هاافضاى حل: محدب
جواب:بهيئه عمومى :دازد ويا شرایط 1 قابل حل است
اگر دارای شرایط بالا نباشد. مساله از کلاس ۳[ می باشد و تابع پیچیدگی زمانی حل
آن از نوع نمایی است.
صفحه 13:
مساله
مسائل تصمیم ---> پاسخ بله یا خیر
Optimization (gjle aug filuo
Problems
برای حل یک مسأله ابتدا باید کلاس آن مساله مشخص شود.
براى ثلبت كردن اينكه يك مساله ou! NP-Complete باید آن رابه یکی از
مسايل شناخته شده اين كلاس 5531351613 كرد و يس از
الگوریتم های متاهیوریستیک وجود دارد
ن اجازه استفاده از
صفحه 14:
صفحه 15:
۶ - Hard Problems
© ممکن است بگوییم مسألهای از نوع ۱۳-۳۵۲0[ است زیرا حداقل
به اندازهی مسایل ۳-60۳00166 ۱[ مشکل است.
#منهوم 11-1270 بودن عمومیتر از لين است. بهرحال امکان تعمیم مفهوم
تبدیل چندجملهای به گونهای که بتوان نشان داد مسایل دیگری به جز مسایل
تصمیم حدلقلبه سختی مسایل ۳-00۳0[01616 ۱[ هستند . وجود دارد .
صفحه 16:
۱ ۲-۱۳
! مقر
P=NP اعم
صفحه 17:
Wieta-heurislcs
© Genetic algorithm
© Tabu search
© Simulated annealing
® Ant colony
© Scatter search
۰
صفحه 18:
گاهی اوقات جستجوی بی اطلاع نامیده می شوند. از آنجایی که هیچ دانشی در
مورد دامنه مسأله ندارند.
هیچ اولیتی برای رفتن به حالت بعدی (کدام گره بعدی را بسط دهند ) ندارند.
براساس ترتیبی که گرههای بعدی را بسط می دهند. در انواع مختلفی تعریف می
شوند.
صفحه 19:
Owe
2 2 انه
سنو كر عمق
جستجو در سطح
و در عمی مج وط
جستجو با عمق دهی متوالی
بر اسان تابعی حرکت می کند کهمیزان عطلوبیت نا نقطه فعلي حرکت
را اندازه گیری می کند و دیدی نسبت به مسیر پیش رو ندارد.
صفحه 20:
گروشهای جستجوی آگاهلنه برای حرکت در فضای جستجو از دانش مسأله استفاده
می کنند.
# در هر نقطه ای که هستند بهترین مسیر حرکت را با توجه به مطلوبیت مسیر طی
شده و پیش بینی از مسر پیش رو انتخاب مى كنند.( هيج تضميتى وجود ندارد كه
آن گره بهترین گره است )
ابتدا بهترين-037 00166
جستجوى شعاعى- 1862112
Hill climbing - 9,55 45
يوار
20
صفحه 21:
, Algorithm
Components of a GA
A problem to solve, and ...
© Encoding technique (gene, chromosome)
® Initialization procedure (creation)
© Evaluation function (environment)
© Selection of parents (reproduction)
© Genetic operators (mutation, recombination)
© Parameter settings (practice and art)
21
صفحه 22:
Reproductio
children
modified
parents children
deleted
members
22
صفحه 23:
9 —————
Crema)
Chromosomes could be:
۰ Bit strings (0101 ... 1100)
® Real numbers (43.2 -33.1 ... 0.0 89.2)
© Permutations of element (E11 E3E7... E1 E15)
® Lists of rules (R1 R2 R3 ... R22 R23)
© Program elements (genetic programming)
©... any data structure ...
23
صفحه 24:
تشه ۱9
children
parents
© Parents are selected at random with selection
chances biased in relation to chromosome
evaluations.
24
صفحه 25:
“Modification
inodified children
® Modifications are stochastically triggered
© Operator types are:
© Mutation
® Crossover (recombination)
25
صفحه 26:
٩ ٩ ۵( ۵ ۵ 0 بیط
(© 0 4 ۵ ۵ 1 0) سوه
8 :عسوتاج (96) -O9|F 566 مم6
0.4)
Per: (906° 3TS 0
© Caupes)movement in the search space
(local or global)
© Restores lost information to the population
صفحه 27:
Precombination
pi (9101000) (01001000) c1
جم (114011010) (11111010)
02
Crossover is a critical feature of genetic
algorithms:
© It greatly accelerates search early in evolution
of a population
° It leads to effective combination of schemata
(subsolutions on different chromosomes)
صفحه 28:
Evaluation
evaluated
children
modified
children
© The evaluator decodes a chromosome and
assigns it a fitness measure
© The evaluator is the only link between a
classical GA and the problem it is solving
صفحه 29:
اا ۱۳۳
Deletion
discarded member:
© Generational GA:
entire populations replaced with each
iteration
© Steady-state GA:
a few members replaced each generation
صفحه 30:
وس سس 9
Distribution of Individuals in Generation 0
Distribution of Individuals in Generation N
صفحه 31:
صفحه 32:
Simulated Annealing
© بطور فیزیکی از فرایند گرم کردن و سرد کردن فلزات برگرفته شده است.
© مواد در غالب يك ساختار یکنواختی گرم و سپس سرد می شوند.
Simulated Annealing ® ]| !4 41,8 تقليد مى كند.
#در 9۸ هميشه تلاش جهت پذیرفتن حرکتهای بهتر است. اما نه لزوما.
صفحه 33:
الگوریتم
شروع
.یک جولب اولیه ویک دمای اولیه 0< 1 را بگیر
".تا مرحله يخ زدگی ایجاد نشده انجام بده
۳ پرای 1>0<۱ انجام بده
۰۱ در همسایگی جواب ۰ 8" راتصادفی انتخاب كن
۲ اگر 9 از 5 بهتر بود جایگزین میشود
۳ و اگر بدتر بود با احتمللی که محاسبه می شود (
این ورتبه مرحله اول بر می گردیم. (0 : دما)
تمام
هذا
5 تر جايكزين مى شود. در غير
صفحه 34:
برنامه سرد کردن SA
add) elas ®@
© دمای نهایی
# نرخ کاهش دما
© تعداد تكرار در هر دما
صفحه 35:
صفحه 36:
صفحه 37:
چگونه جواب بعدى رأ بسازیم؟
رد
CO eight tal
0 otherwise
2 > ز ]1
صفحه 38:
[0,0]
©
©
0.0
[0,0]
صفحه 39:
68,0
]۵,0,۵[
صفحه 40:
202037 تکرار ج
[,0,0,0] (9,0,0,0]
Z © ©
8 9
[0,ه,ه,ه]
]0۵,۵,۵[
6
0 ©
صفحه 41:
]۵,0,۵,۵,۵[
[0,0,0,0,0)
fal @
@
[2,0,0,0,0)
0
صفحه 42:
مسیر و آرریابی
2 if(i, fy tour
Ati, =) he
0 otherwise
مقدار تابع هدف براى بهترين جواب در مرحله فلي - 02
مقدارتابع هدف براى مورجه عام - 4
0
20 ما
0 ,نا
20 وا
صفحه 43:
بایان اجرای اول
بهترين تور را ذخيره كنيد ( ترتيب و طول )
همه مورجه ها مى ميرند
مورجه هاى جديد توليد مى شوند
صفحه 44:
صفحه 45:
0
حرکت های قبلی را داخل لیستی قرار می دهد که از تکرار آن جلوگیری کند.
#دو نوع ليست داردة
بهترين جواب هاى يافته شده تاكنون
حركت هاى قبلى
45
صفحه 46:
الگوریتم
شروع
۱. ایجاد یک جواب به صورت رندوم
۲. چک کردن همسایگی های موجود
۰۱ در صورتی که همسایگی بهتری یافت شد جواب را در لیست تابو قرار بده
و همسایگی, جایگزین جواب اول می شود
۳۲ در غیر این صورت به گام ۱ برو و جواب فعلی را در لیست بهترین
جوایهای یافت شده حفظ کن
۴۳ جك كردن معيار توقف
پایان
46