Let's say I like to look at things via Math! Sometimes bluntly.
Don't wanna be here? Send us removal request.
Text
یک پیاده سازی ساده
START Generate the initial population Compute fitness REPEAT Selection Crossover Mutation Compute fitness UNTIL population has converged STOP
0 notes
Text
برخورد اول با یک تئوری ریاضی
یک روز گرم تابستانی بود که در پروژه ای پژوهشی وارد دنیای بهینه سازی شدم.
اصولا بهینه سازی یک جستجو برای پیدا کردن بهترین حالت است. اما باید این سوال را پرسید که بهترین حالت در واقع یعنی بهترین از چه نظر؟ پاسخ به این سوال ساده نیست.
نظریه ای که با آن آشنا شدم یک الگوریتم الهام گرفته از طبیعت یعنی الگوریتم ژنتیک بود.
برای شروعی ساده میتوانیم فرض کنیم کروموزوم ما موجودات روی کره زمین از تعدادی ژن و تجمیع این کروموزوم های متنوع تشکیل یک جمعیت را میدهد.
مثل شکل زیر:
اصولا ما وقتی مشغول به یک مسئله بهینه سازی میشویم معیاری داریم که میخواهیم به ما بگوید چه جوابی برای چه مسئله کمترین یا بیشترین مقدار را ارائه میدهد.
این معیار فیتنس فانکشن یا تابع سازگاری نامیده میشود.
می توانیم با یک مثال ساده شروع کنیم. تابع زیر را در نظر بگیرید:
f(x)=x^2-4
برای این تابع ساده بهترین جواب مقدار 2 برای ایکس است. اما الگوریتم ژنتیک برای پاسخ به چنین مسائل ساده ای وقت خود را هدر نمی دهد بلکه برای سوال هایی بسیار بزرگتر، سوال هایی که تعداد عوامل دخیل در آن ها زیاد باشد.
حالا فرض می کنیم ما تابع سازگاری را تعریف کرده ایم، برای ما کمترین مقدار تابع سازگاری بهترین حالت است.
مرحله بعد چیست؟
مرحله بعدی انتخاب است! در مورد انتخاب بعدا باهم مفصل صحبت خواهیم کرد. اما به طور ساده انتخاب اجازه دادن به بخشی از جمعیت برای داشتن شانس انتقال ژن های خود به نسل بعد است.
مرحله بعد را به اصطلاح کراس-اور مینامند. در این مرحله بخشی از کروموزوم به صورت تصادفی انتخاب شده و تغییرات بین پدر و مادر و فرزند صورت میگیرد.
فرض کنید دو کروموزوم زیر پدر و مادر هستند:
در این نقطه اتفاق زیر خواهد افتاد:
و حالا فرزند به صورت زیر به وجود خواهد آمد:
مرحله آخر که روی خود یک فرزند رخ میدهد موتاسیون است که به صورت زیر رخ میدهد:
اما فرزندان به وجود آمده با تابع سازگاری مقایسه میشوند تا میزان سازگاری آنها با محیط مسئله ارزیابی گردد. این سازگاری به فرزندان سازگار تر اجازه میدهد که برای مرحله بعدی پیاده سازی الگوریتم "انتخاب" شوند.
دوباره به انتخاب رسیدیم.
اما مرحله آخر و مهم این الگوریتم خاتمه نام دارد. اگر جامعه و فرزندان آن جامعه از جایی به بعد نتوانند موجودی سازگار تر با محیط اطراف خود ایجاد کنند فرآیند متوقف میشود!
برای این بلاگ کافیست، جلوتر بیشتر باهم صحبت میکنیم.
0 notes
Text
برای شروع باید بگم که
همیشه با مفهوم بلاگ ارتباط خوبی برقرار میکردم، در واقع یک نوع پلتفرم انتشار افکار جالب هست.
به عنوان یک انسان 26 ساله، بعد از سالها شنیدن نظرات دیگران، فکر کردن به این نظرات و البته کم کم مطالعه کردن فکر میکنم میتونم کم کم فلسفه خودمو به مسائل مختلف داشته باشم.
البته من به این عقیده ام که هر انسانی باید فلسفه خودشو داشته باشه منتهی خب حقیقت اینه که همه ی انسان حوصله توسعه دادن فلسفه خودشون از دنیا رو ندارند و اشکالی هم نداره چون احتمالا کار های مهم تری برای انجام دادن دارند.
من سعی میکنم فلسفه خودمو از زندگی اینجا انتشار بدم شاید به درد کسی بخور و یا حداقل شاید شهوت من به آموزش رو ارضا کنه.
شروع!
1 note
·
View note