تقریباً همه ما با الگوریتمهای گراف و هوش مصنوعی آشنا هستیم و یا نام آنها را شنیدهایم. یکی از این الگوریتمها، جستجوی اول عمق یا DFS است. این الگوریتم بسیار معروف است و در بسیاری از اپلیکیشنهای روز دنیا در حال استفاده می باشد. الگوریتمی که با کمک DFS کار میکند و نسبتاً DFS را بهتر کرده است، DLS میباشد. Depth limit search یا جستجوی عمق محدود بهمانند DFS عمل میکند اما تا عمقی مشخص به جستجو میپردازد و سعی در حل مسئله دارد. در این قسمت تصمیم گرفتیم سورس الگوریتم DLS در پایتون را تهیه و آماده نماییم. با ما همراه باشید تا این سورس کد را به شما معرفی کنیم. همچنین پیشنهاد میکنم از دیگر سورسهای ما نیز دیدن فرمایید:
- سورس حل بازی Maze
- سورس بازی 2048
- سورس بازی pacman
- سورس بازی دوز یا tic tac toe
- سورس بازی سودوکو یا sodoku
- سورس بازی شطرنج
سورس الگوریتم DLS در پایتون
الگوریتمهای مختلفی در دنیای امروز بوجود آمده است که با کمک این الگوریتمها، مسائل مختلف را میتوان حل کرد. یکی از مسائلی که الگوریتمهای مختلف بدنبال حل آن هستند جستجو در یک گراف است. الگوریتم BFS یا DFS یا … برای این منظور استفاده میشوند. الگوریتمی که امروز معرفی خواهیم کرد DLS نام دارد. Depth limit search یا DLS بسیار مشابه DFS است و تنها تفاوت آن جستجو در عمقی محدود است و از آن فراتر نمیرود. از این الگوریتم در هوش مصنوعی نیز استفاده میشود. در حقیقت IDDFS که یک الگوریتم در زمینه هوش مصنوعی است از DLS استفاده میکند. در سورس الگوریتم DLS در پایتون ابتدا یک گراف را ایجاد میکنیم و سپس الگوریتم DLS را بر روی آن اعمال خواهیم کرد. توجه داشته باشید که در الگوریتم DLS بدنبال یک گره(Node) درون گراف هستیم.
نحوه اجرای الگوریتم DLS
پس از تهیه سورس کد از سایت کدگیت، فایلی با فرمت zip در اختیار شما قرار میگیرد. این فایل را از حالت zip خارج نمایید. حال میتوانید محتوای سورس را مشاهده کنید. فایل اصلی برنامه main.py نام دارد. این فایل را اجرا نمایید تا برنامه برای شما اجرا گردد. خروجی برنامه به صورت زیر است:
1 2 3 4 5 6 7 8 9 10 Target is reachable
ما گراف زیر را به عنوان ورودی به برنامه الگوریتم DLS دادهایم و Node شروع را ریشه تنظیم نمودیم. همچنین node شماره 10 را target یا هدف انتخاب کردهایم. ارتفاع انتخابی برای DLS نیز عدد 3 می باشد. در خروجی مشاهده میکنید که این سورس کد تمامی Nodeهایی که ملاقات می کند را در خروجی چاپ می نماید. اگر به node هدف بتوانیم برسیم متن Target is reachable چاپ میشود در غیر این صورت متن Target is NOT reachable چاپ خواهد شد. لازم به ذکر است خروجی برنامه در کنسول چاپ میشود.
نصب پایتون
اگر پایتون را در سیستم خود نصب نکردهاید ویدئو آموزش زیر نحوه نصب پایتون در ویندوز را نمایش میدهد:
نقد و بررسیها
هنوز بررسیای ثبت نشده است.