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

  1. جایگزینی یک حرف (مانند تبدیل «داصتان» به «داستان»)
  2. جابجایی دو حرف مجاور (مانند تبدیل «صمنوعی» به «مصنوعی»)
  3. حذف یک حرف (مانند تبدیل «کوویر» به «کویر»)
  4. درج یک حرف (مانند تبدیل «خاب» به «خواب»)

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

چند نکته:

  • بکارگیری یکی از الگوریتم‌های جستجوی فصل 3 یا 4 بخش مهمی از نمره است.
  • آخرین زمان برای تحویل پروژه بدون کسر نمره، آخرین جلسه آذر ماه است.

کدها:                                     کدهای پروژه