
الگوریتم A*
الگوریتم A* که به آن “اول بهترین” هم گفته میشود، یک الگوریتم جستجوی آگاهانه است که در پیمایش گراف و درخت در کامپیوتر مورد استفاده قرار میگیرد.
هدف این الگوریتم یافتن یک پاسخ (هدف) برای یک مساله است. از این الگوریتم معمولا در بازیهای کامپیوتری و حل مسائل استفاده میشود.
روش کار این الگوریتم به این صورت است که تابع ارزیابی با عنوان (f(n در نظر گرفته میشود و برای هر گره یک مقدار برای این تابع محاسبه میشود و در بین گره های موجود آنکه مقدار تابع ارزیابی آن بهینه تر باشد برای بسط انتخاب میشود.
هوش مصنوعی
هوش مصنوعی یا Artificial Intelligence در واقع به عملکرد انسان گونه یک ماشین گفته میشود.
در بازیهای کامپیوتری برای شبیه سازی رفتار انسانی برای کامپیوتر و حل مسائل، از الگوریتم های هوش مصنوعی نظیر A* یا الگوریتم ژنتیک و… بهره میبریم.
الگوریتم های بسیاری برای حل مسائل هوش مصنوعی وجود دارد، اما برای حل هر مساله، باید به دنبال سریعترین و آسان ترین و کم هزینه ترین راه حل باشیم.
در کامپیوتر، منابع محدود هستند یعنی میزان حافظه و سرعت پردازشگر به عنوان هزینه های حل مساله در نظر گرفته میشوند. بنابراین باید به دنبال راه حل هایی باشیم که سریعتر به جواب میرسند و حافظه کمتری نیز اشغال میکنند. در الگوریتم های A* دقیقاً به دنبال چنین راه حل هایی هستیم.
در پازل فوق، یک جدول 3×3 شامل 8 تصویر و یک فضای خالی داریم که ابتدا کاربر با استفاده از دکمه های موجود، عکس را به هم میریزد و کامپیوتر سعی در حل پازل و تصحیح عکس فوق میکند.
در این پروژه از تعدادی آرایه و لیست برای شبیه سازی و ذخیره یک درخت استفاده شده است.
ویدیو
ویدیویی این پروژه را میتوانید در زیر مشاهده کنید:
دانلود
جهت دانلود نسخه اجرایی این پروژه اینجا کلیک کنید
سورس برنامه
جهت دریافت سورس برنامه با ما تماس بگیرید.
ایمیل: mryazdi89[at]gmail.com