فایل شماره 6408 |
اعدادی که توانی از ۲ هستند نباید در ماتریس تکراری باشند. (فرض کنید هر ستون ماتریس از باینری به دهدهی تغییر داده شده است.)
۲
۲۵/۲
یک ستون که تمام مقادیر آن صفر است نباید در ماتریس وجود داشته باشد.
۳
۲
بین دو ستون یا سه ستون مجاور در ماتریس نباید یک XOR
ستون که تمام مقادیر آن صفر است بشود.
۴
۷۵/۱
هر ستون در ماتریس باید منفرد باشد
۵
۲۵/۱
XOR بین دو ستون مجاور برای کدهای کوتاه شده و سه ستون مجاور برای کدهای توسعه یافته، در ماتریس نباید با ستون های ماتریس برابر باشد.
( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
۶
در تابع برازندگی به ازای عدم برقراری هر شرط در جدول ۳-۶، جریمه در نظر گرفته شده برای آن شرط به تعداد رعایت نشدن آن شرط به تابع برازندگی اعمال می شود. مقدار جریمه (مقدار این جریمهها به صورت تجربی و با توجه به اهمیت هر شرط قرار داده شده است) مربوط به هر شرط در جدول ۳-۶ نشان داده شده است. به عنوان مثال اگر در یک ماتریس دو خطای مجاور دوتایی وجود داشته باشد به مقدار ۵/۲ به تابع برازندگی آن جریمه اعمال می شود.
شرط ششم برای بهبود قابلیت تشخیص خطا قرار داده شده است، اما شروط ۱ تا ۵ ، از شروط اساسی تشکیل ماتریس توازن هستند که در صورت عدم برقراری کامل آنها، ماتریس ارائه شده از اعتبار ساقط خواهد بود. برای روشن تر شدن این موضوع به بیانهای ارائه شده از هر شرط که در ادامه آمده است دقت کنید.
شرط ۱ حضور ستونهای مربوط به چک بیتها را در ماتریس H تضمین میکند. شرط ۲ عدم تکرار این ستونها را در ماتریس H تضمین می کند. شرط ۳ عدم تداخل خطاهای تک بیتی را با حالت بدون خطا تضمین می کند. شرط ۴ عدم تداخل خطاهای دو بیتی مجاور را با حالت بدون خطا تضمین می کند. شرط ۵ قابلیت تصحیح خطاهای تک بیتی را تضمین می کند و در نهایت شرط ۶ موجب بهبود قابلیت تشخیص خطاهای دو بیتی مجاور (در کدهای کوتاه شده) و سه بیتی مجاور (در کدهای توسعه یافته) می شود.
بیت های مربوط به ماتریس H نیز به عنوان کروموزوم برای الگوریتم ژنتیک در نظر گرفته شده است. به عنوان مثال در کد همینگ (۶,۱۰ ) ۴۰ بیت (۴۰=۴×۱۰) در ماتریس H وجود دارد، در نتیجه کروموزوم مربوط به آن یک رشته ۴۰ بیتی است.
و در نهایت پروسه استفاده شده برای یافتن ماتریس مناسب عبارت است از:
۱- تولید اتفاقی جمعیت اولیه از کروموزومها.
۲- ارزیابی کروموزومها با تابع برازندگی.
۳- انتخاب والدین با توجه به مقدار برازندگی آنها.
۴- اعمال عملگر crossover بر روی والدین برای تولید فرزندان با توجه به عدد احتمال در نظر گرفته شده برای آن. اگر بر روی والدینی عملگر crossover اعمال نشده بود، فرزندان با کپی شدن از والدین تولید میشوند.
۵- اعمال عملگر جهش بر روی فرزندان جدید با توجه به عدد احتمال مربوط به عملگر جهش.
۶- استفاده از جمعیت جدید تولید شده برای تکرار الگوریتم در دفعات بعد.
۷- متوقف شدن الگوریتم در صورت برآورده شدن شرایط پایان الگوریتم و ارائه بهترین جواب.
۸- اگر شرایط پایان الگوریتم بر آورده نشده بود، بازگشت به بند ۲ .
فلوچارت مربوط به روند فوق در شکل ۳-۱ نشان داده شده است.
۳-۲-۱ اعمال روش پیشنهادی در ماژول سویچ
روش ارائه شده در قسمت قبل بر روی کدهای همینگ (۶ ،۱۰) و همینگ (۲۴، ۲۹) اعمال شده است. ماتریس H به دست آمده برای کد همینگ (۶ ،۱۰) در رابطه ۳-۵ نشان داده شده است (ماتریس شامل اعداد صفر و یک در سمت چپ تساوی، ماتریس H است).
(۳-۵)
شکل ۳-۱: فلوچارت مربوط به الگوریتم ژنتیک.
فرض کنید هر ستون ماتریس H رابطه ۳-۵ از یک ستون باینری به یک عدد دهدهی تبدیل شود . در نتیجه دنباله اعداد مقابل، ماتریس H رابطه ۳-۵ را توصیف می کند: ] ۳ ، ۱۲ ، ۵ ، ۱۴ ، ۸ ، ۱ ، ۷ ، ۱۳ ، ۲ ، ۴ [. حال ماتریس دیگری را در نظر بگیرید که از XOR بین ستونهای مجاور دوتائی ماتریس H به دست آمده است. هر ستون این ماتریس را نیز به اعداد دهدهی تبدیل کنید. دنباله اعداد روبرو این ماتریس را توصیف می کنند:] ۱۵ ، ۹ ، ۱۱ ، ۶ ، ۹ ، ۶ ، ۱۰ ، ۱۵ ، ۶ [. همانطور که میتوان دید هیچکدام از اعداد در دنباله دوم (اعداد حاصل از XOR بین ستونهای دوتائی مجاور) با هیچکدام از اعداد دنباله اول (ستونهای ماتریس H) برابر نیستند و تمام خطاهای دوتائی مجاور قابل تشخیص است، همچنین در شکل ۳-۲ نیز مقدار تابع برازندگی در هر نسل برای کد همینگ (۶ ،۱۰) نشان داده شده است که در نهایت به برازندگی صفر رسیده است و این امر تشخیص تمام خطاهای دو بیتی مجاور را در این کد نشان میهد.
فرم در حال بارگذاری ...
[یکشنبه 1401-04-05] [ 11:08:00 ب.ظ ]
|