هوش مصنوعی-الگوریتم‌های بهینه سازی-ابراهیم خلیلی

هوش مصنوعی-الگوریتم‌های بهینه سازی-ابراهیم خلیلی هوش مصنوعی-الگوریتم‌های بهینه سازی-ابراهیم خلیلی

هوش مصنوعی-الگوریتم‌های بهینه سازی-ابراهیم خلیلی

هوش مصنوعی-الگوریتم‌های بهینه سازی-ابراهیم خلیلی

سلام به همه بچه‌های علاقمند به کامپیوتر و برنامه‌نویسی و هوش مصنوعی. همانطور که میدونین روز به روز دنیای هوش مصنوعی داره وسیعتر میشه و به حوزه مختلف از علوم راه یافته است. ما تصمیم داریم هر هفته با یک مقاله در این حوزه، شمارو با رویداد های دنیای هوش مصنوعی آشنا کنیم و مهمتر اینکه ریاضیات این حوزه رو با ساده سازی به شما دانش آموزان عزیز کانونی توضیح بدیم. در نهایت بتونیم قدم به قدم به کد نویسی در محیط پایتون برای مسئله های جذاب هوش مصنوعی برسیم. پیشنهاد میکنم هر هفته مارو با یک مقاله در این حوزه دنبال کنید. 

الگوریتم های بهینه سازی  

سلام خدمت همه دوستان علاقمند به دنیای بی نهایت جذاب هوش مصنوعی. در مقاله این هفته، می خوایم با دسته جدیدی از الگوریتم های هوش مصنوعی آشنا بشیم تحت عنوان الگوریتم های بهینه سازی... نکته جالب در مورد این الگوریتم های بسیار کاربردی اینه که دنیای زیست شناسی و دنیای ریاضی رو پیوند میدن با دنیای جذاب هوش مصنوعی!

طبق تحلیلی که در دانشگاه آکسفورد انجام گرفته، نزدیک به نیمی از مشاغل دنیا در 25 سال آینده توسط ربات‌ها و هوش مصنوعی تصاحب میشه . برای همین بسیاری از مشاغل و حرفه های دنیای امروزی از دور خارج میشن، اما بی‌شمار شغل جدید در زمینه هوش مصنوعی به وجود خواهد اومد. برای همینه که در همه جای دنیا، هوش مصنوعی و تغییر و تحولات اون به بحث داغ و جذابی تبدیل شده و خیلی ها به دنبال آشنایی با مفاهیم این حیطه نوین هستند. در همین چند روز گذشته، خبر رونمایی عینک مترجم همزمان گوگل تو همه شبکه های خبرگذاری پخش شد. عینکی که به وسیله فناوری هوش مصنوعی، می تونه در یک لحظه می تونه زبان های دیگه رو ترجمه کنه . 

 

این محصول، یکی از هزاران محصولی هست که در سالهای آینده، قرار وارد زندگی انسان ها بشه و رنگ جدیدی رو به زندگی اونها ببخشه. اما همونطور که قبلا بهتون گفتیم، نقطه شروع همه این پیشرفت ها برمیگرده به یک سری مفاهیم ریاضی و یک سری الگوبرداری ها که برای مثال از طبیعت انجام میگیره که تحت عنوان الگوریتم ازشون یاد میکنیم. هر کدوم از این الگوریتم ها، کاربرد جالبی در دنیای هوش مصنوعی دارن و به نوعی بخش های مهمی از این هوش رو اجرا می کنند. یکی از مهم ترین دسته الگوریتم هایی که کاربرد فراوانی در هوش مصنوعی دارند، الگوریتم های ((بهینه سازی تابع)) و یا Function Optimization هستند. 

مفهوم بهینه سازی 

((بهینه سازی)) یاOptimization  اتفاقی هست که در طول زندگی روزمره باهاش خیلی سروکار داریم. برای مثال وقتی می خوایم از مسیر خونه به سمت مدرسه یا دانشگاه و غیره بریم، اولش تو ذهنمون بهینه ترین مسیر رو انتخاب میکنیم   تا هم سریع تر به مقصد برسیم و هم مخارج احتمالی مسیرمون هم کمتر بشه. این روند، نه تنها در زندگی روزمه، بلکه در زمینه های فراوانی مانند ریاضیات، اقتصاد، مدیریت، مهندسی و غیره کاربرد داشته و به معنی برگزیدن بهترین عضو از یک مجموعه از اعضای دست یافتنی است. برای نمونه در همون مثال انتخاب مسیر بین خونه و مدرسه، ذهن ما ابتدا مسیرهای ممکن رو لیست میکنه، و بعد بهترین عضو رو از بین این لیست ها برای مسیرش انتخاب میکنه . یکی دیگه از کاربردهای مهم بهینه سازی که این روزا زیاد به گوشمون میخوره، بهینه سازی موتور جستجو و یا Search Engine Optimization  هست که به صورت مخفف بهش میگیم سئو. سئو، یک روند مناسب برای بهتر دیده شدن یک وبسایت یا یک صفحه وب در نتایج طبیعی یک موتور جستجو هست که امروزه کاربرد فراوانی رو در کسب و کارهای مجازی داره .

الگوریتم های بهینه سازی توابع

در دنیای اقتصاد، مهندسی، مدیریت و هوش مصنوعی و غیره گاها مسئله ای هایی پیش میاد که برای رسیدن به بهترین روش، باید از یک سری روش های بهینه استفاده بکنیم تا بتونیم با کمترین اتلاف سرمایه، به بهترین جواب ممکن برسیم. در این موضوعات، مسائل بسیاری مطرح شدن که برای رسیدن به جواب بهینه، نیازمند الگوریتم ها و روش ها متنوعی هستیم. اما نکته جذاب و جالب این الگوریتم ها، الگوبرداری متعدد از مسائل دنیای پیرامونی، مانند زیست شناسی، بدن انسان، زندگی حیوانات و غیره صورت گرفته که به تدریج با این روش ها آشنا خواهیم شد. یکی از پر کاربردترین و ساده ترین مسائل معروف در زمینه بهینه سازی، مسئله فروشنده دوره‌گرد (Traveling Salesman Problem) هست. در این مسئله فرض شده که یک فروشنده دوره‌گرد قصد داره N تا دونه شهر رو بگرده. اما برای این موضوع، یک سری شرایط مطرح شده.  برای مثال این فروشنده از یک شهر نباید دوبار عبور کنه و از همه شهرها باید یک بار عبور کنه و دوباره به شهر اولیه برگردد. سوالی که اینجا پیش می‌آید و مورد بررسی قرار می‌گیره، اینه که چگونه این فروشنده در کمترین زمان، این مسافرت را طی می کنه و یا اینکه چطوری کمترین مسافت رو در این سفر قراره داشته باشه؟

این مسئله از جمله مسائلی هست که با روش های سنتی و ساده نمیشه حلشون کرد و باید از روش های ابتکاری و الگوریتمی استفاده بشه. به این نوع مسائل، مسئله NP-hard گفته میشه. حل این مسئله، با وجود ظاهر ساده ای که داره، می تونه در بسیاری از حیطه ها موثر باشه، به طوری که روش حل این مسئله از مسائل بسیار مهم و پرکاربرد در علوم کامپیوتر و تحقیق در عملیات هستش. همین دسته از مسائل مشابه، در طول سالها باعث شده ریاضی دانان و پژوهشگران، به ابداع روش ها و الگوریتم هایی بپردازند که این الگوریتم ها، امروزه در کنار کاربرد وسیعشون در حیطه های دیگه، وارد حیطه هوش مصنوعی هم شدند و تقریبا یادگیری زبان های برنامه نویسی و هوش مصنوعی به صورت حرفه ای بدون مسلط بودن به این الگوریتم ها، امکان پذیر نیست. انواع مختلفی از الگوریتم های بهینه سازی وجود دارن و هر ساله تعداد زیادی از این الگوریتم ها توسط ریاضی دانان و محققان بسیاری ابداع میشن و مورد تست قرار میگیرن. در این بخش، با برخی از این الگوریتم ها به صورت کلی آشنا میشیم و سپس در مقالات هفته های آینده، به بررسی مهم ترین الگوریتم ها می‌پردازیم.

انواع الگوریتم های بهینه سازی:


  1. 1-الگوریتم های تکاملی یا Evolutionary algorithm

الگوریتم های تکاملی، همونطور که از اسمشون معلوم هست، یک سری برنامه های کامپیوتری بر پایه هوش مصنوعی تکاملی هست که با ایده اولیشون با استفاده از الگوبرداری از فرایندهای رفتاری موجودات طبیعی شکل گرفته. برای مثال تولید مثل، جهش و بهطور کلی نظریه تکامل داروین در شکل گیری ایده های الگوریتم های تکاملی نقش عمده ای داشتن. از جمله این الگوریتم ها می توان به الگوریتم ژنتیک، الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی، الگوریتم تکاملی تفاضلی و غیره اشاره کرد.

  1. 2-الگوریتم های بهینه سازی تصادفی و یا Stochastic optimization 

این نوع الگوریتم ها، با استفاده از روش های ریاضیات تصادفی، به مدل سازی و حل مسائل NP-hard می پردازند که از جمله این الگوریتم ها  میشه به شبیه سازی تبرید یا simulated annealing ، Quantum annealing و random search اشاره داشت.

  1. 3-الگوریتم های هوش گروهی یا  Swarm Intelligence

این نوع الگوریتم ها، روش هایی هستند که برای حل مسئله از رفتارهای گروهی و اجتماعی موجودات مختلف الگوبرداری میکنن . برای مثال فرض کنید شما کیف پولتون رو در مدرسه یا دانشگاه گم کرده باشید . برای پیدا کردن کیف پولتون، اگر با گروهی از دوستانتون دنبال کیف بگردید و مدام از طریق گوشی های همراه به همدیگه اطلاع بدید، خیلی آسون تر کیفتون رو پیدا خواهید کرد تا زمانی که خودتون به تنهایی دنبال کیف باشید. این نوع الگوریتم ها هم از رفتار گروهی تقلید میکنن و روش های ریاضیشون بر پایه این رفتارها است. به همین دلیل، در کاربردهای محاسباتی هوش ازدحامی و گروهی   (Swarm Intelligence) از موجودات یا گماشته‌هایی مانند مورچه‌ها، زنبورها، موریانه‌ها، ماهی‌ها، پرندگان، یا حتی چکه‌های آب در رودخانه الگو برداری می‌شود. در این نوع اجتماعات، هر یک از موجودات ساختار نسبتا ساده ای دارن، اما رفتار گروهی اونا، ساختار پیچیده ای رو به وجود میاره. از جمله این الگوریتم ها به میشه به الگوریتم کلونی مورچگان و یا Ant colony optimization  ، الگوریتم کلونی زنبور عسل و یا Artificial bee colony  و غیره اشاره داشت .

خب پس در مقاله این هفته، با دنیای جدیدی از الگوریتم های هوش مصنوعی آشنا شدیم . در مقالات هفته های آینده، قراره سفری داشته باشیم به مهم ترین الگوریتم های بهینه سازی . پس با ما همراه باشید .. 

منابع 

https://programstore.ir/الگوریتم-های-بهینه-سازی/

https://coderlife.ir/یک-لیوان-هوش-مصنوعی-برای-همه/

https://hooshio.com/شغل-جدید-هوش-مصنوعی-که-در-آینده-ظهور-خو-21/

https://blog.faradars.org/introduction-of-optimization/

https://en.wikipedia.org/wiki/Search_engine_optimization

https://en.wikipedia.org/wiki/Travelling_salesman_problem

https://darsvareh.org/mag/introduction-to-evolutionary-computation/

https://kalami.medium.com/ypea-a-toolbox-for-evolutionary-algorithms-in-matlab-6610d61a0a9c

https://www.techrepublic.com/article/how-artificial-swarm-intelligence-uses-people-to-make-better-predictions-than-experts/

کلیدواژه ها 

  مقاله نوزدهم هوش مصنوعی  

دوستان عزیزم؛ برای ارتباط با برترها و رزرو پشتیبان ویژه پیج کانون برترها را  دنبال کنید.

همچنین میتوانید با شماره 0218451 داخلی 3123 تماس بگیرید.


Menu