کاربر:FundamentalGeneticAlgorithm: تفاوت میان نسخهها
خط ۶۳: | خط ۶۳: | ||
برشی است که بر روی رشته ای از کارها ایجاد می شودو باعث می شود زمان بندی خاصی به وجود آید. | برشی است که بر روی رشته ای از کارها ایجاد می شودو باعث می شود زمان بندی خاصی به وجود آید. | ||
* mutation | * mutation | ||
جهشی است که بر روی رشته ای از کارها ایجاد می شود یعنی وقتی گفته می شود به جای یک کار، کار دیگری | |||
انجام شود خود آن باعث ایجاد زمان بندی جدیدی می شود. | |||
* selection-method | |||
متدی است که در اولویت بندی کارها به ماشین مورد نظر در نظر گرفته می شود. | |||
* fitness-function | |||
معیاری است که برای اولویت کارها در نظر گرفته می شود. |
نسخهٔ ۳۱ ژوئیهٔ ۲۰۱۴، ساعت ۱۳:۳۰
مفاهیم بنیادین در علم ژنتیک
به طور کلی الگوریتم ژنتیک از یک سری مفاهیم پایه و کلی تشکیل شده است که عبارتند از :
- phenotype
- genotype
- gene
- chromosome
- population
- crossover
- mutation
- selection method
- fitness function
که هر کدام از این مفاهیم توضیح داده می شود.
phenotype
این پارامتر در بیولوژی و در زیست شناسی، ساختار کلی اعضای موجود زنده را مشخص می کند.به عنوان مثال می توان به هر کدام از اعضای بدن انسان اشاره کرد.
genotype
این پارامتر در علم زیست شناسی، به صورت تفکیکی و جدااز هم ژن ها را نشان می دهد. به عنوان مثال موجود زنده ای ژن های مخصوص به خصوصت های رفتاری خاصی را در خود دارد ولی آیا همه آن رفتارها را به ارث می برد؟ قطعااینگونه نیست. در علوم کامپیوتر هم به همین گونه می باشد.
gene
ژن در واقع کوچکترین ساختاری که تشکیل دهنده موجود زنده است.ژن در علوم کامپیوتر معادل صفر و یک اعداد باینری است.
chromosome
به مجموعه ای از ژن ها کروموزوم گفته می شود. کروموزوم را در علوم کامپیوتر معادل رشته ای از اعداد باینری می توان به حساب آورد.
population
در علم ژنتیک، جمعیتی که نمونه گیری از آن صورت می گیرد را نشان می دهد. در علوم کامپیوتر جمعیت را می توان معادل رشته های باینری که مورد بررسی قرار می گیرد در نظر گرفت.
crossover
دو پارامترمهم عبارتند از پارامترهای crossover و mutation.پارامتر crossover انواع مختلفی دارد.یکی از مهمترین آنها one point crossover نام دارد.به این معنی که برای هر کروموزومی که به عنوان parent ایجاد شده است یک برش به صورت تصادفی ایجاد می گرددو فرزند جدید شامل قسمت ابتدایی کروموزوم از parent اول و قسمت انتهایی از parent دوم را در بر می گیرد. نوع دیگری از crossover را می توان uniform crossover را نام برد. به این معنی که فرزندی که ایجاد می شود به صورت کاملأ تصادفی یا از کروموزوم های parent اول و یا از کروموزوم های parent دوم ایجاد می شود.
mutation
جهشی که به صورت تصادفی ایجاد شد و در نتیجه فرزند جدید به وجود می آید. مثلأ در علوم کامپیوتر ممکن است یک رقم صفر یا یک رقم یک باینری جابجا شود.
selection method
متدی است که برای اینکه تابع شایستگی انجام شود، مورد استفاده قرار می گیرد. به عنوان مثال اگر از روش Tournament استفاده شود به این معنی است که پس از چند بار مسابقه، آن کروموزوم هایی که مقدار تابع شایستگی بیشتری دارند، به عنوان فرزند برای نسل بعدی انتخاب می شود. به عنوان مثال در علوم کامپیوتر، اگر چندین بار رشته های اعداد باینری به صورت جدا از هم به عنوان چندین parents ایجاد شده با شند، یک معیار سنجش بهینگی برای انتخاب بعدی برای هر یک از رشته های ایجاد شده وجود دارد به نام تابع شایستگی. هر کدام از رشته های ایجادشده که مقدار این تابع مقدار بیشتری داشته باشد، برای نسل بعدی انتخاب می شود.
fitness function
بر پایه متد انتخابی، مقدار آن معین می شود.
بررسی موردی در یک مساله زمان بندی
اگر بخواهیم در یک مساله زمان بندی بر پایه و مبنای الگوریتم ژنتیک بحث کنیم شاید بهتر باشد که ابتدا یک تعریف کوتاهی از زمان بندی داشته باشیم. زمان بندی به طور خلاصه تخصیص دادن کارها به ماشین ها به گونه ای که هرکدام از ماشین ها در هر واحد زمانی کاری را انجام داده و کار تکراری نداشته باشیم و از تمام ماشین ها حداکثر استفاده به عمل آید.
معادل پارامترهای الگوریتم ژنتیک را در یک مساله زمان بندی به این صورت تعریف کرد:
- phenotype
معادل خود مساله زمان بندی است.
- genotype
معادل رفتاری است که از کار مورد نظر انتظار می رود.
- gene
هر کدام از صفر و یک ها به معنی کارهای کوچک هستند.
- chromosome
مجموعه یا رشته ای از صفر و یک ها یک کار بزرگ را تشکیل می دهند. اگر کارهای کوچک انجام نشود به این معنی است که هر کدام از صفر ویک ها انجام نشده و انجام شدن کار بزرگ امکان پذیر نیست. به نوعی انجام شدن کار بزرگ به انجام شدن کارهای کوچک وابسته است.
- population
در یک مساله زمان بندی جمعیت را می توان معادل تمام کارهای بزرگ که باید انجام شود در نظر گرفت.
- crossover
برشی است که بر روی رشته ای از کارها ایجاد می شودو باعث می شود زمان بندی خاصی به وجود آید.
- mutation
جهشی است که بر روی رشته ای از کارها ایجاد می شود یعنی وقتی گفته می شود به جای یک کار، کار دیگری انجام شود خود آن باعث ایجاد زمان بندی جدیدی می شود.
- selection-method
متدی است که در اولویت بندی کارها به ماشین مورد نظر در نظر گرفته می شود.
- fitness-function
معیاری است که برای اولویت کارها در نظر گرفته می شود.