وبلاگ دیجی پروژه

پروژه و ترجمه های هوش مصنوعی

وبلاگ دیجی پروژه

پروژه و ترجمه های هوش مصنوعی

وبلاگ دیجی پروژه

دیجی پروژه را در کانال تلگرام دیجی پروژه دنبال نمایید
https://telegram.me/DigiProjects

آخرین نظرات

۱ مطلب با کلمه‌ی کلیدی «سودوکو» ثبت شده است

۱۴
بهمن

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

 

مسئله سودوکو

سودوکو مسئله مشهوری است که در آن جدولی با ابعاد مختلف n*n شامل اعدادی از 1 تا 9 میباشد و این اعداد باید طوری در جدول چیده شوند که در هر سطر و  ستون همه این اعداد بصورت غیر تکرای وجود داشته باشند. شروط اصلی پر کردن جدول سودوکو با اعداد موجود به این صورت است که:

► مقادیر هر ستون منحصر به فرد باشند

► مقادیر هر سطر منحصر به فرد باشد(یعنی عدد تکراری نداشته باشیم)

► مقدار هر مربع N*Nداخلی منحصر به فرد باشد.

 

الگوریتم A*

جست وجوی آگاهانه A*، مینیمم کردن کل هزینه جواب میباشد، که معروفترین شکل"جست وجوی اول - بهترین" است. این روش گره ها را با ترکیب g(n) یعنی هزینه رسیدن به گره و h(n) یعنی هزینه رسیدن از این گره به گره هدف، ارزیابی میکند، پس هزینه مسیر ، f(n) = g(n) +h(n) میباشد.

این استراتژی فراتر از منطقی بودن است، بطوریکه اگر تابع ابتکاری h(n) بعضی از شرایط را برآورده کند، جست وجوی A* کامل و بهینه است.

 

روش برنامه سودوکو با تکنیک *A 

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

این برنامه از دوبخش تشکیل شده است:

1. بخش نمایشی

2. بخش اصلی یا همان کلاس Sudoku

 

در این بخش مقدار آرایه ورودی را دریافت و به سازنده کلاس Sudoku  ارسال می کند.

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

مقدار  صفر در رشته ی ورودی بیانگر نقاط خالی در جدول می باشد.

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


دانلود