در این مقاله سعی شده است به طور جامع به چیستی «عامل هوشمند» (Intelligent Agent | IA) در «هوش مصنوعی» (Artificial Intelligence | AI) پرداخته شود. به طور کلی یک سیستم هوش مصنوعی یه دو بخش عامل و محیط تقسیم میشود. عامل هوشمند یک «موجودیت نرم افزاری» (Software Entity) به حساب میآید که امکان انجام عملیات موردنیاز در هوش مصنوعی را فراهم میکند. این موجودیت محیط را درک و از «اهرم» (محرک | عملگر | Actuator) برای شروع عملیات هوش مصنوعی استفاده میکند. به عبارت سادهتر میتوان گفت که عامل هوشمند ، موجودیتی در هوش مصنوعی است که قدرت تصمیمگیری دارد.
در این مقاله، به صورت جامع به سوال عامل هوشمند چیست ، پاسخ داده شده است. همچنین، مبحث عامل هوشمند یکی از فصلهای درس هوش مصنوعی رشتههای مهندسی کامپیوتر نیز به شمار میرود. ابتدا در بخش بعدی برای درک بهتر عامل هوشمند به این موضوع پرداخته میشود که عامل چیست.
عامل چیست؟
هر چیزی که محیط را از طریق حسگر شناسایی کند و بر محیطی از طریق اهرمها یا عمل کنندهها تأثیر بگذارد، «عامل» یا «کنشگر» (Agent) نامیده میشود. عاملها وظایفی از جمله تشخیص دادن، فکر کردن و عمل کردن را در در یک برنامه انجام میدهند. عاملها انواع گوناگونی دارند که در ادامه به معرفی آنها پرداخته شده است:
- «عاملهای انسانی» (Human Agent): در بدن انسان چشمها، گوشها و سایر اندامهای حسی به عنوان عامل و دستها، پاها به عنوان اهرم (محرک) در نظر گرفته میشوند.
- «عاملهای رباتیک» (Robotic Agent): رباتها، دوربینها، «مسافتیابهای مادون قرمز» (Infrared Range Finder)، حسگرها و موتورهای گوناگون دیگر، عاملهای رباتیک به حساب میآیند.
- «عاملهای نرم افزاری» (Software Agent): مجموعهای از برنامههای نرم افزاری که برای اجرای وظیفههایی مشخص طراحی شدهاند. برای مثال میتوان به برنامههایی اشاره کرد که بررسی محتوای ایمیلهای دریافتی و گروهبندی آنها را انجام میدهند.
پس از درک تعریف عامل، در بخش بعدی از این مقاله، به طور جامع به این سوال پاسخ داده شده است که عامل هوشمند چیست .
عامل هوشمند چیست ؟
عامل هوشمند، نوعی عامل به حساب میآید که میتواند وظایف خاص، قابل پیشبینی و تکراری را به صورت مستقل انجام دهد و در حین انجام وظایف توان یادگیری هم دارد. میتوان گفت که این عاملها دارای برخی از خصوصیات روحی انسان از جمله علم، عقیده، قصد و سایر موارد هستند. به عنوان مثالهایی برای درک بهتر عاملهای هوشمند میتوان به سیستمهای «پردازش زبان طبیعی» (Natural Language Processing | NLP) مانند Alexa از شرکت آمازون و Siri از شرکت اپل اشار کرد. عامل هوشمند دارای دو عملکرد اصلی است که در ادامه به آنها پرداخته شده است:
- «درک» (Perception): به عملکردهایی میگویند که توسط حسگرها انجام میشوند.
- «عمل» (Action): به عملکردهایی گفته میشود که به وسیله عمل کنندهها یا همان محرکها انجام میگیرند.
عامل هوشمند برنامهای است که میتواند بر اساس محیط، ورودی کاربر و تجربههای خود تصمیم بگیرد و خدماتی را انجام دهد. این برنامهها میتوانند برای جمعآوری مستقل اطلاعات در یک زمانبندی منظم و برنامهریزی شده یا زمانی استفاده شوند که کاربر در «زمان واقعی» (Real Time | در لحظه) درخواستی داشته باشد. همچنین ممکن است عاملهای هوشمند به عنوان ربات نیز شناخته شوند. در ادامه به بررسی مفهوم ادراک پرداخته شده است.
ادراک در عامل هوشمند چیست ؟
از اصطلاح ادراک (Percept) برای اشاره به ورودیهای حسی و ادراکی دریافتی عامل در هر لحظه استفاده شده است. همچنین به تاریخچه کامل هر آنچه که عامل تاکنون دریافت و درک کرده است، «توالی ادراک» (Percept Sequence) گفته میشود. در بخش بعدی از مقاله «عامل هوشمند چیست» به بررسی روش انتخاب عمل در عاملهای هوشمند پرداخته شده است.
انتخاب عمل در عامل هوشمند چیست ؟
«انتخاب عمل» (Choice of Action) به این معنی است که عامل بر اساس دانش خود انتخاب میکند که در هر لحظه چه عملی را انجام دهد. به این نکته نیز باید توجه داشت که انتخاب عمل یک عامل در هر لحظه میتواند به کل توالی ادراک تا آن لحظه وابسته باشد و به آنچه که هنوز دریافت نشده، ارتباطی ندارد. در ادامه به برخی از قانونهایی پرداخته شده است که باید توسط یک عامل هوشمند رعایت شوند.
قانون های عامل هوشمند چیست ؟
عامل هوشمند یک موجودیت مستقل به حساب میآید که با استفاده از حسگرها و عمل کنندهها برای رسیدن به هدفی تلاش میکند. ممکن است یک عامل هوشمند برای رسیدن به اهداف خود از محیط، اطلاعات و موارد زیادی را بیاموزد. عاملهای هوشمند دارای قوانینی هستند که نیاز است در عملکرد آنها رعایت و انجام شوند. این قوانین در ادامه این بخش ارائه شدهاند:
- عاملهای هوشمند برای انجام عملکرد صحیح خود، باید توانایی شناسایی محیط اطرافشان را داشته باشند.
- تصمیمهای عاملهای هوشمند بر اساس مشاهدههای آنها گرفته میشوند.
- تصمیمهای عامل هوشمند باید به عمل و اقدام کاربردی منجر شود.
- عملکردهای عامل هوشمند باید مشخص و منطقی باشند.
ادامه مقاله «عامل هوشمند چیست» به نحوه کار عاملهای هوشمند اختصاص داده شده است.
عامل های هوشمند چگونه کار می کنند؟
حسگرها، عملگرها و «کنشگرها» (Effector) سه مؤلفه اصلی در روند کار عامل هوشمند به حساب میآیند. در ادامه، ابتدا قبل از بررسی روش کار کردن عاملهای هوشمند به بررسی تعریف این سه مؤلفه پرداخته میشود.
- حسگر: دستگاهی است که تغییرهای محیطی را تشخیص میدهد و اطلاعات را به دستگاههای دیگر ارسال میکند. محیط توسط عامل هوشمند از طریق حسگرها مشاهده میشود. به عنوان مثالهایی از حسگرهای گوناگون میتوان به دوربین، «سیستم تعیین موقعیت جهانی» یا همان GPS، رادار و سایر موارد پرداخت.
- عملگر: به آن اهرم هم میگویند و یکی از مؤلفههای ماشین به حساب میآید که انرژی را به حرکت تبدیل میکند. عملگرها وظیفه حرکت و کنترل سیستم را بر عهده دارند. به عنوان مثالهایی برای درک بهتر این بخش میتوان به موتور برقی، دنده، ریل و سایر موارد اشاره کرد.
- کنشگر: به دستگاههایی گفته میشود که روی محیط تأثیر میگذارند. از جمله این دستگاهها میتوان به چرخ، صفحه نمایش و سایر موارد این چنینی در سیستمها اشاره کرد.
در تصویر فوق مشخص شده است که هر کدام از بخشهای عمل کننده، حسگر و محیط چگونه با یکدیگر و به وسیله درک و عمل در یک سیستم هوش مصنوعی ارتباط برقرار میکنند. همانطور که مشاهده است، درک محیط از طریق حسگرها انجام و ورودیها توسط عامل هوشمند دریافت میشوند. با استفاده از مشاهدههای انجام شده و اطلاعات بهدست آمده از این طریق، عاملها از هوش مصنوعی برای تصمیمگیری استفاده میکنند. سپس عمل کنندهها اقداماتی را آغاز خواهند کرد. همچنین باید این موضوع را نیز در نظر گرفت که درک تاریخچه اتفاقات گذشته، بر تصمیمهای آینده اثر میگذارند. در ادامه تصویر کاملتری از روش کار عامل هوشمند در هوش مصنوعی ارائه شده است.
ادامه مقاله «عامل هوشمند چیست» به بررسی برخی از ویژگیهای مهم عاملهای هوشمند اختصاص داده شده است.
ویژگیهای عامل هوشمند چیست ؟
عامل هوشمند دارای ویژگیهای حیاتی بسیاری است که برخی از آنها در ادامه فهرست شدهاند:
- عاملهای هوشمند دارای سطحی از استقلال هستند که به آنها امکان انجام برخی وظایف خاص را به تنهایی میدهد.
- عاملهای هوشمند دارای توانایی یادگیری هستند که باعث میشود حتی در حین انجام وظایف خود، موارد جدیدی را یاد بگیرند.
- عاملهای هوشمند میتوانند با موجودیتهای دیگر از جمله عاملها، انسانها و سیستمها ارتباط برقرار کنند.
- قوانین جدید میتوانند توسط عاملهای هوشمند به تدریج با محیط تطبیق داده شوند.
- عاملهای هوشمند عادتهای مبتنی بر هدف را نشان میدهند.
- همچنین عاملهای هوشمند مبتنی بر دانش هستند و از دانش بهدست آمده از طریق برقراری ارتباط، انجام پردازشها و موجودیتهای محیط، پردازشها و موجودیتها استفاده میکنند.
- عاملهای هوشمند دارای قابلیت سازگاری با محیط بر اساس تجربه هستند.
- عاملهای هوشمند میتوانند در لحظه مسائل را حل کنند.
- این عاملها میتوانند خطا یا موفقیت را تجزیه و تحلیل کنند.
- عاملهای هوشمند میتوانند از ذخیرهسازی و بازیابی مبتنی بر حافظه استفاده کنند.
در ادامه مقاله «عامل هوشمند چیست» به بررسی ساختار عامل هوشمند پرداخته شده است.
ساختار عامل هوشمند چیست؟
ساختار عامل هوشمند را میتوان ترکیبی از معماری و برنامه عامل در نظر گرفت. همچنین، ساختار هوش مصنوعی دارای سه اصل مهم است که در ادامه به آنها پرداخته میشود. ابتدا در بخش بعدی به بررسی معماری عامل هوشمند پرداخته شده است.
معماری عامل هوشمند چیست ؟
«معماری» (Architecture) شامل ماشین و دستگاههایی میشود که از عمل کنندهها و حسگرها تشکیل شدهاند. عامل هوشمند بر روی این ماشینها پیادهسازی خود را انجام میدهد. برای مثال میتوان به کامپیوتر، خودرو، دوربین و سایر موارد اشاره کرد. در ادامه به بررسی تابع عامل هوشمند پرداخته شده است.
تابع عامل هوشمند چیست ؟
«تابع عامل» (Agent function) تابعی است که در آن اعمال انجام شده از یک توالی یا دنباله ادراکی مشخص نگاشت میشوند. دنباله ادراک به تاریخچهای از مفاهیم قابل درک اشاره دارد که عامل هوشمند پیش از این درک کرده است. ادامه این بخش به بررسی برنامه عامل هوشمند اختصاص دارد.
برنامه عامل هوشمند چیست ؟
«برنامه عامل» (Agent Program) به پیادهسازی و اجرای تابع عامل گفته میشود. تابع عامل به وسیله پیادهسازی برنامه عامل روی معماری فیزیکی تولید شده است. برای مثال، «عاملهای هوشمند مبتنی بر داده» (Data Intelligent Agent) معمولاً با استفاده از پارامترهای فراهم شده توسط کاربر، در همه یا بخشی از اینترنت جستجو انجام میدهند. سپس عامل اطلاعات مورد نظر کاربر را جمعآوری میکند و در یک دوره یا به صورت پاسخ به یک درخواست آنها را به کاربر ارائه خواهد داد. عاملهای هوشمند داده میتوانند هر گونه اطلاعات مشخصی از جمله کلمات کلیدی یا تاریخ انتشار موردی را استخراج کنند.
در عاملهایی که از هوش مصنوعی استفاده میکنند، ورودی کاربر با استفاده از حسگرهایی مانند میکروفون یا دوربینها جمعآوری میشود و خروجی عامل از طریق اهرمهایی از جمله بلندگوها یا صفحهنمایش، تحویل داده میشوند. به دست آوردن اطلاعات ورودی توسط کاربر «Push Technology» نامیده میشود. برای درک بهتر معماری، تابع و برنامه عامل، در ادامه این بخش، یک تابع عامل ارائه شده است:
$$F: P^ * longrightarrow A$$
همانطور که پیشتر به آن اشاره شد، برنامه عامل یا همان P در تابع فوق، روی معماری فیزیکی یا A برای تولید تابع عامل یا همان F پیادهسازی میشود. یک برنامه عامل ساده میتواند به عنوان تابع عاملی تعریف شود و هر ادراک ممکن را به عملی نگاشت میکند که یک عامل توان انجام آن را دارد.
حال تا این بخش از مقاله تعریف واضحی از عامل هوشمند ارائه شد. برای هوش مصنوعی، اقدامات مبتنی بر «منطق» یا «عقل» (Rational | Logic) بسیار مهم هستند زیرا عامل برای هر عمل ممکن و خوب یک پاداش مثبت و برای هر عمل اشتباه یک پاداش منفی دریافت میکند. در ادامه این بخش از مقاله «عامل هوشمند چیست» مثالی از دنیای واقعی برای تفهیم کامل معماری، تابع و برنامه عامل هوشمند ارائه شده است.
مثالی از روش عملکرد جاروبرقی به عنوان عامل
برای درک بهتر مفاهیم بیان شده در این بخش پیرامون عاملها و محیط، یک جهان ساده برای عامل جاروبرقی در نظر گرفته شده است. این جهان تنها دو موقعیت A و B دارد که هر موقعیت آن به صورت یک محدوده مربعی شکل در نظر گرفته میشود. سپس، عامل جاروبرقی درک میکند که در کدام مربع قرار دارد. همچنین جاروبرقی میتواند میزان کثیفی یا تمیزی مربعی را درک کند که در آن قرار دارد. جاروبرقی دارای انتخابهای زیر برای انجام اعمالش است:
- جاروبرقی به سمت راست حرکت کند.
- جاروبرقی به سمت چپ حرکت کند.
- جاروبرقی عمل مکش انجام دهد.
- جاروبرقی هیچ کاری انجام ندهد.
یک تابع عامل ساده برای مثال جاروبرقی به صورت «اگر مربع فعلی کثیف است، باید جاروربرقی عمل مکش انجام دهد؛ در غیر این صورت، به مربع بعدی میرود.» تعریف میشود. برخی از عملها و ادراک تابع عامل جاروبرقی برای یک جهان ساده به صورت زیر نمایش داده شده است:
در بخش بعدی مقاله «عامل هوشمند چیست»، پس از معرفی مجموعه دورههای آموزش هوش مصنوعی، به بررسی عامل منطقی پرداخته شده است.
معرفی فیلم های آموزش هوش مصنوعی تم آف
دورههای آموزشی تم آف بر اساس موضوع به صورت مجموعههای آموزشی گوناگونی دستهبندی شدهاند. یکی از این مجموعههای جامع، مربوط به دورههای آموزش هوش مصنوعی است. علاقهمندان میتوانند از این مجموعه آموزشی برای یادگیری بیشتر عامل هوشمند در حوزههای مختلف با زبانهای برنامه نویسی گوناگون استفاده کنند. در زمان تدوین این مقاله، مجموعه دورههای هوش مصنوعی تم آف حاوی بیش از ۳۳۰ ساعت محتوای ویدیویی و حدود ۳۶ عنوان آموزشی مختلف است. در ادامه این بخش، برخی از دورههای این مجموعه به طور خلاصه معرفی شدهاند:
- فیلم آموزش هوش مصنوعی – مقدماتی (طول مدت: ۴ ساعت و ۳۴ دقیقه، مدرس: دکتر محمد صبری): این تم آف به صورتی ارائه شده است که هم برای دانشجویان مقطع کارشناسی و علاقهمندان به هوش مصنوعی مفید باشد و هم افرادی بتوانند از آن استفاده کنند که قصد شرکت در آزمون کارشناسی ارشد یا دکتری را دارند. برای مشاهده فیلم آموزش هوش مصنوعی – مقدماتی + کلیک کنید.
- فیلم آموزش یادگیری ماشین Machine Learning با پایتون Python (طول مدت: ۱۰ ساعت، مدرس: مهندس سعید مظلومی راد): در این دوره آموزشی سعی شده است در ابتدا بستههای شناخته شده پایتون معرفی و سپس کار با توابع آنها آموزش داده شود. در انتها، مباحث یادگیری ماشین با مثالهای متعددی در زبان پایتون ارائه شدهاند. برای مشاهده آموزش یادگیری ماشین Machine Learning با پایتون Python + کلیک کنید.
- فیلم آموزش هوش مصنوعی توزیع شده (طول مدت: ۲۴ ساعت و ۸ دقیقه، مدرس: دکتر امیرحسین کیهانی پور): در این دوره آموزشی، به بیان مفاهیم پایه مربوط به عامل هوشمند، از جمله مباحث تئوری، روشهای اجرایی و پیادهسازی سامانههای تشکیل شده از تعدادی عوامل هوشمند و خودکار، پرداخته میشود. همچنین نمونههایی از کاربردهای اخیر آنها در حوزههای گوناگون، بررسی شدهاند. برای مشاهده فیلم آموزش هوش مصنوعی توزیع شده + کلیک کنید.
- فیلم آموزش مبانی یادگیری عمیق (طول مدت: ۵ ساعت و ۲۶ دقیقه، مدرس: دکتر سعید محققی): در این دوره آموزشی، یکی از محبوبترین و پرکاربردترین علوم حوزه هوش مصنوعی، یعنی یادگیری عمیق، آموزش داده شده است. برای مشاهده فیلم آموزش مبانی یادگیری عمیق + کلیک کنید.
- فیلم آموزش مقدماتی پردازش تصویر با اپن سی وی OpenCV در پایتون Python (طول مدت: ۳ ساعت و ۱۰ دقیقه، مدرس: مهندس محمدجواد زمانی قلعه): در این تم آف، معرفی، نصب و بارگذاری تصاویر در برنامهها به صورت کاملاً سریع و آسان انجام و سپس با اعمال عملیات اصلی متداول روی آنها، رویکردهای ریاضی و تبدیلهای هندسی برای تصاویر آموزش داده میشود. برای مشاهده فیلم آموزش مقدماتی پردازش تصویر با اپن سی وی OpenCV در پایتون Python + کلیک کنید.
- آموزش شبکه های عصبی پیچشی CNN – مقدماتی (طول مدت: ۲ ساعت و ۱۲ دقیقه، مدرس: سایه کارگری): از آنجایی که شبکههای عصبی پیچشی یکی از نیازهای اصلی علاقهمندان به پردازش تصویر و بینایی ماشین به حساب میآید، فراگیری مفاهیم این شبکهها از اهمیت بالایی برخوردار است و در این تم آف به آنها پرداخته میشود. برای مشاهده آموزش شبکههای عصبی پیچشی CNN – مقدماتی + کلیک کنید.
حال پس از معرفی مجموعه دورههای آموزش هوش مصنوعی تم آف، در بخش بعدی مقاله «عامل هوشمند چیست» به بررسی عامل منطقی، پرداخته میشود.
عامل منطقی چیست؟
عامل منطقی ایدهآل، عاملی به حساب میآید که بتواند بهترین عملکرد ممکن را انجام دهد و کارایی را به حداکثر خود افزایش دهد. در ادامه اعمالی برای انجام مناسب عملکرد عامل منطقی ارائه شدهاند:
- «توالی ادراک» (Percept sequence)
- «پایگاه دانش داخلی» (Built-in Knowledge Base)
اعمال عامل منطقی، عامل اصلی را در توالی ادراک داده شده موفقتر میکند. بالاترین نوع عملکرد متعلق به عاملهای منطقی است. در ادامه این بخش از مقاله «عامل هوشمند چیست» به بررسی عقلانیت یا معقولیت پرداخته میشود.
مفهوم عقلانیت در عامل های هوشمند چیست؟
عقلانیت سطح معقول بودن و داشتن حس قضاوت خوب را تعریف میکند. عقلانیت به اعمال انجام شده و نتایج مرتبط با عامل شناسایی شده ارتباط دارد و با استفاده از موارد زیر سطح آن مقیاسبندی و اندازهگیری میشود:
- اندازهگیری کارایی یکی از معیارهای مهم عقلانیت است.
- علم و دانش قبلی موجود در محیط یکی از معیارهای اندازهگیری به حساب میآید.
- بهترین اعمال ممکن که به وسیله عاملها انجام میشوند.
- توالی ادراکها یکی از موارد مهم در زمینه عقلانیت است.
در ادامه مقاله «عامل هوشمند چیست» به بررسی نمایش «PEAS» در هوش مصنوعی پرداخته شده است.
نمایش PEAS در هوش مصنوعی چگونه است؟
«PEAS» سرنامی برای «Performance, Environment, Actuators, Sensors» به معنی «کارایی، محیط، عمل کنندهها، حسگرها» است. PEAS نوعی مدل است که یک عامل هوش مصنوعی روی آن کار میکند. این مدل برای گروهی از عاملهای مشابه مورد استفاده قرار میگیرد. هر کدام از موارد محیط، عمل کنندهها، حسگرها برای اندازهگیری عملکرد توسط مدل PEAS استفاده میشوند. در ادامه به طور خلاصه به شرح هر کدام از این چهار مورد پرداخته شده است:
- «اندازهگیری عملکرد» (Performance Measure): عملکرد و کارایی هر عامل بسته به میزان درک آن عامل متفاوت است و موفقیت عاملها با استفاده از واحد اندازهگیری عملکرد توصیف میشود.
- محیط: در بخش بعدی به طور کامل به بررسی محیط عامل هوشمند پرداخته میشود.
- عمل کننده یا اهرم: بخشی از عامل است که اعمال و اقدامات را آغاز و خروجی اعمال را به محیط ارسال میکند.
- حسگر: بخشی از عامل است که ورودی را برای آن دریافت میکند.
در جدول زیر برای درک بهتر این مبحث، مثالهایی برای نمایش مدل PEAS ارائه شدهاند:
عامل | اندازهگیری کارایی | محیط | عمل کننده | حسگر |
تشخیص پزشکی |
|
|
|
|
جاروبرقی هوشمند |
|
|
|
|
رانندگی خودکار خودرو |
|
|
|
|
در بخش بعدی به بررسی محیط عامل هوشمند پرداخته شده است.
محیط عامل هوشمند چیست ؟
به تمام آنچه در اطراف عامل قرار دارد و در واقع محلی که عامل هوشمند در آن عملیات انجام میدهد محیط گفته میشود. اگر عامل مربوطه در حرکت باشد، محیط با گذشت زمان تغییر خواهد کرد. محیطها دارای هفت نوع اصلی زیر هستند:
- محیط «کاملاً قابل مشاهده و تا حدی قابل مشاهده» (Observable | Partially Observable): اگر بتوان وضعیت کامل محیط را در هر نقطه از بخش ادراک مشخص کرد، یعنی محیط مورد نظر قابل مشاهده است. در غیر این صورت محیط فقط تا حدی قابل مشاهده در نظر گرفته میشود.
- محیط «دورهای و متوالی» (Episodic | Non-episodic): در محیطی دورهای، هر دوره دارای درک و عمل عامل است. کیفیت هر عمل فقط به همان بخش دوره بستگی دارد و بخشهای بعدی به بخشهای قبلی ارتباطی ندارند. محیطهای دورهای بسیار ساده هستند؛ زیرا عامل نیازی به فکر کردن به بخشهای قبل نمیبیند.
- محیط «پویا و ثابت» (Static | Dynamic): محیطی ثابت است که در هنگام فعالیت عامل تغییری نکند، در غیر این صورت آن محیط پویا در نظر گرفته میشود.
- محیط «گسسته و پیوسته» (Discrete | Continuous): در این نوع از محیطها اگر تعداد محدودی از حالتهای محیطی متفاوت به وضوح تعریف شده باشند، محیط گسسته در نظر گرفته میشود. میتوان به عنوان مثال به صفحه شطرنج اشاره کرد. در غیر این صورت محیط پیوسته است. برای مثال این نوع محیط میتوان رانندگی را در نظر گرفت.
- محیط «قطعی و تصادفی» (Deterministic | Non-deterministic): اگر وضعیت بعدی محیط به طور کامل با وضعیت فعلی و عملهای عامل تعیین شود، آنگاه محیط قطعی در نظر گرفته میشود. در غیر این صورت محیط تصادفی یا غیرقطعی نامیده خواهد شد.
- محیط «قابل دسترسی و غیرقابل دسترس» (Accessible | Inaccessible): اگر حسگرهای عامل بتوانند به طور کامل به محیط دسترسی داشته باشند، آنگاه آن محیط قابل دسترسی در نظر گرفته میشود. در غیر این صورت محیط غیرقابل دسترس است.
- محیط «عامل چندگانه و واحد» (Single agent | Multiple agents): محیط میتواند دارای عاملهای یکسان و محیطی واحد و دارای انواع عاملهای گوناگون و محیطی چندگانه باشد.
در بخش بعدی از مقاله «عامل هوشمند چیست» انواع عاملها در هوش مصنوعی ارائه و مورد بررسی قرار میگیرند.
انواع عامل هوشمند در هوش مصنوعی
عاملها به پنج گروه تقسیم میشوند. این گروهبندی مبتنی بر درجه هوش و توانایی آنها ایجاد شدهاند. در ادامه عاملهای هوشمند مشاهده میشوند:
- «عامل واکنشی ساده» (Simple Reflex Agent)
- «عامل واکنشی مبتنی بر مدل» (Model-Based Reflex Agent)
- «عامل مبتنی بر هدف» (Goal-Based Agent)
- «عامل مبتنی بر سودمندی» (Utility-Based Agent)
- «عامل یادگیرنده» (Learning Agent)
در ادامه این بخش از مقاله «عامل هوشمند چیست» به بررسی و شرح هر کدام از این عاملها پرداخته شده است.
عامل واکنشی ساده چیست؟
عامل واکنشی ساده به تاریخچه ادراک یعنی ادراکهای قبلی اهمیتی نمیدهد و فقط بر اساس ادراکهای فعلی عمل میکند. منظور از تاریخچه ادراک تمام کارهایی است که یک عامل از ابتدا انجام داده و همه اتفاقاتی است که تاکنون برای یک عامل در محیط رخ دادهاند. تابع عامل در این نوع بر اساس «قانون شرط عمل» (Condition-Action Rule) فعالیت میکند. قانون شرط عمل، قانونی به حساب میآید که یک حالت یعنی همان شرط را به یک عمل نگاشت کرده است. در این قانون زمانی که شرط مورد نظر صحیح باشد، عمل اتفاق میافتد و اگر صحیح نباشد، اتفاقی رخ نمیدهد. در تصویر زیر، نموداری از روش کار یک عامل واکنشی ساده ارائه شده است.
این تابع عامل تنها زمانی موفقیتآمیز است که محیط به طور کامل قابل مشاهده باشد. برای یک عملیات ساده عامل واکنشی در به صورت ناقص قابل مشاهده هستند. ممکن است حلقههای بینهایت به وجود بیاید. در این حالت، اگر عامل واکنشی ساده بتواند اعمال خود را به صورت تصادفی انجام دهد، ممکن بتوان از ایجاد حلقههای بینهایت اجتناب کرد. مشکلاتی که در عاملهای واکنشی ساده وجود دارند، در ادامه ارائه شدهاند:
- عاملهای واکنشی ساده دارای هوشمندی بسیار محدودی هستند.
- این نوع از عاملها از بخشهای غیر ادراکی حالتها آگاهی کاملی ندارند.
- معمولاً عاملهای واکنشی ساده برای ذخیرهسازی و تولید بسیار بزرگ هستند.
- اگر در محیط هر تغییری رخ دهد، سپس مجموعهای از قانونها نیاز به بروزرسانی دارند.
عامل واکنشی ساده در جاروبرقی هوشمند
به عنوان مثال، در مثال جاروبرقی هوشمندی که پیشتر مورد بررسی قرار گرفت، تصمیمگیری عامل بر اساس موقعیت فعلی و کثیف بودن یا نبودن آن انجام شده است. «شبه کد» (Pseudocode) برنامه عامل واکنشی ساده جاروبرقی در محیط ساده دوحالتی به صورت زیر است:
function REFLEX-VACUUM-AGENT([location,status]) returns an action if status = Dirty then return Suck else if location = A then return Right else if location = B then return Left
جدول تابع عامل جروبرقی در شبهکدهای فوق پیادهسازی شده است که در بخشهای پیشین مقاله ارائه شده بود. مشاهده میشود که این برنامه در مقایسه با جدول متناظرش بسیار کوچکتر به نظر میرسد. یکی از دلیلهای کوچکتر شدن برنامه این موضوع است که تاریخچه ادراک در آن نادیده گرفته میشود. همچنین دلیل دیگر کاهش اندازه برنامه، این موضوع است که در صورت کثیف بودن یک مربع، عملی که باید انجام شود، وابستگی به موقعیت نخواهد داشت. همچنین در ادامه یک مثال دیگر از عاملهای واکنشی ساده ارائه شده است.
function SIMPLE-REFLEX-AGENT(percept) returns an action persistent: rules, a set of condition–action rules state ← INTERPRET-INPUT(percept) rule ← RULE-MATCH(state, rules) action ← rule.ACTION return action
تابع INTERPRET-INPUT
توصیف انتزاعی حالت فعلی را از ادراک به وجود میآورد. تابع RULE-MATCH
اولین قانونی را در مجموعه قوانین بازمیگرداند که با توصیف حالت فعلی همخوانی داشته باشد. باید به این نکته توجه داشت که توصیف «قوانین» و «همخوانی» کاملاً انتزاعی است و پیادهسازی عملی میتواند به سادگی و از طریق مجموعهای از گیتهای منطقی سازنده یک مدار بولی انجام شود. در ادامه این بخش از مقاله «عامل هوشمند چیست» به بررسی عامل واکنشی مبتنی بر مدل پرداخته شده است.
عامل واکنشی مبتنی بر مدل چیست؟
عملکرد عامل واکنشی مبتنی بر مدل بر اساس پیدا کردن قانونی است که شرطهای آن با وضعیت فعلی تطابق داشته باشند. این نوع عامل میتواند با استفاده از مدلی درباره جهان، محیطهایی را نیز مدیریت کند که بهطور جزئی قابل مشاهده هستند. عامل واکنشی مبتنی بر مدل، باید وضعیت داخلی را که توسط هر ادراک تنظیم و به تاریخچه آن بستگی دارد، پیگیری و بررسی کند. حالت فعلی در عامل ذخیره میشود و برخی از ساختارها را نگهداری و بخشی از جهان را توصیف میکند که قابل مشاهده نیستند. بروزرسانی حالتها در عامل واکنشی مبتنی بر مدل نیازمند موارد زیر است:
- چگونگی تکامل یافتن جهان مستقل از عاملها
- چگونگی تأثیر اعمال عاملها در جهان
اثربخشترین شیوه برای مدیریت مشاهدهپذیرى ناقص، این است که عامل بر آن بخشی از جهان نظارت داشته باشد که امکان دیدنش وجود ندارد. به عبارت دیگر عامل باید دارای نوعی «حالت داخلی» (Internal State) باشد که بر اساس تاریخچه ادراک به وجود میآید. با همین روش حداقل برخی از جنبههای دیده نشده روشن خواهند شد و به نوعی قابل پیشبینی خواهند بود. دانش اطراف «نحوه کارکرد جهان» اگر به صورت مدارهای بولی ساده یا نظریههای علمی پیادهسازی شود، یک مدل از جهان نامیده میشود. عاملی که از چنین مدلی استفاده کند، یک عامل مبتنی بر مدل است.
دیاگرام زیر برای درک بهتر مبحث بررسی عامل واکنشی مبتنی بر مدل ارائه شده است. این نمودار نشان دهنده این موضوع است که چگونه ادراک فعلی با حالت داخلی گذشته ترکیب میشود و توصیف بهروز شده حالت فعلی را مبتنی بر مدل عامل جهان تولید میکند.
در ادامه، مثالی از عامل واکنش مبتنی بر مدل به صورت شبه کد آورده شده است.
function MODEL-BASED-REFLEX-AGENT(percept) returns an action persistent: state, the agent’s current conception of the world state model, a description of how the next state depends on current state and action rules, a set of condition–action rules action, the most recent action, initially none state ← UPDATE-STATE(state, action, percept, model) rule ← RULE-MATCH(state, rules) action ← rule.ACTION return action
در کدهای فوق تابع UPDATE-STATE
مسئولیت ایجاد توصیف جدید حالت داخلی را بر عهده دارد. ادامه این بخش از مقاله «عامل هوشمند چیست» به بررسی عامل مبتنی بر هدف اختصاص داده شده است.
عامل مبتنی بر هدف چیست؟
به عاملهایی که اعمال خود را در راستای دستیابی به اهداف تعیین شده انتخاب میکنند، عاملهای مبتنی بر هدف میگویند. همه اعمال این عاملها برای کاهش فاصله با هدف مورد نظر انجام میشوند. عامل مبتنی بر هدف این امکان را ایجاد میکند که از بین چندین احتمال، راهی را انتخاب کند که به یک حالت هدف میرسد.
دانشی که این تصمیم را پشتیبانی میکند به راحتی نشان داده میشود و همچنین میتوان آن را اصلاح کرد، به همین دلیل این عامل بسیار انعطافپذیر است. عاملهای مبتنی بر هدف، معمولاً نیازمند جستجو و برنامه ریزی هستند. رفتار این نوع از عاملها به راحتی میتواند تغییر کند. تصویر زیر نموداری را برای درک بهتر این نوع از عاملها نشان داده است.
در ادامه این بخش از مقاله به بررسی عاملهای مبتنی بر سودمندی پرداخته شده است.
عامل مبتنی بر سودمندی چیست؟
عامل مبتنی بر سودمندی، عاملی به حساب میآید که عمل خود را برای رسیدن به اهدافی با سودمندی بیشینه انتخاب میکند. چندین گزینه ممکن جایگزین وجود داشته باشد، برای انتخاب اینکه کدام یک مناسبتر است از عاملهای مبتنی بر سودمندی استفاده میشود. این عاملها اعمال خود را بر اساس سودمندی انتخاب میکنند. گاهی فقط رسیدن به هدف مورد نظر کافی نیست و ممکن است مسیری سریع، امن و ارزان سودمندی بیشتری به وجود بیاورد.
سودمندی در این نوع عامل توصیف میکند که چه میزان یک عامل «شاد» (Happy) است. به دلیل عدم قطعیت در جهان، یک عامل سودمند عملهایی را انتخاب میکند که سودمندی مورد انتظار را به حداکثر میرساند. یک تابع سودمندی حالتی را بر روی یک عدد واقعی ترسیم میکند که درجه شادی مرتبط را توصیف خواهد کرد. در تصویر زیر، دیاگرامی برای درک بهتر و نشان دادن روش عملکرد عامل مبتنی بر سودمندی ارائه شده است.
در ادامه این بخش از مقاله «عامل هوشمند چیست» به شرح و معرفی عاملهای یادگیرنده پرداخته شده است.
عامل یادگیرنده چیست؟
عامل یادگیرنده در هوش مصنوعی نوعی از عاملها به حساب میآید که میتواند از تجربیات قبلی خود بیاموزد یا قابلیت یادگیری داشته باشد. این عامل وظیفه خود را با دانش پایه آغاز میکند و سپس میتواند از طریق یادگیری به طور خودکار عمل کند و تطبیق داده شود. برخلاف عاملهای هوشمند که بر اساس اطلاعات ایجاد شده به واسطه توسعه دهندگان عمل میکنند، عاملهای یادگیرنده میتوانند وظایفی را انجام دهند، عملکرد آنها را ارزیابی کنند و به دنبال رویکردهای جدیدی برای بهبود آن وظایف باشند. یک عامل یادگیرنده میتواند به چهار مؤلفه انتزاعی تقسیم شود:
- عنصر یادگیرنده: این عنصر مسئولیت پیشرفت را به وسیله یادگیری از محیط به عهده دارد.
- «منتقد» (Critic): عنصر یادگیرنده برای نحوه عملکرد عامل از منتقد بازخورد دریافت میکند و به این وسیله تعیین میکند که چگونه باید برای عملکرد بهتر، عنصر عملکرد ویرایش و تغییر داده شود.
- عنصر عملکرد: این عنصر وظیفه انتخاب عمل خارجی را بر عهده دارد.
- تولید کننده مسئله: این بخش مسئولیت پیشنهاد اعمالی را دارد که به تجربیات جدید و اکتساب اطلاعات مفید منجر میشود.
در ادامه مقاله «عامل هوشمند چیست» به چگونگی نحوه عملکرد اجزای عامل پرداخته شده است.
اجزای برنامه عامل چگونه عمل می کنند؟
روش عملکرد اجزای عامل را میتوان به ترتیب پیچیدگی آنها به سه دسته بازنمایی مختلف تقسیمبندی کرد. این سه دسته در ادامه ارائه شدهاند و شرح داده میشوند:
- در بازنمایی اتمی، هر یک از حالتهای جهان غیر قابل تقسیم هستند. یعنی هیچ ساختار داخلی ندارند.
- یک بازنمایی موردی هر حالت را به مجموعهای ثابت از متغیرها و ویژگیها (صفتها) تقسیم میکند. همچنین، هر یک از متغیرها یا صفتها میتوانند دارای یک مقدار باشند. در حالی که دو حالت اتمی مختلف دارای هیچ اشتراکی نباشند، دو حالت موردی میتوانند دارای تعدادی صفت مشترک باشند.
- در بازنمایی ساختار یافته، میتوان اشیا و روابط مختلف آنها را به طور دقیق توصیف کرد.
در بخش بعدی مقاله «عامل هوشمند چیست» به شرح و معرفی برخی از کاربردهای عاملهای هوشمند پرداخته شده است.
کاربردهای عامل هوشمند چیست ؟
در بسیاری از موقعیتهای زندگی واقعی، عاملهای هوشمند در هوش مصنوعی مورد استفاده قرار میگیرند. در شرکتها عاملهای هوشمند میتوانند در «داده کاوی» (Data Mining)، «تجزیه و تحلیل دادهها» (Data Analytics)، خدمات مشتریها و پشتیبانی برای مثال با استفاده از زبان CSS استفاده شوند. همچنین مشتریها میتوانند عاملهای هوشمند را برای مقایسه قیمت کالاها مورد استفاده قرار دهند و در صورت بروزرسانی وب سایت نوتیفیکشنی دریافت کنند.
عملکرد عاملهای هوشمند مشابه با عاملهای نرم افزاری است که برنامههای کامپیوتری مستقلی هستند. در این بخش به برخی از مثالهای این عاملهای هوشمند پرداخته شده است. ابتدا بخش بعدی به بررسی جستجو، بازیابی و پیمایش اطلاعات اختصاص داده میشود.
- مقالههای پیشنهادی:
- داده کاوی (Data Mining) و مفاهیم کلیدی آن — راهنمای جامع و ساده
- علم داده، تحلیل داده، دادهکاوی و یادگیری ماشین ــ تفاوتها و شباهتها
- پیش پردازش داده ها در داده کاوی — به زبان ساده
- آموزش داده کاوی با پایتون — راهنمای شروع به کار و یادگیری
جستجو، بازیابی و پیمایش اطلاعات با عامل های هوشمند
عاملهای هوشمند دسترسی به پیمایش اطلاعات را ساده میکنند. این موضوع بر اساس جستجو اطلاعات با استفاده از موتورهای جستجو به دست میآید. شامل اشیای اطلاعاتی بسیار زیادی است و کاربران زمان زیادی را برای جستجو شی مورد نظر خود صرف میکنند. عاملهای هوشمند این کار را به جای کاربران در مدت زمان کوتاهی انجام میدهند. در ادامه به بررسی انجام وظیفههای اداری تکراری به وسیله عاملهای هوشمند در هوش مصنوعی پرداخته شده است.
انجام فعالیت های اداری تکراری به وسیله عامل های هوشمند
برخی از شرکتها وظایف اداری خاصی را برای کاهش هزینه عملکردی خود به صورت خودکار انجام میدهند. برای مثال برخی از حوزههای کاربردی که وظایف آنها به عملکردهای خودکار تبدیل شده است، بخش پشتیبانی مشتری و فروش به حساب میآیند. به طور کلی میتوان گفت که عاملهای هوشمند برای افزایش بهرهوری ادارهها مورد استفاده قرار میگیرند. در بخش بعدی از مقاله «عامل هوشمند چیست» به بررسی تشخیصهای پزشکی با استفاده از عاملهای هوشمند هوش مصنوعی پرداخته شده است.
تشخیص پزشکی به وسیله عامل های هوشمند
عاملهای هوشمند در خدمات مراقبتهای بهداشتی جهت بهبود سلامت بیمارها مورد استفاده قرار میگیرند. در این کابرد از عاملهای هوشمند، بیمار به عنوان محیط و صفحه کلید کامپیوتر به عنوان حسگر دریافت اطلاعات در نظر گرفته میشوند. این حسگر دادههای مربوط به بیمار را دریافت میکند. عامل هوشمند این اطلاعات را برای تصمیمگیری و انتخاب بهترین عمل مورد استفاده قرار میدهد. مراقبتهای پزشکی به وسیله اهرمهایی مانند آزمایشها و درمان انجام میشوند. در بخش بعدی به شرح روش جاروبرقی کشیدن به وسیله عاملهای هوشمند هوش مصنوعی پرداخته شده است.
استفاده از جاروبرقی هوشمند
از عاملهای هوش مصنوعی برای افزایش کارایی و بهبود تمیز کردن جاروبرقی هوشمند استفاده میشود. در این حالت محیط میتواند اتاق، میز، فرش و سایر موارد مشابه باشد. برخی از حسگرهای مورد استفاده در جاروبرقی شامل دوربینها، حسگرهای ضربه و تشخیص آلودگی هستند. عمل جاروبرقی توسط اهرمهایی مانند برسها، چرخها و بخش نگهدارنده زباله آغاز میشود. در بخش بعدی از مقاله «عامل هوشمند چیست» به بررسی رانندگی با خودروهای خودران پرداخته شده است.
رانندگی با خودروهای خودران چگونه است؟
عاملهای هوشمند عملکرد و کارایی خودروهای خودران را بهبود میبخشند. در رانندگی با استفاده از خودروهای خودران از حسگرهای گوناگونی برای جمعآوری اطلاعات از محیط استفاده میشود. برخی از این حسگرها شامل دوربینها، GPS، رادار و سایر موارد مشابه میشوند. همچنین در این برنامه محیط را میتوان عابران پیاده، وسایل نقلیه دیگر، جادهها، تابلوهای راهنمایی و رانندگی و سایر موارد در نظر گرفت. همچنین عمل کننده یا اهرمهای بسیاری برای شروع اقدامهای لازم استفاده میشوند، برای مثال میتوان به ترمز برای توقف خودرو اشاره کرد. در بخش بعدی از مقاله «عامل هوشمند چیست» به بررسی برخی از «دستیارهای هوشمند» (AI Assistant) پرداخته شده است.
عملکرد دستیار هوشمند
دستیارهای هوش مصنوعی مانند «الکسا» و Siri نمونههایی از عاملهای هوشمند هستند؛ زیرا از حسگرها برای درک درخواست کاربر استفاده و به طور خودکار و بدون کمک کاربر دادهها را از اینترنت جمعآوری میکنند. عاملهای هوشمند میتوانند برای جمعآوری اطلاعاتی در مورد محیط ادراک مانند آب و هوا و زمان مورد استفاده قرار بگیرند.
جمعبندی
عاملهای هوشمند با انجام برخی وظایفی که برای سیستمها و کاربران دشوار و زمانبر به حساب میآیند، کار و پروسه انجام آن را سادهتر میکنند. به عبارتی دیگه عاملها برخی از وظایف را به صورت خودکار برای سیستمها و کاربران انجام میدهند. با افزایش روز افزون پیشرفت تکنولوژی در دنیای امروز، توسعه عاملهای هوشمند نیز روز به روز در حال افزایش است. عاملها بیشتر در دستگاههای پیچیده مبتنی بر هوش مصنوعی مورد استفاده قرار میگیرند و چالشهای کنونی جهانی با استفاده از آنها حل خواهند شد. حتی به نظر میرسد که هیچ محدودیتی در استفاده از این فناوری جذاب وجود ندارد.
در این مقاله سعی شد تا حد امکان به این سوال پاسخ داده شود که عامل هوشمند چیست و این مفهوم از جهتهای مختلف مورد بررسی قرار گرفت. همچنین انواع عاملهای هوشمند ارائه شدند و روش عملکرد آنها بیان شد. برای درک بهتر عاملهای هوشمند برخی از دورههای آموزشی هوش مصنوعی نیز به علاقهمندان معرفی شدند.