برنامه نویسی منطق فازی

آموزش اصول و مبانی برنامه نویسی منطق فازی نماشا

این محصول آموزشی در ارتباط با نحوه­ حل مسائل با استفاده از روش منطق فازی با استفاده از قابلیت­ های نرم ­افزار متلب می باشد. نرم ­افزار متلب، قابلیت های بسیار زیادی را در اجرای پروژه­ های مهندسی به خوبی فراهم کرده است. نرم افزار متلب، امروزه برای کاربردهای مربوط به همه ی علوم مورد استفاده قرار می گیرد. محاسبات و نمودارهای مربوط به فازی، نمودارهایی هستند که نشانگر میزان تراکم و پراکندگی یک یا چند پارامتر در محدوده و منطقه­ مورد مطالعه در روزها، ماه ­ها و حتی سال­ های آینده می ­باشند. منطق فازی از جمله منطق‌های چندارزشی است و بر نظریهٔ مجموعه‌های فازی تکیه می‌کند. مجموعه‌های فازی، خود از تعمیم و گسترش مجموعه‌های قطعی به صورتی طبیعی حاصل می‌آیند.

فیلم‌های فرادرس در سطوح مختلف علمی، از مبتدی تا حرفه‌ای تولید می‌شوند. از مزایای فیلم‌های آموزشی فرادرس، می‌توان به کیفیت بالای علمی و ویدئویی دوره‌ها، هزینه مقرون‌به‌صرفه و عدم وجود محدودیت زمانی برای یادگیری اشاره کرد. با توجه به اینکه غالب استدلال های بشر با قواعد فازی مرتبط هستند، اهمیت و کاربرد این جعبه ابزار روز به روز در حال گسترش می­باشد. این جعبه ابزار با فراهم آوردن یک چارچوب نظام­مند برای محاسبات مربوط به قواعد فازی، به شکل مطلوبی قدرت استدلال کاربر را افزایش می­دهد. هر نتيجه استنتاجي درباره سيستم تهويه مطبوع عمل خاصي را پيشنهاد مي كند.

توانایی انسان در مواجهه با داده‌های مبهم و غیردقیق، انجام چنین کارهایی را برای ما آسان می‌کند. بنابراین، اگر هدف ما این است که فعالیت‌های کنترلی یک اپراتور انسانی را بازتولید کنیم، باید بتوانیم فعالیت‌های اپراتور را مدل کنیم و مدلسازی خود دستگاه، چاره ساز نیست. مدل ما باید به گونه‌ای ساخته شود که توانایی مواجهه با اطلاعات مبهم را داشته باشد. ۳ـ منطق فازی می‌تواند مقدارهای مختلف داشته باشد که به خوبی احتمالات را در راه‌حل‌های ممکن در نظر می‌گیرد. تابع عضویت مثلثی شکل در میان اشکال دیگر تابع عضویت دیگر رایج تر هستند.

وقتی در سال ۱۹۹۳ واینمن طراحی وب را اندک اندک فرا گرفته و قصد آموزش دادن آن را پیدا کرد، ابتدا به کتاب فروشی مراجع نمود و سعی کرد کتابی را به عنوان مرجع انتخاب و از روی آن به دانش آموزان خود درس بدهد. اما وی متوجه شد کتاب فروشی ها و کتابخانه ها تنها راهنماهایی بسیار فنی و پیچیده را ارائه می نمایند که درک شان برای افراد معمولی و با دانش متوسط تقریباً غیر ممکن محسوب می شود. در جهان واقعیات، بسیاری از مفاهیم را آدمی به صورت فازی (به معنای غیر دقیق، ناواضح و مبهم) درک می‌کند و به کار می‌بندد. این، در حالی ست که ماشین فقط اعداد را می‌فهمد و اهل دقّت است. اهداف شیوه‌های نو در علوم کامپیوتر آن است که اولاً رمز و راز این‌گونه توانایی‌ها را از انسان بیاموزد و سپس آن‌ها را تا حد امکان به ماشین یاد بدهد.

پایگاه داده MySQL یکی دیگر از پایگاه‌های داده قدرتمندی است که با زبان کوئری‌نویسی SQL کار می‌کند. در این دسته از زبان‌ها تقریبا بیشتر مفاهیم و قواعد یکسان هستند. یعنی اینکه اطلاعات را به شکل جدولی نگهداری کرده و ارتباطات بین این جداول را مدیریت می‌کنند. به همین دلیل، برای آشنایی بیشتر با توابع SQL می‌توانید فیلم رایگان آموزش کار با توابع SQL در پایگاه داده MySQL را از فرادرس مشاهده کنید. برای حل این مشکل تاکاگی _ سوگنو و کانگ نوع دیگری سیستم های فازی معرفی کرده اند که ورودی ها و خروجی های آن متغییر هایی با مقادیر واقعی هستند. بدین ترتیب قاعده فازی از یک عبارت توصیفی با مقادیر زبانی ،به یک رابطه ساده تبدیل شده است.

در مثال فوق قانون اول، سطح گردش هواي زياد را پيشنهاد مي كند. قانون دوم، خاموش كردن، و قانون سوم، سطح گردش هواي كم را بيان مي‌كند. اين مثال از روش ماكزيمم-مينيمم كه روش ساده اي است استفاده مي كند. سیستم فازی مورد استفاده یک سیستم سه ورودی یک خروجی است که سه ورودی فوق نوع کثیفی  و مقدار اندازه گیری شده کثیفی وحجم لباس بوده و خروجی  تعداد دورهای مناسب شستشو میباشد. بعنوان ورودی (سنسورهایی) در این سیستم تعبیه شده این سنسورها که از نوع نوری می­باشند میزان نوری را که از طرف مقابل ساطع شده واز آب عبور کرده را اندازه گیری می نمایند.

در واقع منطق فازی به نوعی مدل توسعه یافته منطق ارسطویی یا منطق بولی است. اعداد فازی، محاسبات فازی و روش‌های آماری فازی مانند خوشه‌بندی فازی از مواردی هستند که بر مبنای این این منطق ایجاد شده‌اند. در پاسخ به این سوال که منطق فازی چیست باید گفت که این منطق در دنیای امروز باعث شده که دستگاه‌ها و کامپیوترهای تولید شده عملکرد به مراتب بهتری از خود نشان دهند. ممنون که این صفحه از هم‌رویش را برای مطالعه این موضوع جذاب انتخاب کردید. بنابراین اگر به یادگیری مبانی اولیه سیستم‌های فازی علاقه دارید، با ما همراه باشید.

این سیستم‌ها با استفاده از قوانین فازی که از استدلال‌های انسانی الهام گرفته‌اند، کار می‌کنند. همانطور که گفته شد باید با توجه به مسئله، تایع عضویت مورد استفاده را تشخیص داد. در واقع هر تابع عضویت بیانگر مقدار زبانی برای هر متغییر زبانی می باشد. یعنی یک نقطه را به یک مجموعه فازی متصل می‌کند، با توجه به این موضوع که آن نقطه، به پشتیبانی مجموعه فازی تعلق دارد. روش‌های زیادی برای غیرفازی سازی وجود دارد که مشهورترین آنها، روش مرکز مساحت (centre-of-area) یا مرکز ثقل (centre-of-gravity) است. این بخش، اقدامات کنترل فازی را با بکارگیری مفاهیم فازی و قوانین فازی، استنباط می‌کند.

یکی از مثالهای پرکاربرد در زمینه­ی مجموعه ­های فازی، مجموعه ­ی افراد بلند قد است. در این مورد مجموعه ما حاوی همه­ ی اندازه قدهای ممکن از 1متر تا 2متر می­باشد. همچنین کلمه بلند قد متناظر با معنایی است که درجه­ ی بلند قدی هر فرد را مشخص می­کند. ولی شرط کلی توابع بودن و خروجی بین صفر و یک باید باشد که منظور این است که عدد ورودی برای این مسئله خاص چقدر عضویت دارد و یا به‌منظور ما در این حالت نزدیم و درست است. در ویدیو آموزشی زیر، یک مثال فازی برای تنظیم دور سیستم سرمایش توضیح داده شده است. در این مثال ورودی رطوبت و دمای محیط بوده و در خروجی دور تند و کند سیستم سرمایش تصمیم گیری می شود.

این حادثه هنوز اتفاق نیفتاده است، ولی می‌توانیم از احتمال وقوع آن صحبت کنیم. اما بیرون بودن تن کودک از ماشین همین حالا به واقعیت تبدیل شده است و فقط می‌توانیم از میزان و درجات آن صحبت کنیم. اتفاقاً متوجه می‌شوید که کودکی در اتومبیل دیگری که به‌موازات شما در یک خودرو در حال حرکت است، نشسته و سر و یک‌دست خود را از پنجره ماشین بیرون آورده و در حال بازیگوشی است. این وضعیت واقعی است و نمی‌توان گفت احتمال اینکه بدن این کودک بیرون اتومبیل باشد، چقدر است. در بخش قبل، عملگرهای اجتماع، اشتراک و متمم مجموعه‌های قطعی، به عنوان راهی برای بیان پیوند یا عطف (and) و تفکیک یا فصل (or) مجموعه­ها مورد بحث قرار گرفتند که ابزارهای مهمی در استدلال به حساب می‌آیند.

همین‌طور که مشاهده می‌کنید، برای این تابع دو ورودی تعریف شده‌اند. @FirstName   و @LastName  با نوع varchar  به عنوان ورودی‌های این تابع تعریف شده‌اند. منطق تابع به این صورت است که نام و نام خانوادگی را همراه با فضای خالی در وسط به یکدیگر می‌چسباند. به این صورت نام کامل شخص ایجاد شده و به بیرون برگشت داده می‌شود. در این قسمت از مطلب، قوانین مهم و اصلی مربوط به تعریف تابع در SQL Server را به شکل فهرستی مرتب و منظم جمع‌آوری کرده‌ایم. دسته سوم امکانات این جعبه ابزار، از مجموعه­ای از بلوک­های Simulink تشکیل شده­ اند که برای شبیه سازی سریع سیستم­های فازی در قالب محیطSimulink  به کار می­روند.

توابع تعریف شده توسط کاربر را می‌توان به سه دسته کلی تقسیم کرد. های مختلف مثل سیستم­های کنترلی، شبکه­های عصبی و یا جعبه ابزار بهینه سازی فراهم آورید. بسياري از سيستم ها، مانند آنچه در بحث كاربرد گفته شد مي‌توانند از منطق فازي بدون هيچ مشكلي استفاده كنند. اما بعضي سيستم ها به منطق پيچيده تري نياز دارند تا بتوانند به بيان گمان، تعقل ، شك و … بپردازند. اين روش مقدار فازي قسمت آنگاه (نتيجه) را به قسمت اگر نسبت ميدهد.

در صورتی که از منطق فازی در این زمینه‌ها استفاده شود، کامپیوترها می‌توانند محاسبات و تصمیم‌سازی خود را مبتنی بر اساس داده‌های غیرقطعی و غیرصریح انجام دهند. در پاسخ به این سوال که منطق فازیی چیست باید گفت که مفهوم و مطالعه در مورد این منطق از سال 1920 آغاز و اولین باز توسط پروفسور لطفی عسگرزاده در سال 1965 در دانشگاه برکلی مطرح شد. در نقطه مقابل تفکر انسان به این شکل نبوده و می‌تواند درجاتی از درستی یا نادرستی را برای یک شرایط در نظر بگیرد. یکی از مواردی که امروزه در حل بسیاری از مسائل مربوط به تصمیم‌گیری نقش بسیار مهمی ایفا می‌کند، منطق فازی است. منطق فازی (Fuzzy) در اغلب مواقع می‌توان بر اساس ورودی‌ها بهترین تصمیم را تولید کند زیرا این منطق بر اساس تصمیم‌گیری‌های انسانی پایه‌ریزی شده است.

منطق فازی که به زبان انگلیسی با کلمه‌ی fuzzy logic از آن یاد می‌شود نوعی از منطق‌‌های چند ارزشی است. در آن مقادیر درستی متغیر‌های مسئله ممکن است هر عدد حقیقی بین مقدار ۰ و ۱ و خود صفر و یک است. منطق فازی به منظور به‌ کارگیری مفهوم درستی جزئی، به طوری که مقادیر آن می‌‌تواند بین کاملا درست و کاملا غلط است، به‌ کارگیری می‌شود. اصطلاح منطق فازی در اولین بار در پی تنظیم نظریه‌ی مجموعه‌‌های فازی به وسیله‌ی پروفسور لطفی زاده در صحنه‌ی محاسبات نو ظاهر شد. واژه‌ی فازی به معنای غیر دقیق، ناواضح و مبهم و یا شناور است. Function در SQL مانند تابع در دیگر زبان‌های برنامه نویسی است.

می توان از چندین تابع عضویت برای فازی کردن یک مقدار عددی استفاده کرد. از توابع پیچیده استفاده نمی شود زیرا استفاده از توابع پیچیده دقت بیشتری در خروجی ایجاد نمی کند. بلوک منطقی معمولی که یک کامپیوتر می‌تواند درک کند، ورودی دقیقی را می‌گیرد و خروجی قطعی به عنوان TRUE یا FALSE تولید می‌کند، که معادل بله یا خیر انسان است. دکتر ارین کلوین یک هکر اخلاقی معتبر، نویسنده ای با کتابهای منتشر شده و مربی علوم رایانه است. او یک مربی مستقل و مشتاق با تعهد پرشور به توسعه دانش آموزان و تجربه یادگیری آنان است. دکتر کالوین عاشق علوم کامپیوتر است و سعی می‌کند تا جای ممکن آن را به بسیاری از دانش آموزان قابل فهم کند .

برای حل این مشکل ما از نوع سومی از سیستم های فازی یعنی سیستم های فازی با فازی ساز و غیر فازی ساز استفاده میکنیم. سیستم‌های منطق فازی بر مبنای یک فرایند چهار مرحله‌‌ای، شامل قوانین پایه، فازی سازی، موتور استنتاج فازی (هوش) و برگرداندن از فازی عمل می‌کنند. طراحی سیستم منطق فازی با مجموعه ای از توابع عضویت برای هر ورودی و مجموعه ای برای هر خروجی آغاز می شود. سپس مجموعه ای از قوانین برای توابع عضویت اعمال می شود تا مقدار خروجی قطعی حاصل شود. بیایید مثالی از کنترل فرآیند بزنیم و منطق فازی را درک کنیم. منطق فازی، امروزه به حل بسیاری از مسائل مربوط به تصمیم‌گیری کمک کرده است بطوری که در بیشتر مواقع، بهترین تصمیم براساس ورودی‌ها را تولید می‌کند.

۳ـ مدل‌های منطق فازی از تجربیات قبلی شستشو یاد می‌گیرند و الگوریتم‌هایی را حفظ می‌کنند تا نتایج شستشو را بهبود دهند. آن‌ها همچنین بررسی می‌کنند که آیا مواد شوینده به صورت مایع یا پودری است. ۱ـ بسیاری از کنترلرها می‌توانند بدون استفاده از منطق فازی بازده بسیار بالاتری فعالیت‌هایشان را انجام دهند. ۶ـ منطق فازی به شما امکان می دهد توابع غیرخطی با پیچیدگی دلخواه بسازید. ۲ـ این مدل به شما کمک می‌کند تا از منطق تفکر انسان تقلید کنید. ۱ـ مدلی انعطاف‌پذیر است که برای پیاده سازی تکنیک یادگیری ماشین نسبت به مدل‌های دیگر پروسه‌ای بسیار آسان دارد.

«تابع‌های تعریف شده توسط کاربر» (User-Defined Functions | UDFs)، به توابعی گفته می‌شود که توسط خود کاربران پایگاه داده تعریف می‌شوند. این تابع، منطق عملیاتی خاصی را به صورت مجموعه‌ای از کدهای محصور شده در می‌آورند. بعدا هر جا که نیاز شد، کاربر می‌تواند از این تابع برای انجام محاسبات خود در SQL Server استفاده کند. توابع تعریف شده توسط کاربر هم مقداری را به عنوان مقدار ورودی دریافت می‌کنند. سپس بر روی آن عملیات مشخص شده توسط کاربر را انجام می‌‌دهند. در آخر هم نتیجه بدست آمده را به بیرون از تابع برمی‌گردانند.

پرفسور لطفی زاده ریاضیدان ایرانی ـ باکویی مخترع مدل فازی است. این نظریه در عرصه‌های مختلف علوم و مهندسی به فناوری‌های مختلف منجر شده است. مجموعه‌های قطعی (Crisp sets) در واقع همان مجموعه‌های عادی و معمولی هستند که در ابتدای نظریهٔ کلاسیک مجموعه‌ها معرفی می‌شوند. افزودن صفت قطعی به واقع وجه تمایزی را ایجاد می‌نماید که به کمک آن می‌شود یکی از مفاهیم ابتکاری و حیاتی در منطق فازی موسوم به تابع عضویت را به آسانی در ذهن به وجود آورد. نکته‌ای که پیش از هر چیز باید به آن توجه داشت، این است که منطق فازی صرف نظر از تعریف ریاضیاتی و علمی خود، یک «مفهوم» است که در دنیای واقعی وجود دارد. مفهومی که بیان می‌کند آنچه در هستی وجود داد به صورت صد در صد به یک دسته متعلق (‍۱) یا غیر متعلق (۰) نیست.

سیستم‌های فازی می‌توانند برای تخمین، تصمیم‌گیری و در صنایع مکانیکی به کار گرفته شوند. اولین حضور منطق فازی در صنعت در اروپا اتفاق افتاده است و به مرور به آمریکا و کشورهای دیگر نیز منتقل شده است. تا اینجا به طور خلاصه به معرفی کوتاهی از منطق فازی ویژگی‌ها و کاربردهای آن پرداختیم، امیدوارم این مطلب برای شما مفید بوده باشد. این یک توضیح بسیار ساده از نحوه کار سیستم های منطق فازی بود. در یک سیستم کاری واقعی ، ورودی های زیادی وجود دارد و امکان چندین خروجی وجود دارد.

سلام و درودبله منطق فازی با منطق ارسطویی در اندازه‌های تعیین شده برای مقدار حقیقت یک گزاره منطقی متفاوت است. در ادامه به معرفی بعضی از شرکت‌ها و زمینه‌کاری منطق فازی در تولیدات و محصولاتشان می‌پردازیم. منطق فازی دارای چهار بخش اصلی است که در ادامه معرفی شده‌اند. همچنین در نمودار زیر نحوه ارتباط این بخش‌ها به خوبی دیده می‌شود. با کلیک بر روی تصویر پایین می‌توانید برای دیدن فیلم‌ها آموزشی بیشتر وارد صفحه مربوط به مجموعه آموزش پایگاه داده فرادرس شوید.

منطق فازی اجازه می‌دهد تا سیستم‌های کامپیوتری تصمیم‌گیری‌هایی شبیه به تصمیم‌گیری انسانی داشته باشند، حتی در حضور اطلاعات ناقص یا مبهم. در نظریه کلاسیک مجموعه‌ها، براساس قانون عضویت مشخص می‌شود که نشان می‌دهد هر شئ به یک مجموعه تعلق دارد یا خیر. در نتیجه محدوده یک مجموعه و اعضای آن کاملا شفاف و قابل تعیین است. در حالیکه در نظریه مجموعه‌ها با رویکرد فازی، تعلق هر شئ به یک مجموعه با درجه عضویت که مقداری بین 0 تا 1 است تعیین می‌شود. برای مثال، اگر a یک شئ باشد، می‌تواند با درجه عضویت 0.3 به مجموعه A تعلق داشته باشد و با درجه عضویت 0.7 به مجموعه B متعلق باشد. بنابراین کران‌های یک مجموعه فازی به روشن، قابل تعیین نیست و نمی‌توان به طور قطع در مورد حدود یا اعضای یک مجموعه قضاوت کرد.


برنامه نویسی تابلو روان با گوشی