
الگوریتم ژنتیک موازی
فرمت فایل دانلودی: .zipفرمت فایل اصلی: pdf
تعداد صفحات: 26
حجم فایل: 815
قیمت: 10000 تومان
بخشی از متن:
تحقیق با عنوان الگوریتم ژنتیک موازی
بخشی از متن:
تحقیق با عنوان الگوریتم ژنتیک موازی
بخشی از متن:
بدن هر موجود زنده ای از سلول تشکیل یافته است و هر سلول هم از کروموزوم تشکیل یافته است کروموزوم ها نیز از رشته های DNA تشکیل یافته اند. به هر بلوک DNA یک ژن می گویند. و هر ژن نیز از یک پروتئین خاص و منحصر به فرد تشکیل یافته است. به مجموعهای از ژن ها یک ژنم (GENOME) می گویند.
از اصطلاحاتی که از مباحث زیست شناسی به مبحث الگوریتم ژنتیک (GE) وارد شده است و باید به آتها اشاره کرد می توان به موارد زیر اشاره نمود.
1- تولید مثل(crossover) که به تولید یک کروموزوم جدید توسط ترکیب ژن های والدین می گویند.
2- جهش یا تغییر ناگهانی(mutation): به تغییرات ایجاد شده در DNA میگویند
3- صحت و درستی(fitness): برای یک موجود زنده به صورت موفقیت آن موجود در ایجاد حیات و تشکیل خود می گویند. البته ممکن است در نگاه اول مطالب بالا کمی نامفهوم به نظر برسد. اما در ادامه به توضیح بیشتر آنها و همچنین نوع کاربرد آنها در الگوریتم ژنتیک اشاره خواهد شد (1) .
الگوریتم های ژنتیک روش قدرتمندی را برای توسعه اکتشافی مسائل بهینه سازی ترکیبی مقیاس بزرگ فراهم آورده است . انگیزه اصلی مطرح کردن الگوریتم ژنتیک می تواند این گونه عنوان شودکه «تکامل تدریجی» به شکل قابل ملاحظه ای در توسعه انواع وگونه های پیچیده از طریق مکانیزم های نسبتاً ساده تکمیلی نمود یافته است . حال سوال اساسی این است : پذیرش کدام ایده از تئوری تکامل تدریجی می تواند به ما در حل مسائل این قلمرو کمک کند ؟ این سوال با توجه به غنای پدیده تکامل تدریجی جوابهای متفاوتی دارد. هالند و دی جانگ (1975) از نخستین کسانی هستندکه با معرفی مفهوم الگوریتم ژنتیک به عنوان یک تکنیک جستجوی عمومی که از تکامل تدریجی بیولوژیک در قالب بقای افراد اصلح و مبادله ساختارمند و تصادفی اطلاعات الگوبرداری می کند درصدد پاسخگویی به این سوال برآمدند.
یک الگوریتم ژنتیک مسئله را به صورت مجموعه ای از رشته ها که شامل ذرات ریزهستند کد گذاری می کند ، سپس برای تحریک فرایند تکامل تدریجی ،تغییراتی را بر روی رشته ها ا عمال میدارد. در مقایسه با الگوریتم های جستجوی محلی ، در جستجوی عمومی که تنها یک راه حل قابل قبول وجود دارد ، الگوریتم های ژنتیک جامعه ای از افراد را در نظر میگیرند . کار با مجموعه ای از افراد، امکان مطالعه ساختارها و ویژگیهای اصلی افراد متفاوت را که منجر به شناسایی و کشف راه حلهای کارآمد تر می شود، فراهم میسازد . در طی مطالعه ، الگوریتم ژنتیک رشته های متناسب با ارزش را برمی گزیند و آن دسته از رشته هایی را که تنــاسب کمتری با جمعیت مورد بررسی دارند حذف میکنند .
هر کدام افراد جمیعت که تقریبهای از جواب نهایی می باشند به صورت رشته هایی از حروف یا ارغام کدگذاری می شوند این رشته ها را کروموزوم می نامند. متداول ترین حالت نمایش با ارقام صفر و یک است. حالتهای دیگر استفاده از سه رقم، اعداد حقیقی و اعداد صحیح هم مورد استفاده قرار می گیرند. برای مثال یک کروموزوم با دو متغییر a ,b با ساختار شکل 1-1 نمایش داده می شود.
100111100010000100111
شکل 1-1- نمایش یک کروموزوم با ارقام صفر و یک
متغییر a با ده خانه اول سمت راست و b با یازده خانه باقیمانده نمایش داده شده است. این می تواند به علت سطح دقت و یا محدوده متغییر تصمیم گیری باشد.
مقادیرموجود بر روی کروموزوم ها به تنهایی معنی خاص ندارند بلکه باید از حالت کد شده خارج شوند تا به عنوان متغییرهای تصمیم گیری دارای معنی و نتیجه باشند باید توجه داشت که فرآیند جستجو بر روی اطلاعات کد شده انجام می گیرد مگر در صورتی که از ژن هایی با مقادیر حقیقی شود. بعد از اینکه کروموزوم ها از حالت کدگذاری شده خارج شدند می توان کارایی یا برازش هر فرد از جمیعت را محاسبه کرد. برازش مقیاس نسبی است که شایستگی افراد برای تولید نسل بعد را نشان می دهد. در طبیعت برازش معادل توانایی فرد برای بقا می باشد. تابع هدف در تعیین برازش افراد نقش تعیین کننده دارد.
در هنگام تکثیر به کمک اطلاعات اولیه ای که از تابع هدف به دست می آید. برازش هر فرد مشخص می گردد. از این مقادیر در فرآیند انتخاب استفاده می شود تا آنرا به سمت انتخاب افراد مناسب سوق دهد. هر چه برازش فرد نیبت به جمیعت بالاتر باشد احتمل بیشتری دارد که انتخاب شود. هر چه برازش نسبی آن کمتر باشد احتما انتخاب آن برای تولید نسل بعد ی کمتر می شود(4).
وقتی که برازش تمام افراد جمیعت مشخص شد. هر کدام با احتمالی که متناسب با میزان برازش آنهاست می توانند برای تولید نسل بعد انتخاب شوند. عمل تکثیر در الگوریتم ژنتیک برای رد و بدل اطلاعات ژنتیکی بین یک جفت یا تعداد بیشتری از افراد به کار می رود. ساده ترین نوع تکثیر تقاطع یک نقطه است دو رشته شکل را در نظر بگیرید اگر یک عدد صحیح از یک تا تعداد ارقام رشته منهای یک انتخاب شود و اطلاعات دو رشته را در دو طرف این دو نقطه عوض کنید دو رشته جدید به وجود می آیند که آنها را فرزند می نامیم به عنوان مثال اگر عدد شش را برای دو رشته شکل انتخاب کنیم نتیجه تقاطع یک نقطه ای به صورت شکل1-2 در می آید.
11100100011101
10010110101101
شکل 1-2-a دو کرموزوم قبل از تقاطع (والدین)
11100110101101
10010100011101
شکل 1-2-b دو کروموزوم بعد از تقاطع (فرزندان)
این عملگر الزاما بر تمامی رشته های یک جمیعت اعمل نمی شود بلکه برای اعمال آن بر یک جفت رشته یک احتمال نسبت داده می شود. بعد از این مرحله با احتمال جدید عملگر جهش بر روی رشته های تولید شده اعمال می گردد. در جهش ، هر فرد به تنهایی با توجه به قوانیین احتما می تواند تغییر کند.
در نمایش دودویی رشته ها، جهش به معنای تغییر مقدار یکی از خانه های رشته از صفر به یک و یا از یک به صفر می باشد. به عنوان مثال جهش در هفتمین خانه اولین فرزند تولید شده در مثال قبل منجر به ایجاد رشته شکل 1-3 می گردد.
بخشی از متن:
پایان نامه کارشناسی رشته مهندسی برق – الکترونیک
مفاهیم مربوط به شبکه ها و اجزا آنها
مقدمه:
استفاده از شبکه های کامپیوتری در چندین سال اخیر رشد فراوانی کرده و سازمانها و موسسات اقدام به برپایی شبکه نموده اند. هر شبکه کامپیوتری باید با توجه به شرایط و سیاست های هر سازمان، طراحی و پیاده سازی گردد. در واقع شبکه های کامپیوتری زیر ساختهای لازم را برای به اشتراک گذاشتن منابع در سازمان فراهم می آورند؛ در صورتی که این زیرساختها به درستی طراحی نشوندع در طمان استفاده از شبکه مشکلات متفاوتی پیش امده و باید هزینههای زیادی به منظور نگهداری شبکه و تطبیق ان با خواسته های مورد نظر صرف شود.
در زمان طراحی یک شبکه سوالات متعددی مطرح می شود:
- برای طراحی یک شبکه باید از کجا شروع کرد؟
- چه پارامترهایی را براید در نظر گرفت؟
- هدف از برپاسازی شبکه چیست؟
- انتظار کاربران از شبکه چیست؟
- آیا شبکه موجود ارتقاء می یابد و یا یک شبکه از ابتدا طراحی می شود؟
- چه سرویس ها و خدماتی بر روی شبکه ارائه خواهد شد؟
به طور کلی قبل از طراحی فیزیکی یک شبکه کامپیوتری، ابتدا بید خواسته ها شناسایی و تحمل شون، مثلا در یک کتابخانه چرا قصد ایجاد یک شبکه را داریم و این شبکه باید چه سرویس ها و خدماتی را ارائه نمایند؛ برای تامین سرویس ها و خدمات مورد نظر اکثریت کاربران، چه اقداماتی باید انجام داد؛ مسائلی چون پروتکل مورد نظر برای استفاده از شبکه، سرعت شبکه و از همه مهمتر مسائل امنیتی شبکه، هر یک از اینها باید به دقت مورد بررسی قرار گیرد. سعی شده است پس از ارائه تعاریف اولیه، مطالبی پیرامون کاربردهای عملی ان نیز ارائه شود تا در تصمیم گیری بهتر یاری کند.
1- تاریخچه پیدایش شبکه
در سال 1957 نخستین ماهواره یعنی اسپوتنیک توسط اتحاد جماهیر شوروی سابق به فضا پرتاب شد. در همین دوران رقابت سختی از نظر تسلیحاتی بین دو ابر قدرت آن زمان جریان داشت و دنیا در دوران جنگ سرد به سر می برد. وزارت دفاع آمریکا در اکنش به این اقدام رقیب نظامی خود، آژانس پروژه های تحقیقاتی پیشرفته یا آرپا (ARPA) را تاسیس کرد. یکی از پروژه های مهم این آژانس تامین ارتباطات در زمان جنگ جهانی احتمالی تعریف شده بود. در همین سال ها در مراکز تحقیقاتی غیر نظامی که در امتداد دانشگاه ها بودند، تلاش برای اتصال کامپیوترها به کاربران سرویس می دادند. در اثر اهمیت یافتن این موضوع آژانس آرپا (ARPA) منابع مالی پروژه اتصال دو کامپیوتر از راه دور به یکدیگر را در دانشگاه MIT بر عهده گرفت. در اواخر سال 1960 اولین شبکه کامپیوتری بین چهار کامپیوتر که دوتای آنها در MIT ، یکی در دانشکده کالیفرنیا و دیگری در مرکز تحقیقاتی استنفورد قرار داشتند، راه اندازی شد. این شبکه آرپانت (ARPA net ) نامگذاری شد. در سال 1965 نخستین ارتباط راه دور بین دانشگاه MIT و یک مرکز دیگر نیز بر قرار گردید.
در سال 1970 شرکت معتبر زیراکس، یک مرکز تحقیقاتی در پالوآلتو تاسیس کرد. این مرکز در طول سالها مهمترین فناوری های مرتبط با کامپیوتر را معرفی کرده است و از این نظر به یک مرکز تحقیقاتی افسانه ای بدل گشته است. این مرکز تحقیقاتی که پارک (PARC) نیز نامیده می شود. به تحقیقات در زمینه شبکه های کامپیوتری پیوست، تا این سال ها شبکه آرپانت به امور نظامی اختصاص داشت، اما در سال 1972 به عموم معرفی شد. در این سال شبکه آرپانت مراکز کامپیوتری بسیاری از دانشگاه ها و مراکز تحقیقاتی را به هم متصل کرده بود. در سال 1972 نخستین نامه الکترونیکی از طریق شبکه منتقل کردید.
در این سال ها حرکتی غیر انتفاعی به نام MERIT که چندین دانشگاه بنیان گذار آن بودند، مشغول توسعه روش های اتصال کاربران ترمینال ها به کامپیوتر مرکزی یا میزبان بود. مهندسان پروژه MERIT در تلاش برای ایجاد ارتباط بین کامپیوترها، مجبور شدند تجهیزات لاز را خود طراحی کنند. آنان با طراحی تجهیزات واسطه برای مینی کامپیوتر OECPOP نخستین بستر اصلی یا Backbone شبکه های کامپیوتری را ساختند. تا سالها نمونه های اصلاح شده این کامپیوتر با نام PCP یا Primary Communications Processor نقش میزبان را د رشبکه ها ایفا می رکد. نخستین شبکه از این نوع که چندین ایالت را به هم متصل می کرد Michnet نام داشت.
در سال 1973 موضوع رساله دکترای آقای باب مت کالف(Bob Metcalfe) درباره مفهوم اترنت در مرکز پارک مورد آزمایش قرار گرفت. با تثبیت اترنت تعداد شبکه های کامپیوتری رو افزایش گذاشت.
روش اتصال کاربران به کامپیوتر میزبان در آن زمان به این صورت بود که یک نرم افزار خاص بر روی کامپیوتر مرکزی اجرا می شد و ارتباط کاربران را بر قرار می کرد. اما در سال 1976 نرم افزار جدیدی به نام Hermes عرضه شد که برای نخستین بار به کاربران اجازه می داد تا از طریق یک ترمینال به صورت تعاملی مستقیما به سیستم MERIT متصل شوند. این، نخستین باری بود که کاربران می توانستند در هنگام برقراری ارتباط از خود بپرسند: « کدام میزبان؟».
از وقایع مهم تاریخچه شبکه های کامپیوتری، ابداع روش سوئیچینگ بستهای یا Packet Switching است. قبل از معرفی شدن این روش از سوچینگ مداری یا Circuit Switching برای تعیین مسیر ارتباطی استفاده می شد. اما در سال 1974 با پیدایش پروتکل ارتباطی TCP/IP از مفهوم Packet switching استفاده گسترده تری شد. این پروتکل در سال 1982 جایگزین پروتکل NCP شد و به پروتکل استاندارد برای آرپانت تبدیل گشت. در همین زمان یک شاخه فرعی بنام MIL net در آرپانت، همچنان از پروتکل قبلی پشتیبانی می کرد و به ارائه خدمات نظامی می پرداخت. با این تغییر و تحول، شبکه های زیادی به بخش تحقیقاتی این شبکه متصل شدند و آرپانت به اینترنت تبدیل گشت. در این سالها حجم ارتباطات شبکه ای افزایش یافت و مفهوم ترافیک شبکه مطرح شد.
مسیریابی در این شبکه به کمک آدرس های IP به صورت 32 بیتی انجام می گرفته است. هشت بیت اول آدرسها IP به صورت تخصیصدادهشده بود که به سرعت مشخص گشت تناسبی با نرخ رشد شبکهها ندارد و باید در آن تجدید نظر شود. مفهوم شبکه های LAN و شبکه های WAN در سال دهه 70 میلادی از یکدیگر تفکیک شدند.