محاسبات نرم[1] به مجموعهای از شیوههای جدید محاسباتی در علوم رایانه، هوش مصنوعی، یادگیری ماشینی و بسیاری از زمینههای کاربردی دیگر اطلاق میشود. در تمامی این زمینهها به مطالعه، مدلسازی و آنالیز پدیدههای بسیار پیچیدهای نیاز است که شیوههای علمی دقیق درگذشته، در حل آسان، تحلیلی و کامل آنها موفق نبودهاند.
محاسبات نرم با تقبل نادقیق بودن و با محور قرار دادن ذهن انسان بهپیش میرود. اصل هدایتکننده محاسبات نرم بهرهبرداری از خاصیت عدم دقیق بودن جهت مهار کردن مسئله و پایین آوردن هزینه راهحل است. محاسبات نرم را میشود حاصل تلاشهای جدید علمی دانست که مدلسازی، تحلیل و درنهایت کنترل سیستمهای پیچیده را با سهولت و موفقیت زیادتری امکانپذیر میسازد. بهعنوان مهمترین شاخههای این محاسبات، باید منطق فازی، شبکههای عصبی مصنوعی و الگوریتم ژنتیک را برشمرد.
برخلاف شیوههای محاسباتی سخت که تمامی همت و توان خود را به دقیق بودن و در جهتِ مدل نمودنِ کاملِ حقیقت معطوف میدارند، روشهای نرم بر اساس تحمل نادقیق، حقایق جزئی و ناکامل و فقدان اطمینان، استوار گردیدهاند. درک هرچه روشنتر از چرایی، چگونگی و نیز فلسفه اینگونه محاسباتِ جدید است که افقهای جدید در علوم پیچیده آینده را روشن میسازد.
یکی از بزرگترین زمینههای کاربرد محاسبات نرم در ایجاد و گسترش وب معنی خواهد بود. محاسبات نرم در مقایسه با محاسبات سخت به زبان ساده علمی روشهای سخت برآمده از طبیعت و نحوه رفتار ماشین است؛ ولی در مقابل شیوههای نرم انسان و تدابیر اتخاذشده از سوی ذهن او بهمنظور حلوفصل مسائل اختصاص پیدا میکند.
شناسایی و نحوه کنترل رفتار یک پدیده و سیستم از مباحث مهم و کلیدی در امر سیستم کنترل است. اصولاً جهت شناسایی و مدلسازی رفتار یک سیستم به معادله ریاضی آن رجوع میشود. بسیاری از پدیدهها رفتار پیچیدهای دارند و بهراحتی نمیتوان معادله ریاضی آن را به دست آورد. مثلاً نحوه کنترل نوسان بار جرثقیل هوایی جهت قرار دادن بار در نقطه مطلوب بسیار پیچیده است و اغلب به صد درصد دقیق نیز نخواهد بود و حداقل نیازمند یک معادله دیفرانسیل درجه پنج جهت پیادهسازی آن خواهیم بود.
درصورتیکه فقط یک متغیر دیگر بخواهیم به سیستم فوق اضافه نماییم ممکن است این معادله دیفرانسیل پیچیدهتر نیز بشود. به دست آوردن خود این معادله ریاضی دردسر فراوانی دارد پیادهسازی آن در یک سیستم کنترل الکترونیکی چالش بزرگتری است.
مغز انسان هرگز برای برخورد با چالشها و مسائل روزمره پیرامونش خود را درگیر فرمول و محاسبات پیچیده نمیکند. انسان بر اساس یادگیریها و آموختههای خود تصمیماتی میگیرد که منجر به کنترل مسائل پیچیده خواهد بود؛ همین انسان درصورتیکه بخواهد نحوه برخورد با یک فرد متخلف را مدل نماید و آن را به یک کامپیوتر بسپارد، حداقل نیاز به دانش معادلات دیفرانسیل، معادلات لاپلاس و غیره است. اینگونه محاسبات خشک و مبتنی بر معادلات دقیق ریاضیات تحت عنوان محاسبات سخت نامیده میشوند.
از طرف دیگر روشهایی وجود دارند که میتوانند رفتار پیچیدهترین و مغشوشترین پدیدهها را نیز با دقت بالایی مدلسازی نمایند. این محاسبات که تحت عنوان محاسبات نرم شناخته میشوند مبتنی بر استنتاج ذهن انسان شبیهسازی عملکرد نرونهای مغز شبیهسازی رفتار پدیدههای اجتماعی طبیعت (الگوریتمهای تکاملی مثل ژنتیک، فاخته، کلونی مورچه و غیره) است.
شبکههای عصبی مصنوعی، سیستمهای فازی و الگوریتمهای تکاملی از مهمترین شاخههای محاسبات نرم محسوب میشوند. یک راننده ماهر جرثقیل هوایی جهت کنترل نوسان بار هرگز در ذهنش یک معادله درجه پنج را بکار نمیگیرد. او با استفاده از یک سیستم استنتاج فازی ذهنی (تعدادی اگر-آنگاه) بهخوبی این سیستم پیچیده را با استفاده از تجربیاتش کنترل مینماید. درواقع میتوان این تجربیات فرد متخصص را بهصورت قوانین فازی درآورد و به سیستم کنترل سپرد.
در سالهای اخیر کاربرد محاسبات نرم در هوش مصنوعی، دادهکاوی و سیستمهای کنترل هوشمند بسیار پررنگ و چارهساز بوده است.
رایانش چیست؟
قبل از فهم معنای محاسبات نرم رایانش نرم پرداخته شود. به بیانی ساده رایانش به معنی نگاشت مجموعه دادههای دریافت شده در ورودی به خروجی با استفاده از یک روش صوری[2] یا یک الگوریتم برای حل مسئله است. در مفهوم رایانش به ورودی مقدم یا پیشایند[3] و به خروجی پیامد یا برآیند[4] گفته میشود.
روش محاسباتی باید بدون ابهام[5] و دقیق[6] باشد و همچنین یک راهحل قطعی[7] ارائه دهد. رایانش برای مسائلی که مدلسازی ریاضیاتی سادهای دارند مناسب است.
محاسبات سخت چیست؟
قبل از پرداختن به محاسبات نرم بهتر است به چیستی محاسبات سخت رایانش سخت[8] و همچنین دلیل نیاز به توسعه و ایجاد محاسبات نرم پرداخته شود. پروفسور لطفی علیعسگرزاده ریاضیدان، دانشمند کامپیوتر، مهندس برق و استاد علوم رایانه در دانشگاه کالیفرنیا اولین فردی بود که مفهوم و ایده محاسبات سخت را حدوداً در اواسط دهه ۷۰ شمسی معرفی کرد. به گفته وی یک مفهوم محاسباتی در صورتی در زمره محاسبات سخت قرار میگیرد که:
نتایج دقیقی فراهم کند. الگوریتمی که برای حل مسئله استفاده میشود، صریح و بدون ابهام باشد. عملیات کنترلی به وسیله یک الگوریتم یا یک مدل ریاضیاتی مطابق تعریف بیانشده باشد.
مسائلی مانند مشتقگیری، انتگرال، الگوریتمهای جستجو و مرتبسازی، یافتن کوتاهترین فاصله بین دو نقطه و بسیاری از مسائل دیگری که بتوان برای آنها با استفاده از یک مدل ریاضی جواب دقیق و واضحی یافت در زمره محاسبات سخت قرار میگیرند.
محاسبات نرم چیست؟
برخی مسائل واقعی مانند شناسایی دستخط[9]، دستهبندی تصویر[10]، تولید موسیقی[11]و سایر موارد، الگوریتمی برای رسیدن به جواب قطعی در مرتبه زمانی با تقریب چندجملهای ندارند. لذا، اینجا است که نیاز به استفاده از محاسبات نرم به وجود میآید.
محاسبات نرم، بهکارگیری محاسبات تقریبی[12] برای حل مسائل است که حاصل آن راهحلهایی هرچند نادقیق اما قابلقبول برای حل مسائل محاسباتی پیچیده هستند. این رویکرد راهحلهایی را برای مسائلی ارائه میدهد که ممکن است یا غیرقابلحل باشند و یا حل آنها با امکانات سختافزاری کنونی، بسیار زمانبر باشد. به رایانش نرم گاهی هوش محاسباتی[13] نیز گفته میشود.
اصطلاح محاسبات نرم نیز توسط استاد لطفی زاده ابداعشده است. او محاسبات نرم را بدینصورت تعریف میکند:
محاسبات نرم مجموعهای از اصول و روشها است که باهدف بهکارگیری و استفاده از تابآوری ابهام[14] و عدم قطعیت[15]برای دستیابی به معقولیت[16]، پایداری[17] و جواب با هزینه کم مورداستفاده قرار میگیرد. اجزای اصلی محاسبات نرم، منطق فازی[18]، محاسبات عصبی[19] و منطق احتمالاتی[20]است. الگو و منبع الهام محاسبات نرم، ذهن انسان است.
در تعریف بالا، نکات کلیدی وجود دارد که بسیار دارای اهمیت هستند و نیاز به درک عمیقتری از آنها وجود دارد. این موارد در ادامه تشریح شدهاند:
تابآوری ابهام: بدین معنا است که در محاسبات نرم، نتایج حاصلشده، دقیق نیستند.
عدم قطعیت: یک الگوریتم مبتنی بر محاسبات نرم ممکن است در هر اجرا درازای یک مسئله یکسان، خروجی متفاوتی داشته باشد.
پایداری: الگوریتمهای مبتنی بر محاسبات نرم میتوانند با هر نوع نویز در ورودی مقابله کنند.
هزینه جواب کم: محاسبات نرم، حل برخی از مسائل که حل آنها در محاسبات سخت به لحاظ محاسباتی بسیار پرهزینه هستند را شدنی و امکانپذیر میسازد.
الگوریتمهای محاسبات نرم مبتنی بر سامانه تصمیمگیری زیستی[21] دستگاه هستند و از اصولی نظیر ژنتیک[22] ، تکامل[23] فرگشت، رفتار مورچگان، رفتار زنبورها، رفتار پرندگان، رفتار کرم شبتاب، ازدحام ذرات[24]، سیستم عصبی انسان [25]و دیگر پدیدههای طبیعی استفاده میکنند. سه الگوی محاسباتی که به دنبال محاسبات نرم مطرح میشوند، منطق فازی، محاسبات عصبی و منطق احتمالاتی (الگوریتم ژنتیک) هستند.
تفاوت محاسبات نرم با احتمالات در چیست؟
محاسبات نرم با احتمالات متفاوت است. بهطوریکه احتمالات رویکرد و روشی است که وقتی استفاده میشود که اطلاعات و داده کافی برای حل یک مسئله وجود نداشته باشد. در مقابل، محاسبات نرم زمانی مورداستفاده قرار میگیرد که مسئله صراحت و سادگی لازم و کافی را برای استفاده از ریاضیات رایج و روشهای محاسباتی مرسوم نداشته باشد.
کاربردهای محاسبات نرم چیست؟
در سالهای اخیر، تغییر الگوی اساسی در روشهای محاسباتی به وجود آمده است. این مسئله، نشاندهنده رشد چشمگیر ذهن انسان است. یکی از این تغییرات اساسی که با آن مواجه هستیم، تکامل محاسبات سخت در قالب محاسبات نرم است. روشهای استفادهشده در محاسبات نرم اساساً ریشه در مضامین ریاضیاتی متعددی همچون منطق فازی دارد.
محاسبات نرم، بینشی را برای مسائل جهان واقع فراهم میکند و تنها محدود به تئوری نمیشود. همچنین، محاسبات نرم دارای تابآوری برای عدم قطعیت و ذاتاً نادقیق است و بر همین اساس در صنایع بسیاری بهطور گسترده مورداستفاده قرار میگیرد. در ادامه، نگاهی به برخی از پیشرفتهای حاصلشده با استفاده از محاسبات نرم در زمینههای مختلف از طراحی و مهندسی در صنایع گرفته تا کاربردهای زیستی (بیولوژیکی) پرداختهشده است.
تشخیص متن دستنوشته با استفاده از محاسبات نرم
تشخیص دستخط یکی از بخشهای مستعد و پر تقاضا در حوزه علوم کامپیوتر است. قابلیت ترجمه اسناد چندزبانه و مرتبسازی متون مختلف به شکل مناسب و دلخواه ازجمله قابلیتهای چنین سامانهای میتواند باشد.
پردازش تصویر و فشردهسازی اطلاعات با استفاده از محاسبات نرم
آنالیز تصاویر یکی از پراهمیتترین بخشهای حوزه پزشکی محسوب میشود. روشهای محاسبات نرم در این زمینه شامل الگوریتم ژنتیک، سیستمهای دستهبندی، راهبردهای تکاملی، و تعدادی دیگر از روشها است. با استفاده از این الگوریتمها میتوان به راهحلهای سریعی برای شناسایی الگو[26] دستیافت که در تحلیل تصاویر پزشکی بهدستآمده با استفاده از میکروسکوپ یا تصاویر پرتو ایکس کاربرد دارند.
معماری مبتنی بر محاسبات نرم
در یک ساختمان هوشمند، دادههای ورودی از حسگرها دریافت میشود و دستگاههای استفادهشده در آن ساختمان مانند سیستم تهویه، سیستم حرارتی و سرودنی و دیگر موارد، بر اساس پردازش و تحلیل این دادهها تحت نظارت و کنترل قرار میگیرند. صنعت ساختوساز از شیوه هوش مصنوعی توزیعشده[27] و عوامل فازی ژنتیکی[28] برای تجهیز ساختمان باقابلیتهای هوش انسانی استفاده میکند.
از منطق فازی برای ایجاد معماری مبتنی بر رفتار[29] در ساختمانهای هوشمند استفاده میشود تا با طبیعت غیرقابلپیشبینی چنین محیطی مقابله شود. این عوامل[30] از اطلاعات گردآوریشده توسط حسگرها در ساختمان استفاده میکنند.
محاسبات نرم و سیستمهای پشتیبانی تصمیم
محاسبات نرم در سیستمهای پشتیبانی تصمیم[31] موجب کاهش هزینه میشود که مزیت قابلتوجهی است. از روشهای محاسبات نرم در سیستمهای پشتیبان تصمیم برای طراحی، نگهداری و بیشینه کردن ارزش فرایند تصمیمگیری استفاده میشود. نخستین کاربرد منطق فازی در این راستا ایجاد سامانه تصمیمگیری است که بتواند هر نوع ریسکی را پیشبینی کند. دومین کاربرد آن استفاده از اطلاعات فازی در راستای تصمیمگیری است.
محاسبات نرم در سرمایهگذاری و معاملهگری
دادههای موجود در بازار سرمایه بسیار حجیم هستند و درنتیجه روشهای محاسباتی سنتی قادر به تحلیل و پردازش این حجم از داده نیستند. رویکردهای گوناگونی با استفاده از روشهای محاسبات نرم برای کار با دادههای دارای نویز وجود دارد. روشهای تشخیص الگو برای تحلیل رفتار دادهها و همچنین سریهای زمانی[32] برای پیشبینی معاملات آتی مورداستفاده قرار میگیرند.
جمعبندی
استفاده از روشهای محاسبات نرم مانند نظریه مجموعههای فازی، شبکههای عصبی، سیستمهای فازی عصبی، سیستمهای استنتاج عصبی-فازی سازگار[33] بهطور گستردهای در تحلیل شبیهسازی عددی[34] رواج یافته است. محاسبات نرم برای مدلسازی پردازشهای ماشین با کمک هوش مصنوعی به کار گرفته میشود. همچنین محاسبات نرم در برخی از حوزهها ازجمله کلان داده، سیستمهای توصیهگر، علوم رفتار و تصمیم، مهندسی مکانیک، مهندسی راه و ساختمان و مهندسی کامپیوتر، در حال رشد و شکوفایی است و بشر در آینده شاهد تحولات عظیمی در این راستا خواهد بود.
[1] soft computing
[2] Formal Method
[3] Antecedent
[4] Consequent
[5] Unambiguous
[6] Accurate
[7] Precise Solution
[8] Hard Computing
[9] Handwriting Recognition
[10] Image Classification
[11] Image Classification
[12] Approximate Calculations
[13] Computational Intelligence
[14] Tolerance of Imprecision
[15] Uncertainty
[16] Tractability
[17] Robustness
[18] Fuzzy Logic
[19] Neuro-Computing
[20] Probabilistic Reasoning
[21] Biological Decision-Making
[22] Genetics
[23] Evolution
[24] Particle Swarming
[25] Human Nervous System
[26] Pattern recognition
[27] Distribute Artificial Intelligence
[28] Fuzzy Genetic Agents
[29] Behavior-Based Architecture
[30] Agents
[31] Decision Support System
[32] Time Series
[33] Adaptive Neuro Fuzzy Inference Systems | ANFIS
[34] Numerical Simulation Analysis