هنگامی که حرف از هوش مصنوعیهوش مصنوعی (AI) چیست؟ انواع، کاربردها، مزایا و معایبهوش مصنوعی یا Artificial Intelligence یا به اختصار AI، امروزه کاربردهای بسیاری پیدا کرده و به یکی از داغترین حوزههای بشر تبدیل شده است، اما با این وجود بسیاری از افراد با کاربردهای آن آشنایی کامل ندارند، به همین علت در این صفحه کاربردها، مزایا و معایب AI بطور کامل بررسی شده است میشود، خیلیها به یاد گرایش ارشد مهندسی کامپیوتر میافتند؛ چرا که یکی از گرایشهای اصلی و پر طرفدار رشته مهندسی کامپیوترمهندسی کامپیوتر چیست؟ معرفی رشته کامپیوتر توسط اساتید شریفاین صفحه به معرفی کامل رشته کامپیوتر، اعم از دروس رشته کامپیوتر، درآمد رشته کامپیوتر، شغل های رشته کامپیوتر، گرایش ها و زیر شاخه های رشته کامپیوتر پرداخته است، گرایش هوش مصنوعی است. اما در سالهای اخیر به دلیل گسترده بودن و چند جنبه بودن این رشته، گرایش هوش مصنوعی تحت عنوان محاسبات نرم و هوش مصنوعی به گرایشهای رشته ارشد علوم کامپیوتر اضافه شده است. ممکن است بپرسید فرق این دو گرایش در دو رشته مختلف در چیست؟
باید خاطرنشان کرد ازآنجاییکه دانشجویان علوم کامپیوترعلوم کامپیوتر یا کامپیوتر ساینس چیستدر این صفحه به بررسی و موشکافی رشته علوم کامپیوتر اعم از بررسی بازار کار، گرایشها، دروس و چارت درسی این رشته، میزان درآمد و حقوق فارغ التحصیلان این رشته و ادامه تحصیل در این رشته پرداخته شده است. توانمندیهای بیشتری در خصوص حل مسائل ریاضی و تئوری دارند، میتوانند بهتر با مسائل پیچیدهتر هوش مصنوعی ارتباط برقرار کنند. بنابراین، میتوان گفت بین مفاهیم هوش مصنوعی در ارشد مهندسی کامپیوتر و ارشد علوم کامپیوتر تفاوت مفهومی وجود ندارد و تنها تفاوت در رویکرد حل مسئله و نگرش ما بهعنوان یک دانشجو است.
محاسبات نرم چیست؟
قبل از اینکه به ادامه مباحث رشته محاسبات نرم و هوش مصنوعی بپردازیم ابتدا باید کلیات مفاهیم محاسبات نرم را بدانیم. دانستن مفاهیم محاسبات نرم به شما در انتخاب و واردشدن به این گرایش علوم کامپیوتر بسیار کمک میکند. به طور خلاصه محاسبات نرم (Soft Computing) عکس محاسبات سخت (Hard Computing) است. محاسبات نرم به دستهای از تکنیکهایی که بر پایه هوش مصنوعی (Artificial Intelligence) هستند اطلاق میشود. بهوسیله محاسبات نرم میتوانیم جوابی برای مسائل دنیای واقعی که محاسبات سخت قادر به پیداکردن جواب برای آن نیست را بهصورت مقرونبهصرفه یا Cost-Effective پیدا کنیم.
بهطورکلی در محاسبات نرم ما به دنبال یافتن یک جواب دقیق (همانند محاسبات سخت) نیستیم و جواب تقریبی برای ما اهمیت دارد. Zodeh که در سال 1992 مفهوم محاسبات نرم را ابداع کرد گفت: "هدف از محاسبات نرم، ارائه تقریب دقیق و راه حل های سریع برای مسائل پیچیده زندگی واقعی است."
مشخصه های محاسبات نرم
در این قسمت به مشخصه های مهم محاسبات نرم به همراه یک مثال میپردازیم تا بهتر با مفهوم محاسبات نرم رشته علوم کامپیوتر آشنا شوید. برخی از مشخصه های محاسبات نرم بهقرار زیر است:
- محاسبات نرم یک راهحل تقریبی (Approximate) اما جامع (Precise) برای مسائل دنیای واقعی ارائه میدهد.
- مفهوم محاسبات نرم بر اساس یادگیری از دادههای تجربی (Experimental data) است. یعنی به مدلهای ریاضی برای حل مسائل نیازی نداریم.
- محاسبات نرم با ارائه نتایج تقریبی به حل مسائل دنیای واقعی میپردازد که مدلهای تحلیلی قادر به حل آن نیستند.
- الگوریتمالگوریتم چیست به زبان ساده و با مثال های فراواندر این مقاله به زبان بسیار ساده و با مثال های متعدد توضیح داده شده که الگوریتم چیست و چه کاربردهایی دارد های محاسبات نرم تطبیقپذیر هستند (Adaptive)
- محاسبات نرم بر اساس منطق فازی (Fuzzy Logic)، الگوریتم ژنتیکالگوریتم ژنتیک از 0 تا 100، آموزش الگوریتم ژنتیک در متلباین صفحه الگوریتم ژنتیک (Genetic Algorithm) را از 0 تا 100 بررسی کرده، همین طور به پیاده سازی و آموزش الگوریتم ژنتیک در متلب (MATLAB) پرداخته است.، یادگیری ماشینیادگیری ماشین چیست و چرا مهم است؟ - Machine learning (ML)تعریف یادگیری ماشین : ماشین لرنینگ (Machine Learning یا به اختصار ML) باعث میشود که خود ماشینها با آنالیز داده ها امکان یادگیری و پیشرفت داشته باشند، این مقاله فوق العاده یادگیری ماشین را بصورت کامل بررسی کرده است و ANN است.
یک مثال
گفتیم که محاسبات نرم با مدلهای تقریبی سروکار دارد. بگذارید یک مثالی بیاوریم که بهوسیله محاسبات سنتی برای آن جوابی نمیتوان یافت؛ اما با محاسبات نرم میتوان یک جواب تقریبی پیدا کرد.
فرض کنید: متغیری با نام String1 داریم که مقدارش برابر ‘abc’ است و متغیر دیگری با نام String2 داریم که مقدارش برابر با ‘abd’ است.
مسئله اول:
آیا String1 برابر با String2 است؟
جواب: خیر. جواب کلی خیر است و نیاز به استفاده از هیچ الگوریتمی برای تحلیل آن نیست.
اجازه دهید کمی در سؤال تغییر ایجاد کنیم.
مسئله دوم:
چقدر String1 برابر با String2 است؟
جواب: با استفاده از برنامه نویسی و راهحلهای متداول تنها جواب بله یا خیر خواهد بود! اما با استفاده از محاسبات نرم میتوان گفت این دو رشته تقریباً 80 درصد برابرند.
دروس گرایش محاسبات نرم و هوش مصنوعی علوم کامپیوتر
همانند سایر گرایشهای رشته علوم کامپیوتر، گرایش محاسبات نرم و هوش مصنوعی از دودسته دروس الزامی و دروس تخصصی – انتخابی به وجود آمده است که در جداول زیر میتوانید آنها را مشاهده کنید:
نام جدول: دروس الزامی گرایش محاسبات نرم و هوش مصنوعی
نام درس | تعداد واحد |
---|---|
دادهکاوی محاسباتی (Computational Data Mining) | 3 |
الگوریتم های پیشرفته (Advanced algorithms) | 3 |
هوش مصنوعی پیشرفته (Advanced AI) | 3 |
نام جدول: دروس تخصصی - انتخابی گرایش محاسبات نرم و هوش مصنوعی
نام درس | تعداد واحد | ساعت | پیشنیاز یا زمان ارائه درس | ||
---|---|---|---|---|---|
نام درس | تعداد واحد | نظری | عملی | جمع | پیشنیاز یا زمان ارائه درس |
محاسبات نرم (Soft Computing) | 3 | 48 | - | 48 | - |
هوش مصنوعی پیشرفته (Advanced AI) | 3 | 48 | - | 48 | - |
سیستمهای خبره (Expert Systems) | 3 | 48 | - | 48 | - |
یادگیری ماشین (Machine Learning) | 3 | 48 | - | 48 | - |
پردازش زبانهای طبیعی (Natural Languages Processing) | 3 | 48 | - | 48 | - |
یادگیری ماشین آماری (Statistical Machine Learning) | 3 | 48 | - | 48 | یادگیری ماشین |
سیستمهای دینامیکی گسسته (Discrete Dynamical Systems) | 3 | 48 | - | 48 | - |
الگوریتمهای هوشمند (Intelligent Algorithms) | 3 | 48 | - | 48 | - |
سیستمهای چند عامله (Multiagent Systems) | 3 | 48 | - | 48 | - |
یادگیری ژرف (Deep Learning) | 3 | 48 | - | 48 | یادگیری ماشین |
دادهکاوی (Data Mining) | 3 | 48 | - | 48 | - |
بهینهسازی شبکه پیشرفته (Advanced Network Optimization) | 3 | 48 | - | 48 | - |
مباحث ویژه در هوش مصنوعی (Special Topics in AI) | 3 | 48 | - | 48 | اجازه استاد درس |
مباحث ویژه در محاسبات نرم (Special Topics in Soft Computing) | 3 | 48 | - | 48 | اجازه استاد درس |
دقت کنید که لازم است دانشجو دستکم 6 واحد از درس های جدول دروس تخصصی-انتخابی اخذ کند.
کاربردهای محاسبات نرم
محاسبات نرم کاربردهای مختلفی دارد و در موارد گوناگونی مورداستفاده قرار میگیرد که در لیست زیر برخی از آنها را مشاهده میکنید:
- در محصولات بازی؛ مانند پوکر و شطرنج
- در محصولات آشپزخانه مانند مایکروویو و پلوپز
- در اکثر وسیلههای خانه مانند ماشین لباسشویی، هیتر، یخچال و...
- در صنعت ساخت ربات هم کاربرد دارد.
- در متراکمسازی دادهها (Data compression) و پردازش تصویرپردازش تصویر دیجیتال چیست؟ چه انواعی دارد؟ چه مراحلی را شامل میشود؟ پردازش تصویر یکی از فیلدهای پرطرفدار مرتبط با گرافیک کامپیوتر، بینایی کامپیوتر، هوش مصنوعی، یادگیری ماشین، و الگوریتمها و محاسبات است که ارتباط تنگاتنگی میان تمام آنهاست. در نتیجه در این صفحه علاوه بر معرفی این فیلد، نقشه راهی نیز برای علاقهمندان این حوزه ارائه کردهایم.(Image processing)
- برای تشخیص دست خط
- و...
قبلتر گفته شد که برای حل مسائل دنیای واقعی از محاسبات نرم استفاده میکنیم. در لیست بالا میتوانید این مورد را کاملاً مشاهده کنید.
عناصر محاسبات نرم
محاسبات نرم بهعنوان یک مؤلفه پایه برای حوزه نوظهور هوش مفهومی یا Conceptual intelligence در نظر گرفته میشود. منطق فازی، یادگیری ماشین،شبکه های عصبیشبکه عصبی یا شبکه عصبی مصنوعی (nueral network) چیست؟این مقاله عالی به معرفی شبکه عصبی یا شبکه عصبی مصنوعی (nueral network) پرداخته، همچنین الگوریتم شبکه عصبی، انواع و کاربرد و تاریخچه شبکه های عصبی بررسی شده، استدلال احتمالی و محاسبات تکاملی در واقع مکمل محاسبات نرم هستند و در واقع تکنیکهایی هستند که بهوسیله محاسبات نرم برای حل مسائل پیچیده مورداستفاده قرار میگیرند.
تمامی مسائل بهصورت کارآمد بهوسیله این کامپوننتها حل میشوند. در زیر 3 نوع از تکنیک های معروف که به وسیله محاسبات نرم مورد استفاده قرار میگیرند آورده شده است:
- منطق فازی (Fuzzy Logic)
- شبکههای عصبی مصنوعی یا ANN (Artificial Neural Network)
- الگوریتم ژنتیک (Genetic Algorithms)
منطق فازی
منطق فازی چیزی نیست جز منطق ریاضی که سعی در حل مسائل با طیف گسترده و نادقیق داده دارد. در واقع منطق فازی بهدستآوردن مجموعهای از نتایج دقیق (Precise Conclusions) را آسان میکند. اساساً منطق فازی برای دستیابی به بهترین راهحل ممکن برای مسائل پیچیده بهوسیله تمام اطلاعات موجود و دادههای ورودی طراحی شده است. همچنین منطق فازی بهعنوان بهترین راهحل یاب یا Solution Finder در نظر گرفته میشود.
شبکه های عصبی مصنوعی
شبکه های عصبی در دهه 1950 توسعه داده شد و به محاسبات نرم در حل مسائل دنیای واقعی کمک میکند. این مسائل به وسیله کامپیوتر قابل حل نیستند. ما به خوبی میدانیم که مغز انسان به راحتی میتواند شرایط دنیای واقعی را توصیف کند در حالی که کامپیوتر نمیتواند. یک شبکه عصبی مصنوعی میتواند نورون های مغز انسان را شبیه سازی کند (هدفش همین الگو برداری است) تا بتواند همانند ذهن انسان عمل کند.
الگوریتم ژنتیک
الگوریتم ژنتیک الهام گرفته از طبیعت است و از دسته الگوریتم های بهینه سازی مهم محسوب میشود. از الگوریتم ژنتیک در محاسبات نرم استفادههای زیادی میشود.
محاسبات نرم در مقابل محاسبات سخت
محاسبات سخت از الگوریتمهای ریاضیاتی کنونی برای حل مسائل مشخصی استفاده میکند. جواب بهدستآمده توسط محاسبات سخت یک جواب دقیق است. هر مسئله عددی نمونهای از مسئله محاسبات سخت بهحساب میآید. از طرف دیگر محاسبات نرم رویکرد متفاوتی نسبت به محاسبات سخت دارد. در محاسبات نرم هدف پیداکردن جواب برای مسائل پیچیده است. همچنین جواب بهدستآمده توسط محاسبات نرم یک جواب دقیق نیست. همانند طبیعت نادقیق و بهاصطلاح فازی (نویزدار) است. در جدول زیر به طور خلاصه مقایسه محاسبات نرم و محاسبات سخت را مشاهده میکنید:
پارامترها | محاسبات نرم | محاسبات سخت |
---|---|---|
زمان محاسبه | زمان محاسبه کمتری میگیرد | زمان محاسبه زیادی میگیرد |
وابستگی | به تقریب وابسته است | بر اساس منطق باینری (دودویی) و سیستم اعداد عمل میکند. |
نوع محاسبه | محاسبات موازی (Parallel) | محاسبات متوالی (Sequential) |
نتیجه و خروجی | نتیجه تقریبی | نتیجه دقیق |
مثال | شبکههای عصبی | هر مسئله عددی که با متدهای سنتی بتوان بهوسیله کامپیوتر حل نمود |
جمعبندی
رشته علوم کامپیوتر دارای گرایش های زیادی است. در بسیاری از این گرایش ها ما شاهد دروس مشترک با رشته مهندسی کامپیوتر هستیم. علت این امر هم کاملاً مشخص است؛ استفاده از تئوری ها و ریاضیات رشته علوم کامپیوتر برای پیشبرد اهداف یک علم. گرایش محاسبات نرم و هوش مصنوعی رشته علوم کامپیوتر نیز جزء همین گرایشها است. دروس مربوط به هوش مصنوعی این گرایش تقریباً همانند گرایش هوش مصنوعی در رشته مهندسی نرمافزار است با این تفاوت که بیشتر به جزئیات مربوط به حل یک مسئله و استفاده از محاسبات نرم برای حل مسائل دنیای واقعی تمرکز میکنیم. در این مقاله به طور جامع به مباحث محاسبات نرم و استفاده از آن در هوش مصنوعی پرداخته شد، همچنین تمامی دروس مربوط به این گرایش نیز آورده شده است.
محاسبات نرم چیست؟
محاسبات نرم به دستهای از تکنیکهایی که بر پایه هوش مصنوعی (Artificial Intelligence) هستند اطلاق میشود. بهوسیله محاسبات نرم میتوانیم جوابی برای مسائل دنیای واقعی که محاسبات سخت قادر به پیداکردن جواب برای آن نیست را بهصورت مقرونبهصرفه یا Cost-Effective پیدا کنیم.
آیا بین هوش مصنوعی محاسبات نرم و هوش مصنوعی علوم کامپیوتر و هوش مصنوعی مهندسی کامپیوتر تفاوتی وجود دارد؟
بین خود هوش مصنوعی تفاوتی وجود ندارد و مباحث تقریباً یکسان هستند. مهم نگرش به حل مسئله است؛ بنابراین میتوان گفت تئوریها و پیچیدگیهای هوش مصنوعی در این گرایش نسبت به مهندسی کامپیوتر بیشتر است. بهعنوانمثال دادهکاوی محاسباتی جزء دروس اصلی این رشته محسوب میشود.