اجرای تکنیک های داده کاوی

 اجرای تکنیک های داده کاوی

داده های مورد استفاده در این پروژه از پایگاه داده دانشگاه آزاد قزوین تهیه شده است، این داده ها اطلاعات ۵۰۰ نفر دانشجوی مقطع کارشناسی رشته مهندسی صنایع (گرایش های تکنولوژی صنعتی و تولید صنعتی) است. که در قالب یک فایل اکسل با ۳۸۳۷۷ رکورد می باشد و سنوات تحصیلی ۱۳۸۴ تا ۱۳۹۰ را شامل می شود. مدلی که برای پیشبینی ارتقاء سطح علمی دانشجویان بر اساس اطلاعات موجود در پایگاه داده دانشگاه آزاد قزوین پیشنهاد میشود در زیر شرح داده میشود : در این مدل پیشنهادی مراحل مختلف فرآیند داده کاوی از جمله جمع آوری دادهها، آماده سازی و پیش پردازش داده ها را روی مجموعه آموزشی ذکر شده انجام داده و الگوریتمهای مختلف داده کاوی از جمله خوشه بندی، قوانین انجمنی، درخت تصمیمگیری، برای دادهها به کار گرفته شده است. ابتدا برای عملکرد بهتر الگوریتمهای داده کاوی یک سری عملیات پیشپردازشی روی دادهها انجام داده شده است. همچنین بعد از تجمیع دادهها داخل یک فایل خصیصههای عددی به خصیصه های گروهی معادل تبدیل شده است. برای مثال تمام نمرات دانشجویان به پنج گروه عالی، خوب، متوسط، ضعیف و مردود تقسیم بندی شده است.

کلمات کلیدی :

مقدمه ای بر داده کاوی

مقدمه ای بر نرم افزار Weka

شرح دیتاست پروژه

اعمال تکنیک درخت تصمیم بروی داده ها

قانون ها

اعمال تکنیک شبکه عصبی بروی داده ها

خروجی شبکه عصبی

اعمال تکنیک خوشه بندی بر وی داده ها

معرفی نرم افزار Weka

آموزش نرم افزار weka

انتخاب الگوریتم رده بندی

انتخاب الگوریتم خوشه ‌بندی

 

فرمت : PDF - Word

صفحه :41



خرید و دانلود  اجرای تکنیک های داده کاوی


بررسی الگوریتم ژنتیک در TSP و NP-HARD (تعداد صفحات 151)

بررسی الگوریتم ژنتیک در TSP و NP-HARD (تعداد صفحات  151)

الگوریتم ژنتیک (Genetic Algorithm – GA) تکنیک جستجویی در علم رایانه برای یافتن راه حل تقریبی برای بهینه سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریت مهای تکامل است که از تکنیک های زیست شناسی فرگشتی مانند وراثت و جهش استفاده می کند. در واقع الگوریت مهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش بینی یا تطبیق الگو استفاده میکنند. الگوریت مهای ژنتیک اغلب گزینه خوبی برای تکنیک های پیش بینی بر مبنای یک تکنیک برنامه نویسی است که از (GA تصادف هستند. مختصراً گفته می شود که الگوریتم ژنتیک ) یا تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می کند. مسأله ای که باید حل شود  ورودی است و راه حلها طبق یک الگو کد گذاری میشوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می کند که اکثر آنها به صورت تصادفی انتخاب می شوند.

فهرست :

 مقدمه

 به دنبال تکامل…

 ایده اصلی استفاده از الگوریتم ژنتیک

 درباره علم ژنتیک

 تاریخچۀ علم ژنتیک

 تکامل طبیعی (قانون انتخاب طبیعی داروین)

 رابطه تکامل طبیعی با روش های هوش مصنوعی

 الگوریتم

 الگوریتم های جستجوی ناآگاهانه

جستجوی لیست

جستجوی درختی

جستجوی گراف

 الگوریتم های جستجوی آگاهانه

 الف جستجوی خصمانه

  مسائل NP Hard

 هیوریستیک

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

فصل دوم

 مقدمه

 الگوریتم ژنتیک

 مکانیزم الگوریتم ژنتیک

 عملگرهای الگوریتم ژنتیک

 کدگذاری

 ارزیابی

 ترکیب

 جهش

 رمزگشایی

 چارت الگوریتم به همراه شبه کد آ ن

 شبه کد و توضیح آن

 چارت الگوریتم ژنتیک

 تابع هدف

 روش های کد کردن

 کدینگ باینری

 کدینگ جایگشتی

 کد گذاری مقدار

 کدینگ درخت

 نمایش رشته ها

 انواع روش های تشکیل رشته

 باز گرداندن رشته ها به مجموعه متغیرها

 تعداد بیت های متناظر با هر متغی ر

 جمعیت

 ایجاد جمعیت اولیه

 اندازه جمعیت

 محاسبه برازندگی (تابع ارزش)

 انواع روش های انتخاب

 انتخاب چرخ رولت

 انتخاب حالت پایدار

 انتخاب نخبه گرایی

 انتخاب رقابتی

 انتخاب قطع سر

 انتخاب قطعی بریندل

 انتخاب جایگزینی نسلی اصلاح شده

 انتخاب مسابقه

 انتخاب مسابقه تصادفی

 انواع روش های ترکیب

 جابه جایی دودوئی

 جابه جایی حقیقی

 ترکیب تک نقطه ا ی

 ترکیب دو نقطه ای

 ترکیب یکنواخت

 ترکیب حسابی

 ترتیب

 چرخه

 بخش نگاشته

 احتمال ترکیب

 تحلیل مکانیزم جابجایی

 جهش

 جهش باینری

 جهش حقیقی

 وارونه سازی بیت

 تغییر ترتیب قرارگیر ی

 وارون سازی

 تغییر مقدار

 محک اختتام اجرای الگوریتم ژنتیک

 انواع الگوریتم های ژنتیکی

 الگوریتم ژنتیکی سری

 الگوریتم ژنتیکی موازی

 مقایسه الگوریتم ژنتیک با سیستم های طبیعی

 نقاط قوت الگوریتم های ژنتیک

 استراتژی برخورد با محدودیت ها

 استراتژی اصلاح عملگرهای ژنتیک

 استراتژی اصلاحی

 استراتژی جریمه ای

 بهبود الگوریتم ژنتیک

 چند نمونه از کاربردهای الگوریتم های ژنتیک

فصل سوم

 مقدمه

حلّ معمای هشت وزیر

 جمعیت آغازین

 تابع برازندگی

 آمیزش

 جهش ژنتیکی

 الگوریتم ژنتیک و حلّ مسألۀ فروشندة دوره گرد

به وسیله الگوریتم ژنتیک   TS P  حل مسأله

 TS P  مقایسه روشهای مختلف الگوریتم و ژنتیک برای

 نتیجه گیر ی

 حلّ مسأله معمای سودوکو

 حل مسأله

 تعیین کروموزم

 ساختن جمعیت آغازین یا نسل اول

 ساختن تابع از ارزش

 ترکیب نمونه ها و ساختن جواب جدید

 ارزشیابی مجموعه جواب

 ساختن نسل بعد

مرتب سازی به کمک  G A

 صورت مسأله

 جمعیت آغازین

 تابع برازندگی

 انتخاب

 ترکیب

 جهش

فهرست منابع و مراجع

پیوست

واژه نامه

نقاط بهینه محلی و بهینه کلی

 چارت الگوریتم ژنتیک

 ترکیب تک نقطه

 ترکیب جایگشتی

 جهش کدینگ جایگشتی

 جهش کدینگ مقدار

 کدینگ درختی

 نمونه کروموزوم الگوریتم ژنتیکی

 روش سری

 روش محاطی

  چرخه رولت

  جابجایی چند نقطه

  ترکیب تک نقطه ای

  ترکیب دو نقطه ای

  ترکیب یکنواخت

  شبیه سازی جهش به کمک نمودار

  جهش باینری

  جهش:وارونه سازی بیت

  جهش:تغییر ترتیب قرارگیری

  جهش: وارون ساز ی

  جهش: تغییر مقدار

  نمودار بررسی رابطه های جمعیت، کیفیت جواب و معیار توقف بایکدیگر

 چینش هشت مهره وزیر در صفحه شطرنج بدون تهدید یکدیگر

جدول سودوکو



خرید و دانلود بررسی الگوریتم ژنتیک در TSP و NP-HARD (تعداد صفحات  151)


تحقیق در مورد الگوریتم رمز گذاری

تحقیق در مورد الگوریتم رمز گذاری

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)


تعداد صفحه: 48

فهرست:ندارد

عنوان:

      

مقدمه

 

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

 

اغلب این مساله باید تضمین شود که یک پیغام فقط میتواند توسط کسانی خوانده شودکه پیغام برای آنها ارسال شده است و دیگران ابن اجازه را ندارند. روشی که تامین کننده این مساله باشد"رمزنگاری" نام دارد. رمز نگاری هنر نوشتن بصورت رمز است بطوریکه هیچکس بغیر از دریافت کننده مورد نظر نتواند محتوای پیغام را بخواند.

 

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

 

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

 

دیتای اویله اغلب قبل از رمز شدن بازچینی می شود، این عمل عموما بعنوان scrambling شناخته می شود. بصورت مشخص تر ، hash function ها بلوکی از دیتا را که ( که می تواند هر اندازه ای داشته باشد) به طول از پیش مشخص شده کاهش می دهد. البته دیتای اولیه نمی تواند از hashed value بازسازی شود. hash function ها اغلب بعنوان بخشی از یک سیستم تایید هویت مورد نیاز هستند؛ خلاصه ای از پیغام (شامل مهم ترین قسمتها مانند شماره پیام ، تاریخ و ساعت، و نواحی مهم دیتا ) قبل از رمز نگاریخود پیام ،ساخته و hash می شود. یک چک تایید پیام (Message Authentication Check) یاMAC یک الگوریتم ثابت با تولید یک امضاء بر روی پیام با استفاده از یک کلید است. هدف آن نشان دادن این مطلب است که پیام بین ارسال و دریافت تغییر نکرده است . هنگامی که رمز نگاری توسط کلید عمومی برای تایید هویت فرستنده پیام استفاده می شود، منجر به ایجاد امضای دیچتال(digital signature) می شود. طراحی الگوریتمهای رمزنگاری مقوله ای برای متخصصان ریاضی است. طراحان سیستمهایی که در آنها از رمز نگاری استفاده می شود، باید از نقاط قوت و ضعف الگوریتمهای موجود مطلع باشندو برای تعییین الگوریتم مناسب قدرت تصمیم گیری داشته باشند. با وجود کثرت تعداد الگوریتمهای موجود، الگوریتمهای کمی هنوز با گذشت زمان ارزش خود را حفظ کرده اند. بنابراین تعداد الگوریتمهای استفاده شده در سیستمهای کامپیوتری عملی و در سیستمهای بر پایه کارت هوشمند بسیار کم است. از آنجا که بحث و بررسی در خصوص امضای دیجیتال بدون نگاهی هر چند کوتاه بر رمز نگاری و سیستم ها و الگوریتمها ی مختلف مرتبط با آن غیر ممکن به نظر می رسد.

 

تاریخچه رمزنگاری و امضای دیجیتال

 

رمزنگاری ، علم رمزخارج کردن اطلاعات به سالهای 1900 پیش از میلاد بر می گردد؛زمانیکه یکی از کاتبین در مصر با اقتباس از علم تصاویر و مفاهیم آنها در آن دوره توانست پیامهای ارتباطی خود را ایجاد کند. افراد قابل ذکر بسیاری هستند که می توان در تحول علم رمزنگاری از آنها نام برد.برای مثال Julius Caesar (100-44 پیش از میلاد) از یک چایگزینی ساده در حروف الفبا استفاده کرد( تنها حرو ف را تعداد ثابتی جایجا می کرد) و در ارتباطات دولتی و نظامی برای انتقال پیام های محرمانه به ژنرال های خود از این سیستم ابداعی استفاده می کرد.

 

بعدها Francis Bacon در 1623  روش رمز کردنی را که امروزه نام خود وی بر روی آن است را مورد بحث و بررسی قرار داد. یک روش کد کردن 2 حرفی که امروزه تحت عنوان رمزنگاری باینری5 بیتی شناخته می شود. بعدها خود وی این روش را به عنوان یک وسیله استگانوگرافی توسعه داد.

 

Thomas Jeffersin در دهه ی 1790 روش رمز کردن چرخشی ای را ارائه داد که در جنگ جهانی دوتوسط ارتش آمریکا مورد استفاده قرار می گرفت. در اواخر دهه 1920 واوایل دهه 1930، FBI گروهی را تشکیل داد تا به بررسی استفاده از رمزنگاری توسط مجرمین بپردازند. در دهه 1970 دکتر Horst Feistel روش رمزنگاری Feistel را ارائه داد که به عنوان مقدمه ای بر DES3  امروزی شناخته می شود. در سپتامبر 1977 Riverst Shamir و Adleman رمزنگاری جهانی RSA خود را معرفی کردند که قابل اعمال بر رمزنگاری کلید عمومی و امضای دیجیتال می باشد. در سال 1990 ابداعی که توسط Xuejia Lai و James Massey انجام شد، یک رمزنگاری128 بیتی خیلی قویتر را جایگزین استاندارد DES قدیمی کرد. در رو یارویی با افزایش رمزنگاری ، مجددا FBI تلاش خود برای دسترسی به پیا مهای ساکنین آمریکا را آغاز کرد. در پاسخ Phil Zimmerman اولین نسخه ازPGP را در سال 1991 به عنوان یک محصول رایگان ارائه که از الگوریتم IDEA استفاده می کند.PGP ، این برنامه رایگان که الگوریتمهای در رده ی نظامی را بر روی اینترنت ارائه می دهد ، به علت چنین کاربرد گستره ای به استاندارد کریپتوگرافی تبدیل شد. در سال 1994 پروفسورRon Riverst که یکی از ابداع کنندگان رمزنگاری RSA بود یک الگوریتم جدید با نام RC5 را بر روی اینترنت ارائه داد که با وجودیکه قویتر از RC5 می باشد، هنوز بعد از گذشت یک دهه نتوانسته جایگزین DES و RSA شود.

 

2-1- سیستمهای کلید متقارن

 

یک الگوریتم متقارن از یک کلید برای رمزنگاری و رمزگشایی استفاده میکنند. بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود داردdata encryption algorithm یا   DEA است که بیشتر بعنوان DES محصول دولت ایالات متحده است که امروزه بطور وسیعی بعنوان یک استاندارد بین المللی شتاخته می شود. بلوکهای 64 بیتی دیتا توسط یک کلید تنها که معمولا 56 بیتی طول دارد، رمزنگاری و رمزگشایی می شوند. DES از نظر محاسباتی ساده است و براحتی می تواند توسط پردازنده های کند ( بخصوص آناهایی که در کارتهای هوشند وجود دارند) انجام گیرد. این روش بستگی به مخفی بودن کلید دارد. بنابراین برای استفاده در دو موقعیت مناسب است: هنگامی که کلید ها می توانند به یک روش قابل اعتماد و امن توزیع و ذخیره شوند یا جایی که کلید بین دو سیستم مبادله می شوند که قبلا هویت یکدیگر را تایید کرده اند عمر کلیدها بیشتر از مدت تراکنش طول نمی کشد . رمزنگاری DES عموما برای حفاظت دیتااز شنود در طول انتقال استفاده می شود. کلیدهای DES 40 بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می شوند و بنابراین برای محافظت از اطلاعات مهم و با مدت طولانی اعتبار استفاده شود. کلید 56 بیتی توسط سخت افزار یا شبکه های بخصوصی شکسته می شوند. رمزنگاری DES سه تایی عبارت است از کد کردن با استفاده از الگوریمت DES که در سه مرتبه انجام می گیرد. (دو مرتبه با استفاده از یک کلید به سمت جلو(رمزنگاری) و یک مرتبه به سمت عقب(رمزگشایی)با یک کلید دیگر این عمل تاثیر د وبرابر کردن طول موثر کلید را دارد و عاملی مهم در قدرت رمز کنندگی است. الگوریتمهای استاندارد جدیدتر مختلفی پیشنهاد شده اند. الگوریتمهایی مانند Blowfish و IDEA برای زمانی مورد استفاده قرار گرفته اند اما هیچکدام پیاده سازی سخت افزاری نشدند بنابراین بعنوان رقیبی برای DES برای استفاده در کاربردهای میکروکنترلی مطرح نبوده اند. پروژه استاندارد رمزنگاری پیشرفته دولتی ایالات متحده (AES) الگوریتم Rijndael را برای جایگزیتی DES بعنوان الگوریمتم رمزنگاری اولیه انتخاب کرده است . الگوریتم Twofish مشخصا برای پیاده  سازی در پردازنده های توان پایین مثلا در کارتهای هوشمند طراحی شد. در 1998 وزرات دفاع ایالات متحده تصمیم گرفت که الگوریتمها Skipjack و مبادله کلید را که در کارتهای Fortezza استفاده شده بود، از محرمانگی خارج سازد. یکی از دلایل این امر تشویق برای پیاده سازی بیشتر کارتهای هوشمند بر پایه این الگوریتمها بود. برای رمزنگاری جریانی (streaming encryption)(که رمزنگاری دیتا در حین ارسال صورت می گیرد بحای اینکه دیتای کد شده در یک فایل مجزا قرار گیرد ) الگوریتم RC4 سرعت بالا و دامنه ای از طول کلید ها از 40 تا 256 بیت فراهم می کند .RC4 که متعلق به امنیت دیتای RSA است ، بصورت عادی برای رمزنگاری ارتباطات دو طرفه امن در اینترنت استفاده می شود. در ادامه تعدادی از الگوریمتهای رایج کلید متقارن و اندازه کلید آنها را ملاحظه می کنیم:

 

3-1-سیستمهای کلید نا متقارن

 

سیستمهای کلید نا متقارن از کلیدهای مختلفی برای رمزنگاری و رمز گشایی استفاده می کنند. بسیاری از سیستمها اجازه می دهند که یک جزء ( کلید عمومی یا public key)منتشر شود در حالیکه دیگری ( کلید اختصاصی یا private key ) توسط صاحبش حفظ شود. فرستنده پیام ، متن را با کلید عمومی گیرنده کد میکنند و گیرنده آن را با کلید اختصاصی خودش رمز نگاری می کند. بعباراتی تنها با کلید اختصاصی گیرنده می توان متن کد شده را به متن اولیه صحیح تبدیل کرد .یعنی حتی فرستنده نیز اگر چه محتوای اصلی پیام مطلع است اما نمی توانند از متن کد شده به متن اصلی دست یابد بنابراین پیام کد شده برای هر گیرنده ای  بجز گیرنده مورد نظر فرستنده بی معنی خواهد بود. معمولترین سیستم نا متقارن بعنوان RSA شناخته می شود. ( حروف اول پدید آورندگان آن یعنی Rivest،Shamir وAdlemen است. ) اگر چه چندین طرح دیگر وجود دارند .می توان از یک سیستم نا متقارن برای نشان دادن اینکه فرستنده پیام همان شخصی است که ادعا میکنند استفاده کرد که این عمل اصطلاحا امضاء نام دارد. RSA شامل دو تبدیل است که هر کدام احتیاج به بتوان رسانی ماژولار با توانهای خیلی طولانی دارد:

 

- امضاء متن اصلی را با استفاده از کلید  اختصاصی رمز میکنند؛

 

- رمزگشایی عملیات مشابه ای روی متن رمز شده اما با استفاده از کلید عمومی است. برای تایید امضاء بررسی می کنیم که آیا این نتیجه با دیتای اولیه یکسان ، اگر اینگونه است ، امضاء توسط کلید اختصاصی متناظر رمز شده است.

 

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

 

اساس سیستم RSA این فرمول است:

 

که X متن کد شده ، Yمتن اصلی ، K کلید اختصاصی و R حاصل ضرب دو عدد اولیه بزرگ است که با دقت انتخاب شده  اند. در پیاده سازی این پروژه نیز از سیستم RSA استفاده شده و در فصل های بعدی به توضیح بیشتر در خصوص این الگوریمت پرداخته شده است. در این شکل محاسبات روی پردازنده های بایتی بخصوص روی 8 بیتی های که در کارتها ی هوشمند استفاده می شود بسیار کند است است. بنابراین ، اگر چه RSA هم تصدیق هویت و هم رمزنگاری راممکن می سازد ، در اصل برای تایید هویت منبع پیام از این الگوریتم در کارتهای هوشمند استفاده می شود و برای نشان دادن عدم تغییر پیام در طول ارسال و رمزنگاری کلیدهای آتی می شود. سایر سیستمهای کلید نا متقارن شامل سیستمهای لگاریتم گسسته می شوند مانند:

 

Elgamal Diffie – Hellman و سایر طرحهای چند جمله ای و منحنی های بیضوی بسیاری از این طرحها عملکرد ای یک طرفه ای دارند که اجازه تایید هویت را می دهند اما رمزنگاری ندارند. یک رقیب جدیدتر در این زمینه الگوریتم RPK است که از یک تولیدکننده مرکب برای تنظیم ترکیبی از کلید ها با مشخصات مورد نیاز استفاده می کند. RPK یک پروسه دو مرحله ای است:

 

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

 

4-1- کلید عمومی

 

یکی از چالشهای اصلی که امروزه مشاوران فنی با آن مواجه هستند ، حفظ و نگهداری سطحی از دانش  تکنولوژی ها و ایجاد وهدایت آنها در سطوح فراتر از سطوح محاوره ای و ظاهری می باشد. ما نیاز داریم که سطحی از درک را گسترش دهیم که به ما این اجازه را بدهد که بطور موثر بتوانیم هم با تولید کننده (عرضه کننده) و هم با معرفی کننده ارتباط برقرار کنیم . کاربرد کلید عمومی مدتی است که در این زمینه رواج یافته است. تحقیقات بسیاری در کشورهای مختلف ( به عنوان مثال IETF/PKIX و PKCS) در زمینه تعریف استاندارد ها و تکنولوژی های مرتبط با کلید عمومی انجام شده است . اما آیا می دانیم که واقعا کلید عمومی چیست؟ آیا می دانیم که چگونه کار می کند؟ در این بخش ما به بررسی ساختار های کلید عمومی و این که چگونه کار می کنند می پردازیم .

 

این مبحث نقطه شروعی برای درک عرصه وسیعی به نام PKI ( شالوده کلید عمومی) می باشد که شامل مکانیزمهای توصیف شده در این زمینه می باشد که عبارتنداز:مجموع نرم افزار ، سخت افزار، و پروسه هایی که به وسیله قوانین و استانداردهای هدایت و مدیریت می شوند که به سوی سطح بالایی از اطمینان مورد نیاز و مورد انتظار متمایل می شوند.

 

1-4-1- کلید عمومی چیست؟

 

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

 

- تسهیل توزیع کلید ( تسهیل در ارسال و توزیع کلید)

 

- امضای دیجیتال

 

- به رمز در آوردن بلند مدت(رمز گذاری برای مدت طولانی )

 

به هر حال ، لازم به ذکر است که هنوز کلید متقارن نقش اصلی را در اجرای PKI ایفا می کند. معمولا کلید عمومی برای تشخیص روش به رمزگذاری مورد استفاده قرار می گیرد که یک جفت کلید غیر متقارن را مورد استفاده قرار می دهد : یک کلید عمومی و یک کلید خصوصی. روش رمزگذاری کلید عمومی از این جفت کلید برای به رمز در آوردن و رمزگشایی استفاده می کند. کلید عمومی به صورت عمومی تولید می شودو به صورت مجانی و وسیعی گسترش می یابد؛ در صورتیکه کلید خصوصی هرگز پخش نمی شود و باید به صورت مخفی نگه داشته شود. با داشتن یک جفت کلید داده شده، داده های رمز شده به کمک کلید عمومی ، فقط به وسیله کلید مخصوص خودش رمزگشایی می شود. این مشخصات ( ویژگی ها ) برای ایجاد رمزگذاری و امضای دیجیتال مورد استفاده قرار می گیرد.

 

2-4-1- رمزگذاری و رمزگشایی

 

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

 

فصل دو م

 

امضای دیجیتال و مفاهیم مرتبط

 

 

 

 

 

1-2- امضای دیجیتال چیست؟

 

امضای دیجیاتل در حقیقت یک معادل برای امضای دستی است که اعتبار یک سند الکترونیکی را بررسی و تائید می کند. در حقیقت امضاهای دیجیتال امنیت را در سطحی بسیار بالاتر ار همتایان دستی خود ارائه می دهند.

 

برخی بانک ها از سیستمی برای ثبت الکترونیکی امضاهای دستی استفاده می کنند .برخی نیز فراتر رفته و از آنالیز های بیومتریک برای ثبت سرعت امضا و میزان فشاری که در زمان امضا کردن  بر روی کاغذ می شود استفاده می کنند تااز اعتبار امضا مطمئن شوند . به هر حال هیچ یک از این دو مفهومی را که ما از " امضای دیجیتال" انتظار داریم بر آورده نمی سازند.

 

امضای دیجیتال و تائید آن(Verification):

 

امضای دیجیتال مکانیزمی است که به وسیله آن پیام اعتبار پیام (Authenticate) ثابت می شود. یعنی مشخص می شود که پیام به طور موثر و کامل از طرف یک فرستنده داده مشخص ارسال شده است ، این مکانیزم بسیار شبیه امضایی که پائین مدارک کاغذی می باشد. به عنوان مثال : فرض کنید که Alice می خواهد یک پیام را به صورت دیجیتال برای این کار ، او با استفاده از کلید خصوصی خود ، پیام را به مرز تبدیل می کند ، سپس این پیام را با کمک کلید عمومی خود ارسال می کند. (نوعا ، کلید عمومی به پیام امضا شده ، متصل شده است ) ، چون کلید عمومی Alice تنها کلیدی است که می تواند آن پیام را رمز گشایی کند ، یک رمز گشایی موفق ، یک تائیدیه برای امضای دیجیتال را تشکیل می دهد، به این معنی که هیچ شکی نیست که کلید خصوصی Alice است که پیام را به رمز تبدیل کرده است.

 

 

 

 دو پاراگراف قبلی، قواعد مربوط به رمز کردن- رمز گشایی- و امضای تائیدیه را به تصویر کشیدند . همچنین می توان رمز گذاری و امضای دیجیتال را با هم ترکیب کرد که در نتیجه هم امنیت و هم تائید اعتبار فراهم می شوند.

 

همان طور که قبلا اشاره شد ، کلید متقارن نقش اصلی را در رمز گذاری به وسیله کلید عمومی ایفا میکند. این بدان علت است که الگوریتمهای رمز گذاری کلید نا متقارن تا اندازه ای از الگوریتمهای کلید متقارن هستند. تکنیک دیگری که برای امضای دیجیتال مورد استفاده قرار میگیرد " درهم سازی" (hashing)نام دارد. در هم سازی یک خلاصه از پیام را تولید می کند که منحصر به فرد است و بیانگر پیام کامل می باشد. الگوریتمهای hashing رمز گذاری یک طرفه است ، به این معنی که غیر ممکن است که پیام را بتوان از روی چکیده و خلاصه آن دست آورد ، دلایل اصلی را برای ایجاد خلاصه پیامها عبارتنداز :

 

- اصل تمامیت پیامی که فرستاده می شود، حفظ می گردد، هر گونه تغییر و دگرگونی در پیام بلافاصله مشخص می شد.

 

- امضای دیجیتال به خلاصه پیام اعمال می شود که معمولا به طور قابل ملاحظه ای کوچکتر از خود پیام است.

 

- الگوریتماهی hashing بسیار سریعتر از سایر  الکوریتمهای رمز گذاری می باشند. ( متقارن یا نا متقارن )

 

در بخش های آتی اینکه در روال خلاصه سازی و امضا کردن یک پیام چه فرآیند هایی رخ می دهند را توضیح می دهیم . از طرفی بیام می کنیم که چگونه پیام رمز گشایی می شود و امضای آن تایید می گردد.

 

1-1-2- مراحل امضا و به رمز در آوردن یک پیام :

 

شکل بعدی مجموعه ای از عملیاتی کردن که لازم است هنگامی  که Alice می خواهد یک پیام علامت زده شده و رمز شده را برای Bob بفرستد، نشان می دهند:

 

 

 

 

 

 

 

 

 

1)امضای پیام ، امضای دیجیتال شامل دو مرحله است:

 

الف) ارزیابی خلاصه پیام : هدف اصلی از ارزیابی خلاصه پیام این است که مطمئن شویم که پیام بدو ن تغییر باقی مانده است ، این " تمامیت پیام " نامیده می شود.

 

ب) امضای خلاصه پیام : یک امضاء اصل یک رمز گذاری است که با استفاده از کلید خصوصی فرستده ( در اینجا Alice) انجام می شود. همچنین امضاء شامل نام الگوریتم

 

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

 

I. کلید خصوصی فرستنده خلاصه پیام را به روز درآورده است. II. پیام در مقابل هر گونه تغییری حفاظت شده است.

 

2) به رمز در آوردن پیام ( رمزگذاری): به رمز در آوردن شامل سه مرحله زیر است:

 

الف) ساخت یک کلید رمز گذاری/ رمز گشایی متقارن تک زمانه ( one time):

 

به یاد داشته باشید که الگوریتمهای رمز گذاری و رمز گشایی که از کلید های نا متقارن استفاده می کنند ، برای پیامهای طولانی بسیار کند عمل میکنند ؛ در پاره ای موارد الگوریتم های کلید متقارن بسیار مفید هستند و به همین دلیل هنوز هم مورد استفاده قرار میگیرند.

 

ب)رمز گذاری پیام : kکلی

 

کل پیام ( خود پیام و امضا ) با استفاده از Symk متقارن که دربالا معرفی شد ؛ رمز گذاری می شود.

 

ج) رمز گذاری با کلید متقارن:

 

همچنین Symk توسط گیرنده برای رمز گشایی پیام مورد استفاده قرار می گیرد در نتیجه Symk باید  فقط در دسترس گیرنده (Bob)باشد. برای پنهان کرند Symk از هر کس به جز گیرنده باید آن را با استفاهد از کلید عمومی گیرنده به رمز تبدیل کنیم . چون Symk قطعه کوچکی از اطلاعات است با پیام ( که می تواند بسیار طولانی باشد) مقاسیه می شود؛ خطای عملکرد مربوط به ناکار آمد بودن الگوریتمهای کلید نا متقارن ، قابل چشم پوشی می باشد .نکته جالبی که در این جا باید به آن اشاره شود این است که اگر Alice بخواهد همان پیام را به بیش از یک گیرنده ارسال نماید ، به عنوان مثال Bob و John در یافت خواهند کرد به صورت زیر خواهد بود:

 

       Message+{digest} prke+…

 

Symk یکسانی توسط Bob و John برای رمز گشایی پیام مورد استفاده قرار می گیرد.

 

2-4-1: مراحل رمز گشایی و verify کردن اضمای پیام ( تایید امضای پیام )

 

شکل زیر مجموعه ای از عملیاتی را که لازم است تا (Bob)پیامی را که از طرف Alice فرستاده شده است رمز گشایی و verify نماید ، نشان می دهد.

 

 

 

رمز گشایی پیام، شامل مراحل زیر است:

 

الف) رمزگشایی با کلید متقارن: کلید متقارن تک زمانه (one time) برای رمزگذاری پیام مورد استفاده قرار گرفته است. این کلید (Symk) با استفاهد از کلید عمومی گیرنده (Bob)به رمز تبدیل شده است. تنها Bob  می توان Symk را رمزگشایی کند و با استفاده از آن پیام را رمز گشایی نماید.

 

ب) رمز گشایی پیام : پیام را که شامل خود پیام و امضا می باشد با استفاده از Symk رمز گشایی می شود.

 

2- تائید امضاء شامل سه مرحله زیر می باشد:

 

الف) رمزگشایی چکیده پیام : با استفاده از کلید خصوصی فرستنده Alice چکیده پیام به رمز تبدیل می شود اکنون چکیده پیام بوسیله کلید عمومی فرستند که پیام گنجانده شده است، رمز گشایی می شود.

 

ب) ارزیابی چکیده پیام: چون Hashing یک پروسه یک طرفه است به این معنی که خود پیام از روی چکیده آن به دست نمی آید ، گیرنده باید دوباره چکیده پیام را دقیقا به کمک همان الگوریتم Hashing که فرستنده مورد استفاده قرار داده است ارزیابی کند.

 

ج) مقایسه چکیده ها: چکیده ای که در قسمت الف رمزگشایی شده است با چکیده ای که در قسمت (ب) رمز گشایی شده است ، با هم مقایسه می شوند ، اگر با هم مطابقت داشته باشند ، امضاء Verify (تائید) می شود و گیرنده  می تواند پیام را که بدو نتغییر از طرف فرستنده آمده قبول کند. اگر با هم تطابق نداشته باشند این بدا ن معنی است که :  

 

I: پیام بوسیله فرستنده علامت گذاری نشده است یا ( ثبت نشده است ).

 

II: پیام تغییر کرده است.

 

III: در هر دوحالت پیام نباید پذیرفته شود .

 

هویت و کلید ها:

 

تا به حال در این مورد بحث کردیم که کلید ها برای رمز گذاری و رمزگشایی و امضای دیجیتال / تائید به Bob و Alice مورد استفاده قرار میگیرند. حال چگونه می توان فهمید که Alice ، Aice واقعی است؟ و همچنین Alice چگونه میتواند مطمئن باشد که فقط Bob  چیزی را به رمز در آورده است؟ تا به حال تنها چیزی که ما می دانیم ، این است که استفاده کنندگان از یک جفت کلید داده شده ، پیام را امضا کرده و به رمز تبدیل کرده اند . ولی آیا Bob  مالک واقعی است ؟ به عنوان مثال ممکن است Eve پیام را برای Bob فرستاده باشد و این طور وانمود کرده باشد که او Alice پیام را فرستاده است یا Eve حالت مشابهی هم در مورد کلید عمومی Bob مطرح می شود. این مورد با استفاهد از گواهی نامه ها ( Certificate) حل خواهد شد.

 

2-2: گواهینامه دیجیتالی چیست؟

 

سوال دیگری که در بحث امضای دیجیتال ممکن است پیش بیاید این است که اگر بخواهیم امضای شخصی را که نمی شناسی تائید کنیم و یا از مالکیت کلید اطمینان پیدا کنیم چه باید کرد؟ در این مرحله گواهینامه های دیجیتال وارد عمل می شوند. توضیح را با روشی که PGP ارائه می دهد شروع می کنیم :کارول که ادعا میکند یکی از آشنایان باب است پیامی را به آلیس می فرستد . کارول پیام را با کلید خصوصی خودش امضا کرده که این کلید توسط باب به صورت دیجیتالی امضا شده است؛ (و لزوما می گوید : من مطمئنم که این کلید معتبر است و امیدواریم شما نیز به این موضوع اطمینان کنید.)

 

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

 

گواهینامه ها و امضای دیجیتال

 

Certificate تکراری از اطلاعات است که درستی هویت مالک کلید عمومی را تائید می کند همانند گذرنامه Certificate ، هویت و یا مالکیت شخص را مشخص می کند. Certificate ها به وسیله یک طرف ( شخص) سوم قابل اطمینانی به طور سری و مخفی مشخص و ارسال می شوند که Certificate Authority (CA) اعتماد داشته باشند، می توانند مطمئن باشندکه کلید ها متعلق به اشخاصی است که آنها انتظارش دارند( که ادعا می کنند).

 

یک Certificate شامل موارد دیگری نیز می باشد که عبارتند از :

 

هویت CAهویت مالک کلید عمومیتاریخ انقضای Certificateامضای CA مربوط به Certificateسایر اطلاعاتی که فراتر از بحث این مقاله است.

 

با داشتن Certificate به جای کلید عمومی ، اکنون گیرنده می تواند موارد بیشتری را در مورد فرستنده تائید نماید تا مطمئن شودکه Certificateصیحی(اعتبار دارد) Valid است و متعلق به شخصی است که ادعای مالکیت آن را می کند:

 

1-مقایسه هویت مالک

 

2-تائید این که Certificate هنوز معتبر است.

 

3- تائید این که Certificate توسط یک CA قابل اعتماد تعیین و مشخص شده است ( ثبت شده است)

 

4- تائید امضای Certificate فرستنده ، که در نتیجه مطمئن می شود که تغییر نکرده است.

 

اکنون Bob می تواند Certificate متعلق به Alice را تائید کند و مطمئن باشد که کلید خصوصی Alice است که برای پیام به کار رفته است . Alice باید خیلی مواظب کلید خصوصی خود باشد و نباید افشاء کند که چگونه به آن دست یافته است ، با انجام این کار او مسئول تمام مواردی که مربوط به امضای دیجیتال او می شود، می باشد. توجه داشته باشید که Certificate ها به وسیله CA تعیین و ثبت می شوند و این بدان معنی است که نمی توانند تغییر کنند ، در عوض ، امضای CA با استفاده از Certificate متعلق به CA می تواند تائید شود.

 

معتبر سازی Certificate اضافه شده به پروسه :

 

هنگامی که Alice یک پیام را برای Bob به رمز تبدیل می کند، او از Certificate متعلق به Bob استفاده می نماید قبل از استفاده از کلید عمومی که در Certificate متعلق به Bob گنجانده شده است مه برخی مراحل اضافی برای ( تائید صحت) Certificate معتبر سازی ( اعتبار بخشیدن) مربوط به Bob انجام می شود:

 

دوره صحت( اعتبار) Certificate مربوط به BobCertificate متعلق به BobCertificate مربوط به Bob تغییر نکرده است.Certificate مربوط به Bob توسط یک CA مورد اعتماد تعیین شده است.

 

برخی از مراحل اضافی نیاز خواهد بود برای اعتبار یخشیدن به Certificate مربوط به CA در موردی که Alice به CA مربوط به Bob

خرید و دانلود تحقیق در مورد الگوریتم رمز گذاری


پروژه پایانی، الگوریتم ژنتیک doc

پروژه پایانی، الگوریتم ژنتیک doc

پروژه الگوریتم ژنتیک در 50 صفحه بصورت کاملا ویرایش شده مطابق با اصول نگارشی با فونت بی نازینی انجام شده و از نظر محتوا دارای قوی تریت مطالب مربوط می باشد. قالب پروژه word می باشد تا در صورت صلاحدید ویرایش گردد.

 

چکیده:

الگوریتم ژنتیک (Genetic Algorithm - GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتم‌های تکامل است که از تکنیک‌های زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند.در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای تصادف هستند. مختصراً گفته می‌شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند. مسأله‌ای که باید حل شود ورودی است و راه‌حل‌ها طبق یک الگو کد گذاری می‌شوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می‌کند که اکثر آنها به صورت تصادفی انتخاب می‌شوند. کلاً این الگوریتم‌ها از بخش های زیر تشکیل می‌شوند: تابع برازش، نمایش، انتخاب، تغییر.

در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. در هوش مصنوعی الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند. مسئله‌ای که باید حل شود دارای ورودی‌هایی می‌باشد که طی یک فرایند الگوبرداری شده از تکامل ژنتیکی به راه‌حلها تبدیل می‌شود سپس راه حلها بعنوان کاندیداها توسط تابع ارزیاب (Fitness Function) مورد ارزیابی قرار می‌گیرند و چنانچه شرط خروج مسئله فراهم شده باشد الگوریتم خاتمه می‌یابد. الگوریتم ژنتیک بطور کلی یک الگوریتم مبتنی بر تکرار است که اغلب بخش‌های آن به صورت فرایندهای تصادفی انتخاب می‌شوند

 

فصل اول: مقدمه. 1

1-1.    مقدمه. 1

1-2.    معرفی فصلهای بعدی.. 7

فصل دوم: الگوریتم ژنتیک.. 9

2-1.    الگوریتم ژنتیک چیست؟ 9

2-2.    نظریهالگوریتم ژنتیک.. 15

2-3.    توصیف مشکل جدول زمانبندی آزمون. 17

2-3-1.    تعریف مشکل. 19

2-3-2.    موانع درگیر(موانع موجود) 19

2-4.    الگوریتم ژنتیک.. 21

2-4-1.    نمایش کروموزوم. 23

2-4-2.    مقداردهی اولیه. 24

2-4-3.    ارزیابی.. 25

2-4-4.    گزینش... 26

2-4-5.    جهش یاموتاسیون. 26

2-4-6..    هم گذری.. 27

2-4-7.    اجرای الگوریتم ژنتیک.. 29

2-4-8.    ارزیابی جدول زمانبندی.. 30

2-5.    عملگرهای یک الگوریتم ژنتیک.. 31

2-5-1.    شبه کد. 31

2-5-2.    ایده اصلی.. 32

2-5-3.    روش‌های انتخاب.. 33

2-6. نتایج محاسباتی.. 34

فصل سوم: مثال عملی.. 38

3-1.    حل مسائل معروف بااستفاده ازالگوریتم ژنتیک.. 38

3-2.    روش جستجوی تکاملی.. 43

3-3.    نظریه داروین.. 43

3-4.    انواع مختلف الگوریتمهای تکاملی.. 44

3-5.    کدگذاری ونحوه نمایش... 44

فصل چهارم: نتیجه گیری.. 47

4-1.    نتیجه گیری.. 47

5.         فصل پنجم: مراجع  50

 

نتیجه گیری

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

بنابراین به صورت منطقی برای این مسائل راه حل دیگری وجود ندارد باید سعی کنیم از تکنیک هایی استفاده کنیم تا مسئله حل شود .



خرید و دانلود پروژه پایانی، الگوریتم ژنتیک doc