نام پژوهشگر: ندا حبیبی پور

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

چکیده اگر عددی طبیعی چون m را در نظر گرفته و از شخصی بخواهیم اول بودن یا نبودن m را معین کند؛ اولین راه حلی که به ذهنش می¬رسد، احتمالاً این است که عدد را به اعداد اول آغازین تقسیم کند و بخشپذیریشان را بررسی نماید. 240 سال قبل از میلاد مسیح، الگوریتم غربال اراتوستن توسط دانشمند یونانی ـ اِراتوستن ـ ارائه شد: پس از نوشتن تمام اعداد کوچکتر از m، مضارب 2و3و5و... را از این فهرست حذف کرده و آن¬هایی که باقی می¬مانند، قطعاً اول¬اند. از طرفی اگر بخشپذیری m را بر تمام اعداد کوچکتر از √m بررسی کنیم، در صورتی¬که m حتی بر یکی از آن¬ها قابل¬ِقسمت باشد، مرکب است. اما اگر m بسیار بزرگ ـ مثلاً 1000000 رقمی ـ باشد چه؟ آیا این الگوریتم باز هم جوابگو است؟ بله؛ اما چقدر طول می¬کشد تا به ¬نتیجه برسیم؟ اینجاست که باید مفاهیم جدیدی را در¬نظر ¬بگیریم از جمله: زمان اجرای الگوریتم. بهترین زمان اجرا برای یک الگوریتم آن¬ است ¬که به صورت یک چندجمله¬ای بر حسب اندازه¬ی داده¬ی ورودی باشد. تعداد زیادی از ریاضیدانان در جستجوی یافتن آزمونی که بتواند در زمان چندجمله¬ای، اول یا مرکب بودن یک عدد را تعیین کند، الگوریتم-های متفاوتی را پیشنهاد دادند؛ اما یا تحت حدس¬های ثابت نشده برقرار بوده¬اند یا در زمان بسیار طولانی اجرا می¬شده¬اند. قضیه¬ی کوچک فرما خود آزمونی برای تعیین اول بودن یک عدد می¬بود اگر اعداد کارمایکل نیز همچون اعداد اول در آن صدق نمی-کردند. به¬ هر¬ حال این قضیه پایه¬ی اصلی بسیاری از آزمون¬های اول بودن از جمله aks شد. در سال 2002 مانیندرا آگراوال ، نیراج کایال و نیتین ساکسنا ؛ با کاربرد هوشمندانه¬ای از تعمیم قضیه¬ی کوچک فرما، آزمون aks را طرح¬ کردند که الگوریتمی¬ است بی¬قید ¬و ¬شرط و در زمان چندجمله¬ای مشخص می¬کند که ورودی اول است یا خیر [2]. در این پایان¬نامه تشریح کامل بخش¬های مختلف مقاله¬ی primes is in p ارائه شده است [1]. کلیدواژه: آزمون اول بودن، الگوریتم aks، زمان اجرای چندجمله¬ای، کلاس¬های p و np.