You are on page 1of 101

‫دانشگاه شهیدبهشتی‬

‫دانشکده‬
‫مهندسی و علوم کامپیوتر‬ ‫توسط‪:‬‬
‫آرمین سلیمی بدر‬
‫‪a_salimibadr@sbu.ac.ir‬‬

‫‪1‬‬
‫‪ ‬مسائل از جنس بهینهسازی با رویکرد یافتن هدف‬

‫خود حالت هدف اهمیت دارد و نه مسیر رسیدن به آن‬ ‫‪‬‬

‫‪ ‬جستجوی محلی )‪(Local Search‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪2‬‬
‫‪ ‬عدم اهمیت مسیر رسیدن به هدف در بسیاری از مسائل‬

‫اهمیت استخراج خود هدف و نه مسیر رسیدن به آن‬ ‫‪‬‬

‫مسئله ‪ 8‬وزیر‪ ،‬طراحی مدارهای مجتمع‪ ،‬بهینهسازی شبکههای ارتباطی‬ ‫‪‬‬

‫داشتن توصیفی در قالب یک مسئله بهینهسازی بهجای اطالع از خود حالت هدف‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪3‬‬
‫‪ ‬جستجوی محلی‪ :‬نگهداری یک (یا چندحالت) در هر زمان و تغییر‬

‫آن در جهت بهبود مبتنی بر حرکت بهسمت همسایگان‬

‫قابل استفاده در محیطهای پیوسته یا محیطهای دارای فاکتور انشعاب‬ ‫‪‬‬

‫نامتناهی‬

‫عدم نیاز به ساختار درختی و داشتن حافظه زیاد‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪4‬‬
‫‪ ‬جستجوی بهترین حالت‬

‫‪ ‬مبتنی بر بهینهسازی یک تابع هدف )‪(Objective Function‬‬

‫تحت وجود قیودی که تعیینکنندهی فضای حالت هستند‬ ‫‪‬‬

‫عدم وجود تابع ارزیابی هدف و هدف از پیشتعیینشده‬ ‫‪‬‬

‫عدم اهمیت مسیر رسیدن به هدف و هزینهی مسیر‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪5‬‬
‫‪ ‬دزدی با یک کوله وارد انباری شده و میخواهد با محدودیت حجم‬
‫کوله بیشترین سود را نصیب خود کند‬
‫قیود مسئله‪:‬‬ ‫‪‬‬
‫قید تعداد ‪ ni‬از کاالی ‪i‬ام‬ ‫‪‬‬

‫قید حجم کوله ‪C‬‬ ‫‪‬‬

‫قید سود حداقلی ‪P‬‬ ‫‪‬‬

‫سایر اطالعات مسئله‪:‬‬ ‫‪‬‬


‫ارزش هر نمونه از کاالی ‪i‬ام برابر ‪ pi‬است‬ ‫‪‬‬

‫حجم هر نمونه از کاالی ‪i‬ام برابر ‪ ci‬است‬ ‫‪‬‬

‫در مجموع ‪ N‬کاال در انبار است‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪6‬‬
‫𝑁‬

‫= 𝑥 𝑓 𝑥𝑎𝑀‬ ‫𝑖𝑥 𝑖𝑝‬


‫‪𝑖=1‬‬
‫𝑁‬

‫𝑃 ≥ 𝑖𝑥 𝑖𝑝‬
‫‪𝑖=1‬‬
‫𝑁‬
‫‪𝑆𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜:‬‬
‫𝐶 ≤ 𝑖𝑥 𝑖𝑐‬
‫‪𝑖=1‬‬

‫𝑖𝑛 ≤ 𝑖𝑥 ≤ ‪∀𝑖 0‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪7‬‬
‫‪ ‬مکان )‪ :(Location‬مبتنی بر حاالت‬
‫‪ ‬ارتفاعات )‪ :(Elevation‬مبتنی بر تابع هدف یا مکاشفهای‬
‫‪ ‬بهینه مطلق (سراسری) ‪Global Extremum‬‬
‫‪ ‬بهینه محلی ‪Local Extremum‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪8‬‬
‫‪ ‬در فضای گسسته‬
‫نگهداری صرفاً حالت فعلی‬ ‫‪‬‬

‫حرکت همواره در جهت بیشترین افزایش تابع هدف‬ ‫‪‬‬

‫در هر مرحله انتخاب فرزند با باالترین افزایش تابع هدف‬ ‫‪‬‬

‫توقف در حالتی که فرزندان آن منجر به افزایش تابع هدف نمیشوند‬ ‫‪‬‬

‫عدم نیاز به نگهداری درخت جستجو‬ ‫‪‬‬

‫شبیهسازی کوهنوردی در شرایط مهآلود‬ ‫‪‬‬

‫نام دیگر‪ :‬الگوریتم جستجوی محلی حریصانه ‪Greedy Local Search‬‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪9‬‬
‫‪f(A) = 60‬‬ ‫‪A‬‬

‫در اینجا تابع ‪ ،f‬از جنس سود و تابع هدف فرض شده است‪ .‬قصد بیشینه‬
‫سازی این تابع هدف را داریم‪( .‬لزوماً با تابع ‪ f‬مربوط به *‪ A‬مرتبط نیست!)‬

‫در هر لحظه فقط یک حالت نگهداری میشود و بررسی میشود از این‬


‫حالت به چه حاالت بعدی میتوان انتقال یافت‬

‫حالت هدف را نمیدانیم‪ ،‬فقط توصیف آن را میدانیم که بهطور مثال‬


‫حالتی است با بیشترین مقدار تابع هدف ‪ f‬در فضای حالت‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪10‬‬
‫‪f(A) = 60‬‬ ‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪f(B) = 55‬‬

‫‪f(C) = 70‬‬ ‫‪f(D) = 75‬‬

‫با گسترش حالت ‪ A‬به سه گره بعدی میرسیم که باید از این میان‬
‫گرهای که دارای بیشترین مقدار ‪ f‬است انتخاب شود‪.‬‬
‫اگر این گره خود گره والد(حالت فعلی) باشد جستجو متوقف‬
‫میشود‪.‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪11‬‬
‫‪f(A) = 60‬‬ ‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪f(B) = 55‬‬

‫‪f(C) = 70‬‬ ‫‪f(D) = 75‬‬

‫گره ‪ D‬دارای بیشترین مقدار تابع هدف در میان همه گرهها میباشد‬
‫و بهعنوان گره بعدی انتخاب میشود‪.‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪12‬‬
‫‪f(D) = 75‬‬ ‫‪D‬‬

‫بقیه گرهها دور ریخته شده و فقط گره انتخابی در حافظه نگهداری‬
‫میشود‪ .‬امکان بازگشت و اصالح از طریق انتخاب گره دیگر وجود ندارد‬
‫که مرتبط با دیدگاه جستجوی محلی و تفاوت آن با جستجوی کالسیک‬
‫است‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪13‬‬
‫‪f(D) = 75‬‬ ‫‪D‬‬

‫‪A‬‬ ‫‪E‬‬ ‫‪F‬‬


‫‪f(A) = 60‬‬

‫‪f(E) = 68‬‬ ‫‪f(F) = 72‬‬

‫در اینجا هیچ یک از فرزندان بهتر از گره فعلی نمیباشند‪ ،‬بنابراین‬


‫جستجو خاتمه مییابد و پاسخ نهایی حالت ‪ D‬است‪ .‬این حالت لزوماً‬
‫جواب بهینه مورد نظر نیست‪ .‬ممکن است به آن نزدیک باشد یا‬
‫حتی نزدیک هم نباشد!‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪14‬‬
‫‪f(A) = 60‬‬ ‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪f(B) = 55‬‬ ‫‪f(D) = 75‬‬
‫‪f(C) = 70‬‬

‫‪f(G) = 85‬‬ ‫‪G‬‬

‫لزوماً تندترین شیب منجر به بهترین جواب نمیشود‪ .‬ممکن است‬


‫گره ‪ C‬که بهطور محلی از گره ‪ D‬بدتر است ما را به جواب بهتری‬
‫مثل ‪ G‬برساند‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪15‬‬
‫‪f(A) = 60‬‬ ‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪f(B) = 55‬‬ ‫‪f(D) = 75‬‬
‫‪f(C) = 70‬‬

‫))‪P(C) = f(C)/(f(C) + f(D‬‬ ‫))‪P(D) = f(D)/(f(C) + f(D‬‬


‫‪= 70/145‬‬ ‫‪= 75/145‬‬

‫انتخاب تصادفی حالت بعدی از میان حاالت بهتر از حالت فعلی بر‬
‫اساس احتمالی متناسب با مقدار تابع هدف‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪16‬‬
‫فرض کنیم بین سه حالت با احتمال انتخاب ‪ 0.5 ،0.2‬و ‪ 0.3‬میخواهیم یکی‬
‫را انتخاب کنیم‬
‫انتخاب حالت اول‬ ‫انتخاب حالت دوم‬ ‫انتخاب حالت سوم‬
‫‪0‬‬ ‫‪1‬‬

‫‪0.2‬‬ ‫‪0.2 + 0.5 = 0.7‬‬ ‫‪0.7+0.3 = 1‬‬

‫روش انتخاب‪ :‬یک عدد تصادفی با توزیع یکنواخت بین ‪ 0‬و ‪ 1‬تولید کرده و‬
‫بسته به قرار گرفتن این عدد در هر یک از بازههای مشخصشده آن حالت‬
‫انتخاب میشود‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪17‬‬
‫‪ ‬الگوریتم تپهنوردی تصادفی )‪(Stochastic‬‬
‫‪ ‬انتخاب یکی از حرکات منجر به پیشرفت بهصورت تصادفی‬
‫‪ ‬تناسب احتمال انتخاب و میزان شیب بهبود‬
‫‪ ‬همگرایی دیرتر؛ یافتن جوابهای بهتر‬

‫‪ ‬تپهنوردی با شروع از حاالت مختلف )‪(Random Restart‬‬


‫‪ ‬شروع از نقاط مختلف‬
‫‪ ‬درنظرگرفتن تأثیر حالت اولیه در یافتن جواب بهینه‬

‫‪ ‬تپهنوردی اولین انتخاب )‪(First-Choice‬‬


‫‪ ‬ایجاد متناوب حالت بعدی تا یکی بهتر از حالت فعلی شود‬
‫‪ ‬مناسب برای حالت پیوسته و یا برای فاکتور انشعاب بسیار بزرگ‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪18‬‬
‫حالت نهایی‬
‫اجرای سوم‬

‫حالت اولیه‬
‫اجرای سوم‬

‫‪x02 xf2 xf3 x03‬‬ ‫‪x01 xf1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪19‬‬
‫‪ ‬در فضای پیوسته‬
‫استفاده از نویز سفید یا نویز یکنواخت برای ایجاد حالت جدید‬ ‫‪‬‬

‫پذیرش حالت جدید درصورت افزایش تابع هدف‬ ‫‪‬‬

‫‪𝑋𝑡𝑚𝑝 𝑡 + 1 = 𝑋 𝑡 + 𝜎𝑁 0,1‬‬
‫‪𝑋𝑡𝑚𝑝 𝑡 + 1 = 𝑋 𝑡 + 𝜎𝑅 −1,1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪20‬‬
‫شروع از یک حالت تصادفی ‪X0‬‬
‫‪X ← X0‬‬

‫)‪Xtmp ← X + σN(0,1‬‬

‫خیر‬
‫خیر‬ ‫بررسی‬ ‫بله‬
‫)‪f(Xtmp) > f(X‬‬ ‫شرط‬ ‫پایان‬
‫خاتمه‬

‫بله‬

‫‪X ← Xtmp‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪21‬‬
‫‪ ‬اگر سیگما بزرگ باشد ممکن است از روی کمینه بپرد و یا در حلقه بیافتد‬
‫‪ ‬اگر سیگما کوچک باشد گامها بسیار کوچک میشود‬
‫امکان تغییر بصورت نمایی یا خطی‬ ‫‪‬‬
‫حالت ایدهآل‪ :‬بر اساس نزدیکی و دوری به جواب‬ ‫‪‬‬

‫‪σ‬‬
‫گام بزرگ‬ ‫‪σ0‬‬
‫‪σ1 = .9σ0‬‬

‫گام کوچک‬
‫‪12‬‬ ‫‪iter.‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪22‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪23‬‬
‫‪ ‬بهینه محلی )‪(Local Optimum‬‬
‫نقاطی که از تمامی همسایگان خود بهترند ولی بهینه سراسری نیستند‬ ‫‪‬‬

‫‪ ‬نواحی هموار )‪(Plateaux and shoulders‬‬


‫نواحی که تغییرات در همسایهها وجود ندارد‬ ‫‪‬‬

‫ممکن است خود بهینه سراسری یا محلی باشند و یا صرفاً «شانه» باشند‬ ‫‪‬‬

‫و بعد از آنها نقاط بهتری قرار گرفته باشد‬

‫‪ ‬ناکامل بودن بخاطر امکان گیرکردن در بهینه محلی‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪24‬‬
‫‪ ‬نواحی یال )‪(Ridge‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪25‬‬
‫‪ ‬مانند الگوریتم تپهنوردی‬
‫شروع همزمان از بیش از یک نقطه‬ ‫‪‬‬

‫رسیدن از ‪ K‬نقطه به ‪ bK‬حالت بعدی (‪ b‬فاکتور انشعاب است)‬ ‫‪‬‬

‫‪ ‬انتخاب ‪ K‬بهترین حاالت از میان نقاط قبلی و تولیدشد‬

‫‪ ‬محدودیت کمتر بر روی حافظه‬

‫متفاوت با تپهنوردی با شروع از حاالت مختلف‬ ‫‪‬‬

‫‪ ‬در تپهنوردی با شروع از حاالت اولیه مختلف‪ ،‬اجراها مستقلاند‬

‫‪ ‬در این روش اطالعات مفید اجراهای موازی در کنار هم مورد بررسی قرار میگیرند‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪26‬‬
‫‪f(x1) = 60‬‬ ‫‪f(x2) = 45‬‬ ‫‪f(x3) = 50‬‬
‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫در اینجا از جمعیتی با ‪ K‬حالت اولیه شروع میکنیم و همیشه این‬


‫جمعیت را حفظ میکنیم‪ .‬در این مثال ‪K=3‬‬

‫از هر حالت اولیه تعداد ‪ b‬فرزند تصادفی با افزودن نویز تولید میکنیم‬
‫در اینجا ‪ b=2‬فرض شود‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪27‬‬
‫‪f(x1) = 60‬‬
‫‪f(x2) = 45‬‬ ‫‪f(x3) = 50‬‬
‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫‪55‬‬ ‫‪50‬‬ ‫‪40‬‬ ‫‪52‬‬ ‫‪54‬‬


‫‪65‬‬
‫‪x 1 + r1‬‬ ‫‪x 1 + r2‬‬
‫‪x 2 + r3‬‬ ‫‪x 2 + r4‬‬ ‫‪x 3 + r5‬‬ ‫‪x 3 + r6‬‬

‫هر حالت را با یک عدد تصادفی ‪ ri‬در یک شعاع مشخص جمع کرده‬


‫و حاالت جدید را بهدست میآوریم‪.‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪28‬‬
‫‪f(x1) = 60‬‬
‫‪f(x2) = 45‬‬ ‫‪f(x3) = 50‬‬
‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫‪55‬‬ ‫‪50‬‬ ‫‪40‬‬ ‫‪52‬‬ ‫‪56‬‬


‫‪65‬‬
‫‪x 1 + r1‬‬ ‫‪x 1 + r2‬‬
‫‪x 2 + r3‬‬ ‫‪x 2 + r4‬‬ ‫‪x 3 + r5‬‬ ‫‪x 3 + r6‬‬

‫به تعداد ‪ K=3‬حالت که دارای بیشترین مقدار ‪ f‬هستند انتخاب میشوند و به‬
‫مرحله بعد میروند‪ .‬امکان تکرار حاالت قبلی وجود دارد‬

‫امکان حفظ جستجو در بخشهای امیدوارکننده هر انشعاب وجود دارد‪ .‬با ادامه‬
‫روند‪ ،‬احتمال جذب کل فرایند جستجو توسط یک انشعاب وجود دارد‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪29‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪30‬‬
‫ایجاد تکانه‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪31‬‬
‫‪ ‬الهامگرفته از سردکردن فلزات و تولید فوالد‬

‫‪ ‬امکان فرار از بهینههای محلی و نواحی هموار‬


‫‪ ‬امکان قبولی پاسخهای بدتر و نه صرفاً بهتر از حالت اولیه‬

‫‪ ‬ایجاد تکانه در فضای منظره‬

‫‪ ‬قبولی حالت ایجادشده از حالت فعلی‪:‬‬


‫‪ ‬اگر بهتر باشد حتما جایگزین حالت فعلی میشود‬

‫‪ ‬اگر بدتر باشد‪ ،‬بهصورت احتمالی متناسب با میزان بدتر شدن قبول میشود‬
‫این احتمال بهمرور کاهش مییابد که به نوعی شبیهسازی دما در محیط است‬ ‫‪‬‬

‫𝐅𝚫‬ ‫چالش‪ :‬چگونگی سرد کردن فلز و کاهش دما‬ ‫‪‬‬

‫‪𝑷 = 𝒆𝒙𝒑 −‬‬


‫𝐓‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪32‬‬
‫شروع از یک حالت تصادفی ‪X0‬‬ ‫پایان‬
‫‪X ← X0‬‬

‫خیر‬ ‫بررسی‬
‫شرط‬
‫)‪Xtmp ← X + σN(0,1‬‬ ‫خاتمه‬

‫خیر‬
‫خیر‬ ‫𝐅𝚫‬
‫)‪f(Xtmp‬‬ ‫)‪> f(X‬‬ ‫‪𝒓𝒂𝒏𝒅 < 𝒆𝒙𝒑 −‬‬
‫𝐓‬

‫بله‬ ‫بله‬

‫‪X ← Xtmp‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪33‬‬
‫‪ ‬کاهش دما بهصورت نمایی‬
‫حالت ایدهآل‪ :‬بر اساس نزدیکی و دوری به جواب‬ ‫‪‬‬
‫موازنه بین اکتشاف (جستجوی سراسری) و استخراج (جستجوی محلی)‬ ‫‪‬‬

‫‪T‬‬
‫‪T0‬‬
‫‪T1 = .9T0‬‬

‫‪12‬‬ ‫‪iter.‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪34‬‬
‫الگوریتمهای مبتنی بر جمعیت‪ ،‬تصادف و سعیوخطا‬ ‫‪‬‬

‫الهامگرفته از فرایند تکامل و نظریه داروین‬ ‫‪‬‬

‫‪ ‬تکامل توانسته در هر محیطی جواب مناسب را پیدا کند‬

‫‪ ‬شبیهسازی قانون بقای موجود شایسته و رقابت موجودات بر سر منابع محدود‬

‫شبیهسازی هر حالت بهعنوان یک موجود در قالب مشابه با کروموزوم‬ ‫‪‬‬

‫استفاده از دو عملگر «بازترکیبی» و «جهش» برای ایجاد حاالت جدید‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪35‬‬
‫‪ ‬تکامل‪ :‬بهبود شایستگی نسل بعد‬

‫‪ ‬موجود شایسته از دیدگاه تکامل‪:‬‬

‫‪ ‬موجود با بقای بیشتر‬

‫انتقال اطالعات ژنتیکی بیشتر به نسل بعد از طریق تولید فرزندان بیشتر‬ ‫‪‬‬

‫‪ ‬زندهماندن )‪ :(Survive‬انتقال اطالعات ژنتیکی به نسل بعد‬

‫‪ ‬ارثبری ترکیبی از ویژگیهای والدین بهصورت تصادفی توسط فرزندان‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪36‬‬
‫‪ ‬الزمه تکامل‪ :‬انتخاب و تنوع‬
‫‪ ‬انتخاب‪ :‬انتخاب موجوداتی که میتوانند منجر به ایجاد تکامل شوند (همگرایی)‬

‫‪ ‬افزایش کیفیت‬
‫‪ ‬تنوع‪ :‬وجود موجدات متنوع برای جستجوی بهتر محیط (واگرایی)‬

‫‪ ‬افزایش کمیت‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪37‬‬
‫کم هوش‬ ‫باهوش‬

‫باهوش‬ ‫کم هوش‬

‫والد‪1‬‬ ‫والد‪2‬‬ ‫فرزند‬ ‫فرزند‬


‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪38‬‬
‫‪ ‬واقع در هسته سلول‬

‫‪ ‬دارای ساختار نردبانی ‪DNA‬‬

‫‪ ‬کدگذاری ژنتیکی بر مبنای الفبای ژنتیکی‬

‫بازهای آدنین )‪ ،(A‬گوئنین )‪ ،(G‬تیمین )‪ (T‬و سیتوزین )‪(C‬‬ ‫‪‬‬

‫‪ A‬و ‪ T‬با هم در نردبان تشکیل جفت میدهند‬ ‫‪‬‬

‫‪ G‬و ‪ C‬با هم در تردبان تشکیل جفت میدهند‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪39‬‬
‫‪ ‬کدگذاری پروتئینها در ساختار کروموزوم‬

‫فضای فنوتیپ‬ ‫فضای ژنوتیپ‬

‫‪R0c01cd‬‬

‫‪B0c01cd‬‬

‫‪G0c01cd‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪40‬‬
‫‪ ‬الگوریتم تکاملی‪ :‬الگوریتم جستجوی محلی مبتنی بر جمعیت‬

‫مجموعه موجودات‬ ‫نسل جدید‬

‫اعمال تغییر‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪41‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪42‬‬
‫‪ ‬همگرایی زودرس‬
‫‪ ‬عدم تکامل از نسلی به نسل دیگر‬
‫‪ ‬گیرکردن در بهینه محلی و عدم امکان فرار از آن‬
‫‪ ‬دالیل‪:‬‬
‫‪ ‬فاصله زیاد شایستگی بهترین موجود جمعیت از سایرین‬
‫‪ ‬عدم امکان انتخاب سایر موجودات و جلوگیری از تکانه‬
‫سکون‪ :‬از بین رفتن تنوع‬ ‫‪‬‬
‫همه موجودات شبیه هم بوده و تنوعی رخ نمیدهد‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪43‬‬
‫‪ ‬بازنمایی‪ :‬نحوه کدکردن حاالت مسئله در قالب کروموزوم‬
‫‪ ‬تولید جمعیت اولیه‪ :‬عموماً تصادفی یکنواخت‬
‫‪ ‬انتخاب والدین‬
‫‪ ‬تولید فرزندان بر اساس عملگرهای ایجاد تنوع‬
‫‪ ‬بازترکیبی و جهش‬
‫‪ ‬انتخاب بازماندگان‬
‫‪ ‬ارزیابی‪ :‬تعریف تابع شایستگی (وابسته به مسئله)‬
‫‪ ‬شرط خاتمه‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪44‬‬
‫‪ ‬خطی (آرایهای)‪ :‬مناسب برای بهینهسازی یک تابع‬
‫حقیقی و اعداد صحیح‪ :‬آرایه متشکل از اعداد حقیقی یا اعداد صحیح‬ ‫‪‬‬

‫‪1 3 5 2 6 4 7 8‬‬
‫باینری‪ :‬متشکل از صفر و یک‬ ‫‪‬‬

‫تعدادی صفر و یک متوالی کدگذار یک ویژگی بهصورت باینری‬ ‫‪‬‬

‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫‪0 1 1 0 1 0 1 1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪45‬‬
‫‪ ‬بازترکیبی ‪Crossover‬‬

‫‪ ‬اعمال بر روی دو والد انتخابشده‬

‫‪ ‬تولید فرزندان دارای ترکیبی تصادفی از ویژگیهای والدین‬

‫‪ ‬درنظرگیری یک نقطه تصادفی برای جابجایی ژنهای والدین (الهام از رونویسی)‬

‫‪ ‬جهش ‪Mutation‬‬

‫‪ ‬خطای تصادفی طبیعت با نرخ پایین‬

‫‪ ‬عامل واگراکننده برای «اکتشاف» بیشتر فضای حالت‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪46‬‬
‫‪ ‬اعمال بر روی دو والد انتخابشده‬

‫‪ ‬تولید فرزندان دارای ترکیبی تصادفی از ویژگیهای والدین‬

‫‪ ‬بیشتر برای جستجوی محلی (استخراج)‬

‫‪ ‬قابل کنترل با ابرپارامتر احتمال بازترکیبی )‪(Pc‬‬


‫‪ ‬احتمال رخداد بازترکیبی و تولید فرزند‬

‫‪ ‬وابسته به بازنمایی‬
‫‪ ‬روشهای مختلف برای بازنماییهای متفاوت‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪47‬‬
‫‪ ‬بازنمایی خطی‪:‬‬
‫‪ ‬چندنقطهای (بازنمایی باینری‪ ،‬حقیقی و صحیح)‪:‬‬
‫‪ ‬درنظرگیری یک نقطه تصادفی برای جابجایی ژنهای والدین‬

‫‪1 3 5 2 6 4 7 8‬‬ ‫‪1 3 5 5 4 3 2 1‬‬


‫‪8 7 6 5 4 3 2 1‬‬ ‫‪8 7 6 2 6 4 7 8‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪48‬‬
‫‪ ‬بازنمایی خطی‪:‬‬
‫‪ ‬چندنقطهای (بازنمایی باینری‪ ،‬حقیقی و صحیح)‪:‬‬
‫‪ ‬در مورد بازنمایی باینری میتواند منجر به شکلگیری مقادیر جدید شود‬
‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬ ‫‪x4‬‬ ‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬ ‫‪x4‬‬

‫‪1 0 0 1 1 1 0 1‬‬ ‫‪1 0 0 0 0 1 0 1‬‬


‫‪1 1 1 0 0 1 0 1‬‬ ‫‪1 1 1 1 1 1 0 1‬‬

‫ایجاد دو مقدار جدید ‪ 0‬و ‪ 3‬برای بعد دوم در فرزندان‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪49‬‬
‫‪ ‬بازنمایی خطی‪:‬‬
‫‪ ‬میانگیری (مناسب برای بازنمایی حقیقی)‪:‬‬
‫‪ ‬تولید میانگین وزندار والدین‪:‬‬

‫‪ ‬تولید ‪i‬امین فرزند با وزن تصادفی ‪ αi‬که عددی در بازه )‪ (0,1‬است‪:‬‬


‫)‪Ci = αiP1 + (1-αi)P2 , αi ϵ (0,1‬‬
‫‪α1 = 0.3‬‬
‫‪P1:‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪8‬‬ ‫‪x α1‬‬ ‫‪α1P1:‬‬ ‫‪1.5‬‬ ‫‪0.9‬‬ ‫‪2.4‬‬
‫‪C1:‬‬ ‫‪2.9‬‬ ‫‪3.7‬‬ ‫‪6.6‬‬
‫‪P2:‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫)‪x (1-α1‬‬ ‫‪(1-α1)P2: 1.4‬‬ ‫‪2.8‬‬ ‫‪4.2‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪50‬‬
‫‪ ‬خطای تصادفی طبیعت با نرخ پایین‬

‫‪ ‬عامل واگراکننده برای «اکتشاف» بیشتر فضای حالت‬

‫‪ ‬قابل کنترل با ابرپارامتر احتمال جهش )‪(Pm‬‬


‫‪ ‬وابسته به بازنمایی‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪51‬‬
‫‪ ‬بازنمایی خطی‪:‬‬
‫‪ ‬جابجایی تصادفی‪ :‬مناسب برای همه بازنماییها‬

‫‪1 3 5 2 6 4 7 8‬‬ ‫‪1 3 7 2 6 4 5 8‬‬

‫‪ ‬معکوسکردن بیت‪ :‬مناسب برای بازنمایی باینری‬

‫‪0 1 1 0 1 0 0 1‬‬ ‫‪0 1 0 0 1 0 1 1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪52‬‬
‫‪ ‬بازنمایی خطی‪:‬‬
‫‪ ‬مقداردهی تصادفی یک عنصر‪ :‬مناسب برای همه بازنماییها‬

‫‪1 3 5 2 6 4 7 8‬‬ ‫‪1 3 7 2 6 4 7 8‬‬

‫‪ ‬افزودن نویز گاوسی‪ :‬مناسب برای بازنمایی حقیقی‬

‫)‪+ σN(0,1‬‬
‫‪1 3 5 2 6 4 7 8‬‬ ‫‪1 3 5.2 2 6 4 7 8‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪53‬‬
‫‪ ‬جمعیت هر نسل ثابت میماند‪μ :‬‬

‫‪ ‬در هر مرحله‪ ،‬تعداد ثابتی فرزند تولید میشود‪λ:‬‬

‫‪ ‬دو رویه برای انتخاب بازماندگان‪:‬‬

‫‪ ‬انتخاب موجودات شایسته از صرفاً فرزندان )‪(μ,λ‬‬

‫بدون حافظه و ایجاد تنوع و واگرایی بیشتر‬ ‫‪‬‬

‫‪ ‬انتخاب موجودات شایسته از هر دو جمعیت والدین و فرزندان )‪(μ+λ‬‬

‫دارای حافظه و همگرایی سریعتر‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪54‬‬
‫‪ ‬تصادفی یکنواخت )‪ :(Random‬عدم درنظرگیری قانون بقای شایسته‬

‫‪ ‬شایستهساالری‪ :‬مرتبسازی بر حسب شایستگی و انتخاب بهترین‬

‫سکون و همگرایی زودرس و از بین رفتن تنوع‬ ‫‪‬‬

‫‪ ‬متناسب با شایستگی )‪ :(Fitness-Proportionate‬بهصورت‬

‫احتماالتی متناسب با شایستگی‬


‫𝑖𝑓‬
‫= 𝑖𝑃‬ ‫𝑚‬
‫𝑗𝑓 ‪𝑗 =1‬‬ ‫همگرایی زودرس یا سکون و از بین رفتن تنوع‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪55‬‬
‫‪ ‬رتبهبندی )‪ :(Reward-Based‬شانس بیشتر به موجودات با شایستگی کمتر‬

‫‪ ‬مرتبسازی موجودات بر حسب شایستگی و دادن یک رتبه به هر یک‬

‫‪ ‬کاهش واریانس شایستگی در انتخاب و حفظ بیشتر تنوع‬

‫‪ ‬عدم نیاز به اطالع دقیق از میزان شایستگی‬

‫تورنمنت )‪ :(Q-Tournament‬انتخاب ‪ Q‬موجود تصادفی و انتخاب بهترین آنها‬ ‫‪‬‬

‫‪ ‬بزرگ بودن ‪ :Q‬میل به شایستهساالری‬

‫‪ ‬کوچکبودن ‪ :Q‬میل به تصادفی‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪56‬‬
‫هرکدام یک موجود‬ ‫‪ ‬مبتنی بر شایستگی‬

‫‪F:‬‬ ‫‪70‬‬ ‫‪20‬‬ ‫‪8‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪P:‬‬ ‫‪0.7‬‬ ‫‪0.2‬‬ ‫‪0.08‬‬ ‫‪0.03‬‬ ‫‪0.05‬‬ ‫‪0.01‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪57‬‬
‫‪ ‬مبتنی بر رتبهبندی‬

‫‪F:‬‬ ‫‪70‬‬ ‫‪20‬‬ ‫‪8‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪R:‬‬ ‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫= ‪6/21‬‬
‫‪P:‬‬ ‫‪0.2381‬‬ ‫‪0.1905‬‬ ‫‪0.1429‬‬ ‫‪0.0952‬‬ ‫‪0.0476‬‬
‫‪0.2857‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪58‬‬
‫‪ ‬خطکش )‪ (Ruler‬یا چرخ رولت )‪ :(Roulette Wheel‬مراجعه به اسالید ‪17‬‬

‫‪ ‬انتخاب تصادفی سراسری ))‪:(Stochastic Universal Selection (SUS‬‬


‫‪ ‬در نظر گرفتن خطکش دوم به طول ‪ 1 – 1/N‬برای انتخاب ‪ N‬موجود‬
‫یک عدد تصادفی بین صفر و ‪ 1/N‬انتخاب شده و خطکش دوم از این نقطه بر خطکش اول‬ ‫‪‬‬
‫منطبق میشود‬
‫به تعداد پیکانهایی که در هر بازه میفتد از آن بازه انتخاب میشود‪.‬‬ ‫‪‬‬

‫‪0‬‬ ‫‪1‬‬

‫‪1-1/N‬‬
‫‪1/N‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪59‬‬
‫‪ ‬تعداد نسلهای متناهی‬

‫‪ ‬عیب‪ :‬ممکن است زودتر یا دیرتر به جواب برسیم‬

‫‪ ‬مزیت‪ :‬تعداد حلقههای محدود و تضمین خاتمه‬

‫‪ ‬حد شایستگی‬

‫‪ ‬عیب‪ :‬ممکن است حد شایستگی را ندانیم و یا هرگز به آن‬

‫نرسیم (حلقه نامحدود)‬

‫‪ ‬مزیت‪ :‬اگر به جواب برسیم جواب مورد نظر است‬


‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪60‬‬
‫‪K‬‬ ‫بررسی همگرایی‪ :‬عدم تغییر متوسط شایستگی یا شایستگی بهترین موجود در‬ ‫‪‬‬

‫نسل‬

‫‪ ‬رسم نودار تغییرات شایستگی بهترین موجود یا متوسط شایستگی نسبت به نسل‬

‫‪ ‬عیب‪ :‬ممکن است به همگرایی زودرس رسیده باشیم یا به همگرایی نرسیم‬

‫‪ ‬مزیت‪ :‬جلوگیری از ادامه بیدلیل اجرای الگوریتم‬

‫بررسی تنوع‪ :‬بررسی واریانس شایستگی‬ ‫‪‬‬

‫‪ ‬مشابه روش قبل با این تفاوت که کلیتر است‪ :‬اگر تنوع نداشته باشیم شانسی‬

‫برای بهبود نخواهیم داشت‬

‫ترکیب روش اول با سایر روشها‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪61‬‬
‫‪ ‬بررسی همگرایی‪:‬‬
‫میانگین یا بیشینه شایستگی نسل‬

‫‪θ‬‬

‫‪K‬‬

‫نسل‬
‫واریانس شایستگی نسل‬ ‫‪ ‬بررسی تنوع‪:‬‬

‫‪K‬‬

‫‪θ‬‬
‫نسل‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪62‬‬
‫تولید جمعیت اولیه‪ :‬تصادفی یکنواخت‬ ‫‪‬‬

‫بازنمایی‪ :‬باینری‬ ‫‪‬‬

‫رویه انتخب بازماندگان‪(μ,μ) :‬‬ ‫‪‬‬

‫بازترکیبی‪ :‬چندنقطهای با احتمال باال نظیر ‪0.8‬‬ ‫‪‬‬

‫جهش‪ :‬معکوس بیت با احتمال کم نظیر ‪0.01‬‬ ‫‪‬‬

‫‪ ‬بعد از بازترکیبی‬

‫انتخاب والدین‪ :‬متناسب با شایستگی‬ ‫‪‬‬

‫‪John Henry Holland‬‬


‫ویژگی خاص‪ :‬توجه به بازترکیبی‬ ‫‪‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪63‬‬
‫تولید جمعیت اولیه‪ :‬تصادفی یکنواخت‬ ‫‪‬‬

‫بازنمایی‪ :‬حقیقی‬ ‫‪‬‬

‫رویه انتخب بازماندگان‪ :‬امکان هر دوحالت‬ ‫‪‬‬

‫بازترکیبی‪ :‬چندنقطهای یا میانگیری وزنی با احتمال کم نظیر ‪0.3‬‬ ‫‪‬‬

‫‪ ‬میانگیری میتواند محلی (همه ژنها یک واد) یا سراسری (برای هر ژن وادین متفوت) باشد‬

‫جهش‪ :‬نویز گاوسی با احتمال ‪1‬‬ ‫‪‬‬

‫‪ -1 ‬با سیگمای ثابت یا متغیر با زمان‪ -2 ،‬برای همه ابعاد یک سیگما یا برای هر بعد مجزا‬

‫انتخاب والدین‪ :‬ندارد (تصادفی)‬ ‫‪‬‬

‫انتخب بازماندگان‪ :‬متناسب با شایستگی‬ ‫‪‬‬

‫ویژگی خاص‪ :‬توجه به جهش و حقیقی بودن‬ ‫‪‬‬


‫‪Ingo Rechenberg‬‬ ‫‪Hans P. Schewfel‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪64‬‬
‫فرض کنیم بخواهیم تابع ‪ f =1+ x12 + x22 + x32 + x42 + x52‬را کمینه کنیم‬ ‫‪‬‬

‫‪ ‬الگوریتمی تکاملی با چارچوب زیر را مورد استفاده قرار میدهیم‪:‬‬

‫بازنمایی‪ :‬با توجه به حقیقی بودن فضای جستجو‪ ،‬خطی حقیقی‬ ‫‪‬‬

‫جمعیت اولیه‪ :‬تصادفی یکنواخت (بافرض عدم اطالع از فضا)‬ ‫‪‬‬

‫انتخاب والدین‪ :‬تصادفی‬ ‫‪‬‬

‫انتخاب بازماندگان‪ :‬متناسب با شایستگی با استفاده از خطکش‬ ‫‪‬‬

‫جمعیت انتخاب بازماندگان‪ (μ+λ) :‬با ‪ μ = 4‬و ‪λ = 4‬‬ ‫‪‬‬

‫بازترکیبی‪ :‬تکنقطهای با احتمال ‪( Pc = 0.9‬میانگیری هم ممکن است)‬ ‫‪‬‬

‫جهش‪ :‬نویز گاوسی (با توجه به حقیقی بودن فضا) با ‪ σ=0.1‬با احتمال ‪Pm = 0.1‬‬ ‫‪‬‬

‫تابع شایستگی‪ :‬عکس تابع هدف‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫شرط خاتمه‪ :‬تعداد نسلها‬ ‫‪‬‬
‫‪65‬‬
‫‪ ‬گام اول‪ :‬تولید ‪ 4‬موجود تصادفی‬

‫‪2.7‬‬ ‫‪3.2‬‬ ‫‪-1.2‬‬ ‫‪4.1‬‬ ‫‪-2.3‬‬ ‫‪f1 = 0.0238‬‬

‫‪-6.1‬‬ ‫‪1.0‬‬ ‫‪5.4‬‬ ‫‪-3.8‬‬ ‫‪0.2‬‬ ‫‪f2 = 0.0121‬‬

‫‪0.4‬‬ ‫‪-0.1‬‬ ‫‪-0.3‬‬ ‫‪3.6‬‬ ‫‪-4.3‬‬ ‫‪f3 = 0.0306‬‬

‫‪-10.1‬‬ ‫‪2.3‬‬ ‫‪0.8‬‬ ‫‪-0.2‬‬ ‫‪0.9‬‬ ‫‪f4 = 0.0091‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪66‬‬
‫‪ ‬گام دوم‪ :‬انتخاب دو جفت والد بهصورت تصادفی برای تولید ‪ 4‬فرزند‬

‫‪2.7‬‬ ‫‪3.2‬‬ ‫‪-1.2‬‬ ‫‪4.1‬‬ ‫‪-2.3‬‬

‫‪-6.1‬‬ ‫‪1.0‬‬ ‫‪5.4‬‬ ‫‪-3.8‬‬ ‫‪0.2‬‬

‫‪0.4‬‬ ‫‪-0.1‬‬ ‫‪-0.3‬‬ ‫‪3.6‬‬ ‫‪-4.3‬‬

‫‪-10.1‬‬ ‫‪2.3‬‬ ‫‪0.8‬‬ ‫‪-0.2‬‬ ‫‪0.9‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪67‬‬
‫‪ ‬گام سوم‪ :‬تولید فرزند از هر جفت والد‬

‫‪ ‬ابتدا عددی تصادفی بین صفر و یک تولید کرده‪ ،‬در صورتی که این عدد از ‪Pc‬‬

‫کوچکتر باشد تولید فرزندان صورت میگیرد‬

‫در غیر اینصورت والدین عیناً به فرزندان منتقل شده و یا جفت والد دیگری انتخاب میشود‬ ‫‪‬‬

‫‪ ‬پس از آن عددی تصادفی و صحیح بین ‪ 1‬و ‪ 4‬برای بازترکیبی انتخاب میکنیم‬

‫‪ ‬فرض کنیم برای هر دو جفت تولید فرزند مجاز و عدد تصادفی اول ‪ 2‬و‬

‫عدد تصادفی دوم ‪ 1‬باشد‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪68‬‬
‫‪ ‬گام سوم‪ :‬تولید فرزند از هر جفت والد‬

‫‪2.7‬‬ ‫‪3.2‬‬ ‫‪-1.2‬‬ ‫‪4.1‬‬ ‫‪-2.3‬‬

‫‪0.4‬‬ ‫‪-0.1‬‬ ‫‪-0.3‬‬ ‫‪3.6‬‬ ‫‪-4.3‬‬

‫‪2.7‬‬ ‫‪3.2‬‬ ‫‪-0.3‬‬ ‫‪3.6‬‬ ‫‪-4.3‬‬

‫‪0.4‬‬ ‫‪-0.1‬‬ ‫‪-1.2‬‬ ‫‪4.1‬‬ ‫‪-2.3‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪69‬‬
‫‪ ‬گام سوم‪ :‬تولید فرزند از هر جفت والد‬

‫‪-6.1‬‬ ‫‪1.0‬‬ ‫‪5.4‬‬ ‫‪-3.8‬‬ ‫‪0.2‬‬

‫‪-10.1‬‬ ‫‪2.3‬‬ ‫‪0.8‬‬ ‫‪-0.2‬‬ ‫‪0.9‬‬

‫‪-6.1‬‬ ‫‪2.3‬‬ ‫‪0.8‬‬ ‫‪-0.2‬‬ ‫‪0.9‬‬

‫‪-10.1‬‬ ‫‪1.0‬‬ ‫‪5.4‬‬ ‫‪-3.8‬‬ ‫‪0.2‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪70‬‬
‫‪ ‬گام چهارم‪ :‬اعمال جهش در فرزندان‬

‫‪ ‬برای هر فرزند یک عدد تصادفی تولید کرده اگر کمتر از احتمال جهش ‪ Pm‬بود‬

‫جهش اعمال میشود‬

‫‪ ‬با توجه به گاوسی بودن نویز‪ ،‬آرایهای به سایز ‪( 5‬تعداد ویژگیها) از اعداد تصادفی‬

‫از توزیع احتمال )‪ 0.1N(0,1‬استخراج کرده و با بردار فرزند جمع میکنیم‬

‫‪ ‬فرض کنیم در اینجا فقط برای فرزند دوم جهش اعمال شود‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪71‬‬
‫‪ ‬گام چهارم‪ :‬اعمال جهش در فرزندان‬

‫‪0.4‬‬ ‫‪-0.1‬‬ ‫‪-1.2‬‬ ‫‪4.1‬‬ ‫‪-2.3‬‬ ‫فرزند دوم‬

‫‪-0.06‬‬ ‫‪0.02‬‬ ‫‪-0.8‬‬ ‫‪0.11‬‬ ‫‪0.62‬‬ ‫نویز تصادفی‬

‫‪0.34‬‬ ‫‪-0.08‬‬ ‫‪-2‬‬ ‫‪3.99‬‬ ‫‪-1.68‬‬ ‫فرزند جهشیافته‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪72‬‬
‫‪ ‬گام پنجم‪ :‬انتخاب بازماندگان‬

‫‪ ‬از میان جمعیت فرزندان و والدین و متناسب با شایستگی‬

‫ابتدا شایستگی هر موجود را حساب میکنیم‬ ‫‪‬‬

‫سپس مجموع شایستگی را محاسبه میکنیم‬ ‫‪‬‬

‫با تقسیم شایستگی هر موجود به مجموع شایستگی احتمال انتخابش را بدست میآوریم‬ ‫‪‬‬

‫با روش خطکش نسل بعد را انتخاب میکنیم‬ ‫‪‬‬

‫موجود‬ ‫‪P1‬‬ ‫‪P2‬‬ ‫‪P3‬‬ ‫‪P4‬‬ ‫‪C1‬‬ ‫‪C2‬‬ ‫‪C3‬‬ ‫‪C4‬‬ ‫مجموع‬
‫شایستگی‬ ‫‪0.023‬‬ ‫‪0.012‬‬ ‫‪0.03‬‬ ‫‪0.009‬‬ ‫‪0.020‬‬ ‫‪0.040‬‬ ‫‪0.022‬‬ ‫‪0.006‬‬ ‫‪0.1634‬‬
‫احتمال‬ ‫‪0.1408‬‬ ‫‪0.0734‬‬ ‫‪0.1836‬‬ ‫‪0.0551‬‬ ‫‪0.1224‬‬ ‫‪0.2448 0.1346 0.0367‬‬ ‫‪1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪73‬‬
‫‪ ‬گام پنجم‪ :‬انتخاب بازماندگان‬
‫‪ 4‬عدد تصادفی یکنواخت در بازه صفر و یک تولید کرده و با توجه به بازهبندی زیر‬ ‫‪‬‬

‫موجودات بازمانده را از میان ‪ 4‬والد و ‪ 4‬فرزند انتخاب میکنیم‪ .‬تکرار مجاز است‬

‫انتخاب موجود سوم انتخاب موجود اول‬


‫انتخاب موجود هفتم انتخاب موجود پنجم‬
‫‪0.3978‬‬
‫‪0‬‬ ‫‪0.5753‬‬

‫‪0.2142‬‬
‫‪0.1408‬‬ ‫‪0.4529‬‬ ‫‪0.8201‬‬ ‫‪0.9547‬‬

‫انتخاب موجود دوم‬ ‫انتخاب موجود چهارم‬ ‫انتخاب موجود هشتم انتخاب موجود ششم‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬


‫‪74‬‬
‫‪ ‬شرط الزم بهینگی‪ :‬صفر بودن بردار گرادیان‬
‫نیازمند حل دستگاه معادالت (در حالت کلی معادالت غیرخطی!)‬ ‫‪‬‬

‫در حالت کلی غیرممکن‬ ‫‪‬‬

‫𝒇𝝏‬
‫𝟎=‬
‫𝟏𝒙𝝏‬
‫𝒇𝝏‬ ‫با فرض اینکه ‪ f‬تابع هدف باشد‬

‫⇒ 𝟎 = 𝒇 𝐱𝛁‬ ‫𝟎=‬ ‫بردار ‪ x‬بردار متغیرهای تصمیم باشد‬


‫𝟐𝒙𝝏‬ ‫که در مجموع ‪n‬بعد میباشند‬
‫⋮‬
‫𝒇𝝏‬
‫𝟎=‬
‫𝒏𝒙𝝏‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪75‬‬
‫‪ ‬بردار گرادیان‪ :‬جهت رشد تابع‬

‫اگر بهاندازه ‪ δx‬حول ‪ x0‬ایجاد کنیم‬ ‫بر اساس بسط تیلورمرتبه اول‬ ‫‪‬‬
‫خروجی تابع جقدر تغییر میکند؟‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪76‬‬
‫‪ ‬بردار گرادیان‪ :‬جهت رشد تابع‬
‫بر اساس بسط تیلورمرتبه اول‬ ‫‪‬‬

‫‪𝜹𝒙 = 𝜶𝛁𝒇|𝒙=𝒙𝟎 ,‬‬ ‫𝟎>𝜶‬


‫𝟐‬
‫𝒙=𝒙|𝒇𝛁‬
‫|𝒇𝛁𝜶‪⇒𝟎 ,𝒇 𝒙𝟎 +‬‬
‫𝟎>‬‫𝟎𝒙=𝒙|𝒇𝛁 𝜶 ‪𝒙=𝒙𝟎 = 𝒇 𝒙𝟎 +‬‬
‫𝟐‬
‫𝟎𝒙=𝒙|𝒇𝛁 𝜶 ‪+ 𝛁𝒇|𝒙=𝒙𝟎 = 𝒇 𝒙𝟎 +‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪77‬‬
‫‪ ‬بردار گرادیان‪ :‬جهت رشد تابع‬
‫در حالت چندبعدی‬ ‫‪‬‬

‫𝟎𝒙=𝒙|𝒇 𝐱𝛁 𝑻𝒙𝜹 ‪𝒇 𝒙𝟎 + 𝜹𝒙 = 𝒇 𝒙𝟎 +‬‬


‫𝟎𝒙=𝒙|𝒇 𝐱𝛁 𝟎𝒙=𝒙| 𝑻𝒇 𝐱𝛁𝜶 ‪𝒇 𝒙𝟎 + 𝜶𝛁𝐱 𝒇|𝒙=𝒙𝟎 = 𝒇 𝒙𝟎 +‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪78‬‬
‫‪ ‬حرکت در جهت عکس بردار گرادیان‪ :‬کاهش تابع‬

‫|𝒇𝛁𝜶‪𝜹𝒙==−‬‬
‫𝒙𝚫‬ ‫𝒙=𝒙|𝒇𝛁𝜶‬
‫‪𝒙=𝒙𝟎𝒕,,‬‬ ‫𝜶‬
‫𝟎>𝜼‬
‫⇒𝒙‬ ‫𝟐‬
‫𝒙𝒙=𝒇𝟏‪𝒕+‬‬ ‫𝒙(𝒇 <𝒙 𝒇𝟏‪+ 𝚫𝒙 ⇒ 𝒇 𝒙𝒕+‬‬
‫= 𝟎𝒙=𝒙|𝒇𝛁 ‪𝟎 𝒕+‬‬ ‫𝜶‪𝟎 +‬‬ ‫𝒙=𝒙|𝒇𝛁 ) 𝒕‬
‫𝟎‬

‫مقدار ابرپارامتر آلفا در تعیین میزان گام برداشتهشده در هر مرحله‬ ‫‪‬‬


‫تعیینکننده است‬
‫اگر بزرگ باشد‪ ،‬از روی نقطه بهینه میپرد و در حلقه گیر میکند‬ ‫‪‬‬

‫اگر کوچک باشد سرعت همگرایی پایینی خواهد داشت و در اولین کمینه‬ ‫‪‬‬
‫محلی گیر میافتد‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪79‬‬
‫مقدار پارامتر آلفا در تعیین میزان گام برداشتهشده در هر مرحله تعیینکننده است‬ ‫‪‬‬
‫اگر بزرگ باشد‪ ،‬از روی نقطه بهینه میپرد‬ ‫‪‬‬
‫در حلقه گیر میکند‬ ‫‪‬‬

‫ناپایدار میشود‬ ‫‪‬‬

‫اگر کوچک باشد سرعت همگرایی پایینی خواهد داشت و در اولین کمینه محلی گیر میکند‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪80‬‬
‫تغییر تدریجی ابرپارامتر یادگیری (مانند قبل)‬ ‫‪‬‬

‫تغییر هدفمند‪ :‬زمانی که تغییر مبتنی بر جهت عکس گرادیان با تغییرات قبلی‬ ‫‪‬‬

‫همجهت نباشد الزم است گام کوچک شود‬

‫‪Δx1‬‬ ‫‪Δx4‬‬

‫‪Δx2 Δx3‬‬ ‫‪x‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪81‬‬
‫‪ ‬مقایسه گام فعلی و گام(های) قبلی‬

‫در صورت واقع شدن در خالف جهت کاهش‬ ‫‪‬‬

‫در غیر این صورت افزایش یا حفظ مقدار‬ ‫‪‬‬

‫‪Δx1‬‬ ‫‪Δx4‬‬

‫‪Δx2 Δx3‬‬ ‫‪x‬‬

‫𝒕𝒙𝚫 𝜷 ‪𝚫𝐱𝒕+𝟏 = 𝜷𝚫𝐱 𝒕 + 𝟏 −‬‬


‫‪< 𝟎 ⇒ 𝜶𝒕+𝟏 = 𝜼. 𝜶𝒕 ,‬‬ ‫𝟏<𝜼<𝟎‬
‫𝒕𝜶 = 𝟏‪𝚫𝐱 𝒕 . 𝚫𝒙𝒕 = = 𝟎 ⇒ 𝜶𝒕+‬‬
‫𝒕𝜶 ‪> 𝟎 ⇒ 𝜶𝒕+𝟏 = 𝜸.‬‬ ‫< >𝜸 ‪𝟎 <γ‬‬
‫𝟏‪1‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪82‬‬
‫‪ ‬قراردادن سه فرودگاه با کمترین فاصله از شهرهای موجود‬

‫‪ ‬متغیرهای تصمیم‪ (x, y) :‬هر فرودگاه‬

‫‪ ‬تابع هدف‪ :‬مجموع فواصل شهرها از فرودگاهها‬

‫‪ ‬شکل بردار گرادیان‪:‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪83‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪84‬‬
‫الگوریتم هوش ذرات (و نه تکاملی)‬ ‫‪‬‬

‫برگرفته از حرکت پرندگان یا ذرات در مایعات‬ ‫‪‬‬

‫حرکت هر ذره یا پرنده در گروه‪ :‬بهسمت ترکیبی از بهترین تجربه شخصی و گروهی‬ ‫‪‬‬

‫دو پارامتر برای هر پرنده یا ذره‪ :‬موقعیت (راهحل) و سرعت (بزرگی و جهت حرکت)‬ ‫‪‬‬

‫معادله حرکت هر پرنده‪:‬‬ ‫‪‬‬

‫‪‬‬ ‫𝟏‪𝑿𝒕+‬‬
‫𝒊‬ ‫𝒊𝒕𝑽 ‪= 𝑿𝒕𝒊 +‬‬

‫معادله بروزرسانی سرعت هر پرنده بر اساس بهترین تجربه شخصی و گروهی‪:‬‬ ‫‪‬‬

‫‪‬‬ ‫𝟏‪𝑽𝒕𝒊 = 𝑾𝑽𝒕−‬‬


‫𝒊‬ ‫𝒊𝒕𝑿 ‪+ 𝑪𝟏𝒓𝟏 𝑷𝒊 − 𝑿𝒕𝒊 + 𝑪𝟐𝒓𝟐 𝑮 −‬‬

‫بروزرسانی بهترین تجربه شخصی و گروهی در هر تکرار‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪85‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪77‬‬
‫برگرفته از حرکت مورچهها و فرمنگذاری مسیر توسط آنها‬ ‫‪‬‬

‫مسیر بهینه بهدلیل عبور مورچههای بیشتر دارای فرمن بیشتر است‬ ‫‪‬‬

‫‪ ‬مکانیزم تبخیر‪ :‬کاهش فرمن بهتدریج‬

‫‪ ‬مناسب برای محیط پویا‬

‫‪ ‬مناسب در زمانی که راهحل مناسبتری بر اثر تغییر محیط ایجاد شود و یا راهحل فعلی‬

‫مسدود شود‬

‫انتخاب تصادفی حالت بعدی از همسایگی حالت فعلی مبتنی بر‪:‬‬ ‫‪‬‬

‫‪ ‬تجربه محلی (میزان نزدیکی حالت بعدی به حالت فعلی)‬

‫‪ ‬تجربه گروهی (میزان فرمن موجود در گام بعد)‬


‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪87‬‬
‫‪ ‬یک روش کلی برای یافتن ریشههای یک تابع‬

‫‪ ‬مورد استفاده برای یافتن ریشههای تابع مشتق تابع هزینه‬

‫نقاط بهینه محلی‬ ‫‪‬‬

‫)‪x ← x − g(x)/g′(x‬‬

‫‪ ‬تعیین تحلیلی ضریب طول گام آلفا در روش گرادیان‬

‫‪ ‬استفاده از مشتق دوم (ماتریس هسین) و پیچیدگی محاسباتی باال‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪88‬‬
‫‪ ‬عدم قطعیت‪ :‬نتیجه هر عمل از پیش مشخص نیست‬

‫ممکن است انتخاب یک عمل منجر به انتقال به حاالت مختلف شود‬ ‫‪‬‬

‫نیاز به ادراک پس از اجرای هر عمل برای تعیین نتیجه اعمال عمل و‬ ‫‪‬‬

‫تشخیص حالت‬

‫‪ ‬تفاوت با جستجو در محیط قطعی‪:‬‬

‫خروجی هر عمل میتواند مجموعهای از حاالت ممکن باشد‬ ‫‪‬‬

‫‪ ‬امکان پیشنهاد اعمال و راههای جایگزین )‪(Contingent plan‬‬

‫کنترل حلقه‪-‬بسته و تعیین نتیجه هر حالت بر اساس دریافت بازخورد‬ ‫‪‬‬


‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪89‬‬
‫مشابه ساختار درخت جستجو‬ ‫‪‬‬

‫امکان پیشنهاد راههای جایگزین در شرایط غیرقطعی‬ ‫‪‬‬

‫گره ‪ :OR‬مشابه گره در درخت جستجو‬ ‫‪‬‬

‫گره ‪ :AND‬معرف حاالت مختلف حاصل از اجرای یک عمل در گره ‪OR‬‬ ‫‪‬‬

‫راهحل‪ :‬زیردرختی با ویژگیهای زیر‬ ‫‪‬‬

‫‪ ‬همه برگها حالت جواب باشند‬

‫‪ ‬در هر گره ‪ OR‬صرفاً یک انشعاب (عمل) انتخاب شود‬

‫‪ ‬در هر گره ‪ AND‬همه انشعابات درنظر گرفته شده باشند‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪90‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪91‬‬
‫‪ ‬راهکارهای متداخل‪ :‬تعیین مسیر و اجرا بهطور همزمان‬

‫‪ ‬استفاده از راهکارهای جایگزین در صورت امکان‬

‫‪ ‬امکان ایجاد حلقه در درخت ‪AND-OR‬‬

‫‪ ‬در صورت مشاهده حالت تکراری در یک مسیر الگوریتم ریکرسیو خروجی عدم‬

‫یافتن مسیر را برمیگرداند‬

‫‪ ‬چنانچه مسیری باشد در همان جستجو اول پیدا میشود‬

‫‪ ‬تضمین اتمام الگوریتم‪ :‬رسیدن به هدف‪ ،‬حاالت غیرقابل گسترش و یا حالت‬

‫تکراری‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪92‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪93‬‬
‫‪ ‬عدم درک کامل محیط مبتنی بر ادراک بهوسیله حسگرها‬

‫گرانبودن حسگر‪ ،‬خرابی حسگر‪ ،‬عدم نیاز به آن بهدلیل محدودیت محیطی‬ ‫‪‬‬

‫‪ ‬قرارگرفتن در یکی از چندحالت ممکن بر اساس ادراک جزئی‬

‫‪ ‬انتخاب هر عمل‪ :‬انتقال به یکی از حاالت ممکن بسته به واقعیت حالت قبل‬

‫‪ ‬راهکار‪ :‬حالت باور )‪(Belief State‬‬

‫‪ ‬شناسایی حالت فعلی مبتنی بر اعمال انتخابی و دنباله ادراکات تاکنون‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪94‬‬
‫بیان حالت محیط بهصورت مجموعه حاالت باور‬ ‫‪‬‬

‫همگرا کردن و تحدید حاالت باور طی انتخاب پارهای از اعمال‬ ‫‪‬‬

‫جستجو در فضای حاالت باور و نه حاالت واقعی‬ ‫‪‬‬

‫‪ ‬در حالت کلی‪ ،‬فضای دارای ‪ 2N‬حالت باور به جای ‪ N‬حالت فیزیکی‬
‫ممکن است همگی از حالت باور اولیه قابل دسترسی نباشند‬ ‫‪‬‬

‫کنترل کامالً حلقهباز‬ ‫‪‬‬

‫حالت باور اولیه‪ :‬شامل کلیه حاالت ممکن در فضای حالت‬ ‫‪‬‬

‫اعمال در هر حالت باور‪ :‬اجتماع در صورت مجاز بودن و اشتراک درصورت غیرمجاز بودن‬ ‫‪‬‬

‫اعمال در برخی حاالت‬


‫پیشبینی‪ :‬تولید حالت باور بعدی بر اساس انتخاب اقدام‬ ‫‪‬‬

‫آزمون هدف‪ :‬در صورت هدف بودن کلیه حاالت موجود در حالت باور‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪95‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه‬
‫شهیدبهشتی‬ ‫‪96‬‬
‫‪ ‬هر دریافت تنها اطالعات بخشی از محیط را فراهم میکند‬
‫‪ ‬مانند حالت بدون حسگر‪ ،‬درک کامل از محیط در اختیار نیست‬
‫‪ ‬پیشبینی حالت بعد بر اساس اعمال انتخابی و دریافت ادراکات بعدی‬
‫‪ ‬استفاده از درخت ‪AND-OR‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪97‬‬
‫‪ ‬جستجو در فضای حاالت باور‬
‫‪ ‬گره ‪ AND‬برای نتایجی که توسط ادراک بعدی قابل تفکیک است‬
‫‪ ‬بدست آوردن راههای جایگزین‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪98‬‬
‫‪ ‬جستجوی برونخط )‪:(Offline‬‬

‫‪ ‬عامل با اطالعات کامل از محیط راهحل را پیش از اجرا بدست آورده و سپس وارد محیط‬
‫میشود‬
‫اجرا و جستجو مجزا هستند‬ ‫‪‬‬

‫جستجوی برخط )‪:(Online‬‬ ‫‪‬‬

‫‪ ‬اجرا و جستجوی راهحل بهصورت همزمان انجام میشود‬


‫‪ ‬مناسب برای محیطهای پویا‪ ،‬نیمهپویا و محیطهای ناشناخته‬

‫‪ ‬قرارگیری عامل در هر زمان در یک حالت امکان ادامه کار فقط از همان حالت‬
‫‪ ‬یکی از چالشهای مهم حاالت بنبست و اعمال غیرقابل بازگشت )‪ (Irreversible‬است‬
‫که عامل قادر به ادامه کار و بازگشت نیست‬
‫در ادامه فرض میشود اعمال بازگشتپذیراند )‪(Safely Explorable‬‬ ‫‪‬‬

‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪99‬‬
‫الگوریتم اولعمق برخط‪:‬‬ ‫‪‬‬

‫‪ ‬خاصیت گسترش محلی‬

‫تپهنوردی برخط )‪:(Online‬‬ ‫‪‬‬

‫‪ ‬تپهنوردی ذاتاً برخط است (گسترش محلی)‬


‫امکان شروع مجدد بهدلیل محدودیت فیزیکی وجود ندارد‬ ‫‪‬‬

‫‪ ‬استفاده از گردش تصادفی )‪ (Random Walk‬برای جلوگیری از قرار گرفتن در بهینه‬


‫محلی و توقف پیش از رسیدن به هدف‬

‫الگوریتم *‪ A‬برخط ))*‪(Learning Real-Time A* (LRTA‬‬ ‫‪‬‬

‫‪ ‬تپهنوردی با حافظه‬
‫‪ ‬تصمیمگیری اولیه بر اساس تابع مکاشفهای ‪h‬‬
‫‪ ‬نگهداری و بروزرسانی بهترین تخمین برای حاالت مشاهدهشده ‪H‬‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪100‬‬
‫بهدلیل خوشبینی در عدم قطعیت )‪(Optimism under Uncertainty‬‬ ‫‪‬‬

‫همواره اولویت اعمال انتخابنشده باالتر است (‪ h‬از ‪ H‬عموماً کمتر است)‬
‫‪ ‬امکان اکتشاف مؤثرتر محیط‬
‫آرمین سلیمی بدر ‪ -‬دانشکده مهندسی و علوم کامپیوتر ‪ -‬دانشگاه شهیدبهشتی‬ ‫‪101‬‬

You might also like