شناسایی اصلاح شده چندجمله ای فیدبک بررسی میشود. برای انجام یک مقایسه عادلانه با الگوریتم کلوزیو [۶] این الگوریتم با پارامترهای و احتمال هشدار کاذب و احتمال غیرقابل کشف و با وزن از مضارب پراکندهی چندجمله ای فیدبک اجرا میکنیم که برابر با پارامترهای [۶] میباشد.
در جدول ۳-۶ چندجملهای های اول و سوم و آخر همان چندجملهای هایی هستند که در جدول ۳-۲ آمدهاست، با توجه به تفاوتهایی که در سختافزار وجود دارد زمان اجرای الگوریتم کمی متفاوت از آنچه در [۶] آمدهاست میباشد. در بخش بعدی به مقایسه این دو روش با پارامترهای یکسان میپردازیم.
اصلاح قابلیت تشخیص الگوریتم کلوزیو:
با توجه به جدول ۳‑۶ ۳-۶ میتوان دید که چندجملهای های سوم و چهارم به درستی بازیابی نشدهاند. برای درک بهتر اینکه چرا چندجملهای اصلی به درستی شناسایی نشدهاست نگاهی به مضاربی از چندجمله ای فیدبک که در جریان اجرای الگوریتم یافته شدهاند میاندازیم. این مضارب جدول ۳-۷ آمدهاند. در جدول ۳-۷ برای چندجمله ای های سوم و چهارم میتوان دید که دومین مضرب سه جملهای یافته شده، مجذور اولین مضرب میباشد. بنابراین بزرگترین مقسوم علیه مشترک آنها به جای اینکه چندجملهای فیدبک باشد همان اولین مضرب یافته شده میباشد. برای چندجملهای های فیدبک و دومین مضرب سه جملهای یافته شده نیز مجذور اولین مضرب یافته شده میباشند اما با این حال
جدول ۳‑۷ مضارب چندجملهای فیدبک [۹]
مضارب شناسایی شده با وزن۳
چندجملهای فیدبک
همان طور که در جدول نشان داده شده است چندجملهای فیدبک آنها به درستی بازیابی شده است. به این دلیل که نخستین مضرب شناسایی شده یعنی و در واقع دقیقاً همان چندجملهای فیدبک میباشد.
با توجه به توضیحات بالا، برای اجتناب از اشتباه شناساییکردن، چنانچه دومین مضرب شناسایی شده، مضربی از اولین مضرب شناسایی شده باشد باید نادیده گرفته شود. تنها استثنا زمانی است که اولین مضرب یافته شده از چندجملهای فیدبک خود تجزیه ناپذیر باشد در این صورت چند جملهای فیدبک چیزی نیست جز همان مضرب یافته شده. در نتیجه با توجه به آنچه مطرح شد میتوان الگوریتم کلوزیو را با عملکرد بهتری به صورت زیر ارتقا داد:
الگوریتم توصیف شده در بخش قبل را اجرا و دنبال میکنیم تا زمانی که یک مضرب پراکنده از پیدا شود.
چنانچه تجزیه ناپذیر باشد الگوریتم متوقف را میکنیم و را به عنوان چندجمله ای فیدبک بازیابی شده انتخاب مینماییم. در غیر این صورت، را در جدول ذخیره کرده و الگوریتم را دنبال میکنیم.
به جستجو برای یافتن مضرب پراکندهی بعدی با نام میپردازیم. چنانچه مضربی از باشد آن را نادیده میگیریم و جستجو را ادامه میدهیم تا
شکل ۳‑۳ مقایسه بین الگوریتم کلوزیو و الگوریتم اصلاح شده [۹]
زمانی که ای پیدا شود که مضربی از نباشد. را در جدول ذخیره میکنیم.
بزرگترین مضرب مشترک را محاسبه کرده چنانچه باشد، آن را به عنوان چندجملهای فیدبک بازیابی شده انتخاب می کنیم، در غیر این صورت به مرحله ۳ باز می گردیم.
در ادامه برای تمایز بین الگوریتم کلوزیو و الگوریتمی که در بالا توصیف شد، آن را الگوریتم اصلاح شده[۲۴] مینامیم. الگوریتم اصلاح شده در مقایسه با الگوریتم کلوزیو دارای دو مرحله اضافی می باشد. اول مشخص کردن تجزیهپذیر و یا تجزیهناپذیر بودن مضرب یافتهشده در حین اجرای الگوریتم، و دوم تعیین اینکه آیا دومین مضرب پراکندهی یافتهشده مضربی از اولی میباشد یا خیر. مرحله دوم ساده تر میباشد چرا که تعداد عملیات انجام شده در آن محدود به میباشد. برای اجرای مرحله دوم نیز روشها و الگوریتمهای زیادی برای آزمودن تجزیهپذیری چندجملهایهای باینری معرفی شده است.
به منظور بررسی عملکرد الگوریتم اصلاح شده، اسکرمبلرهایی که در آنها تمام چندجملهایهای بنیادین از درجه ۸ تا ۱۸را به عنوان چندجمه ای فیدبک آن در نظر گرفتهشدهاند را شبیهسازی شدهاند. وزن مضارب پراکنده انتخاب شدهاست و نتایج در شکل۳-۳ آمده ست.