مرجع مهندسی پزشکی ایران

منطق فازی (Fuzzy Logic) (بخش دوم)

منطق فازی (Fuzzy Logic) (بخش دوم)   تئوری مجموعه‌های فازی و منطق فازی را اولین بار پرفسور لطفی‌زاده در ...

منطق فازی (Fuzzy Logic) (بخش دوم)

 

تئوری مجموعه‌های فازی و منطق فازی را اولین بار پرفسور لطفی‌زاده در رساله‌ای به نام مجموعه‌های فازی ، اطلاعات و کنترل در سال 1965 معرفی کرد. هدف اولیه او در آن زمان ، توسعه مدلی کارآمدتر برای توصیف فرآیند پردازش زبان‌های طبیعی بود.

Fuzzy Logic
مجموعه‌های فازی
بنیاد منطق فازی بر شالوده نظریه مجموعه‌های فازی استوار است. این نظریه تعمیمی از نظریه کلاسیک مجموعه‌ها در علم ریاضیات است. در تئوری کلاسیک مجموعه‌ها ، یک عنصر یا عضو مجموعه است یا نیست. در حقیقت عضویت عناصر از یک الگوی صفر و یک و باینری تبعیت می‌کند. اما تئوری مجموعه‌های فازی این مفهوم را بسط می‌دهد و عضویت درجه‌بندی شده را مطرح می‌کند.
منطق فازی را از طریق قوانینی که عملگرهای فازی نامیده می‌شوند می‌توان به‌کار گرفت. این قوانین معمولا بر اساس مدل شکل زیر تعریف می‌شوند.

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

نگاشت متغیر دمای هوا به چند مجموعه فازیبه عنوان نمونه ، درجه حرارت‌های بین دمای T1 و T2 هم متعلق به مجموعه سرد و هم متعلق به مجموعه خنک است. اما درجه عضویت یک دمای معین در این فاصله ، در هر یک از دو مجموعه متفاوت است. به طوری که دمای نزدیک تنها به اندازه چند صدم در مجموعه سرد عضویت دارد ، اما نزدیک نود درصد در مجموعه خنک عضویت دارد. منطق فازی همچون منطق کلاسیک تعدادی عملگر پایه دارد. مثلا در منطق کلاسیک از عملگرهای AND و OR وNOT استفاده می‌شود.

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

کاربردهای منطق فازی
منطق فازی کاربردهای متعددی دارد. ساده‌ترین نمونه یک سیستـم کنترل دما یا ترموستات است که بر اساس قوانین فازی کار می‌کند. سال‌ها است که از  منطق فازی برای کنترل دمای آب یا میزان کدر شدن آبی که لباس‌ها در آن شسته شده‌اند در ساختمان اغلب ماشین‌های لباسشویی استفاده می‌شود.
امروزه ماشین‌های ظرفشویی و بسیاری از دیگر لوازم خانگی نیز از این تکنیک استفاده می‌کنند. منطق فازی در صنعت خودروسازی نیز کاربردهای فروانی دارد. مثلا سیستم ترمز و ABS در برخی از خودروها از منطق فازی استفاده می‌کند. یکی از معروف‌ترین نمونه‌های به‌کارگیری منطق فازی در سیستم‌های ترابری جهان ، شبکه مونوریل (قطار تک ریل) توکیو در ژاپن است. سایر سیستم‌های حرکتی و جابه‌جایی بار ، مثل آسانسورها نیز از منطق فازی استفاده می‌کنند.
سیستم‌های تهویه هوا نیز به طور فراوان منطق فازی را به‌کار می‌گیرند. از منطق فازی در سیستم‌های پردازش تصویر نیز استفاده می‌شود. یک نمونه از این نوع کاربردها را می‌توانید در سیستم‌های «تشخیص لبه و مرز» اجسام و تصاویر مشاهده کنید که در روباتیک نیز کاربردهایی دارد. به طور کلی خیلی از مواقع در ساختمان سیستم‌های تشخیص الگوها (Pattern Recognition) مثل سیستم‌های تشخیص گفتار و پردازش تصویر از منطق فازی استفاده می‌شود.

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

شبکه های عصبی (Neural Network)
شبکه‌های عصبی را می‌توان با اغماض زیاد ، مدل‌های الکترونیکی از ساختار عصبی مغز انسان نامید. مکانیسم فراگیری و آموزش مغز اساساً بر تجربه استوار است. مدل‌های الکترونیکی شبکه‌های عصبی طبیعی نیز بر اساس همین الگو بنا شده‌اند و روش برخورد چنین مدل‌هایی با مسائل ، با روش‌های محاسباتی که به‌طور معمول توسط سیستم‌های کامپیوتری در پیش گرفته شده‌اند ، تفاوت دارد. می‌دانید که حتی ساده‌ترین مغزهای جانوری هم قادر به حل مسائلی هستند که اگر گفته نشود که کامپیوترهای امروزی از حل آن ها عاجز هستند ، حداقل در حل آن ها دچار مشکل می‌شوند. به عنوان مثال ، مسائل مختلف شناسایی الگو ، نمونه‌ای از مواردی هستند که روش‌های معمول محاسباتی برای حل آن ها به نتیجه مطلوب نمی‌رسند. در حالی‌ که مغـز ساده‌ترین جانوران به راحتی از عهده چنین مسائلی بر می‌آید. تصور عموم کارشناسان IT) Information Technology) بر آن است که مدل‌های جدید محاسباتی که بر اساس شبکه‌های عصبی بنا می‌شوند ، جهش بعدی صنعت IT را شکل می‌دهند. تحقیقات در این زمینه نشان داده است که مغز ، اطلاعات را همانند الگوها (Patterns) ذخیره می‌کند. فرایند ذخیره‌سازی اطلاعات به‌صورت الگو و تجزیه و تحلیل آن الگو ، اساس روش نوین محاسباتی را تشکیل می‌دهند. این حوزه از دانش محاسباتی (Computation) به هیچ وجه از روش‌های برنامه‌نویسی سنتی استفاده نمی‌کند و به‌جای آن از شبکه‌های بزرگی که به‌صورت موازی آرایش شده‌اند و تعلیم یافته‌اند ، بهره می‌جوید.

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

روش کار نرون‌ها
در شکل زیر نمای ساده شده‌ای از ساختار یک نرون بیولوژیک نمایش داده شده است. به‌طور خلاصه ، یک نرون بیولوژیک پس از دریافت سیگنال‌های  ورودی (به‌ شکل یک پالس الکتریکی) از سلول‌های دیگر ، آن سیگنال‌ها را با یکدیگر ترکیب کرده و پس از انجام یک عمل (Operation) دیگر بر روی سیگنال ترکیبی ، آن را به‌صورت خروجی ظاهر می‌سازد.

ساختار یک نرون بیولوژیکهمان‌طور که در شکل مشاهده می‌کنید ، نرون‌ها از چهار بخش اصلی ساخته شده‌اند. دندریت‌ها (Dendrite) ، سوما (Soma)، اکسان (Axon) و بالاخره سیناپس (Synapse) دندریت‌ها ، همان اجزایی هستند که به‌شکل رشته‌های طویل از مرکز سلول به اطراف پراکنده می‌شوند. دندریت‌ها نقش کانال‌های ارتباطی را برای انتقال‌ دادن سیگنال‌های الکتریکی به مرکز سلول بر عهده دارند. در انتهای دندریت‌ ها ، ساختار بیولوژیکی ویژه‌ای به‌نام سیناپس واقع شده است که نقش دروازه‌های اتصالی کانال‌های ارتباطی را ایفا می‌کند. در واقع سیگنال‌های گوناگون از طریق سیناپس‌ها و دندریت‌ها به مرکز سلول منتقل می‌شوند و در آنجا با یکدیگر ترکیب می‌شوند. عمل ترکیب که به آن اشاره شد ، می‌تواند یک عمل جمع جبری ساده باشد. البته تحقیقات جدید نمایانگر این واقعیت هستند که نرون‌های بیولوژیک بسیار پیچیده‌تر از مدل ساده‌ای هستند که در بالا  اشاره  شد. اما همین مدل ساده می‌تواند زیربنای مستحکمی برای دانش شبکه‌های عصبی مصنوعی (Artificial Neural Network - ANN) تلقی شود و متخصصان گرایش شبکه‌های عصبی یا هوش مصنوعی می‌توانند با پیگیری کارهای دانشمندان علوم زیست‌شناسی ، به بنیان‌گذاری ساختارهای مناسب‌تری در آینده دست بزنند.

مدل ریاضی
در متون فنی برای نمایش مدل ساده‌ای که در بالا تشریح شد ، به طور معمول از شکلی مشابه شکل زیر استفاده می‌شود. در این شکل کلاسیک ، از علامت p برای نشان‌ دادن یک سیگنال ورودی استفاده می‌شود. در واقع در این مدل یک سیگنال ورودی پس از تقویت (یا تضعیف) شدن به اندازه پارامتر w ، به‌صورت یک سیگنال الکتریکی با اندازه pw وارد نرون می‌شود. به‌ جهات ساده‌سازی مدل ریاضی ، فرض می‌شود که در هسته سلول عصبی ، سیگنال ورودی با سیگنال دیگری به اندازه b جمع می‌شود. در واقع سیگنال b خود به معنی آن است که سیگنالی به اندازه واحد در پارامتری مانند b ضرب (تقویت یا تضعیف) می‌شود. مجموع حاصل ، یعنی سیگنالی به اندازه pw + b ، قبل از خارج شدن از سلول تحت عمل یا فرایند دیگری واقع می‌شود که در اصطلاح فنی به آن تابع انتقال (Transfer Function) می‌گویند. این موضوع در شکل به وسیله جعبه‌ای نمایش داده شده است که روی آن علامت f قرار داده شده است. ورودی این جعبه همان سیگنال pw + b است و خروجی آن یا همان خروجی سلول ، با علامت a نشانه گذاری شده است. در ریاضی بخش آخر مدل‌سازی توسط رابطه (a = fpw + b) نمایش داده می‌شود. پارامتر w یا همان ضریبی که سیگنال ورودی p در آن ضرب می‌شود ، در اصطلاح ریاضی به نام پارامتر وزن یا weight نیز گفته می‌شود.

مدل ریاضی سیگنال ورودی به نرونطراح شبکه با اندازه‌گیری خروجی و با انتخاب پارامترهای w و b به‌گونه‌ای که خروجی مطلوب به‌دست آید ، شبکه را آموزش می‌دهد. به این ترتیب پس از آنکه چنین شبکه به ازای مجموعه‌ای از ورودی‌ها برای ساختن خروجی‌های مطلوب آموزش دید ، می‌توان از آن برای حل مسائلی که از ترکیب متفاوتی از ورودی‌ها ایجاد می‌شوند، بهره برد.
تابع f می‌تواند بر حسب کاربردهای گوناگون به طور ریاضی ، به شکل های متفاوتی انتخاب شود. در برخی از کاربردها ، پاسخ مسائل از نوع دودویی است. مثلا مسأله به‌گونه‌ای است که خروجی شبکه عصبی باید چیزی مانند سیاه یا سفید (یا آری یا نه) باشد. در واقع چنین مسائلی نیاز به آن دارند که ورودی‌های دنیای واقعی به مقادیر گسسته مانند مثال فوق تبدیل شوند.
در گروه دیگری از مسائلی که حل آن‌ها به شبکه‌های عصبی واگذار می‌شود ، خروجی شبکه عصبی الزاماً بین مقادیر معلوم و شناخته شده‌ واقع نمی‌شود. مسائلی از نوع شناسایی الگوهای تصویری ، نمونه‌ای از چنین مواردی محسوب می‌شوند. شبکه‌های عصبی در این موارد ، باید به‌گونه‌ای باشند که قابلیت تولید مجموعه نامتناهی از پاسخ‌ها را داشته باشند. رفتار حرکتی یک روبات نمونه‌ای از هوشی است که چنین شبکه‌های عصبی می‌توانند فراهم آورند. اما در چنین شبکه‌هایی هم لازم خواهد بود که خروجی بین مقادیر مشخصی محدود شده باشد.
فرض کنید قرار است از شبکه عصبی برای کنترل حرکت بازوی یک روبات استفاده شود. در صورتی‌که خروجی یک شبکه عصبی برای کنترل نیروی حرکتی به‌کار گرفته شود ، طبیعی خواهد بود که اگر خروجی شبکه محدود نشده باشد ، ممکن است بازوی روبات بر اثر حرکت بسیار سریع به خود و یا محیط اطراف آسیب برساند.
در هر صورت پس از آنکه ورودی‌ها با یکدیگر ترکیب شدند ، سیگنال حاصل به واحد دیگری که در آن تابع انتقال یا Transfer Function به سیگنال اعمال می‌شود ، هدایت می‌شود. خروجی این بخش ، سیگنال‌های حقیقی خواهند بود. بدین ترتیب جعبه‌ای در دست خواهید داشت که تعداد n عدد سیگنال ورودی را به m عدد سیگنال خروجی تبدیل می‌کند.

 

منبع: ماهنامه مهندسی پزشکی

 

 

کلمات کلیدی: biomedical engineering ، مهندسی پزشکی ، آشنایی با مهندسی پزشکی ، معرفی مهندسی پزشکی ، مهندسی پزشکی گرایش بالینی ، مهندسی پزشکی گرایش بیومکانیک ، مهندسی پزشکی گرایش بیوالکتریک ، مهندسی پزشکی گرایش بیومتریال (بیومواد) ، مهندسی پزشکی ایران ، مهندسی پزشکی دانشگاه پیام نور ، پایگاه آموزشی و اطلاع رسانی مهندسی پزشکی ، اخبار و تازه های مهندسی پزشکی ، مقالات مهندسی پزشکی ، آموزش مهندسی پزشکی ، دانلود کتاب های مهندسی پزشکی ، دانلود جزوه های مهندسی پزشکی ، دانلود نمونه سوالات امتحانی مهندسی پزشکی ، منطق فازی ، Fuzzy Logic ، کاربردهای منطق فازی ، شبکه های عصبی

کد امنیتی رفرش

آشنایی با مهندسی پزشکی

آشنایی با تجهیزات پزشکی

آشنایی با تعمیر و نگهداری تجهیزات پزشکی

اخبار و تازه‌های مهندسی پزشکی

مقالات مهندسی پزشکی

جزوات دانشگاهی و نمونه سوالات امتحانی

معرفی کتاب ، نرم افزار و سایت

ویدیو و انیمیشن آموزشی

دانلود فایل