پرش به محتوای اصلی

عضو هیئت علمی دانشگاه — دکتری هوش مصنوعی و رباتیکز

اللّهُمَّ عَجِّلْ لِوَلِیِّکَ الْفَرَج

آزمایشگاه تعاملی هوش مصنوعی

الگوریتم‌های مهم هوش مصنوعی را اینجا زنده ببینید و با آن‌ها کار کنید: الگوریتم ژنتیکی که نسل به نسل جواب مسئله N وزیر را تکامل می‌دهد، الگوریتمی که گروه‌های پنهان یک شبکه اجتماعی را کشف می‌کند، الگوریتم‌های جستجویی که راه خروج از ماز را می‌یابند، و شطرنج با هوش مصنوعی‌ای که با جستجوی تخاصمی (مینیمکس و آلفا-بتا) فکر می‌کند و فکرش را به شما نشان می‌دهد. همه‌چیز در مرورگر شما اجرا می‌شود.

گسترش‌یافته در هر عمقاز سمت هدف (دوطرفه)

کنسول اجرا 8-puzzle.log
    گره‌های گسترش‌یافته
    0
    بیشترین مرز (حافظه)
    —
    طول جواب (حرکت)
    —
    هزینه
    —
    قابل حل؟
    —

    چطور کار می‌کند؟

    جستجوی ناآگاهانه (کور) هیچ اطلاعی از فاصله هر وضعیت تا هدف ندارد: فقط وقتی هدف را ببیند آن را می‌شناسد و تفاوت الگوریتم‌ها تنها در ترتیب گسترش گره‌هاست. سطح‌اول لایه‌به‌لایه جلو می‌رود و کوتاه‌ترین جواب را پیدا می‌کند ولی مرزش مثل b^d بزرگ می‌شود. عمق‌اول در یک شاخه شیرجه می‌زند؛ حافظه بسیار کمی می‌خواهد ولی جوابش ممکن است بسیار طولانی باشد. عمق محدود در عمق مشخصی می‌ایستد و عمیق‌شونده تکراری حدهای ۰، ۱، ۲ و … را امتحان می‌کند و بهترینِ هر دو را دارد: کوتاه‌ترین جواب با حافظه عمق‌اول، به بهای گسترش دوباره لایه‌های کم‌عمق (در نمودار ببینید). هزینه یکنواخت ارزان‌ترین مسیر را زودتر گسترش می‌دهد و وقتی هزینه حرکت‌ها متفاوت است بهینه می‌ماند. دوطرفه از دو سر جستجو می‌کند و در وسط به هم می‌رسد: حدود ۲·b^(d/2) گره به‌جای b^d.

    معمای ۸ دارای ۹!/۲ = ۱۸۱٬۴۴۰ وضعیت قابل‌دسترس است و نیمه دیگر هرگز در دسترس نیست، چون هیچ حرکتی زوجیت وارونگی‌ها را عوض نمی‌کند. «حالت حل‌نشدنی» را بزنید و ببینید کدام الگوریتم‌ها می‌توانند بفهمند جوابی نیست (کامل بودن). با A* در تب «الگوریتم‌های جستجو» مقایسه کنید که از تابع ابتکاری استفاده می‌کند. منابع درس هوش مصنوعی