درس هوش مصنوعی | مفاهیم پایه به زبان ساده — منابع، کتاب و فیلم آموزشی
درس هوش مصنوعی یکی از درسهای تخصصی رشتههای علوم کامپیوتر، مهندسی کامپیوتر و مهندسی فناوری اطلاعات است. با توجه به گسترش چشمگیر هوش مصنوعی در جهان، میتوان گفت این درس یکی از مهمترین دروس رشته کامپیوتر به حساب میآید. به ویژه، برای دانشجویان و فارغالتحصیلانی که قصد ادامه تحصیل در گرایش هوش مصنوعی را دارند، این درس بسیار اهمیت دارد. در این نوشتار، منابع فارسی و انگلیسی درس هوش مصنوعی معرفی و پیشنیازهای این درس فهرست شدهاند. همچنین، چکیدهای از این درس ارائه و به این سوال پاسخ داده شده است که ایده اصلی درس هوش مصنوعی چیست؟ سپس، هر یک از سرفصلهای درس هوش مصنوعی به طور خلاصه و فشرده شرح داده شدهاند. این مقاله بر اساس کتاب هوش مصنوعی راسل و نورویگ تدوین شده است. در پایان نیز، فیلمها و دورههای آموزشی مرتبط با درس هوش مصنوعی معرفی شدهاند.
درس هوش مصنوعی چیست ؟
درس هوش مصنوعی یکی از دروس تخصصی رشته کامپیوتر در مقطع کارشناسی است. این درس با عناوینی همچون «هوش مصنوعی و سیستمهای خبره» و «مبانی و کاربردهای هوش مصنوعی» در دانشگاههای ایران ارائه میشود. مفاهیم مقدماتی و مباحث پایه هوش مصنوعی در این درس پوشش داده شدهاند.
آشنایی با مفاهیم پایه علوم کامپیوتر از جمله طراحی الگوریتم، ساختمان داده و نظریه محاسبات پیش از مطالعه درس هوش مصنوعی لازم است. همچنین، آشنایی با برخی مباحث ریاضی از قبیل حساب دیفرانسیل و جبر خطی نیز به فهم و درک بهتر برخی از مباحث مطرح شده در درس هوش مصنوعی کمک میکنند. دانشجویان کامپیوتر معمولاً درس هوش مصنوعی را در سال دوم (نیمسال چهارم) یا سوم (نیمسال پنجم یا ششم) مقطع کارشناسی میگذرانند.
درس هوش مصنوعی یکی از منابع تخصصی کنکور کارشناسی ارشد کامپیوتر گرایش هوش مصنوعی به شمار میرود. این درس برای دانشجویان و فارغالتحصیلان مقطع کارشناسی که قصد ادامه تحصیل و شرکت در کنکور کارشناسی ارشد گرایش هوش مصنوعی را دارند، بسیار مهم است.
امتیاز درس هوش مصنوعی برای کنکور ارشد کامپیوتر- گرایش هوش مصنوعی برابر با ۱۶۶ است. درس هوش مصنوعی پیشرفته نیز یکی از دروس رشته هوش مصنوعی در مقطع کارشناسی ارشد محسوب میشود. درس هوش مصنوعی پیشرفته ادامه درس هوش مصنوعی مقطع کارشناسی به حساب میآید. در ادامه، به معرفی دروسی پرداخته شده است که پیشنیاز درس هوش مصنوعی به شمار میروند.
پیش نیاز درس هوش مصنوعی چیست ؟
پیشنیاز درس هوش مصنوعی، درس ساختمان داده و الگوریتمها است. در واقع، پیشنیاز درس هوش مصنوعی ، آشنایی با مفاهیم ابتدایی علوم کامپیوتر یعنی الگوریتمها، ساختمان داده و پیچیدگی محاسباتی است.
پیشنیازهای درس ساختمان دادهها و الگوریتمها درسهای برنامهنویسی پیشرفته و ریاضیات گسسته است. درس مبانی برنامهنویسی پیشنیاز درسهای برنامهنویسی پیشرفته و ریاضیات گسسته به حساب میآید.
کارگاه مبانی کامپیوتر همنیاز درس مبانی برنامهنویسی و کارگاه برنامهنویسی پیشرفته نیز همنیاز درس برنامهنویسی پیشرفته است. همچنین، درس جبرخطی کاربردی نیز همنیاز درس هوش مصنوعی محسوب میشود.
برای انتخاب درس جبرخطی کاربردی، قبولی در درس ریاضی عمومی ۲ لازم است. درس ریاضی عمومی ۱ هم پیشنیاز درس ریاضی ۲ به شمار میرود.
بنابراین، برای اینکه بتوان درس هوش مصنوعی را انتخاب کرد، قبولی در درسهای زیر لازم است:
- ریاضی عمومی ۱
- ریاضی عمومی ۲
- ریاضیات گسسته
- مبانی برنامهنویسی
- کارگاه مبانی برنامهنویسی
- برنامهنویسی پیشرفته
- کارگاه برنامهنویسی پیشرفته
- ساختمان داده و الگوریتمها
منابع درس هوش مصنوعی چه هستند ؟
منبع اصلی درس هوش مصنوعی که در اکثر دانشگاههای کشور تدریس میشود، کتاب هوش مصنوعی استوارت راسل و پیتر نورویگ به نام «Artificial Intelligence: A Modern Approach» است.
این کتاب با ترجمههای مختلف و عناوین مختلفی در ایران منتشر شده است. بهتر است منابع درس هوش مصنوعی را به دو دسته منابع فارسی و منابع انگلیسی تقسیم کرد. در ادامه، منابع فارسی درس هوش مصنوعی معرفی شدهاند.
منابع درس هوش مصنوعی به زبان فارسی کدامند؟
ترجمه کتاب راسل و نورویگ از جعفرنژاد قمی با عنوان «هوش مصنوعی (رهیافتی نوین)» منبع اصلی درس هوش مصنوعی در دانشگاه پیام نور به حساب میآید. همچنین، ترجمههای دیگری نیز از این کتاب موجود است. «هوش مصنوعی از دیدگاهی نو» یکی دیگر از نسخههای ترجمه شده این کتاب به شمار میرود که مترجمین آن حمیدرضا قنبری و سجاد محمدزاده هستند.
یکی دیگر از نسخههای ترجمه شده کتاب هوش مصنوعی راسل و نورویگ، با عنوان «هوش مصنوعی همراه با بازنگری کامل» توسط انتشارات نصیر منتشر شده و مترجم آن دکتر هشام فیلی است. طبق نظرات موجود در وب فارسی، ترجمه دکتر فیلی بهترین و محبوبترین نسخه ترجمه شده این کتاب به شمار میرود. کتاب هوش مصنوعی نوشته آیدین خوشنویس حسینی نیز یکی دیگر از کتابهای فارسی هوش مصنوعی به حساب میآید. در ادامه، به معرفی منابع مناسب درس هوش مصنوعی برای کنکور کارشناسی ارشد پرداخته شده است.
منابع مناسب درس هوش مصنوعی برای کنکور ارشد کدامند؟
در پاسخ به این سوال باید گفت که حتی در خصوص کنکور ارشد نیز کتاب هوش مصنوعی راسل و نورویگ همچنان بهترین منبع به حساب میآید. اما پس از مطالعه این کتاب، بهتر است از سایر کتابهایی که شامل تست و نمونه سوال هستند نیز برای تسلط و یادگیری بیشتر استفاده کرد.
از جمله سایر کتابهای مناسب برای آمادهسازی کنکور کارشناسی ارشد گرایش هوش مصنوعی، میتوان به کتاب هوش مصنوعی پوران پژوهش و کتاب هوش مصنوعی انتشارات پارسه اثر حمیدرضا طارمیان اشاره کرد. در ادامه، بهترین منابع انگلیسی هوش مصنوعی معرفی شدهاند.
بهترین منابع انگلیسی برای درس هوش مصنوعی کدامند؟
بدون شک ویرایش سوم کتاب هوش مصنوعی استوارت راسل و پیتر نورویگ را میتوان بهترین منبع انگلیسی درس هوش مصنوعی دانست.
در ادامه این بخش، سایر کتابهای زبان اصلی فهرست شدهاند که میتوانند در دسته بهترین منابع انگلیسی درس هوش مصنوعی در سال ۱۴۰۰ قرار گیرند.
- Artificial Intelligence Engines: A Tutorial Introduction to the Mathematics of Deep Learning | موتورهای هوش مصنوعی: آموزش آشنایی با ریاضیات یادگیری عمیق | James V Stone
- Artificial Intelligence By Example | هوش مصنوعی همراه با مثال | Denis Rothman
- Artificial Intelligence and Machine Learning | هوش مصنوعی و یادگیری ماشین | Chandra S.S.V
- Artificial Intelligence Basics: A Non-Technical Introduction | مبانی هوش مصنوعی: یک معرفی غیرفنی | Tom Taulli
- A First Course in Artificial Intelligence | دوره مقدماتی هوش مصنوعی | Deepak Khemani
- Applied Artificial Intelligence: A Handbook for Business Leaders | هوش مصنوعی کاربردی: راهنمایی برای رهبران کسب و کارها | Mariya Yao, Adelyn Zhou, Marlene Jia
- Basics of Artificial Intelligence & Machine Learning | هوش مصنوعی و یادگیری ماشین مقدماتی | Dr. Dheeraj Mehrotra
- Python: Beginner’s Guide to Artificial Intelligence | راهنمای مقدماتی برای هوش مصنوعی با پایتون | Rahul Kumar, Ankit Dixit, Denis Rothman, Amir Ziai
- Artificial Intelligence: Learning Automation Skills with Python | هوش مصنوعی: آموزش مهارتهای اتوماسیون با پایتون | Chris Baker
- Machine Learning for Dummies | یادگیری ماشین برای مبتدیان | John Mueller and Luca Massaron
با توجه به اهمیت کتاب هوش مصنوعی راسل و نورویگ ، در بخش بعدی توضیحات بیشتری پیرامون این کتاب ارائه شده است.
کتاب هوش مصنوعی راسل و نورویگ
«کتاب هوش مصنوعی - رویکردی نوین» اثر استوارت راسل و پیتر نورویگ است. این کتاب با هدف تدریس در دانشگاه و به عنوان یک منبع دانشگاهی منتشر شده است. کتاب هوش مصنوعی (رهیافتی نوین) ترجمه جعفرنژاد قمی منبع درس هوش مصنوعی دانشگاه پیام نور محسوب میشود.
همچنین، این کتاب یکی از منابع اصلی برای آمادگی در آزمون کارشناسی ارشد به شمار میرود. این کتاب دارای ۲۷ فصل است که هر فصل آن به صورت هفتگی در طول ترم تدریس میشود. تدریس کامل این کتاب دو نیمسال (ترم) کامل زمان میبرد.
عنوان درس مهندسی اینترنت برای دانشجویان رشته مهندسی کامپیوتر پیام نور ورودی سال ۹۷ به بعد، «مبانی و کاربردهای هوش مصنوعی» و برای دانشجویان ورودی قبل از سال ۹۷، «هوش مصنوعی و سیستمهای خبره» نام دارد که تنها هفت فصل ابتدایی کتاب هوش مصنوعی راسل و نورویگ را شامل میشود. تنها پیشنیاز این کتاب، آشنایی با مفاهیم ابتدایی علوم کامپیوتر یعنی الگوریتمها، ساختمان داده و پیچیدگی محاسباتی است.
طبق آنچه در مقدمه کتاب بیان شده است، یک دانشجوی سال دوم در مقطع کارشناسی میتواند این درس را بگذراند. بهتر است آشنایی مقدماتی با مفاهیم حساب دیفرانسیل، انتگرال و جبر خطی برای درک بهتر برخی از مباحث این کتاب وجود داشته باشد. در ادامه، سرفصلهای این کتاب برای درس هوش مصنوعی فهرست شدهاند.
سرفصلهای کتاب هوش مصنوعی (رهیافتی نوین)
همانطور که بیان شد، کتاب هوش مصنوعی راسل و نورویگ شامل ۲۷ فصل است که تنها ۷ فصل ابتدایی آن به عنوان منبع درس هوش مصنوعی دانشگاه پیام نور و اکثر دانشگاههای کشور تعیین شده است.
در این بخش سرفصلهای این هفت فصل فهرست شدهاند:
- فصل اول | مقدمه (معرفی): در فصل اول درس هوش مصنوعی ، پیرامون چیستی هوش مصنوعی، زیربنای هوش مصنوعی، تاریخچه هوش مصنوعی و کاربردهای آن بحث شده است.
- فصل دوم | عامل هوشمند: این فصل راجع به عاملها و محیطها، رفتار مناسب و مفهوم عقلانیت، طبیعت محیط و ساختار عاملهای هوشمند است.
- فصل سوم | حل مسائل با جستجو: مباحث مطرح شده در این فصل شامل عاملهای حلکننده مسئله، جستجو برای رسیدن به جواب، سازِکارهای جستجو یکپارچه، سازِکارهای جستجو ابتکاری (Heuristic) و توابع ابتکاری است.
- فصل چهارم | فراتر از جستجو سنتی: الگوریتمهای جستجوی محلی و مسائل بهینهسازی، جستجوی محلی در فضاهای پیوسته، جستجو با اعمال غیر قطعی، جستجو با نگرش نسبی، عاملهای جستجوی برخط و محیطهای ناشناخته از جمله مباحثی هستند که در این فصل مطرح میشوند.
- فصل پنجم | جستجوی خصمانه: مباحث این فصل شامل بازیها، تصمیمگیری بهینه در بازیها، هرس کردن آلفا-بتا، تصمیمگیری جزئی زمان واقع، بازیهای تصادفی، بازیهای نیمه رویتپذیر، آخرین پیشرفتها در برنامههای بازی و روشهای جایگزین است.
- فصل ششم | مسائل ارضای محدودیت: در این فصل، تعریف مسائل ارضای محدودیت (CSP)، انتشار محدودیت: استنتاج در CSPها، جستجوی پسگرد برای CSPها، جستجوی محلی برای CSPها و ساختار مسئلهها ارائه شدهاند.
- فصل هفتم | عاملهای منطقی: عاملهای دانش محور، جهان وامپوس، منطق، منطق گزارهای، اثبات نظریه گزارهای، بررسی مدل گزارهای موثر و عاملهای مبتنی بر منطق گزارهای مباحثی هستند که در آخرین فصل درس هوش مصنوعی مطرح میشوند.
پیش از شروع شرح هر یک از سرفصلها و مباحث آموزشی درس هوش مصنوعی، بهتر است ابتدا به این سوال پاسخ داده شود که هوش مصنوعی چیست و شاخههای مختلف آن چه هستند؟ این کار در ادامه انجام شده است.
هوش مصنوعی چیست ؟
در علوم کامپیوتر، اصطلاح هوش مصنوعی (Artifitial Intelligence | AI) به هر نوع هوشمندی انسان گونهای گفته میشود که توسط یک کامپیوتر، ربات یا هر ماشین دیگری بروز داده شود. در یک کاربرد رایج، هوش مصنوعی به توانایی یک کامپیوتر در تقلید از توانمندیهای ذهن انسان گفته میشود.
بنابراین، بهترین راه برای درک چیستی هوش مصنوعی، مقایسه آن با هوش انسان است، چرا که انسان هوشمندترین گونه از موجودات شناختهشده در جهان به شمار میرود. هوش مصنوعی شاخه وسیعی از علوم کامپیوتر به حساب میآید. هدف هوش مصنوعی ایجاد سیستمهایی است که بتوانند به طور هوشمند و مستقل عمل کنند. در ادامه، هر یک از شاخههای هوش مصنوعی معرفی شدهاند.
شاخههای مختلف هوش مصنوعی چه هستند؟
هوش مصنوعی خود شاخهای از علوم کامپیوتر است. «یادگیری ماشین» و «یادگیری نمادین» را میتوان شاخههای اصلی هوش مصنوعی در نظر گرفت. یادگیری ماشین به دو شاخه یادگیری آماری و یادگیری عمیق تقسیم میشود. «بینایی ماشین» و «رباتیک» نیز دو شاخه از یادگیری نمادین هستند. در ادامه، هر یک از حوزههای هوش مصنوعی به بیان ساده و کوتاه شرح داده شدهاند.
تشخیص گفتار
برای برقراری ارتباط، انسانها میتوانند به زبانهای مختلف صحبت کنند و بشنوند. معادل این توانایی در هوش مصنوعی حوزه تشخیص گفتار (Speech Recognition) است. بخش وسیعی از تشخیص گفتار مبتنی بر علم آمار است که به آن یادگیری آماری (Statistical Learning) گفته میشود.
تشخیص گفتار به توانایی ماشین در فهم کلمات بیان شده گفته میشود. یک میکروفن صدای شخصی را ضبط میکند و سختافزار سیگنال مربوطه را از امواج صدای آنالوگ به صوت دیجیتال تبدیل میکند. سپس، داده صوتی توسط نرمافزار پردازش میشود تا صدا را به صورت کلمات مجزا تفسیر کند.
پردازش زبان طبیعی
انسانها میتوانند به زبانهای مختلفی متن را بخوانند و بنویسند. این توانایی در هوش مصنوعی به حوزه پردازش زبان طبیعی (Natural Language Processing) مربوط میشود. پردازش زبان طبیعی که با سرنام NLP خطاب میشود، شاخهای از هوش مصنوعی است که با تعامل میان کامپیوترها و انسانها از طریق زبان طبیعی سر و کار دارد.
هدف نهایی NLP در خواندن، دریافت کردن، درک کردن و فهمیدن زبانهای انسانی و به کار گرفتن این توانایی در کاربردهای ارزشآفرین خلاصه میشود.
بینایی ماشین
انسانها میتوانند با چشمان خود ببینند و آنچه را میبینند پردازش کنند. حوزه بینایی ماشین (بینایی کامپیوتر | Computer Vision) این امکان را در هوش مصنوعی امکانپذیر میسازد. بینایی ماشینی بخشی از روشهای یادگیری نمادین (Symbolic Learning) برای پردازش اطلاعات توسط کامپیوترها محسوب میشود.
انسانها صحنههای اطراف را از طریق چشمان خود تشخیص میدهند. این کار منجر به ایجاد تصاویری از آن جهان میشود. به کارگیری حوزه پردازش تصویر با وجود اینکه مستقیماً به هوش مصنوعی ارتباط ندارد، برای بینایی ماشین ضروری است.
رباتیک
انسانها میتوانند درکی از محیط اطراف خود داشته و به راحتی در محیط حرکت کنند. به این حوزه در هوش مصنوعی رباتیک (Robotics) گفته میشود. رباتیک نقطه تلاقی علم، مهندسی و فناوری برای تولید ماشینهایی به نام ربات محسوب میشود. یک ربات رفتار انسان را تقلید میکند و میتواند جایگزین آن شود.
ربات ماشینی است که میتواند برای انجام یک سری اقدامات پیچیده برنامهریزی شود. سه محور اصلی رباتیک، تفکر (Think)، حس (Sense) و عمل (Act) است. یعنی تنها در صورتی میتوان یک ماشین را ربات نامید که بتواند حس کند، فکر کند و عمل کند.
تشخیص الگو
انسانها توانایی دیدن الگوها را دارند. مثلاً میتوانند اشیا مشابه را دستهبندی کنند. به این حوزه در هوش مصنوعی بازشناسی الگو (تشخیص الگو | Pattern Recognition) گفته میشود.
حتی در حوزه تشخیص الگو، ماشینها مهارت بیشتری دارند، زیرا آنها میتوانند از دادهها و ابعاد داده بیشتری استفاده کنند. تشخیص الگو بخشی از حوزه یادگیری ماشین به حساب میآید.
شبکههای عصبی مصنوعی
مغز انسان متشکل از شبکهای از نورونها (Neuron) است. انسانها از این شبکه نورونها برای یادگیری استفاده میکنند.
در صورتی که امکان بازتولید ساختار و کارکرد مغز انسان به وجود بیاید، ممکن است بتوان در ماشینها به قابلیتهای هوشمندانه دست یافت. به این حوزه در هوش مصنوعی شبکههای عصبی مصنوعی (Artificial Neural Networks) گفته میشود.
یادگیری عمیق
در صورتی که شبکههای عصبی پیچیدهتر و عمیقتر شوند و از آنها برای یادگیری مسائل پیچیده استفاده شود، به آن یادگیری عمیق (Deep Learning) گفته میشود. یادگیری عمیق دارای انواع و روشهای مختلفی برای بازتولید عملکرد مغز انسان است.
شبکه عصبی پیچشی
در صورتی که از شبکههای عصبی مصنوعی برای مرور تصاویر (مثلاً از بالا به پایین یا از چپ به راست) استفاده شود، به آن شبکه عصبی پیچشی (شبکه عصبی کانولوشن | Convolutional Neural Network) گفته میشود که آن را با سرنام CNN میشناسند.
از CNN برای شناسایی اشیا (Object Recognition) در یک صحنه استفاده میشود. بنابراین، بینایی ماشین با استفاده از CNN نیز امکانپذیر است.
شبکه عصبی بازگشتی
انسانها میتوانند گذشته را به یاد بیاورند. مثلاً میتوانند اینکه شب گذشته چه چیزی خوردهاند را به یاد بیاورند. میتوان یک شبکه عصبی را به یادآوری گذشته به میزان محدود وا داشت. به این حوزه در هوش مصنوعی شبکه عصبی بازگشتی (Recurrent Neural Network) گفته میشود.
میتوان به این نتیجه رسید که هوش مصنوعی به دو روش عمل میکند. یک روش به صورت نماد محور و دیگری به صورت داده محور است. در روش داده محور، که به آن یادگیری ماشین گفته میشود، باید دادههای زیادی را برای یادگیری در اختیار ماشین قرار داد.
یادگیری ماشین چیست ؟
یادگیری ماشین کاربردی از هوش مصنوعی است که امکان یادگیری خودکار و بهبود تجربه یادگیری را بدون برنامهریزی دقیق برای ماشین فراهم میکند. یادگیری ماشین بر توسعه برنامههای کامپیوتری تمرکز دارد که میتوانند به داده دسترسی داشته و از آن برای یادگیری به صورت خودکار استفاده کنند. به عنوان مثال، اگر دادههای زیادی وجود داشته باشد که نسبت فروش به هزینه تبلیغات را نشان دهند، میتوان این دادهها را در فضای دوبُعدی رسم کرد و به نوعی الگو دست یافت.
اگر ماشین بتواند چنین الگویی را یاد بگیرد، آنگاه میتواند بر اساس آنچه آموخته پیشبینی انجام دهد. در حالی که درک و یادگیری فضاهای یک، دو یا سه بُعدی برای انسانها ساده است، ماشینها میتوانند در ابعاد بسیار بالاتری یادگیری داشته باشند. ماشینها میتوانند مقادیر زیادی از دادهها را پردازش کنند و الگوهایی را تعیین کنند. وقتی ماشین چنین الگوهایی را بیاموزد، میتواند پیشبینیهایی را انجام دهد که انسان هرگز امکان انجام آن را نخواهد داشت.
فنون یادگیری ماشین چه هستند ؟
میتوان از هر یک از فنون یادگیری ماشین برای حل مسائل استفاده کرد. از جمله این فنون میتوان دستهبندی (Classification) یا پیشبینی (Prediction) را نام برد.
به عنوان مثال، وقتی از دادههای مشتریان برای تخصیص آنها به یک گروه خاص (مثل بزرگسالان جوان) استفاده شود، آنگاه عملیات دستهبندی انجام شده است. در صورتی که از دادهها برای پیشبینی از دست دادن مشتریان استفاده شود، از روش پیشبینی در یادگیری ماشین استفاده شده است.
یادگیری نظارت شده و نظارت نشده چیست ؟
رویکرد دیگری برای دستهبندی الگوریتمهای یادگیری در هوش مصنوعی وجود دارد. در این رویکرد، الگوریتمها به دو دسته کلی نظارت شده و نظارت نشده تقسیم میشوند. در ادامه این بخش از مطلب درس هوش مصنوعی، هر یک از این دو دسته شرح داده شدهاند.
یادگیری نظارت شده
در صورتی که یک الگوریتم با دادههایی آموزش داده شود که شامل جواب هستند، این الگوریتم در دسته یادگیری نظارت شده (Supervised Learning) قرار میگیرد. برای مثال، وقتی یک ماشین برای شناسایی افراد به وسیله نام آنها آموزش داده میشود، باید اسامی آنها را برای کامپیوتر مشخص کرد.
یادگیری نظارت نشده
در صورتی که یک الگوریتم یا دادهها برای تشخیص الگوها آموزش داده شود، به آن یادگیری غیر نظارت نشده (unsupervised Learning) گفته میشود. مثلاً در یادگیری نظارت نشده، دادههای مربوط به اجرام آسمانی در جهان هستی به ماشین خورانده میشوند و این انتظار از ماشین وجود دارد که به تنهایی الگوهایی را در دادهها بیابد.
یادگیری تقویتی
اگر برای هر الگوریتمی یک هدف تعیین شود و این انتظار از ماشین وجود داشته باشد که از طریق آزمون و خطا به آن هدف دست یابد، آنگاه به این کار یادگیری تقویتی (Reinforcment Learning) گفته میشود.
بنابراین، معرفی شاخههای مختلف هوش مصنوعی در اینجا به پایان میرسد. در ادامه مقاله درس هوش مصنوعی ، چکیدهای از این درس ارائه شده است.
چکیده درس هوش مصنوعی
محور اصلی درس هوش مصنوعی مفهوم «عامل هوشمند» یا «کارگزار هوشمند» است که در انگلیسی به آن «Intelligent Agent» گفته میشود. هوش مصنوعی در مطالعه عاملهایی تعریف میشود که درکی از محیط به دست میآورند و بر اساس آن اعمالی را انجام میدهند. هر یک از این عاملها (کنشگرها یا کارگزارها) با پیادهسازی یک تابع، توالیهای ادراک (Percept) را به اعمال (Action) نگاشت میدهند.
در درس هوش مصنوعی روشهای مختلفی برای ارائه و نمایش این توابع به کار گرفته میشود. برخی از این روشها شامل موارد زیر است:
- کارگزاران یا عوامل واکنشی (واکنش دهنده) | Reactive Agent
- برنامهریز زمان واقعی | Real Time Planner
- سیستمهای مبتنی بر نظریه تصمیم | Decision Theoretic Systems
در درس هوش مصنوعی ، نقش یادگیری در گسترش دسترسی طراح به محیطهای ناشناخته شرح داده میشود. همچنین جایگاه یادگیری، طراحی عامل را به نفع بازنمایی صریح دانش و استدلال محدود میکند. در درس هوش مصنوعی ، با بینایی و رباتیک به عنوان مسائل مستقل از هم برخورد نمیشود. بلکه، آنها به عنوان اجزایی در خدمت رسیدن به اهداف در نظر گرفته میشوند. درس هوش مصنوعی بر اهمیت محیط کاری (Task Environment) در تعیین طراحی عامل مناسب تاکید دارد.
هدف اصلی درس هوش مصنوعی انتقال ایدههایی است که در طول سالهای متمادی در تحقیقات هوش مصنوعی پدید آمدهاند. از الگوریتمهای شبهکد برای درک بهتر ایدهها و مفاهیم کلیدی در درس هوش مصنوعی استفاده شده است. در ادامه مقاله درس هوش مصنوعی به آموزش فشرده این درس پرداخته و خلاصهای از هر یک از هفت فصل ابتدایی کتاب هوش مصنوعی راسل و نورویگ ارائه شده است.
معرفی فیلم آموزش درس هوش مصنوعی
تا اینجا مشخص شد که به طور قطع کتاب هوش مصنوعی راسل و نورویگ بهترین و رایجترین منبع برای درس هوش مصنوعی به حساب میآید. بنابراین در این مقاله، آموزش درس هوش مصنوعی بر اساس سرفصلها و محتوای ارائه شده در این کتاب ارائه شده است. آموزش درس هوش مصنوعی به بیان ساده و به صورت فشرده ارائه میشود. به گونهای که بتوان با مطالعه این مقاله، محتوای اصلی درس هوش مصنوعی را در سریعترین زمان ممکن آموخت و ایده کلی نسبت به سرفصلهای آن به دست آورد. با مطالعه آموزش درس هوش مصنوعی در این مقاله، پیشزمینهای از این درس در ذهن مخاطب شکل میگیرد تا از میزان دشواری مطالعه کتابها و استفاده از سایر منابع جامعتر کاسته شود. در ادامه، مجموعه دورههای آموزشی هوش مصنوعی سایت فرادرس معرفی شدهاند.
معرفی مجموعه فیلم های آموزش هوش مصنوعی
مجموعه دورههای آموزشی هوش مصنوعی فرادرس شامل ۲۸ عنوان آموزشی مختلف و در مجموع دارای ۲۷۷ ساعت محتوای ویدئویی است. کلیه آموزشهای مرتبط با هوش مصنوعی در صفحه مجموعه آموزش هوش مصنوعی در سایت فرادرس گردآوری شدهاند. دورههای آموزشی مختلفی در حوزه هوش مصنوعی از قبیل یادگیری ماشین، یادگیری عمیق، شبکههای عصبی، منطق فازی، پردازش تصویر، الگوریتمهای بهینهسازی هوشمند، داده کاوی و سایر موارد در سطح مقدماتی تا پیشرفته و در بسترها و فناوریهای مختلفی همچون پایتون، OpenCV، متلب، GAMS و دیگر موارد در این مجموعه موجود است. در ادامه، برخی از دورههای شاخص این مجموعه معرفی شدهاند.
- فیلم آموزش هوش مصنوعی - مقدماتی: طول مدت این دوره 4 ساعت و ۳4 دقیقه و مدرس آن دکتر محمد صبری است. در این دوره آموزشی سرفصلهای درس هوش مصنوعی پوشش داده شدهاند. برای دیدن فیلم آموزش هوش مصنوعی - مقدماتی + کلیک کنید.
- فیلم آموزش هوش مصنوعی – تکمیلی: طول مدت این دوره آموزشی ۱۸ ساعت و ۵۵ دقیقه و مدرس آن مهندس منوچهر بابایی است. این دوره آموزشی نیز برای یادگیری درس هوش مصنوعی و آمادهسازی برای شرکت در آزمون کارشناسی ارشد مناسب است. برای دیدن فیلم آموزش هوش مصنوعی – تکمیلی + کلیک کنید.
- فیلم آموزش شبکه های عصبی مصنوعی در متلب: طول مدت این دوره ۲۸ ساعت و مدرس آن دکتر مصطفی کلامی هریس است. این دوره آموزشی از هفت فرادرس جامع پیرامون شبکههای عصبی مصنوعی تشکیل شده و برای دانشجویان کارشناسی و کارشناسی ارشد رشتههای مختلفی که با شبکههای عصبی مصنوعی سر و کار دارند مناسب است. برای دیدن فیلم آموزش شبکه های عصبی مصنوعی در متلب + کلیک کنید.
- فیلم آموزش بهینه سازی چند هدفه در متلب: طول مدت این دوره ۱۸ ساعت و ۵۳ دقیقه و مدرس آن دکتر مصطفی کلامی هریس است. مباحث تئوری و عملی مربوط به بهینه سازی چند هدفه در این دوره آموزش داده میشود. برای دیدن فیلم آموزش بهینه سازی چند هدفه در متلب + کلیک کنید.
- فیلم آموزش سیستم های فازی در متلب: طول مدت این دوره ۲۰ ساعت و ۳۹ دقیقه و مدرس آن دکتر مصطفی کلامی هریس است. دوره آموزش سیستم های فازی یک مجموعه کامل، شامل تقریبا ۲۱ ساعت فیلم آموزشی به زبان فارسی است. برای دیدن فیلم آموزش سیستم های فازی در متلب + کلیک کنید.
- فیلم آموزش نرم افزار گمز (GAMS): طول مدت این دوره ۱۶ ساعت و مدرس آن دکتر مسعود آتش پز است. نرمافزار گمز یک ابزار قدرتمند و فراگیر است که برای حل مدلهای ریاضی برای حل مسائل تصمیمگیری بهینه با محدودیت زمان، هزینه و منابع، حتی در ابعاد بزرگ به کار میرود. برای دیدن فیلم آموزش نرم افزار گمز (GAMS) + کلیک کنید.
- فیلم های آموزش کاربردی شبکه های عصبی مصنوعی: طول مدت این مجموعه ۸ ساعت و ۳۸ دقیقه و مدرس آن دکتر اسماعیل آتشپز گرگری است. این مجموعه پنج فرادرس در زمینه شبکههای عصبی مصنوعی و کاربردهای آنها را شامل میشود. برای دیدن فیلمهای آموزش کاربردی شبکه های عصبی مصنوعی + کلیک کنید.
- برای دیدن همه فیلمهای آموزش هوش مصنوعی + کلیک کنید.
در ادامه، به فصل اول درس هوش مصنوعی پرداخته شده است.
فصل اول: معرفی هوش مصنوعی
در فصل اول کتاب هوش مصنوعی، نویسندگان راسل و نورویگ سعی در بیان اهمیت درس هوش مصنوعی و ارزش بالای آموزش آن داشتهاند. فصل اول راجع به چیستی هوش مصنوعی (AI) و ارائه مقدمهای پیرامون این مفهوم است.
در مقدمه این فصل بیان شده است که هوش مصنوعی یک زمینه نوظهور و به سرعت در حال رشد است. به این سبب، AI محبوبیت بسیاری دارد و افراد زیادی در حال ورود به این حوزه هستند. در ادامه، پیرامون مفهوم هوشمندی توضیحاتی کوتاه ارائه شده است.
هوشمندی چیست ؟
این که گفته میشود انسان یک موجود هوشمند است، به نحوه تفکر او مربوط میشود. هوشمندی به معنی چگونگی تشخیص، فهم، پیشبینی و ایجاد تغییر در جهانی بزرگتر و پیچیدهتر از خود است. زمینه هوش مصنوعی یا AI در گامی فراتر، نه تنها در تلاش برای رسیدن به درک و فهم است، بلکه سعی در ایجاد عوامل هوشمند دارد.
AI چیست ؟
در اولین بخش از فصل اول درس هوش مصنوعی ، تعاریفی برای AI یا هوش مصنوعی ارائه شده است. در واقع هشت تعریف AI در چهار دسته زیر طبقهبندی شدهاند:
- تفکر انسانگونه | رویکرد مدلسازی شناختی
- تفکر عاقلانه | رویکرد قانون تفکر
- رفتار انسانگونه | رویکرد آزمون تورینگ
- رفتار عاقلانه | رویکرد عامل منطقی
برخی از تعاریف هوش مصنوعی بر اساس میزان موفقیت در بازتولید رفتار انسان شکل میگیرند و برخی تعاریف نیز هوش مصنوعی را بر اساس میزان عقلانیت (Rationality) میسنجند. یک سیستم در صورتی عاقل یا منطقی شناخته میشود که بر اساس آنچه میداند، «کار درست» را انجام دهد. رویکرد رفتار انسانی باید تا حدودی تجربی و شامل مشاهدات و فرضیههایی پیرامون رفتار انسان باشد. رویکرد عقلانی هم شامل ترکیبی از ریاضیات و مهندسی است.
هوش مصنوعی با رویکرد رفتار انسانی
در رویکرد رفتار انسانی (آزمون تورینگ) کامپیوتر نیاز به داشتن مهارتهای زیر دارد:
- پردازش زبان طبیعی: برای اینکه بتواند صحبت کند.
- بازنمایی دانش: برای ذخیره کردن آنچه میداند یا میشنود.
- استدلال خودکار: برای اینکه از اطلاعاتی که ذخیره کرده برای پاسخ به سوالات و نتیجهگیریهای جدید استفاده کند.
- یادگیری ماشین: برای وفق دادن خود با شرایط جدید و شناسایی و قیاس کردن الگوها
- بینایی کامپیوتر: برای درک اشیا
- رباتیک: برای دستکاری اشیا و حرکت کردن
دو توانایی بینایی و رباتیک مربوط به «آزمون کامل تورینگ» هستند. شش مهارت فهرست شده فوق تقریباً اکثر مباحث هوش مصنوعی را در بر میگیرند.
هوش مصنوعی با رویکرد تفکر انسانی
در رویکرد تفکر انسانی، ماشین به گونهای برنامهریزی میشود که مانند انسان فکر کند. برای رسیدن به این مهارت، ابتدا باید مشخص شود که ذهن انسان چطور کار میکند؟ سه روش برای درک نحوه کارکرد ذهن انسان وجود دارد:
- خود اندیشی (Introspection): یعنی انسان سعی در قاپیدن افکار خود در لحظه داشته باشد.
- آزمایش روانشناختی: رصد رفتار انسان
- تصویربرداری از مغز: رصد رفتار مغز انسان
علم شناختی (Cognative Science): علم چند رشتهای شناختی، مدلهای کامپیوتری در هوش مصنوعی را به روشهای تجربی در روانشناسی پیوند میدهد تا نظریههای دقیق و قابل آزمایشی از ذهن انسان را پدید آورد. علم شناختی واقعی لزوماً مبتنی بر تحقیقات تجربی انسانها است و به همین دلیل در کتاب هوش مصنوعی راسل و نورویگ به آن پرداخته نشده است.
هوش مصنوعی با رویکرد تفکر عاقلانه
«تفکر صحیح» به مراحل استدلال انکارناپذیر گفته میشود. قیاسهای منطقی (syllogism) فیلسوف یونانی، آریستاتول، الگوهایی برای ساختارهای استدلال فراهم میکنند که در صورت در اختیار داشتن فرضیات درست، به نتایج درستی منتج میشوند. تحقیقات فیلسوفان منجر به پدید آمدن عرصه منطق شد.
از گذشتههای دور، برنامههایی وجود داشتهاند که میتوانستند هر نوع مسئله قابل حلی را در قالب منطقی حل کنند. سنت منطقگرایانه نهفته در هوش مصنوعی سعی در استفاده از چنین برنامههایی برای ایجاد سیستمهای هوشمند دارد. در این رویکرد، دو مانع اصلی وجود دارد:
- استفاده از دانش غیررسمی و بیان آن با عبارات رسمی مورد نیاز قالب منطقی خصوصاً وقتی قطعیت دانش کمتر از ۱۰۰ درصد باشد، کار سادهای نیست.
- تفاوت زیادی میان حل کردن یک مسئله از نظر اصولی و حل کردن آن در عمل وجود دارد.
هوش مصنوعی با رویکرد رفتار عاقلانه
رفتار عاقلانه با رویکرد عامل منطقی امکانپذیر است. یک عامل (Agent) به موجودیتی گفته میشود که عملی را انجام میدهد. انتظار میرود عاملهای کامپیوتری کاری بیش از برنامههای کامپیوتری انجام دهند. این اعمال مورد انتظار در ادامه فهرست شدهاند:
- عملکرد خودسازمانده (مستقلانه)
- داشتن درکی از محیط اطراف
- مقاومت یا باقی ماندن در مدت طولانی
- وفق دادن خود با تغییرات
- ایجاد و دنبال کردن اهداف
عامل منطقی: عامل منطقی به گونهای عمل میکند که به «بهترین نتیجه» دست یابد و در صورت وجود عدم قطعیت، به «بهترین نتیجه مورد انتظار» برسد.
یک عامل منطقی پیش از آنکه عمل منطقی و عاقلانه انجام دهد، باید از تفکر و استنتاج منطقی برخوردار باشد. از طرف دیگر، استنتاج صحیح تماماً عقلانیت نیست و در برخی مواقع کار صحیح اثبات شدهای برای انجام دادن وجود ندارد، اما در هر صورت باید کاری انجام شود. رویکرد عامل منطقی به دلایل زیر شباهت و نزدیکی زیادی با رویکرد آزمون تورینگ دارد:
- بازنمایی دانش و استنتاج امکان رسیدن به تصمیمگیریهای مناسب را فراهم میکند.
- باید امکان تولید جملات قابل درک به زبان طبیعی وجود داشته باشد تا بتوان در یک جامعه پیچیده دوام آورد.
- نیاز به یادگیری وجود دارد، نه فقط برای فضل و دانش، بلکه به خاطر اینکه یادگیری مهارت ماشین در تولید رفتار موثر را بهبود میدهد.
رویکرد عامل منطقی نسبت به دیگر رویکردها دارای دو مزیت است:
- عامل منطقی بازه گستردهتری نسبت به رویکرد قوانین تفکر را در بر میگیرد، زیرا استنتاج صحیح تنها یکی از سازکارهای متعدد ممکن برای دستیابی به عقلانیت است.
- عامل منطقی با پیشرفت و توسعه علمی نسبت به رویکردهای مبتنی بر رفتار انسانی یا تفکر انسانی سازگاری بیشتری دارد.
بنابراین، کتاب هوش مصنوعی راسل و نورویگ بر اصول کلی عاملهای منطقی و بر مولفههای سازنده آنها تمرکز دارد. بر خلاف سادگی مشهودی که در بیان کردن یک مسئله وجود دارد، هنگام سعی در حل مسئله، مشکلات گوناگونی پدید میآیند. در فصل دوم به برخی از این مشکلات پرداخته شده است.
نکته مهم: دست یافتن به عقلانیت بینقص (همیشه کار درست را انجام دادن) به دلیل بار محاسباتی زیاد، همیشه در محیطهای پیچیده امکان پذیر نخواهد بود. بخش بعدی فصل اول به تاریخچه AI اختصاص دارد که در ادامه آموزش درس هوش مصنوعی به آن پرداخته شده است.
زیربنای هوش مصنوعی
در این بخش از فصل اول درس هوش مصنوعی ، تاریخچه مختصری از زمینههای علمی ارائه شده است که ایدهها، نقطهنظرها و روشهایی را به هوش مصنوعی اهدا کردهاند. این تاریخچه در کتاب بر اساس تعدادی سوال سازماندهی شده است. زمینههای علمی الهامبخش هوش مصنوعی شامل موارد زیر است:
- فلسفه
- آیا میتوان از قوانین قاعدهمند برای نتیجهگیری معتبر استفاده کرد؟
- ذهن چگونه از یک مغز جسمانی نشات میگیرد؟
- منشأ دانش کجاست؟
- چگونه دانش به عمل منتج میشود؟
- ریاضیات
- قوانین قاعدهمند برای نتیجهگیری معتبر چه هستند؟
- چه چیزی قابل محاسبه است؟
- چگونه باید با اطلاعات غیرقطعی استدلال کرد؟
- اقتصاد
- برای بیشینه کردن بازدهی چگونه باید تصمیمگیری کرد؟
- چگونه میتوان کاری را انجام داد وقتی دیگران همراهی نمیکنند؟
- چگونه میتوان کاری را انجام داد وقتی بازدهی در آینده دور اتفاق میافتد؟
- علم اعصاب
- مغز چگونه اطلاعات را پردازش میکند؟
- روانشناسی
- انسانها و حیوانات چگونه فکر و رفتار میکنند؟
- مهندسی کامپیوتر
- چگونه میتوان یک کامپیوتر بهینه ساخت؟
- نظریه کنترل و فرمانشناسی (Control Theory and Cybernetics)
- یک مصنوع ساخته دست انسان چگونه تحت کنترل خودش عمل کند؟
- زبانشناسی
- زبانها چگونه با افکار مرتبط هستند؟
بخش بعدی فصل اول درس هوش مصنوعی به تاریخچه هوش مصنوعی اختصاص دارد که در ادامه به شرح آن پرداخته شده است.
تاریخچه هوش مصنوعی
پس از ارائه نیازمندیهای پسزمینه و مقدمات لازم، در این بخش از فصل اول درس هوش مصنوعی ، سیر تکاملی و تاریخچه هوش مصنوعی پوشش داده شده است. تاریخچه هوش مصنوعی در کتاب راسل و نورویگ به ترتیب در بازههای زمانی مختلف در زیربخشهایی ارائه شده است. در ادامه، هر یک از این زیربخشها به همراه بازه زمانی آنها به تاریخ شمسی فهرست شدهاند:
- مرحله شکلگیری هوش مصنوعی (۱۳۲۲ تا ۱۳۳۴)
- تولد هوش مصنوعی (۱۳۳۵)
- اشتیاق اولیه، انتظارات بزرگ (۱۳۳۱ تا ۱۳۴۸)
- مایهای از واقعیت (۱۳۴۵ تا ۱۳۵۲)
- سیستمهای دانشبنیان؛ کلید قدرت (۱۳۴۸ تا ۱۳۵۸)
- هوش مصنوعی به صنعت بدل میشود (۱۳۵۹ تا زمان حال)
- بازگشت شبکههای عصبی (۱۳۶۵ تا زمان حال)
- هوش مصنوعی روش علمی را در پیش میگیرد (۱۳۶۶ تا زمان حال)
- ظهور عوامل هوشمند (۱۳۷۴ تا حال)
- در دسترس بودن مجموعه دادههای بسیار بزرگ (۱۳۸۰ تا حال)
در ادامه فصل اول درس هوش مصنوعی به شرح فهرستی از تاریخچه هوش مصنوعی پرداخته شده است.
تاریخچه مختصری از هوش مصنوعی
فهرست خلاصه شدهای از تاریخچه هوش مصنوعی در ادامه آمده است.
- ۱۳۲۹: آزمون تورینگ توسط آلن تورینگ معرفی شد. در همان سال، آیزیک آسیموف قوانین سهگانه رباتیک را تعریف کرد.
- ۱۳۳۰: اولین برنامه مبتنی بر AI نوشته شد.
- ۱۳۳۴: اولین برنامه خودآموزی ساخته شد که بازی کامپیوتری انجام میداد.
- ۱۳۳۸: آزمایشگاه هوش مصنوعی MIT راهاندازی شد.
- ۱۳۴۰: اولین ربات در خط تولید شرکت جنرال موتور به کار گرفته شد.
- ۱۳۴۳: اولین نسخه آزمایشی ارائه شد که زبان طبیعی را میفهمد.
- ۱۳۴۴: اولین ربات گفتگو (چتبات) به نام الایزا (Eliza) اختراع شد.
- ۱۳۵۳: اولین وسیله نقلیه خودران در آزمایشگاه هوش مصنوعی دانشگاه استنفورد ساخته شد.
- ۱۳۶۸: دانشگاه کارنگی ملون اولین وسیله نقلیه خودران با استفاده از شبکه عصبی را ساخت.
- ۱۳۷۶: کامپیوتر شطرنجباز شرکت IBM به نام Deep Blue استاد بزرگ گری کاسپاروف را در بازی شطرنج شکست داد.
- ۱۳۷۸: سونی سگ رباتیک آیبو را معرفی کرد. در همان سال، اولین هوش مصنوعی عاطفی توسط آزمایشگاه هوش مصنوعی MIT رونمایی شد.
- ۱۳۸۳: نهاد DARPA اولین چالش وسیله نقلیه خودران را معرفی کرد.
- ۱۳۸۸: گوگل شروع به ساخت یک خودرو خودران میکند.
- ۱۳۸۹: از امکان نوشتن گزارش توسط هوش مصنوعی شرکت Narrative Science رونمایی شد.
- ۱۳۹۰: هوش مصنوعی IBM Watson قهرمانان مسابقه تلویزیونی Jeopardy را شکست داد. در همان سال، Google Now ،Siri و Cortana تبدیل به جریان اصلی شدند.
- ۱۳۹۴: ایلان ماسک و سایرین کمک مالی یک میلیارد دلاری به شرکت تحقیقات هوش مصنوعی OpenAI را اعلام کردند.
- ۱۳۹۵: هوش مصنوعی DeepMind به نام AlphaGo، قهرمان کرهای بازی Go را شکست میدهد. در همان سال، دانشگاه استنفورد گزارش ۱۰۰ ساله هوش مصنوعی را منتشر کرد. همچنین، دانشگاه کالیفرنیا مرکز هوش مصنوعی سازگار با انسان را راهاندازی کرد.
در ادامه فصل نخست درس هوش مصنوعی به کاربردهای AI آن پرداخته شده است.
کاربردهای هوش مصنوعی
در بخش پایانی فصل اول درس هوش مصنوعی به برخی از کاربردهای AI پرداخته شده است.
در اینجا نیز این کاربردها فهرست شدهاند:
- وسایل نقلیه رباتیک: برای یک وسیله نقلیه رباتیک یا خودرو خودران، اتومبیل استنلی مثال زده شده است که فناوری سال ۱۳۸۴ محسوب میشود. استنلی در چالش بزرگ دارپا برنده شده است. این ماشین خودران با استفاده از تجهیز یک خودرو معمولی به دوربین، رادار و فاصله یاب لیزری برای حس کردن محیط مجهز شده بود. نرمافزاری هم برای کنترل فرمان، ترمز و شتاب ساخته شده بود.
- تشخیص گفتار: برای کاربرد تشخیص گفتار، یک سیستم خودکار تشخیص صدا و مدیریت گفتگو برای بخش پاسخگویی تلفنی فروش بلیت شرکت هواپیمایی United Airlines مثال زده شده است.
- برنامهریزی و زمانبندی خودکار: برای این بخش از برنامه عامل راه دور (Remote Agent) ناسا اولین برنامه برای برنامهریزی خودکار در کنترل زمانبندی عملیات مربوط به یک فضاپیما نام برده شده است.
- Deep Blue برای کاربرد هوش مصنوعی در انجام بازی، از اولین کامپیوتری نام برده شده است که توانست قهرمان جهان را در یک مسابقه شطرنج شکست دهد. این کامپیوتر Deep Blue نام دارد که ساخته شرکت IBM است. در فهرست تاریخچه AI (بخش قبلی) به Deep Blue اشاره شد.
- مبارزه با هرزنامه: الگوریتمهای یادگیری برای جلوگیری و مقابله با هرزنامهها عملکرد مطلوبی دارند. زیرا هرزنامهنویسان به طور مداوم شگردهای خود را تغییر میدهند.
- برنامهریزی تدارکاتی (Logistics Planning): ابزار تجزیه-تحلیل و برنامهریزی مجدد به نام DART توسط نیروهای آمریکایی برای برنامهریزی تدارکات و زمانبندی حمل و نقل پیادهسازی شده است.
- رباتیک: شرکت iRobot بیش از دو میلیون ربات جاروبرقی را به نام Roomba فروخته است.
- ترجمه ماشینی: برنامهای که از یک مدل آماری و از مثالهای ترجمه شده یک زبان به زبان دیگر، برای ترجمه خودکار متن استفاده میکند.
بهتر است در بخش پایانی فصل اول درس هوش مصنوعی ، خلاصه این فصل ارائه شود.
خلاصه فصل اول
فصل اول، تعریفی از AI ارائه و پیشینه فرهنگی را برپا میکند که هوش مصنوعی بر اساس آن توسعه یافته است.
در ادامه این بخش، خلاصه فصل اول درس هوش مصنوعی به صورت فهرستوار ارائه شده است.
- افراد مختلف با اهداف مختلفی به هوش مصنوعی رجوع میکنند. دو سوال مهم در تعریف AI مطرح است:
- آیا دغدغه تفکر است یا رفتار؟
- آیا هدف مدلسازی انسان است یا کار بر اساس یک استاندارد آرمانی؟
- درس هوش مصنوعی از دیدگاه رفتار منطقی به هوش مصنوعی میپردازد. در حالت ایدهآل، یک عامل هوشمند در هر شرایطی بهترین رفتار را از خود بروز میدهد. در درس هوش مصنوعی مسئله ایجاد عاملهایی مورد مطالعه قرار میگیرد که در مضمون رفتار عقلانی دارای هوشمندی باشند.
- فیلسوفان با در نظر گرفتن ایدههایی مبنی بر اینکه ذهن شبیه به ماشین و بر اساس دانش در قالب یک زبان درونی عمل میکند و از تفکر میتوان برای انتخاب رفتار و عمل استفاده کرد، هوش مصنوعی را امکانپذیر کردهاند.
- ریاضیدانها ابزارهایی را برای دستکاری گزارههای منطقی قطعی و همچنین گزارههای احتمالاتی غیرقطعی فراهم ساختهاند. همچنین ریاضیدانها، محاسبات و استدلال پیرامون الگوریتمها را زمینهسازی کردهاند.
- اقتصاددانها مسئله تصمیمگیری را رسمیت بخشیده و فرمولهسازی کردهاند. این کار، نتایج مورد انتظار را برای تصمیمگیرنده بیشینه میکند.
- دانشمندان علوم اعصاب حقایقی را پیرامون نحوه عملکرد مغز و شباهتها و تفاوتهای مغز را با کامپیوترها کشف کردهاند.
- روانشناسان این ایده را به کار گرفتهاند که انسانها و حیوانات میتوانند به عنوان ماشینهای پردازش اطلاعات در نظر گرفته شوند. زبانشناسان نشان دادند که استفاده از زبان هم در این مدل میگنجد.
- مهندسان کامپیوتر، ماشینهایی قدرتمندتر از همیشه ساختهاند که کاربردهای مختلف هوش مصنوعی را امکانپذیر میسازد.
- نظریه کنترل با طراحی دستگاههایی سر و کار دارد که به طور بهینه بر اساس بازخورد از محیط عمل میکنند. در ابتدا، ابزارهای ریاضی در نظریه کنترل با هوش مصنوعی به کلی متفاوت بودند، اما این دو زمینه علمی در حال نزدیکتر شدن به یکدیگر هستند.
- تاریخچه هوش مصنوعی دارای چرخههای موفقیت، خوشبینیهای نابهجا و تبدیل کاستیها به انگیزه و سرمایهگذاری بوده است. همچنین، چرخههایی از معرفی روشهای خلاقانه جدید و پالایش نظاممند بهترین روشها در تاریخچه هوش مصنوعی اتفاق افتاده است.
- به دلیل استفاده بیشتر از روشهای علمی در آزمایش و مقایسه رویکردها، هوش مصنوعی با سرعت بیشتری در دهه گذشته پیشرفت کرده است.
- پیشرفتهای اخیر در درک اساس نظری برای هوشمندی، به موازات پیشرفتها در قابلیتهای سیستمهای واقعی اتفاق افتاده است. زیرشاخههای هوش مصنوعی به همبستگی بیشتری رسیدهاند و AI به زمینههای مشترکی با سایر رشتههای علمی دست پیدا کرده است.
به این ترتیب، فصل اول درس هوش مصنوعی در اینجا به پایان میرسد. در ادامه، به شرح فصل دوم این درس پرداخته شده است.
فصل دوم: عاملهای هوشمند
در فصل دوم درس هوش مصنوعی ، پیرامون ذات عاملها، بینقص یا دارای نقص، گوناگونی محیطها و انوع عاملهای مختلف بحث شده است. در فصل اول، مفهوم «عاملهای منطقی» به عنوان رویکرد محوری درس هوش مصنوعی تعیین شد، حال در فصل دوم، بر این فرضیه تاکید بیشتری شده است.
در این فصل مشخص خواهد شد که مفهوم عقلانیت میتواند به طیف وسیعتری از عاملهایی اختصاص داده شود که در هر محیط قابل تصوری فعالیت میکنند. مقصود درس هوش مصنوعی استفاده از مفهوم عقلانیت در توسعه چند قاعده طراحی است. تا از این قواعد برای ساخت عاملها و سیستمهای موفقی استفاده شود که بتوان آنها را هوشمند نامید. در ادامه به شرح عاملها و محیطها پرداخته شده است.
عاملها و محیطها
در این بخش ابتدایی از فصل دوم درس هوش مصنوعی ، مفاهیم پایه و مقدماتی عامل، ادراک و توالی ادارک، انتخاب عمل، تابع عامل و برنامه عامل تعریف شدهاند. در انتهای این بخش نیز، برای شفافسازی و درک بهتر مفاهیم، یک مثال ساده به نام «جهان جاروبرقی تنها با دو موقعیت» ارائه شده است.
عامل چیست ؟
یک عامل به هر چیزی گفته میشود که بتواند از طریق حسگرها درکی از محیط داشته باشد و به وسیله اهرُمها (Actuator) در داخل محیط عمل انجام دهد. برای درک بهتر حسگر و اهرم، میتوان یک انسان را مثال زد. یک عامل انسانی دارای چشم، گوش و سایر اعضا به عنوان حسگر است و اعضایی مثل دستها، پاها، دستگاه صوتی و دیگر موارد را به عنوان اهرم استفاده میکند.
ادراک و توالی ادارک چه هستند؟
از اصطلاح ادراک (دریافت | Percept) برای اشاره به ورودیهای حسی و ادراکی عامل در هر لحظه استفاده میشود. به تاریخچه کامل همه آنچه که عامل تاکنون دریافت و درک کرده است، توالی ادراک گفته میشود.
انتخاب عمل چیست؟
واضح است که انتخاب عمل به این معنی است که عامل بر اساس دانشی که دارد، انتخاب کند در یک لحظه چه عملی را انجام دهد. به طور کلی، «انتخاب عمل» (Choice of Action) یک عامل در هر لحظه میتواند به کل توالی ادراک تا آن لحظه وابسته باشد و نه آنچه هنوز دریافت نشده است.
تابع عامل چیست ؟
رفتار یک عامل از جنبه ریاضی به وسیله تابع عامل توصیف میشود. تابع عامل هر توالی ادراک معین را به یک عمل نگاشت میکند. میتوان تابع عامل توصیف کننده هر عامل را جدولبندی کرد. برای اکثر عاملها، این جدول بسیار بزرگ یا حتی بینهایت خواهد بود. مگر اینکه محدودیتی بر تعداد توالیهای ادراکی اعمال شود. این جدول میتواند اینگونه ایجاد شود که تمام توالیهای ادراک ممکن امتحان و اعمالی که عامل در پاسخ انجام میدهد ثبت شوند.
برنامه عامل چیست ؟
البته، جدول توصیف بیرونی یک عامل به حساب میآید. از جنبه داخلی، تابع عامل برای یک عامل مصنوعی به وسیله یک «برنامه عامل» پیادهسازی میشود. تابع عامل یک توصیف ریاضی انتزاعی است. اما، برنامه عامل، پیادهسازی محسوس و عینی است که در چارچوب یک سیستم فیزیکی اجرا میشود.
جهان ساده جاروبرقی
برای شفافسازی مفاهیم بیان شده پیرامون عاملها و محیط، یک جهان سادهسازی شده برای عامل جاروبرقی در نظر گرفته میشود. این جهان تنها دارای دو موقعیت A و B است. هر موقعیت به صورت یک محدوده مربعی شکل در نظر گرفته میشود. عامل جاروبرقی درک میکند که در کدام مربع قرار دارد. همچنین جاروبرقی میتواند کثیفی یا تمیزی مربعی که در آن قرار دارد را درک کند. جاروبرقی میتواند اعمال زیر را انتخاب کند:
- به سمت راست برود.
- به سمت چپ برود.
- مکش انجام دهد.
- هیچ کاری انجام ندهد.
یک تابع عامل ساده میتواند به صورت زیر توصیف شود:
- اگر مربع فعلی کثیف است، مکش کن؛ در غیر اینصورت، به مربع بعدی برو.
بخشی از جدولبندی تابع عامل برای جهان ساده جاروبرقی به صورت زیر است:
در بخش بعدی فصل دوم، به مفهوم عقلانیت (منطق) پرداخته شده است.
رفتار مناسب: مفهوم عقلانیت
در این بخش از فصل دوم درس هوش مصنوعی، پیرامون چیستی عامل منطقی، عقلانیت، چیستی کار درست، معیار عملکرد، همه چیز دانی، گردآوری اطلاعات، یادگیری و خودمختاری بحث شده است. در ادامه، هر یک از این مفاهیم به صورت فشرده و چکیده شرح داده شدهاند.
عامل منطقی چیست ؟
عامل منطقی به عاملی گفته میشود که کار درست را انجام دهد. از نظر مفهومی، یعنی هر ورودی در جدول تابع عامل به درستی پر شده است. اما، انجام کار درست به چه معناست؟ در ادامه به این موضوع پرداخته شده است.
کار درست به چه چیزی میگویند؟
با در نظر گرفتن عواقب رفتار عامل، میتوان کار درست را تعیین کرد. وقتی یک عامل در محیطی قرار داده میشود، این عامل بر اساس ادراکی که دریافت میکند، یک توالی از اعمال را تولید میکند. این توالی اعمال باعث میشود که توالی از حالتها در محیط رخ بدهد. در صورتی که این توالی حالتهای محیط مطلوب و مقبول باشند، آنگاه عامل به درستی عمل کرده است.
معیار عملکرد یعنی چه؟
مفهوم مطلوبیت به وسیله «معیار عملکرد» تعیین میشود. معیار عملکرد، هر توالی معین از حالتهای محیط را ارزیابی میکند. باید توجه شود که معیار عملکرد نه بر اساس حالتهای عامل، بلکه بر اساس حالتهای محیط تعیین میشود. یک قانون جامع بیان میدارد که:
- بهتر است به جای معیار قرار دادن نحوه رفتار و عملکرد یک عامل، معیار عملکرد را بر اساس آنچه تعیین کرد که انتظار میرود در محیط اتفاق بیوفتد.
معقول بودن در یک زمان مشخص به چهار چیز بستگی دارد:
- معیار عملکردی که میزان موفقیت را تعریف میکند.
- دانش پیشین عامل از محیط
- اعمالی که عامل میتواند انجام دهد.
- توالی ادراک عامل تا آن لحظه
تعریف عامل منطقی
برای هر توالی ادراک، یک عامل منطقی باید عملی را انتخاب کند که بر اساس شواهد فراهم شده به وسیله توالی ادراک و دانش درونی عامل، معیار عملکرد بیشینه داشته باشد.
همه چیز دانی، یادگیری و خودمختاری
خلاصهای از مفاهیم بیان شده در این بخش از فصل دوم درس هوش مصنوعی در ادامه فهرست شده است:
- همهچیزدانی: باید به تفاوت داشتن عقلانیت و همهچیزدانی (Omniscience) توجه کرد. یک عامل همهچیزدان از نتیجه اعمالش باخبر است. اما همهچیزدانی در واقعیت غیرممکن است. عقلانیت کیفیت عملکرد «مورد انتظار» را بیشینه میکند، در حالی که کمالگرایی «خودِ عملکرد» را بیشینه میکند. اگرچه، باید اطمینان حاصل شود که سهواً اجازه رفتار غیرهوشمندانه به عامل داده نخواهد شد.
- گردآوری اطلاعات: گاهی به انجام اعمالی برای تغییر ادراکهای آتی، گردآوری اطلاعات گفته میشود. مثال دیگری از جمعآوری اطلاعات میتواند جستجوی اکتشافی (Exploration) باشد که باید توسط یک عامل جاروبرقی در محیطی انجام شود که در ابتدا ناشناخته محسوب میشود.
- یادگیری: یک عامل منطقی نه تنها باید اطلاعات را جمعآوری کند، بلکه تا حد امکان از ادراک خود یادگیری داشته باشد. یعنی از آنچه که دریافت میکند، یاد بگیرد.
- خودمختاری: یک عامل فاقد خودمختاری خواهد بود اگر به جای اتکا به ادراک خود، به دانش طراحش وابسته باشد. یک عامل منطقی باید خودمختار باشد. یعنی باید برای جبران دانش ابتدایی ناقص یا اشتباه خود از یادگیری استفاده کند. یک عامل در ابتدا خودمختار نخواهد بود. وقتی که عامل بیتجربه یا کمتجربه باشد، باید به صورت تصادفی عمل کند. مگر اینکه طراح به عامل کمک کند. پس از کسب تجربه کافی از محیط، یک عامل منطقی میتواند «مستقل» از دانش اولیه خود عمل کند. بنابراین، با استفاده از امکان یادگیری میتوان عامل منطقی را طراحی کرد که در بسیاری از محیطهای مختلف موفق ظاهر شود.
طبیعت محیط
در ادامه فصل دوم و این بخش از درس هوش مصنوعی نحوه مشخص کردن یک محیط کاری و مراحل انجام این کار با چند مثال آموزش داده شده است. سپس، نشان داده میشود که محیطهای کاری انواع مختلفی دارند. نوع محیط کاری مستقیماً نحوه طراحی درست برای یک برنامه عامل را تحت تاثیر قرار میدهد.
محیط کاری چیست ؟
«محیطهای کاری» (Task Environment) در اصل مسائلی هستند که عاملهای منطقی راه حلهای آنها به حساب میآیند.
مشخص کردن محیط کاری
در طراحی عامل، اولین گام همواره باید مشخص کردن محیط کاری باشد. این کار باید تا حد امکان به طور کامل انجام شود. مشخص کردن معیار عملکرد، محیط و حسگرها و اهرمهای عامل همگی تحت بخشهایی از مشخص کردن محیط کاری به حساب میآیند. مشخص کردن محیط کاری با مشخصات PEAS تعیین میشود. PEAS سرنامی برای کلمات زیر است:
- Performance | عملکرد
- Environment | محیط
- Actuators | اهرمها
- Sensors | حسگرها
پس از مثال دنیای جاروبرقی، در این بخش از درس هوش مصنوعی مسئله پیچیدهتری مطرح میشود. این مسئله، راننده تاکسی خودکار نام دارد. خلاصهای از محیط کاری یک تاکسی خودکار در جدول زیر آمده است:
عامل نرمافزاری چیست ؟
یک عامل نرمافزاری، ربات نرمافزاری یا سافتبات، در دامنههای غنی و نامحدود کاربرد دارد. میتوان یک سافتبات متصدی وب سایت برای جستجوی منابع خبری در اینترنت و نمایش موارد جالب توجه به کاربران را مثال زد. همزمان با این کار، این سافتبات میتواند برای کسب درآمد، فضای تبلیغاتی وبسایت را به فروش برساند.
برای اینکه این سافتبات متصدی کارش را به درستی انجام دهد، نیاز به پردازش زبان طبیعی خواهد داشت، باید یاد بگیرد که هر کاربر یا متقاضی تبلیغات چه خواستهها و علایقی دارند. این سافتبات باید طرح و برنامههای خود را به طور دائم تغییر دهد. به طور کلی هوشمندی در فضای نرمافزاری یا اینترنتی پیچیدگی بسیار بیشتری نسبت به فضای فیزیکی دارد.
خصوصیتهای محیط کار
با وجود وسعت محدوده محیطهای کاری در AI، میتوان تعداد کمی از ابعادی را نام برد که محیط کاری بر اساس آنها قابل دستهبندی است. این ابعاد به میزان زیادی طراحی عامل و کاربردی بودن هر یک از روشهای اصولی برای پیادهسازی عامل را تعیین میکنند. فهرستی از این ابعاد در ادامه آمده است:
- قابل مشاهده بودن کامل در برابر قابل مشاهده بودن ناقص: در صورتی که حسگر دسترسی کاملی از حالت محیط در هر لحظه از زمان به عامل بدهد، گفته میشود که محیط کاری کاملاً قابل مشاهده است. محیطهای قابل مشاهده کامل بیدردسر هستند، چون عامل نیازی به نگهداری هیچ حالت داخلی برای نظارت جهان نخواهد داشت. محیط قابل مشاهده ناقص در حالتی اتفاق میافتد که حسگرها نویزدار و نادقیق باشند یا اینکه بخشی از حالت در دادههای حسگر وجود نداشته باشد.
- تکعاملی در برابر چندعاملی: مثلاً عاملی که به تنهایی جدول حل میکند یک عامل تکی محسوب میشود. عاملی که شطرنج بازی میکند، در یک محیط دوعاملی قرار دارد. شطرنج یک محیط چندعاملی رقابتی محسوب میشود. یک محیط چندعاملی مشارکتی به محیطی گفته میشود که یک هدف مشترک برای عاملها در آن محیط وجود داشته باشد. برقراری ارتباط اغلب در محیطهای چندعاملی رفتاری منطقی به حساب میآید. در برخی از محیطهای رقابتی، رفتار تصادفی منطقی و عقلانی است چون از مشکلات پیشبینیپذیری اجتناب میشود.
- قطعی در برابر تصادفی: در صورتی که حالت بعدی محیط به طور کامل به وسیله حالت فعلی و عمل انجام شده توسط عامل مشخص شده باشد، گفته میشود که محیط قطعی و در غیر اینصورت تصادفی یا غیرقطعی است.
- مقطعی در برابر متوالی: در یک محیط کاری مقطعی، تجربه عامل به مقاطع تجزیهناپذیر تقسیم میشود. در هر مقطع، عامل ادراک یا آموزهای دریافت میکند و سپس یک عمل واحد را انجام میدهد. مرحله بعدی وابستگی به عمل انجام شده در مراحل بعدی ندارد. در محیطهای متوالی، تصمیمگیری فعلی میتواند روی همه تصمیمات آینده تاثیرگذار باشد.
- ایستا در برابر پویا: اگر امکان داشته باشد که محیط در حین سبک سنگین کردن عامل تغییر کند، آنگاه محیط پویا و در غیر اینصورت، ایستا خواهد بود.
- گسسته در برابر پیوسته: تفاوت گسستگی/پیوستگی، در حالت محیط، نحوه مدیریت زمان و ادراک و رفتار عامل بررسی میشود. مثلاً محیط بازی شطرنج (با حذف زمان) دارای تعدادی حالت متناهی (گسسته) است.
- شناختهشده در برابر ناشناخته: به بیان دقیق، تفاوت این دو نه در خود محیط بلکه در حالت دانش عامل یا طراحش درباره قوانین فیزیکی محیط تعریف میشود. در یک محیط شناخته شده، نتایج تمام اعمال در دسترس است. اگر محیط ناشناخته باشد، عامل باید نحوه کارکرد آن را یاد بگیرد تا بتواند تصمیمهای مناسبی اتخاذ کند.
سختترین و پیچیدهترین حالت برای محیط کاری دارای خصوصیات زیر است:
- قابل مشاهده ناقص
- چندعاملی
- تصادفی
- متوالی
- پویا
- پیوسته
- ناشناخته
بخش بعدی فصل دوم درس هوش مصنوعی مربوط به ساختار عامل است که در ادامه شرح داده شده است.
ساختار عامل
تا این بخش از درس هوش مصنوعی ، به وسیله توصیف رفتار، درباره عاملها بحث شده است. همانطور که بیان شد، رفتار عملی است که پس از هر توالی ادراک اجرا میشود. اکنون نوبت به آموزش نحوه کارکرد درونی یک عامل فرا رسیده است. کار AI طراحی برنامه عاملی است که تابع عامل یعنی همان نگاشت ادراک به عمل را پیادهسازی کند. برنامه عامل روی نوعی دستگاه کامپیوتری دارای حسگرها و اهرمهای فیزیکی اجرا میشود. به این دستگاه معماری گفته میشود. بنابراین عامل را میتوان به صورت زیر تعریف کرد:
عامل = معماری + برنامه
به طور واضح، برنامهای که انتخاب میشود باید با معماری سازگاری داشته باشد. معماری میتواند یک کامپیوتر شخصی معمولی یا یک اتومبیل رباتیک دارای چندین کامپیوتر، دوربین و سایر حسگرها باشد.
برنامههای عامل
برنامههای عاملی که در درس هوش مصنوعی طراحی میشوند، همگی ساختار یکسانی دارند. آنها ادراکهای دریافتی را به عنوان ورودی از حسگرها میپذیرند و یک عمل را به اهرمها باز میگردانند. تفاوت میان برنامه عامل و تابع عامل در این است که برنامه عامل ادراک فعلی را به عنوان ورودی دریافت میکند، در حالی که تابع عامل کل تاریخچه ادراک را میپذیرد. در کتاب هوش مصنوعی راسل و نورویگ، برنامه عامل به یک زبان شبهکد توصیف میشود. به عنوان مثال، در برنامه ساده زیر توالی ادراک عامل تحت نظر قرار میگیرد. سپس از آن برای تولید اندیس جدول اعمال (تابع عامل) استفاده میشود و به این وسیله تصمیمگیری برای اینکه چه کاری باید انجام شود اتفاق میافتد. مثالی از جدول تابع عامل برای دنیای جاروبرقی در ابتدای فصل دوم ارائه شده است.
1function TABLE-DRIVEN-AGENT(percept) returns an action
2
3persistent: percepts, a sequence, initially empty
4table, a table of actions, indexed by percept sequences, initially fully specified
5append percept to the end of percepts
6action ← LOOKU
7
رویکرد مبتنی بر جدول به هیچ وجه رویکرد مناسبی نیست و در عمل منجر به شکست خواهد شد. چرا که حتی برای سادهترین مسائل، تعداد ورودیهای جدول بسیار زیاد خواهد بود. دلایل شکست رویکرد استفاده از جدول برای تابع عامل در ادامه فهرست شدهاند:
- هیچ عامل فیزیکی در این جهان فضای کافی برای ذخیره جدول در اختیار نخواهد داشت.
- طراح زمان کافی برای ایجاد جدول نخواهد داشت.
- هیچ عاملی از طریق تجربه امکان یادگیری تمام ورودیهای صحیح جدول را نخواهد داشت.
- حتی اگر محیط برای تولید جدولی با اندازه معقول به میزان کافی ساده باشد، طراح همچنان راهنمایی برای نحوه پر کردن ورودیهای جدول نخواهد داشت.
چالش اصلی برای AI یافتن نحوه ایجاد برنامههایی است که به جای یک جدول بسیار بزرگ، تا حد امکان از یک برنامه نسبتاً کوچک برای تولید رفتار معقول استفاده کند. در ادامه فصل دوم درس هوش مصنوعی ، چهار نوع برنامه عامل سادهای شرح داده شدهاند که تقریباً اصول اساسی همه سیستمهای هوشمند را در بر میگیرند. این چهار نوع برنامه عامل، در ادامه فهرست شدهاند:
- عاملهای واکنشی ساده (Simple Reflex Agents)
- عاملهای واکنشی مبتنی بر مدل (Model-Based Reflex Agents)
- عاملهای مبتنی بر هدف (Goal-Based Agents)
- عاملهای مبتنی بر سودمندی (Utility-Based Agents)
هر نوع از برنامههای عامل فوق، اجزا خاصی را به روشهای خاصی برای تولید اعمال با هم ترکیب میکنند. در ادامه فصل دوم درس هوش مصنوعی ، چگونگی تبدیل تمام این عاملها به عاملهای یاد گیرنده شرح داده شده است. به گونهای که این عاملهای یادگیرنده بتوانند عملکرد اجزا خود را بهبود دهند و اعمال بهتری را تولید کنند. در نهایت، بخش آخر این فصل، به شرح انواع روشهایی اختصاص دارد که در آنها خود اجزا میتوانند در داخل عامل نمایش داده شوند.
عاملهای واکنشی ساده
سادهترین نوع عامل، عاملهای واکنشی ساده هستند. این عاملها، اعمال را بر اساس ادراک فعلی انتخاب میکنند و باقی تاریخچه ادراک را نادیده میگیرند. نمودار شماتیک یک عامل واکنشی ساده در ادامه آمده است.
به عنوان مثال، در جهان ساده جاروبرقی، تصمیمگیری عامل تنها مبتنی بر موقعیت فعلی و کثیف بودن یا نبودن آن موقعیت انجام میشود. برنامه عامل برای عامل ساده واکنشی جاروبرقی در یک محیط ساده دو حالتی در ادامه آمده است:
1function REFLEX-VACUUM-AGENT([location,status]) returns an action
2
3if status = Dirty then return Suck
4else if location = A then return Right
5else if location = B then return Left
6
برنامه فوق، جدول تابع عامل جاروبرقی را پیادهسازی میکند که پیشتر شرح داده شد. ملاحظه میشود که این برنامه در مقایسه با جدول متناظرش بسیار کوچکتر است. واضحترین علت کوچکتر شدن برنامه این است که تاریخچه ادراک نادیده گرفته شده است. همچنین علت دیگر کاهش اندازه برنامه از این مسئله ناشی میشود که در صورت کثیف بودن یک مربع، عملی که باید انجام شود، وابستگی به موقعیت نخواهد داشت.
قانون شرط-عمل: وقتی پردازشهایی در حسگرهای ورودی برای تعیین حالت اتفاق میافتند، یک اتصال مقرر در برنامه عامل برای عمل متناظر آن فعال میشود. به چنین اتصالی یک قانون شرط-عمل (Condition-Action Rule) گفته میشود.
یک رویکرد عمومیتر این است که ابتدا یک مفسر با کاربرد عمومی برای قوانین شرط-عمل طراحی و سپس، نسبت به ایجاد مجموعه قوانینی برای محیطهای کاری خاص اقدام شود. نمودار زیر ساختار چنین برنامه همهمنظورهای را به صورت شماتیک نشان میدهد. نمودار زیر نشان میدهد که چگونه قوانین شرط-عمل به عامل اجازه میدهند تا ارتباطی را از ادراک به عمل برقرار کند.
همچنین، برنامه یک عامل واکنشی ساده در ادامه آمده است:
1function SIMPLE-REFLEX-AGENT(percept) returns an action
2persistent: rules, a set of condition–action rules
3
4state ← INTERPRET-INPUT(percept)
5rule ← RULE-MATCH(state, rules)
6action ← rule.ACTION
7return action
8
تابع «INTERPRET-INPUT» توصیف انتزاعی حالت فعلی را از ادراک تولید میکند. تابع RULE-MATCH اولین قانونی را در مجموعه قوانین بازمیگرداند که با توصیف حالت فعلی همخوانی داشته باشد. باید در نظر داشت که توصیف «قوانین» و «همخوانی داشتن» کاملاً انتزاعی است و پیادهسازی عملی میتواند به سادگی و به وسیله مجموعهای از گیتهای منطقی سازنده یک مدار بولی انجام شود.
عاملهای واکنشی مبتنی بر مدل
یک عامل واکنشی مبتنی بر مدل، عاملی است که از تاریخچه ادراک و حافظه داخلی برای تصمیمگیری درباره یک مدل داخلی از جهان پیرامون خود استفاده میکند. حافظه داخلی به این عاملها امکان میدهد تا بخشی از تاریخچه مسیریابی خود را ذخیره کنند و سپس حتی وقتی همه آنچه باید بدانند به طور مستقیم قابل مشاهده نیست، از آن تاریخچه نیمه انتزاعی برای کمک به فهم چیزهایی راجع به محیط فعلی خود استفاده کنند. عامل واکنشی مبتنی بر مدل، با یافتن قانونی کار میکند که شرایط آن با حالت فعلی همخوانی داشته باشد.
عامل واکنشی مبتنی بر مدل، برای محیطهای قابل مشاهده ناقص مناسب است. عامل باید بر حالت داخلی نظارت داشته باشد. حالت داخلی توسط هر ادراک دریافتی تنظیم میشود و به تاریخچه ادراک وابسته است. حالت فعلی در داخل عامل ذخیره میشود. حالت فعلی دارای نوعی ساختار است که آن بخش غیرقابل مشاهده از جهان را توصیف میکند. بهروزرسانی اطلاعات حالت داخلی با گذشت زمان نیازمند کدنویسی دو نوع دانش در داخل برنامه است:
- نیاز به اطلاعاتی وجود دارد درباره اینکه جهان مستقل از عامل چگونه تغییر میکند؟
- نیاز به اطلاعاتی وجود دارد درباره اینکه چگونه اعمال انجام شده توسط عامل جهان را تحت تاثیر قرار میدهند؟
- حالت داخلی (Internal State): موثرترین راه برای مدیریت مشاهدهپذیرى ناقص این است که، عامل بر آن بخشی از جهان نظارت داشته باشد که امکان دیدنش را ندارد. به این معنی که، عامل باید دارای نوعی حالت داخلی باشد که مبتنی بر تاریخچه ادراک است و بدین وسیله حداقل برخی از جنبههای دیده نشده حالت فعلی روشن خواهد شد.
- مدل: دانش پیرامون «نحوه کارکرد جهان» چه به صورت مدارهای بولی ساده و چه کاملاً به صورت نظریههای علمی پیادهسازی شود، یک مدل از جهان نامیده میشود.
- عامل مبتنی بر مدل: عاملی که از چنین مدل استفاده کند، یک عامل مبتنی بر مدل نامیده میشود.
در نمودار زیر، ساختار عامل مبتنی بر مدل با حالت داخلی نمایش داده شده است. این نمودار نشان میدهد که چگونه ادراک فعلی با حالت داخلی گذشته ترکیب میشود و توصیف بهروز شده حالت فعلی را بر اساس مدل عامل جهان تولید میکند.
برنامه عامل به صورت زیر است. تابع UPDATE-STATE مسئولیت ایجاد توصیف جدید حالت داخلی را بر عهده دارد.
1function MODEL-BASED-REFLEX-AGENT(percept) returns an action
2persistent: state, the agent’s current conception of the world state
3model, a description of how the next state depends on current state and action
4rules, a set of condition–action rules
5action, the most recent action, initially none
6
7state ← UPDATE-STATE(state, action, percept, model)
8rule ← RULE-MATCH(state, rules)
9action ← rule.ACTION
10return action
11
عامل های مبتنی بر هدف
یک عامل مبتنی بر هدف عاملی است که اعمال خود را در راستای دستیابی به اهداف تعیین شده انتخاب میکند. چنین عاملی یک عامل حل کننده مسئله است و نسبت به عامل واکنشی مبتنی بر مدل انعطافپذیری بیشتری دارد. عاملهای مبتنی بر هدف اعمال آینده را در نظر میگیرند. این عاملها از اطلاعات هدف برای انتخاب میان اعمال ممکن در حالت فعلی استفاده میکنند.
دو جنبه عاملهای مبتنی بر هدف شامل جستجو و برنامهریزی است. به عنوان مثال میتوان یک سیستم GPS را نام برد که مسیری برای مقصد پیدا میکند. نمودار شماتیک یک عامل مبتنی بر هدف در ادامه آمده است:
عاملهای مبتنی بر سودمندی
عامل مبتنی بر سودمندی عاملی است که عمل خود را برای رسیدن به اهدافی با سودمندی بیشینه انتخاب میکند. این عامل، نسخه پیشرفته عاملهای هدفمند است. عامل مبتنی بر سودمندی معیاری را از میزان مطلوب بودن یک حالت خاص تعریف میکند. این معیار از طریق یک تابع سودمندی تعیین میشود. تابع سودمندی تابعی است که یک حالت (حالت) را به معیار سودمندی آن حالت نگاشت میدهد. به عنوان مثال میتوان یک سیستم GPS را مثال زد که کوتاهترین، سریعترین و ایمنترین مسیر به یک مقصد خاص را پیدا میکند. نمودار شماتیک مربوط به یک عامل مبتنی بر سودمندی در ادامه آمده است:
عامل های یادگیرنده
یک عامل یادگیرنده ابزاری در هوش مصنوعی است که میتواند از تجربیات خود بیاموزد. عامل یادگیرنده با کمی دانش اولیه شروع میکند و سپس قادر است خود را تطبیق داده و از طریق یادگیری برای بهبود عملکرد خود به صورت خودکار عمل کند. برخلاف عاملهای هوشمند که بر اساس اطلاعات فراهم شده توسط یک برنامهنویس عمل میکنند، عاملهای یادگیرنده میتوانند وظایفی را انجام دهند، عملکرد را ارزیابی کنند و به دنبال راههای جدید برای بهبود آن وظایف باشند. یک عامل یادگیرنده میتواند به چهار جزء انتزاعی تقسیم شود:
- مهمترین وجه تمایز در «عنصر یادگیرنده» و «عنصر عملکرد» ظاهر میشود. عنصر یادگیرنده مسئولیت پیشرفت را بر عهده دارد و عنصر عملکرد مسئول انتخاب اعمال خارجی است. در واقع، قبلاً عنصر عملکردی تماماً همان عامل بود. یعنی ادراکها را دریافت میکرد و در مورد اعمال تصمیم میگرفت.
- عنصر یادگیرنده در خصوص نحوه عملکرد عامل از «منتقد» (Critic) بازخورد دریافت میکند و به این وسیله تعیین میکند که چگونه باید برای عملکرد بهتر، عنصر عملکرد ویرایش و تغییر داده شود.
- آخرین جزء عامل یادگیرنده، «تولید کننده مسئله» است. این بخش مسئولیت پیشنهاد اعمالی را دارد که به تجربیات جدید و دارای اطلاعات مفید منجر میشود.
اجزای برنامه عامل چگونه عمل میکنند ؟
نحوه عملکرد اجزای عامل را میتوان به ترتیب پیچیدگی در سه دسته بازنمایی مختلف قرار داد. این سه دسته شامل حالتهای «بازنمایی اتمی»، «بازنمایی موردی» و «بازنمایی ساختیافته» است.
در ادامه هر یک از این سه روش برای نمایش حالت شرح داده شدهاند:
- در یک بازنمایی اتمی، هر یک از حالتهای جهان غیر قابل تقسیم شدن هستند. یعنی هیچ ساختار داخلی وجود ندارد.
- یک بازنمایی موردی هر حالت را به یک مجموعه ثابت از متغیرها و ویژگیها (صفتها) تقسیم میکند. هر یک از این متغیرها یا صفتها میتوانند دارای یک مقدار باشند. در حالی که دو حالت اتمی مختلف هیچ وجه اشتراکی ندارند، دو حالت موردی میتوانند تعدادی صفت مشترک داشته باشند.
- در بازنمایی ساختیافته، میتوان اشیا و روابط مختلف میان آنها را به طور دقیق توصیف کرد.
تا اینجا، مفاهیم مهم فصل دوم درس هوش مصنوعی شرح داده شدند. بهتر است فصل دوم را با ارائه خلاصهای از آن به پایان رساند.
خلاصه فصل دوم
خلاصه فصل دوم درس هوش مصنوعی به شرح زیر است:
- یک عامل به آنچه گفته میشود که ادراکی از یک محیط به دست آورده و در آن محیط اعمالی را انجام میدهد. تابع عامل، اقداماتی را برای یک عامل مشخص میکند که عامل در پاسخ به هر توالی ادراک انجام میدهد.
- معیار عملکرد رفتار یک عامل در محیط را میسنجد. یک عامل منطقی (عقلانی) به گونهای عمل میکند که مقدار مورد انتظار معیار عملکرد را بیشینه کند.
- مشخصات یک محیط کاری شامل معیار عملکرد، محیط خارجی، اهرمها و سنسورها بر اساس توالی ادراکی است که عامل تا آن لحظه به خود دیده است.
- مشخصات محیط کاری شامل معیار عملکرد، محیط خارجی، اهرمها و حسگرها است. در طراحی یک عامل، اولین قدم همواره باید تعیین محیط کاری به کاملترین شکل ممکن باشد.
- محیطهای کاری در چندین بعد قابل توجه متفاوت هستند. آنها میتوانند به طور کامل یا به طور ناقص مشاهدهپذیر باشند، تکعاملی یا چندعاملی باشند.
- «برنامه عامل» تابع عامل را پیادهسازی میکند. طرحهای برنامه عامل گوناگونی وجود دارند که نوع اطلاعات مشخص شده را منعکس میکنند و در فرآیند تصمیمگیری مورد استفاده قرار میگیرند. طرحها در میزان بازدهی، تراکم و انعطافپذیری متفاوت هستند. طراحی مناسب برنامه عامل به طبیعت محیط بستگی دارد.
- «عاملهای واکنشی ساده» مستقیماً به ادراکهای دریافتی پاسخ میدهند. «عاملهای واکنشی مبتنی بر مدل» حالت درونی را برای ردیابی جنبههایی از جهان حفظ میکنند که در ادراک فعلی مشهود نیستند. رفتار «عاملهای مبتنی بر هدف» بر اساس اهدافشان تعیین میشود و «عاملهای مبتنی بر سودمندی» سعی در بیشینه کردن رضایت مورد انتظار خودشان را دارند.
به این ترتیب شرح فصل دوم درس هوش مصنوعی در اینجا به پایان میرسد. در ادامه آموزش درس هوش مصنوعی، به معرفی مباحث فصل سوم و خلاصهای از این فصل پرداخته شده است.
فصل سوم: حل مسائل با جستجو
در فصل سوم درس هوش مصنوعی ، ملاحظه خواهد شد که چگونه یک عامل میتواند وقتی که هیچ عملی به تنهایی رسیدن به اهداف را محقق نخواهد کرد، دنبالهای از اعمال را برای رسیدن به اهدافش پیدا کند. عاملهای مبتنی بر هدف، اعمال آینده و مطلوب بودن نتایج حاصل شده را مد نظر قرار میدهند. در فصل سوم درس هوش مصنوعی نوعی از عاملهای مبتنی بر هدف به نام «عامل حل مسئله» معرفی شده است. عاملهای حل مسئله از بازنمایی اتمی استفاده میکنند. همانطور که در فصل دوم درس هوش مصنوعی بیان شد، در بازنمایی اتمی، حالتهای جهان به عنوان یک کلیت در نظر گرفته میشوند و برای الگوریتمهای حل مسئله بدون ساختار داخلی قابل مشاهده هستند.
به عاملهایی که از بازنماییهای پیشرفتهتر موردی (Factored) یا ساختیافته (Structured) استفاده میکنند، معمولاً «عاملهای برنامهریز» (Planning Agent) گفته میشود که در فصل هفتم و دهم کتاب هوش مصنوعی راسل و نورویگ راجع به آنها بحث شده است. در فصل سوم درس هوش مصنوعی ، پرداختن به حل مسئله با تعریف دقیق مسئله و جواب آن آغاز شده است و مثالهای بسیاری برای به تصویر کشیدن این تعاریف ارائه میشود.
سپس، الگوریتمهای جستجو همهمنظوره بسیاری شرح داده خواهند شد که برای حل این مسائل استفاده میشوند. به چندین الگوریتم جستجوی یکنواخت (Uniform) پرداخته خواهد شد. الگوریتمهای جستجوی یکنواخت الگوریتمهایی هستند که هیچ اطلاعاتی به غیر از تعریف مسئله به آنها داده نمیشود. اگرچه برخی از این الگوریتمها میتوانند هر مسئله حل شدنی را حل کنند، هیچ یک از آنها نمیتوانند این کار را به صورت بهینه انجام دهند. از طرف دیگر، «الگوریتمهای جستجوی مطلع» (Informed) میتوانند با کمی راهنمایی درباره محل جستجوی جواب، در حد قابل قبولی عمل کنند.
در فصل سوم درس هوش مصنوعی ، از سادهترین نوع محیط عمل استفاده میشود. در سادهترین محیط عمل، جواب یک مسئله همواره یک دنباله ثابت از اعمال است. در حالت کلیتر، اعمال آینده عامل میتوانند بر اساس ادراکهای آینده متفاوت باشند. به این حالت کلیتر در فصل ۴ پرداخته شده است. فصل سوم درس هوش مصنوعی از پیچیدگی مجانبی (Asymptotic Complexity) و NP کامل استفاده شده است. در پیچیدگی مجانبی از علامت گذاری استفاده میشود. این مفاهیم در پیوست A کتاب هوش مصنوعی راسل و نورویگ برای افرادی شرح داده شده است که با آنها آشنایی ندارند.
خلاصه فصل سوم درس هوش مصنوعی
در فصل سوم درس هوش مصنوعی ، روشهایی معرفی شدند که یک عامل میتواند از آنها برای انتخاب اعمال در محیطهای قطعی، قابل مشاهده، ایستا و کاملاً شناخته شده استفاده کند. در چنین مواردی، عامل میتواند دنبالههایی از اعمال را بسازد که منجر به دستیابی به اعمالش خواهند شد.
این فرآیند «جستجو» نامیده میشود.
- پیش از آنکه یک عامل شروع به جستجو جوابها کند، باید یک «هدف» مشخص شود و «مسئله» به خوبی فرمول بندی و طرحریزی شود.
- یک مسئله شامل پنج بخش است. این بخشها شامل حالت ابتدایی (Initial State)، مجموعهای از اعمال (Actions)، یک مدل گذار (Transition Model) که نتایج آن اعمال را توصیف میکند، یک تابع آزمایش هدف (Goal Test) و یک تابع هزینه مسیر (Path Cost) است.
- الگوریتمهای جستجو با حالتها و اعمال به صورت اتمی برخورد میکنند. یعنی الگوریتمهای جستجو هیچ ساختار درونی که احتمالاً ممکن است وجود داشته باشد را در نظر نمیگیرند.
- یک الگوریتم «جستجو درختی جامع» تمام مسیرهای ممکن برای یافتن یک جواب را در نظر میگیرد، در حالی که یک «الگوریتم جستجوی گراف» از در نظر گرفتن مسیرهای زائد اجتناب میکند.
- الگوریتمهای جستجو بر پایه کامل بودن، بهینگی، پیچیدگی زمانی و پیچیدگی فضایی قضاوت میشوند.
- پیچیدگی به b وابسته است. b ضریب انشعاب در فضای حالت و d عمق کم عمقترین جواب در نظر گرفته میشود.
- روشهای جستجوی ناآگاهانه (uniformed Search) تنها به صورت مسئله دسترسی دارند. الگوریتمهای پایه جستجوی یکنواخت شامل موارد زیر است:
- جستجوی عرضی (اول-سطح): این الگوریتم، ابتدا کم عمقترین گره را بسط میدهند. جستجوی عرضی (اول-سطح) کامل و برای هزینههای گام واحد بهینه است، اما پیچیدگی فضایی نمایی دارند.
- جستجوی هزینه یکنواخت: این نوع از الگوریتمهای جستجوی یکنواخت، گره با پایینترین مسیر را بسط میدهند () و برای هزینههای گام کلی بهینه هستند.
- جستجوی عمقی (سطح اول): این روش جستجو، ابتدا عمیقترین گره بسط داده نشده را بسط میدهد. این الگوریتم نه کامل و نه بهینه است، اما پیچیدگی آن خطی است. الگوریتم «جستجوی محدود به عمق» یک محدودیت عمق نیز اضافه میکند.
- جستجوی عمیق تکراری: این الگوریتم، جستجوی عمقی سطح اول را با محدودیتهای عمقی افزایشی فراخوانی میکند تا زمانی که یک هدف را بیابد. این روش جستجو کامل و برای هزینه پله واحد بهینه است. جستجوی عمیق تکراری، پیچیدگی زمانی قابل مقایسه با جستجوی عرضی (اول-سطح) و پیچیدگی فضایی خطی دارد.
- جستجوی دوجهته: این الگوریتم میتواند به میزان قابل توجهی پیچدگی زمانی را کاهش دهد. اما، اعمالپذیر نیست و ممکن است نیاز به فضای زیادی داشته باشد.
- جستجوی آگاهانه: روشهای جستجوی آگاهانه به یک تابع ابتکاری (Heuristic) به نام دسترسی دارند که هزینه یک جواب را از n تخمین میزنند.
- الگوریتم عمومی جستجوی ابتدا بهترین (Best-First Search): این الگوریتم، یک گره را مطابق با یک تابع ارزیابی (Evaluation Function) برای بسط دادن انتخاب میکند.
- جستجوی ابتدا بهترین حریصانه: گرههایی با کمترین مقدار را بسط میدهد. این روش بهینه نیست، اما اغلب موثر است.
- جستجوی : این الگوریتم گرههایی را با بهینه بسط میدهد. کامل و بهینه است، به شرطی که برای جستجوی درختی قابل پذیرش و با جستجوی گراف سازگاری داشته باشد.
- RBFS (جستجوی ابتدا بهترین بازگشتی) و (الگوریتم ساده محدود به حافظه): این دو روش، الگوریتمهای جستجوی منسجم و بهینه هستند که از میزان حافظه محدودی استفاده میکنند. در صورتی که زمان کافی در اختیار داشته باشند، RBFS و میتوانند مسائلی را حل کنند که قادر به حل آنها نیست، زیرا در حافظه پر میشود.
- عملکرد الگوریتمهای جستجوی ابتکاری به کیفیت تابع ابتکاری بستگی دارد. گاهی میتوان الگوریتمهای ابتکاری خوبی را به وسیله باز رامش (Relaxation) صورت مسئله، ذخیره هزینه جواب از پیش محاسبه شده برای زیرمسئلهها در یک پایگاه داده الگو یا به وسیله یادگیری از تجربه با کلاس مسئله ایجاد کرد.
به این ترتیب، خلاصهای از فصل سوم درس هوش مصنوعی در این بخش شرح داده شد. در ادامه، شرحی از فصل چهارم درس هوش مصنوعی ارائه شده است.
فصل چهارم: فراتر از جستجوی سنتی
در فصل چهارم درس هوش مصنوعی ، فرضیات ساده فصل قبل سستتر و بنابراین رضیات به دنیای واقعی نزدیکتر شدهاند. در فصل سوم، به یک دسته خاص از مسائل اشاره شد. این مسائل، قابل مشاهده و قطعی هستند. محیطهای شناخته شدهای که جواب در آنها به صورت دنبالهای از اعمال است. در فصل چهارم درس هوش مصنوعی، به این سوال پاسخ داده میشود که در صورت سُست شدن این فرضیات چه اتفاقی رخ خواهد داد؟ کار ابتدا با یک نمونه بسیار ساده آغاز میشود. در این فصل الگوریتمهایی پوشش داده میشوند که جستجوی تماماً محلی را در فضای حالت اجرا میکنند. این الگوریتمها برای مسائلی مناسب هستند که در آنها همه آنچه اهمیت دارد، نه هزینه مسیر برای دستیابی به آن، بلکه حالت جواب است.
در خانواده الگوریتمهای جستجوی محلی از روشهایی استفاده میشود که از فیزیک آماری (شبیهسازی تبریدی) و زیستشناسی تکاملی (الگوریتمهای ژنتیک) الهام گرفته شدهاند. سپس، در بخش دیگری از فصل چهارم درس هوش مصنوعی، این مسئله بررسی میشود که در صورت سُست کردن فرضیات قطعیت و مشاهدهپذیری، چه اتفاقی رخ خواهد داد؟ ایده کلیدی این است که اگر یک عامل نتواند دقیقاً پیشبینی کند که چه ادراکی را دریافت خواهد کرد، آنگاه باید این موضوع را در نظر بگیرد که تحت هر شرایط احتمالی که ادراکات آن نشان میدهند ، چه کاری باید انجام دهد. با وجود مشاهدهپذیری ناقص، عامل باید همچنین حالتهایی را زیر نظر داشته باشد که ممکن است در آنها قرار بگیرد. در انتهای فصل چهارم درس هوش مصنوعی ، به بررسی جستجوی برخط (Online Search) پرداخته شده است. در جستجوی برخط، عامل با حالتی مواجه میشود که در ابتدا ناشناخته است و باید کاوش شود.
خلاصه فصل چهارم
در فصل چهارم درس هوش مصنوعی ، الگوریتمهای جستجو برای مسائلی فراتر از حالت سنتی پیدا کردن کوتاهترین مسیر به یک هدف در یک محیط مشاهدهپذیر، قطعی و گسسته مورد بررسی قرار میگیرند.
برخی از مباحث مطرح شده در فصل چهارم درس هوش مصنوعی در ادامه فهرست شدهاند:
- روشهای جستجوی محلی نظیر تپهنوردی در فرمولبندیهای حالت کامل عمل میکنند. این روشها، تنها تعداد گره اندکی را در حافظه نگهداری میکنند. الگوریتمهای تصادفی (Stochastic Algorithms) بسیاری از جمله شبیهسازی تبریدی (Simulated Annealing) خلق شدهاند. شبیهسازی تبریدی در صورت داشتن زمانبندی خنک کننده (Cooling Schedule) مناسب، جوابهای بهینه تولید میکند.
- بسیاری از روشهای جستجوی محلی به مسائلی در فضاهای پیوسته نیز اعمال میشوند. برنامهریزی خطی و بهینهسازی محدب از محدودیتهای خاصی در شکل فضای حالت و ماهیت تابع هدف پیروی میکنند و الگوریتمهای دارای پیچیدگی زمانی چندجملهای را قبول میکنند که اغلب در عمل بسیار کارآمد هستند.
- الگوریتم ژنتیک یک روش جستجوی تصادفی تپهنوردی است که در آن جمعیت بزرگی از حالتها نگهداری میشود. حالتهای جدید به وسیله جهش ژنتیکی و همپوشانی (Crossover) تولید میشوند که حالتهای دوتایی از جمعیت را با هم ترکیب میکند.
- در محیطهای غیرقطعی، عاملها میتوانند جستجوی AND–OR را برای تولید مقاصد تصادفی به کار بگیرند. فارق از اینکه کدام نتایج در طول اجرا رخ دهند، جستجوی AND–OR به هدف میرسد.
- در حالتی که محیط مشاهدهپذیر ناقص باشد، حالت باور (Belief State) به بازنمایی از مجموعه حالات ممکن گفته میشود که احتمال دارد عامل در آن قرار داشته باشد.
- الگوریتمهای جستجوی استاندارد میتوانند برای حل مسائل بدون حسگر مستقیماً به فضای حالت باور اعمال شوند. الگوریتمهای افزایشی کارآمدتر هستند که جوابها را حالت به حالت در یک فضای باور ایجاد میکنند.
- مسائل اکتشافی (Exploration Problems) زمانی مطرح میشوند که عامل هیچ ایدهای درباره حالتها و اعمال محیط خود نداشته باشد. برای محیطهای قابل کاوش ایمن، عاملهای جستجوی برخط میتوانند یک نقشه ایجاد کنند و هدفی را در صورت وجود بیابند. بهروزرسانی تخمینهای ابتکاری با استفاده از تجربه، یک روش موثر برای اجتناب از رسیدن به کمینه محلی فراهم میکند.
در ادامه آموزش درس هوش مصنوعی ، به شرح مباحث مطرح شده در فصل پنجم این درس پرداخته شده است.
فصل پنجم: جستجوی خصمانه
در فصل پنجم درس هوش مصنوعی، مسائلی مورد بررسی قرار میگیرند که سعی در برنامهریزی از پیش انجام شده در آنها وجود داشته باشد. این مسائل در جهانی به وجود میآیند که سایر عاملها بر علیه عامل هدف برنامهریزی میکنند.
خلاصه فصل پنجم درس هوش مصنوعی
در فصل پنجم درس هوش مصنوعی ، بازیهای مختلفی برای درک چیستی مفهوم بازی بهینه و درک نحوه خوب بازی کردن در عمل بررسی میشوند. مهمترین ایدهها در فصل پنجم به شرح زیر است:
- یک بازی میتواند به وسیله حالت اولیه (چگونگی چینش تخته بازی)، اعمال قانونی در هر حالت، نتیجه هر عمل، یک آزمون نهایی (Terminal Test) و یک تابع مطولبیت (Utility Function) تعریف شود. آزمون نهایی مشخص میکند که آیا بازی به اتمام رسیده است یا خیر. همچنین، تابع مطلوبیت در حالتهای نهایی (Terminal State) کاربرد دارد.
- در بازیهای دونفره Zero-Sum با اطلاعات کامل، الگوریتم مینیماکس میتواند حرکتهای بهینه را به وسیله یک شمارش عمق اول از درخت بازی انتخاب کند.
- الگوریتم جستجوی آلفا-بتا حرکت بهینه یکسانی را به عنوان یک مینیماکس محاسبه میکند. اما با حذف زیردرختهایی که احتمالاً نارمتبط هستند، به طور قابل اثباتی به بهینگی بسیار بیشتری دست پیدا میکنند.
- معمولاً سنجیدن کل درخت بازی (حتی با استفاده از الگوریتم آلفا-بتا) شدنی نیست. بنابراین، باید جستجو را از یک جایی به بعد متوقف کرد و تابع ارزیابی ابتکاری را به کار برد. کار این تابع ارزیابی ابتکاری تخمین زدن میزان مطلوبیت یک حالت است.
- بسیاری از برنامههای بازی، در ابتدا و در پایان بازی جدولهای بهترین حرکتها را از پیش محاسبه میکنند. این کار با این هدف انجام میشود که این برنامهها بتوانند به جای جستجو به آن حرکت مراجعه کنند.
- بازیهای شانسی را میتوان با استفاده از یک افزونه در الگوریتم مینماکس مدیریت کرد. این افزونه یک گره شانس را به وسیله گرفتن میانگین مطلوبیت تمام فرزندانش، ارزیابی میکند.
- بازی بهینه در بازیهایی با اطلاعات ناقص نظیر بازى جنگنما (Kriegspiel)، استدلال مربوط به حالتهای باور فعلی و آتی هر بازیکن را دوباره مورد جستجو قرار میدهد. یک تخمین ساده میتواند به وسیله میانگینگیری مقدار یک عمل در هر پیکربندی اطلاعات از دست رفته به دست آید.
- برنامهها در بازیهایی نظیر شطرنج، بازی چکرز و اتللو حتی از قهرمانان جهانی هم بهتر عمل میکنند. انسانها در بسیاری از بازیهای با اطلاعات ناقص و بازیهایی که دارای ضریب انشعاب بسیار بزرگ و اطلاعات ابتکاری مفید اندکی هستند، همچنان با فاصله کمی برگ برنده را در اختیار دارند. از جمله بازیهای با اطلاعات ناقص میتوان به بازى جنگنما اشاره کرد.
با پایان شرح فصل پنجم درس هوش مصنوعی ، در ادامه، به معرفی مباحث فصل ششم و ارائه خلاصه این فصل پرداخته شده است.
فصل ششم: مسئله ارضای محدودیت
در فصل ششم درس هوش مصنوعی ، مشخص میشود که چگونه رفتار با حالتها به عنوان چیزی بیش از جعبههای سیاه، به خلق گونه جدیدی از روشهای قدرتمند جستجو، درک عمیقتری از ساختار مسئله و پیچیدگی منجر خواهد شد. در فصلهای ۳ و ۴ این ایده مورد بررسی قرار گرفت که میتوان مسائل را از طریق جستجو در یک فضای حالت حل کرد. این حالتها میتوانند به وسیله روشهای اکتشافی ارزیابی و آزمایش شوند تا مشخص شود که آیا آنها حالتهای هدف هستند یا خیر.
اگرچه، از دیدگاه الگوریتم جستجو، هر حالت، اتمی یا غیرقابل تقسیم است. در واقع، هر حالت یک جعبه سیاه و بدون ساختار داخلی در نظر گرفته میشود. در فصل ششم درس هوش مصنوعی، روشی برای حل طیف وسیعی از مسائل با کارآمدی و بازدهی بیشتر شرح داده میشود. در این فصل، از یک بازنمایی فاکتور شده (Factored) برای هر حالت استفاده میشود:
- مجموعهای از متغیرها که هر کدام دارای یک مقدار است.
وقتی هر متغیر دارای مقداری باشد که تمام محدودیتهای متغیر را برآورده کند، آنگاه مسئله حل میشود. مسئلهای که با این روش حل شود، مسئله ارضای محدودیت یا CSP نام دارد. الگوریتمهای جستجوی CSP از ساختار حالتها به خوبی بهره میبرند و به جای استفاده از روشهای اکتشافی (ابتکاری) خاص مسئله، روشهای همهمنظوره را برای رسیدن به جواب مسائل پیچیده به کار میگیرند. ایده اصلی، از بین بردن یک باره بخش زیادی از فضای جستجو به وسیله شناسایی ترکیبهای متغیر/مقداری است که محدودیتها را نقض میکنند. در ادامه این بخش از آموزش درس هوش مصنوعی، خلاصه فصل ششم ارائه شده است.
خلاصه فصل ششم درس هوش مصنوعی
فهرستی از موضوعات کلیدی فصل ششم درس هوش مصنوعی در ادامه آمده است:
- مسائل ارضای محدودیت (CSP)، یک حالت را با جفت متغیر/مقدار بازنمایی میکنند و شرایط یک جواب را به وسیله دستهای از محدودیتها برای متغیرها نمایش میدهند. بسیاری از مسائل مهم دنیای واقعی را میتوان به عنوان یک مسئله CSP مطرح کرد.
- تعدادی از روشهای استنباطی از محدودیتها برای استنباط این مسئله استفاده میکنند که کدام جفت متغیر/مقدار مطابقت دارند و کدام یک مطابقت ندارند. این موارد شامل گره، قوس، مسیر و k-Consistency است.
- جستجوی بازگشتی (پسگرد | Backtracking): گونهای از جستجوی عمقی (سطح اول) است که برای حل مسائل CSP رواج دارد. استنتاج میتواند با جستجو در هم آمیخته شود.
- روشهای ابتکاری مقادیر کمینه باقیمانده و درجه (Degree)، روشهای مستقل از دامنه برای تصمیمگیری در این خصوص هستند که چه مقدار بعدی برای یک متغیر داده شده در یک جستجوی پسگرد انتخاب شود. روش ابتکاری کمترین مقدار محدود کننده (Least Constraining Value) به تصمیمگیری در این خصوص کمک میکند که برای یک متغیر داده شده اول از کدام مقدار استفاده شود. پسگرد یا بازگشت به عقب زمانی اتفاق میافتد که نتوان هیچ تکلیف قانونی برای یک متغیر پیدا کرد.
- جستجوی محلی با استفاده از روشهای ابتکاری تعارض کمینه (Min-Conflict) نیز با موفقیت بزرگی به مسائل ارضای محدودیت اعمال شده است.
- پیچیدگی حل یک مسئله CSP به شدت با ساختار گراف محدودیت آن در ارتباط است. مسائل دارای ساختار درختی در زمان خطی قابل حل شدن هستند. شرطگذاری مجموعه بُرش (Cutset Conditioning) میتواند یک CSP جامع را به یک مسئله با ساختار درختی تقلیل دهد. این روش تقریباً کارآمد خواهد بود، در صورتی که بتوان یک مجموعه برش را پیدا کرد. روشهای تجزیه درخت، CSP را به درختی از زیر مسئلهها تبدیل میکنند و در صورتی که پهنای درخت گراف محدودیت کوچک باشد، بهینه خواهند بود.
با پایان خلاصه فصل ششم درس هوش مصنوعی ، شرحی از خلاصه فصل هفتم این درس در ادامه ارائه شده است.
فصل هفتم: عاملهای منطقی
فصل هفتم کتاب هوش مصنوعی راسل و نورویگ، آخرین فصل درس هوش مصنوعی به حساب میآید. در اکثر دانشگاهها این کتاب تا فصل هفتم تدریس میشود و باقی فصول آن معمولاً به عنوان درس هوش مصنوعی پیشرفته مطالعه و تدریس میشود. در فصل هفتم و آخرین فصل درس هوش مصنوعی ، عاملهایی طراحی میشوند که میتوانند بازنمایی از یک جهان پیچیده را شکل دهند. همچنین، این عاملها میتوانند از یک روند استنتاجی برای استخراج بازنماییهای جدید پیرامون جهان استفاده کنند و از این بازنماییهای جدید برای استنباط آنچه استفاده کنند که باید انجام دهند.
به نظر میرسد انسانها دانایی دارند و آنچه میدانند به آنها کمک میکند تا کارهایی را انجام دهند. اینها گزارههایی پوچ نیستند و پیرامون چگونگی دستیابی به هوش انسانی ادعای قوی را مطرح میکنند. این ادعا نه با سازِکارهای کاملاً واکنشی، بلکه با فرایندهای استدلالی مطرح میشود که بر بازنماییهای داخلی دانش کار میکنند. در هوش مصنوعی، این رویکرد به هوشمندی، در عاملهای مبتنی بر دانش مجسم شده است. عاملهای حل کننده مسئله که در فصل سه و چهار مطرح شدند، چیزهایی میدانند، اما این دانش بسیار محدود و غیرانعطافپذیر است. برای مثال، مدل گذار برای بازی پازل هشت (دانش در خصوص آنچه اعمال انجام میدهند) در داخل کدهای خاص دامنه تابع نتیجه مخفی شدهاند.
از این مدل تبدیل میتوان برای پیشبینی نتیجه اعمال استفاده کرد، اما نه برای استنباط اینکه دو قطعه پازل نمیتوانند فضای یکسانی را اشغال کنند یا حالتهایی با توازن فرد نمیتوانند از حالتهایی با توازن زوج قابل دسترسی باشند. بازنماییهای اتمی که به وسیله عاملهای حل کننده مسئله استفاده میشوند نیز بسیار محدود کننده هستند. در یک محیط مشاهدهپذیر ناقص، تنها انتخاب یک عامل برای بازنمایی آنچه درباره حالت فعلی میداند این است که تمام حالتهای عینی ممکن را فهرست کند. در محیطهای بزرگ، این دورنمایی مایوس کننده است.
در فصل ششم، ایده بازنمایی حالتها به عنوان تخصیص مقادیر به متغیرها معرفی شد. در فصل ششم، گامی در مسیر درست برداشته شد و امکان کار کردن بخشهایی از عامل به صورت مستقل از دامنه و در نظر گرفتن الگوریتمهای بهینهتر فراهم شد. در این فصل و فصلهای بعدی کتاب راسل و نورویگ، این گام به نتیجهگیری منطقی آن خواهد رسید. در واقع، «منطق» به عنوان سطح جامعی از بازنمایی برای پشتیبانی از عاملهای مبتنی بر دانش توسعه داده میشود. چنین عاملهایی میتوانند اطلاعات را برای سازگاری با مقاصد بیشمار ترکیب و بازترکیب کنند. چنین پروسهای اغلب میتواند از نیازهای آنی به دور باشد. درست مثل وقتی که یک ریاضیدان نظریهای را اثبات میکند یا یک ستارهشناس طول عمر زمین را محاسبه میکند.
عاملهای مبتنی بر دانش میتوانند وظایف جدید را در قالب اهداف صریحاً توصیف شده بپذیرند. اگر به آنها گفته شود یا از طریق یادگرفتن، عاملهای منطقی میتوانند به سرعت به سطح رقابتی برسند. آنها میتوانند به وسیله بهروزرسانی دانش مرتبط، خود را با تغییرات محیطی وفق دهند. در فصل هفتم درس هوش مصنوعی ، کار با طراحی کلی عامل آغاز میشود. بخش بعدی، یک محیط ساده جدید را به نام دنیای وامپوس (Wumpus) معرفی میکند و عملیات یک عامل مبتنی بر دانش را بدون ورود به جزئیات فنی به تصویر میکشد. سپس، اصول کلی منطق در بخش بعدی فصل هفتم شرح داده میشود و سپس جزئیات منطق گزارهای (Propositional Logic) مشخص خواهد شد.
با وجود اینکه منطق گزارهای نسبت به منطق مرتبه اول (فصل هشتم) صراحت کمتری دارد، منطق گزارهای تمام مفهومهای اساسی منطق را منعکس میکند. همچنین، منطق گزارهای با فناوریهای استنتاجی به خوبی توسعه یافته همراه است. در نهایت بخش آخر فصل هفتم، مفهوم عاملهای مبتنی بر دانش، جهت ساخت چند عامل برای جهان وامپوس با فناوری منطق گزارهای ترکیب میشود. در ادامه، خلاصهای از فصل هفتم درس هوش مصنوعی ارائه شده است.
خلاصه فصل هفتم درس هوش مصنوعی
در فصل هفتم درس هوش مصنوعی ، عاملهای مبتنی بر دانش معرفی شدهاند و نحوه تعریف یک منطق نشان داده شده است که چنین عاملهایی میتوانند با استفاده از آن درباره جهان استدلال کنند.
نکات اصلی به شرح زیر است:
- عاملهای هوشمند برای رسیدن به تصمیمهای خوب، نیاز به دانش درباره جهان دارند.
- دانش در قالب جملاتی به یک زبان بازنمایی دانش وجود دارد. این جملات در یک «پایگاه دانش» ذخیره میشوند.
- یک عامل مبتنی بر دانش، از یک پایگاه دانش و یک سازِکار استنباطی تشکیل میشود. کارکرد این عامل دانش محور، با ذخیره جملاتی درباره جهان در پایگاه دانش خود انجام میشود. عامل مبتنی بر دانش از سازِکار استنباطی برای استنباط جملات جدید استفاده میکند. این عامل، جملات جدید را برای تصمیمگیری اینکه چه عملی باید انجام شود، به کار میگیرد.
- یک زبان بازنمایی به وسیله نحو (سینتکس) آن تعریف میشود. نحو، ساختار جملات و مفاهیم (Semantics) آن را مشخص میکند. مفاهیم، حقیقت هر جمله را در هر جهان یا مدل ممکن تعریف میکند.
- رابطه پیامد منطقی (Entailment) بین جملات برای رسیدن به درکی از استدلال بسیار اهمیت دارد. یک جمله جمله دیگری به نام را در بر میگیرد، به شرطی که صدق کند در تمام کلماتی که در آنها صدق میکند. تعاریف معادل، شامل اعتبار جمله و عدم رضایت جمله است.
- استنتاج (Inference) به فرآیند استخراج جملات جدید از جملات قدیمی گفته میشود. الگوریتمهای استنتاج تنها جملاتی را استخراج میکنند که مستلزم (Entailed) باشند. الگوریتمهای کامل همه جملاتی که مستلزم هستند را استخراج میکنند.
- منطق گزارهای زبان سادهای شامل نشانههای گزارهای و همبندهای منطقی (Logical Connective) است. منطق گزارهای میتواند گزارههایی را مدیریت کند که درست، غلط یا کاملاً ناشناخته تلقی میشوند.
- مجموعه مدلهای ممکن، با یک واژگان گزارهای ثابت، مجموعهای متناهی است. بنابراین، پیامد منطقی میتواند به وسیله برشمردن مدلها بررسی کرد. الگوریتمهای بررسی مدل بهینه برای منطق گزارهای شامل روشهای پسگرد و جستجوی محلی هستند و اغلب میتوانند مسائل بزرگ را حل کنند.
- قوانین استنتاجی الگوهایی از استنتاج دقیق هستند که میتوانند برای رسیدن به اثبات استفاده شوند. قانون گرهگشایی یک الگوریتم استنتاج کامل را برای مبانی دانشی ارائه میدهد که در فرم نرمال اشتراکی ابراز میشود. زنجیرهسازی جلوسو (Forward chaining) و زنجیرهسازی رو به عقب (Backward Chaining) الگوریتمهای استدلال بسیار طبیعی برای مبانی دانش در فرم هورن (Horn Form) هستند.
- روشهای جستجوی محلی نظیر WALKSAT میتوانند برای پیدا کردن جواب استفاده شوند. چنین الگوریتمهایی دقیق هستند اما، کامل نیستند.
- «تخمین حالت منطقی» شامل حفظ یک جمله منطقی است که مجموعه حالتهای ممکن مطابق با تاریخچه مشاهده را توصیف میکند. هر گام بهروزرسانی نیازمند استنتاج با استفاده از مدل گذار در محیط است. این استنتاج از اصل حالت جایگزین (Successor State Axiom) ساخته شده است که نحوه تغییر هر Fluent را تعیین میکند.
- تصمیمات در یک عامل منطقی، میتواند به وسیله حل مسئله صدقپذیری دودویی (SAT Solving) گرفته شوند. SAT Solving شامل یافتن مدلهای ممکنی است که توالیهای اعمال آیندهای را مشخص میکنند که به هدف میرسند. این رویکرد تنها برای محیطهای مشاهدهپذیر کامل یا بدون حسگر کار میکند.
- منطق گزارهای در محیطهای نامتناهی مقیاسپذیر نیستند، زیرا این منطق، فاقد قدرت بیان برای مقابله کوتاه با زمان، فضا و الگوهای جهانی از روابط میان اشیا است.
به این ترتیب، در این نوشتار، کلیه مباحث مطرح شده در درس هوش مصنوعی مطرح شدند و خلاصهای از تمام فصلهای کتاب هوش مصنوعی راسل و نورویگ ارائه شده است. در بخش پایانی این مقاله، فیلمها و دورههای آموزشی مرتبط با درس هوش مصنوعی برای علاقهمندان و دانشجویان معرفی شدهاند.
معرفی فیلم های آموزش هوش مصنوعی
در این بخش از مقاله درس هوش مصنوعی ، دورههای آموزشی مرتبط با درس هوش مصنوعی برای یادگیری بهتر و کاملتر سرفصلهای این درس معرفی شدهاند. در ابتدا به معرفی دوره آموزشی هوش مصنوعی مقدماتی پرداخته شده است.
فیلم آموزش هوش مصنوعی - مقدماتی
دوره مقدماتی هوش مصنوعی فرادرس به مدت چهار ساعت و ۳۴ دقیقه توسط دکتر محمد صبری تدریس شده است. این دوره برای آن دسته از دانشجویان رشته کامپیوتر مناسب است که قصد گذراندن درس هوش مصنوعی را دارند. همچنین دانشجویان و فارغالتحصیلانی که قصد شرکت در کنکور کارشناسی ارشد کامپیوتر گرایش هوش مصنوعی را دارند نیز میتوانند از محتوای دوره آموزشی هوش مصنوعی - مقدماتی استفاده کنند. تقریباً تمام سرفصلهای درس هوش مصنوعی و کتاب هوش مصنوعی راسل و نورویگ در این دوره پوشش داده شده است. برخی از سرفصلهای این دوره آموزشی شامل هوش مصنوعی چیست، عامل هوشمند، جستجوهای ناآگاهانه، جستجوهای آگاهانه، مسائل ارضای محدودیت و بازیها است.
- برای دیدن فیلم آموزش هوش مصنوعی - مقدماتی + اینجا کلیک کنید.
فیلم آموزش هوش مصنوعی - تکمیلی
یکی دیگر از دورههای آموزشی مناسب برای یادگیری درس هوش مصنوعی ، دوره «آموزش هوش مصنوعی - تکمیلی» فرادرس است. طول مدت این دوره نزدیک به ۱۹ ساعت و مدرس آن، مهندس منوچهر بابایی است. در این دوره آموزشی از دو کتاب شاخص درس هوش مصنوعی یعنی کتاب هوش مصنوعی راسل و نورویگ و همچنین کتاب هوش مصنوعی بن کوپن استفاده شده است. همچنین در این دوره، شبکههای بیز و تصمیمگیری در شرایط عدم قطعیت نیز آموزش داده میشود. از جمله دیگر سرفصلهای دوره آموزشی هوش مصنوعی تکمیلی میتوان به حل مساله از طریق جستجو، جستجوهای آگاهانه، الگوریتم های جستجوی محلی، مسائل ارضای محدودیت، جستجوی خصمانه، منطق مرتبه اول و سایر موارد اشاره کرد.
- برای دیدن فیلم آموزش هوش مصنوعی - تکمیلی + اینجا کلیک کنید.
فیلم آموزش هوش مصنوعی (مرور و حل تست کنکور ارشد)
طول مدت دوره مرور و حل تستهای کنکور ارشد هوش مصنوعی ۱۵ ساعت و ۱۶ دقیقه و مدرس آن مهندس منوچهر بابایی است. در این دوره، مجموعه بزرگی از سوالات درس هوش مصنوعی شامل سوالات کنکور کارشناسی ارشد سالهای گذشته حل شدهاند. این دوره آموزشی برای آن دسته از دانشجویان و فارغالتحصیلان مقطع کارشناسی رشتههای کامپیوتر و سایر رشتهها مناسب است که قصد دارند برای آزمون ورودی کارشناسی ارشد کامپیوتر گرایش هوش مصنوعی آماده شوند. برخی از سرفصلهای این دوره آموزشی شامل مروری بر سؤالات تشریحی و کنکوری انواع عاملهای هوشمند، مروری بر سؤالات تألیفی، تشریحی و تستهای کنکور روشهای جستجوی ناآگاهانه و آگاهانه و سایر موارد است.
- برای دیدن فیلم آموزش هوش مصنوعی - تکمیلی + اینجا کلیک کنید.
فیلم آموزش یادگیری ماشین (Machine Learning) با پایتون (Python)
همانطور که در ابتدای این نوشتار و بخش «هوش مصنوعی چیست» بیان شد، یادگیری ماشین یکی از شاخههای اصلی و پرکاربرد هوش مصنوعی به حساب میآید. با یادگیری ماشین میتوان بدون نیاز به برنامهنویسی دقیق و کامل، کامپیوترهای خودآموز خلق کرد. این کامپیوترها با دریافت دادههای جدید، خودشان یاد میگیرند و پیشرفت میکنند. استفاده از دوره فیلم آموزش یادگیری ماشین با پایتون پس از گذراندن درس هوش مصنوعی به افرادی تصویه میشود که قصد فعالیت در این حوزه را دارند. طول مدت این دوره ۱۵ ساعت و ۱۶ دقیقه و مدرس آن مهندس سعید مظلومی راد است. برخی از سرفصلها و رئوس مطالب این دوره شامل مقدمه، آشنایی با بسته NumPy، آشنایی با بسته Pandas، ترسیم دادهها، آشنایی مقدماتی با مباحث آماری و سایر موارد است.
- برای دیدن فیلم آموزش هوش مصنوعی - تکمیلی + اینجا کلیک کنید.
فیلم آموزش تئوری و عملی الگوریتم ژنتیک
در فصل چهارم درس هوش مصنوعی به الگوریتمهای ژنتیک اشاره شده است. دوره آموزش تئوری و عملی الگوریتم ژنتیک برای آن دسته از دانشجویانی که به حوزه الگوریتم ژنتیک علاقهمند هستند و قصد دارند مطالب بیشتری در این خصوص یاد بگیرند، میتوانند از این دوره آموزشی استفاده کنند. همچنین، مفاهیم الگوریتم ژنتیک در مقطع کارشناسی ارشد رشته کامپیوتر و سایر رشتهها نیز کاربرد دارد. بنابراین، استفاده از دوره آموزشی الگوریتم ژنتیک به دانشجویان مقطع کارشناسی ارشد و سایر علاقهمندان پیشنهاد میشود. طول مدت این دوره آموزشی ۱۴ ساعت و ۲۳ دقیقه و مدرس آن دکتر مصطفی کلامی هریس هستند. از جمله سرفصلهای این دوره آموزشی میتوان به مروری بر مبانی علم ژنتیک و منشا الهام الگوریتمهای تکاملی و الگوریتمهای ژنتیک، بررسی جامع انواع روشهای انتخاب والدین، انتخاب رقابتی (Tournament Selection)، انواع اپراتورها برای مسائل مختلف و سایر موارد اشاره کرد.
- برای دیدن فیلم آموزش تئوری و عملی الگوریتم ژنتیک + اینجا کلیک کنید.
فیلم آموزش شبکه های عصبی مصنوعی در متلب
حوزه شبکههای عصبی مصنوعی (ANN) یکی از شاخههای مهم هوش مصنوعی به شمار میرود. شبکههای عصبی مصنوعی انواع مختلفی دارند که برای حل اکثر مسائل یادگیری ماشین از جمله طبقهبندی، خوشهبندی، تشخیص الگو و سایر موارد به کار گرفته میشوند. علاقهمندان به هوش مصنوعی و دانشجویانی که قصد ادامه تحصیل در مقطع کارشناسی ارشد را دارند، میتوانند از محتوای دوره آموزشی شبکههای عصبی مصنوعی در مطلب برای یادگیری این شاخه مهم در هوش مصنوعی استفاده کنند. طول مدت این دوره، ۲۸ ساعت و مدرس آن دکتر مصطفی کلامی هریس هستند. برخی از سرفصلهای این دوره شامل مروری بر عملکرد سیستم عصبی طبیعی، پیادهسازی شبکه عصبی در متلب با استفاده از رابطهای گرافیکی (GUI) تولباکس شبکه عصبی، مروری بر کاربردهای مختلف شبکههای عصبی مصنوعی، شبکههای عصبی شعاعی پایه، ماشینهای بردار پشتیبان، یادگیری غیرنظارت شده و خوشهبندی با الگوریتم k-Means، شبکههای عصبی رقابتی و نگاشت خود سازمانده و سایر موارد است.
- برای دیدن فیلم آموزش شبکه های عصبی مصنوعی در متلب + اینجا کلیک کنید.
فیلم آموزش مبانی محاسبات تکاملی و بهینه سازی هوشمند
حوزه بهینهسازی در اکثر رشتههای کاربردی و تخصصی مورد استفاده قرار میگیرد. یکی از مهمترین چالشها در هوش مصنوعی بهینهسازی رفتار عامل در محیط به شمار میرود. برای اینکه بتوان از هوش مصنوعی به صورت کاربردی و در دنیای واقعی استفاده کرد، عملکرد عامل باید تا جای ممکن بهینهسازی شود. فصلهای سوم تا ششم درس هوش مصنوعی به الگوریتمهای مختلف جستجو و حل مسائل به این روش اختصاص دارد. در دوره آموزشی بهینهسازی هوشمند نیز انواع روشهای جستجو برای بهینهسازی آموزش داده شدهاند. بدین سبب، استفاده از دوره آموزشی مبانی محاسبات تکاملی و بهینهسازی هوشمند به علاقهمندان حوزه هوش مصنوعی پیشنهاد میشود. طول مدت این آموزش، شش ساعت و ۱۲ دقیقه و مدرس آن، دکتر مصطفی کلامی هریس هستند. از جمله سرفصلها و مباحث مطرح شده در این دوره آموزشی میتوان به مفهوم جستجو (Exploration)، طیف الگوریتم های بهینه سازی از جستجوی تصادفی تا جستجوی حریصانه، روش های توصیف متغیرها و فضای جستجو و سایر موارد اشاره کرد.
- برای دیدن فیلم آموزش مبانی محاسبات تکاملی و بهینه سازی هوشمند + اینجا کلیک کنید.
فیلم آموزش شبیه سازی تبرید یا Simulated Annealing در متلب
در فصل چهارم درس هوش مصنوعی به شبیهسازی تبریدی یا به اختصار SA اشاره شده است. بنابراین، استفاده از دوره آموزشی شبیهسازی تبریدی در متلب برای آن دسته از دانشجویانی که به این مبحث علاقهمند هستند، توصیه میشود. طول مدت این دوره، چهار ساعت و ۲۸ دقیقه و مدرس آن دکتر مصطفی کلامی هریس هستند. در دوره آموزشی شبیهسازی تبریدی، ابتدا مباحث نظری مطرح شدهاند و سپس این الگوریتم به صورت عملی در متلب پیادهسازی شده است. برخی از سرفصلها و رئوس مطالب این دوره آموزشی شامل مبانی تئوری تبرید و الگوریتم شبیه سازی تبرید، مولفه ها و بخش های سازنده الگوریتم شبیه سازی تبرید در حالت پایه، بررسی تئوری مساله فروشنده دوره گرد (TSP)، معرفی اپراتورها (عملگرهای) ایجاد همسایه در حل مسائل جایگشتی و مساله فروشنده دوره گرد و سایر موارد است.
- برای دیدن فیلم آموزش شبیه سازی تبرید یا Simulated Annealing در متلب + اینجا کلیک کنید.
فیلم آموزش ساختمان داده ها
ساختمان داده ها یکی از دروس مهم و پایه رشته کامپیوتر به حساب میآید که پیشنیاز درس هوش مصنوعی است. همچنین، ساختمان داده در کنکور کارشناسی ارشد و دکتری ضریب بالایی دارد. برای یادگیری بهتر درس هوش مصنوعی استفاده از دوره آموزشی ساختمان دادهها به دانشجویان و سایر علاقهمندان پیشنهاد میشود. طول مدت این دوره آموزشی ۱۰ ساعت و ۳۸ دقیقه و مدرس آن دکتر فرشید شیرافکن است. برخی از سرفصلهای اصلی و رئوس مطالب این دوره آموزشی شامل مرتبه اجرایی، زیربرنامه های بازگشتی، آرایه، صف و پشته، لیست پیوندی، درخت، گراف، مرتب سازی و سایر موارد است.
- برای دیدن فیلم آموزش ساختمان داده ها + اینجا کلیک کنید.
فیلم آموزش طراحی الگوریتم
طراحی الگوریتم یکی دیگر از پیشنیازهای درس هوش مصنوعی به حساب میآید. درس طراحی الگوریتم یکی از دروس پایه و مهم رشته کامپیوتر است. در صورت عدم تسلط به مفاهیم طراحی الگوریتم، استفاده از دوره آموزشی طراحی الگوریتم پیش از شروع آموزش درس هوش مصنوعی به علاقهمندان و دانشجویان پیشنهاد میشود. طول مدت این دوره، ۱۵ ساعت و ۱۲ دقیقه و مدرس آن، دکتر فرشید شیرافکن است. در این دوره آموزشی، مفاهیم درس طراحی الگوریتم به بیان ساده و به طور جامع ارائه شدهاند. این دوره برمبنای دو منبع مهم طراحی الگوریتم یعنی کتابهای کرمن و نیپولیتان تهیه شده است. برخی از سرفصلها و مطالب مطرح شده در این دوره شامل مرتبه اجرایی، رابطه های بازگشتی، روش تقسیم و حل، روش برنامهنویسی پویا، روش حریصانه، روش شاخه و قید، الگوریتم های گراف و سایر موارد است.
- برای دیدن فیلم آموزش طراحی الگوریتم + اینجا کلیک کنید.
فیلم آموزش ریاضیات گسسته
با توجه به اینکه درس ساختمان داده و الگوریتمها پیشنیاز درس هوش مصنوعی است و درس ریاضیات گسسته نیز پیشنیاز درس ساختمان داده به حساب میآید، استفاده از دوره آموزشی ریاضیات گسسته و یادگیری مباحث آن میتواند به درک بهتر مفاهیم درس هوش مصنوعی کمک کند. طول مدت این دوره آموزشی، ۲۱ ساعت و ۵۵ دقیقه و مدرس آن دکتر فرشید شیرافکن است. هدف از آموزش ریاضیات گسسته، تسلط به استدلال ریاضی و روشهای استفاده از برهان در حل مسائل، استفاده از روشهای ترکیباتی و به کارگیری گراف و درخت در حل مسائل است. این فرادرس در دوازده درس فراهم شده است و مفاهیم آن به همراه مثالهای فراوان آموزش داده میشوند. برخی از سرفصلهای دوره آموزشی ریاضیات گسسته شامل حساب گزارهها، استلزام منطقی، سورها، مجموعهها، رابطه و تابع، رابطه و کلاس همارزی، ترتیب جزئی، لاتیس، جبر بول، ساختارهای جبری و سایر موارد است.
- برای دیدن فیلم آموزش ریاضیات گسسته + اینجا کلیک کنید.
جمعبندی
درس هوش مصنوعی یکی از دروس تخصصی و مهم رشته کامپیوتر است. هوش مصنوعی یکی از گرایشهای مقطع کارشناسی ارشد رشته کامپیوتر به حساب میآید. درس هوش مصنوعی پیشرفته یکی از دروس اصلی گرایش هوش مصنوعی محسوب میشود. محور اصلی درس هوش مصنوعی مفهوم «عامل هوشمند» است. هوش مصنوعی در مطالعه عاملهایی تعریف میشود که درکی از محیط به دست میآورند و بر اساس آن اعمالی را انجام میدهند. هر یک از این عاملها با پیادهسازی یک تابع، توالیهای ادراک (Percept) را به اعمال (Action) نگاشت میدهند.
در این نوشتار، به سوالات رایج پیرامون درس هوش مصنوعی پاسخ داده شده است، همچنین، سرفصلها و رئوس مطالب هر یک از فصلهای درس هوش مصنوعی معرفی و به اختصار شرح داده شدهاند. سوالات رایجی که به آنها پاسخ داده شده است شامل، پیشنیازهای درس هوش مصنوعی، منابع آن، مباحث مطرح شده در این درس و سایر موارد است. در پایان نیز، دورههای آموزشی متعددی پیرامون مفاهیم AI و درس هوش مصنوعی معرفی شدهاند.
سلام و احترام
واقعا ممنونم.
سلام و احترام
عالی بود
لطفا در مورد دروس هوش مصنوعی بیشتر مطللب بذارید. ممنونم