اولویت بندی سدها با استفاده از الگوریتم ژنتیکشنبه 26, مه 2018
پروژه آماده اولویت بندی سدها با استفاده از الگوریتم ژنتیک
یک پروژه الگوریتم ژنتیک بسیار عالی برای افراد علاقه مند به یادگیری این مبحث بصورت عملی و کدنویسی شده در متلب توسط تیم همیارپروژه طراحی شده و آماده دانلود با هزینه مناسب برای شما عزیزان می باشد.قبل از توضیح خود پروژه تعریفی از الگوریتم ژنتیک در زیر ارائه می دهیم:
الگوریتم های ژنتیک (به انگلیسی: Genetic Algorithm)، (با نماد اختصاری GA) تکنیک جستجویی در علم رایانه برای یافتن راهحل تقریبی برای بهینهسازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیستشناسی فرگشتی مانند وراثت و جهش استفاده میکند. این الگوریتم برای اولین بار توسط جان هلند معرفی شد.
در واقع الگوریتمهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میکنند. الگوریتمهای ژنتیک اغلب گزینه خوبی برای تکنیکهای پیشبینی بر مبنای رگرسیون هستند. در هوش مصنوعی الگوریتم ژنتیک (یا GA) یک تکنیک برنامهنویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده میکند. مسئلهای که باید حل شود دارای ورودیهایی میباشد که طی یک فرایند الگوبرداری شده از تکامل ژنتیکی به راهحلها تبدیل میشود سپس راه حلها بعنوان کاندیداها توسط تابع ارزیاب (Fitness Function) مورد ارزیابی قرار میگیرند و چنانچه شرط خروج مسئله فراهم شده باشد الگوریتم خاتمه مییابد. الگوریتم ژنتیک بطور کلی یک الگوریتم مبتنی بر تکرار است که اغلب بخشهای آن به صورت فرایندهای تصادفی انتخاب میشوند.
این الگوریتمها از بخشهای زیر تشکیل میشوند: تابع برازش – نمایش – انتخاب – تغییر
پروژه ای که ما برای شما در سایت قرار داده ایم توضیحاتش عبارتست از :
۱۲ تا سایت پیشنهادی با ۱۴ تا معیار نرمال شده داریم که میخواهیم با الگوریتم ژنتیک اولویت بندی شود و نمودار همگرایی ترسیم گردد.در واقغ ۱۲ تا عارضه داریم که در واقع موقعیت پیشنهادی ۱۲ تا سد هست. هر کدوم از اینها ۱۴ تا معیار برایشان استخراج شده و همه داده ها هم نرمال شده اند.حالا میخواهیم با الگوریتم ژنتیک مشخص کنیم که کدامیک نسبت به بقیه اولویت دارند.در واقع بهترین گزینه رو انتخاب کنیم و گزینه های بعدی را هم نسبت به بقیه اولویت بندی کنیم.بهتر بودن از نظر مجموعه شرایط است، یعنی وقتی همه ۱۲ معیار رو در نظر میگیریم کدام امتیاز بیشتری دارند.به بیان ساده تر اینکه که از ۱۲ تا سد با توجه به ۱۴ تا معیاری که داریم کدام یک بهترین شرایط را دارد.یعنی اگه بخواهیم سد بسازیم اول آنجا را در نظر میگیریم بر همین اساس ۱۴ تا معیار مثل شیب و شرایط زمین شناسی و حجم مخزن و…. داریم که این معیار ها استاندارد شده اند. حالا کدام سد بهترین گزینه برای اجرای پروژه هست؟
داده های ما در یک فایل اکسل قرار دارند که میتوانید آن را از طریق لینک روبرو دانلود نمایید : دانلود داده ها
اگر داده ها را دانلود و مشاهده کنید ممکن است سوالاتی همچون سوالات زیر در ذهنتان خطور کند :
من از کجا باید بفهمم که این بهتره یا بدتره؟ بر چه اساسی؟ ستون اخر که مقدارش ۰ و ۱ هست چیو نشون میده؟
جواب این سوالات این است :
۱ یعنی جایی که از نظر آخرین معیار مناسب هست و ۰ جایی که از نظر همون معیار نامناسب است.عدد های هر ستون در واقع امتیازی هست که از نظر آن معیار به گزینه مورد نظر داده شده است.
ستون اول شماره مکانهای انتخابی هست که ۱۲ تا سد هستند. ستونهای بعدی معیار ها هستند که عدد هر کدام امتیاز آن سد نسبت به آن معیار می باشد. یعنی مثلا اگر ستون دوم که معیار اول هست را در نظر بگیریم سدهای ۱و۲و۱۲ دارای ارزش یکسانی هستند و نسبت به بقیه از نظر این معیار مناسب تر هستند. هر قدر عدد کمتر شود به آن معنیست که آن سد از نظر آن معیار ارزش کمتری دارد.
سوال احتمالی شما عزیزان :
یعنی با جمع زدن این مقادیر برای هر سد میشه یه امتیاز بهش داد که بعد بر اساس اون رتبه بندی کرد و خودمون میدونیم این رتبه بندی چیه و حالا میوایم ژنتیک اینو برامون پیدا کنه؟
جواب :
نه فقط از روی مجموع امتیاز ها. از روی اینکه هر سد از ۱۴ تا معیار چند بار بهترین بوده و چند بار بدترین بوده است. تعداد بهترین ها باید بیشتر و تعداد کمترین ها باید کم باشد.مثلا سد اول مجموع امتیازش شده ۱۰٫۶۹۷٫این سد ۶ بار بهترین معیار بوده یعنی عدد ۱ را گرفته است. و ۰ مرتبه بدترین معیار شده،یعنی هیچ وقت عدد ۰ را نگرفته است، یعنی ۶ امتیاز مثبت در مقابل ۰ امتیاز منفی هم گرفته است.
حالا سد شماره ۲ مجموع امتیازش شده ۹٫۲۸۱ .حالا این سد چهار تا عدد ۱ دارد،یعنی ۴ بار جز بهترین معیار شده و یک بار هم عدد صفر گرفته است. یعنی در آن معیار خاص بدترین حالت را داشته است. به عبارتی ۴ امتیاز مثبت در برابر یک امتیاز منفی.پس سد ۱ نسبت به سد ۲ هم مجموع امتیاز بیشتری دارد و هم تعداد حالات بهترین بودنش از سد ۲ بیشتر است.رتبه بندی ما بر همین اساس می باشد.
امیدوارم که شما عزیزان خوب مسئله و نحوه حل آن را متوجه شده باشید.
خروجی این پروژه بعداز کدنویسی در نرم افزار متلب بصورت زیر خواهد بود :
دیدگاهتان را بنویسید