گذری بر سیستمهای خبره (Expert Systems)
اشاره :
<استدلال> در میان اهل فن و صاحبان اندیشه تعاریف و تفاسیر متنوعی دارد. در نگاهی كلی، استفاده از دلیل و برهان برای رسیدن به یك نتیجه از فرضیاتی منطقی با استفاده از روشهای معین، تعریفی از استدلال تلقی میشود؛ تعریفی كه البته با دیدگاههای فلسفی و گاه ایدهآلگرایانه از استدلال تفاوت دارد. با این حال موضوع مهم و اساسی در اینجا بحث در چیستی و چرایی این دیدگاهها نیست، بلكه در مورد نحوه طراحی سیستمهای با قدرت استدلال، با هر تعریفی، برای رسیدن به مجموعهای از تصمیمات منطقی با استفاده از مفروضات یا به طور دقیقتر دانشی است كه در اختیار آنها قرار میگیرد. سیستمهایی خبره (expert systems) اساسا برای چنین هدفی طراحی میشوند. در حقیقت به واسطه الگوبرداری این سیستمها از نظام منطق و استدلال انسان و نیز یكسان بودن منابع دانش مورد استفاده آنها، حاصل كار یك سیستم خبره میتواند تصمیماتی باشد كه درحوزهها و عرصههای مختلف قابل استفاده، مورد اطمینان و تاثیرگذار هستند. بسیاری بر این باورند كه سیستمهای خبره بیشترین پیشرفت را در هوش مصنوعی به وجود آوردهاند. آنچه درادامه میخوانید نگاهی كوتاه به تعاریف و سازوكار سیستمهای خبره و گذری بر مزایا و محدودیتهای به كارگیری این سیستمها در علوم و فنون مختلف است. طبیعتاً مباحث كاربردیتر و عملیتر درباره سیستمهای خبره و بحث درباره نحوه توسعه و پیادهسازی آنها، نیازمند مقالات جداگانهای است كه در آینده به آنها خواهیم پرداخت.
سیستم خبره چیست؟
در یك تعریف كلی میتوان گفت سیستمهای خبره، برنامههای كامپیوتریای هستند كه نحوه تفكر یك متخصص در یك زمینه خاص را شبیهسازی میكنند. در واقع این نرمافزارها، الگوهای منطقیای را كه یك متخصص بر اساس آنها تصمیمگیری میكند، شناسایی مینمایند و سپس بر اساس آن الگوها، مانند انسانها تصمیمگیری میكنند.
یكی از اهداف هوش مصنوعی، فهم هوش انسانی با شبیهسازی آن توسط برنامههای كامپیوتری است. البته بدیهی است كه “هوش” را میتوان به بسیاری از مهارتهای مبتنی بر فهم، از جمله توانایی تصمیمگیری، یادگیری و فهم زبان تعمیم داد و از اینرو واژهای كلی محسوب میشود.
بیشتر دستاوردهای هوش مصنوعی در زمینه تصمیمگیری و حل مسئله بوده است كه اصلیترین موضوع سیستمهای خبره را شامل میشوند. به آن نوع از برنامههای هوش مصنوعی كه به سطحی از خبرگی میرسند كه میتوانند به جای یك متخصص در یك زمینه خاص تصمیمگیری كنند، expert systems یا سیستمهای خبره گفته میشود. این سیستمها برنامههایی هستند كه پایگاه دانش آنها انباشته از اطلاعاتی است كه انسانها هنگام تصمیمگیری درباره یك موضوع خاص، براساس آنها تصمیم میگیرند. روی این موضوع باید تأكید كرد كه هیچیك از سیستمهای خبرهای كه تاكنون طراحی و برنامهنویسی شدهاند، همهمنظوره نبودهاند و تنها در یك زمینه محدود قادر به شبیهسازی فرآیند تصمیمگیری انسان هستند.
به محدوده اطلاعاتی از الگوهای خبرگی انسان كه به یك سیستم خبره منتقل میشود، task domain گفته میشود. این محدوده، سطح خبرگی یك سیستم خبره را مشخص میكند و نشان میدهد كه آن سیستم خبره برای چه كارهایی طراحی شده است. سیستم خبره با این task ها یا وظایف میتواند كارهایی چون برنامهریزی، زمانبندی، و طراحی را در یك حیطه تعریف شده انجام دهد.
به روند ساخت یك سیستم خبره، knowledge engineering یا مهندسی دانش گفته میشود. یك مهندس دانش باید اطمینان حاصل كند كه سیستم خبره طراحی شده، تمام دانش مورد نیاز برای حل یك مسئله را دارد. طبیعتاً در غیراینصورت، تصمیمهای سیستم خبره قابل اطمینان نخواهند بود.
ساختار یك سیستم خبره
هر سیستم خبره از دو بخش مجزا ساخته شده است: پایگاه دانش و موتور تصمیمگیری.
پایگاه دانش یك سیستم خبره از هر دو نوع دانش مبتنی بر حقایق (factual) و نیز دانش غیرقطعی (heuristic) استفاده میكند. Factual knowledge، دانش حقیقی یا قطعی نوعی از دانش است كه میتوان آن را در حیطههای مختلف به اشتراك گذاشت و تعمیم داد؛ چراكه درستی آن قطعی است.
در سوی دیگر، Heuristic knowledge قرار دارد كه غیرقطعیتر و بیشتر مبتنی بر برداشتهای شخصی است. هرچه حدسها یا دانش هیورستیك یك سیستم خبره بهتر باشد، سطح خبرگی آن بیشتر خواهد بود و در شرایط ویژه، تصمیمات بهتری اتخاذ خواهد كرد.
دانش مبتنی بر ساختار Heuristic در سیستمهای خبره اهمیت زیادی دارد این نوع دانش میتواند به تسریع فرآیند حل یك مسئله كمك كند. البته یك مشكل عمده در ارتباط با به كارگیری دانشHeuristic آن است كه نمیتوان در حل همه مسائل از این نوع دانش استفاده كرد. به عنوان نمونه جلوگیری از حمل سموم خطرناك از طریق خطوط هوایی با استفاده از روش Heuristic امكانپذیر نیست.
اطلاعات این بخش از سیستم خبره از طریق مصاحبه با افراد متخصص در این زمینه تامین میشود. مهندس دانش یا مصاحبهكننده، پس از سازماندهی اطلاعات جمعآوریشده از متخصصان یا مصاحبه شوندگان، آنها را به قوانین قابل فهم برای كامپیوتر به صورت (if-then) موسوم به قوانین ساخت (production rules) تبدیل میكند.
موتور تصمیمگیری سیستم خبره را قادر میكند با استفاده از قوانین پایگاه دانش، پروسه تصمیمگیری را انجام دهد. برای نمونه، اگر پایگاه دانش قوانینی به صورت زیر داشته باشد:
●دفتر ماهنامه شبكه در تهران قرار دارد.
●تهران در ایران قرار دارد.
سیستم خبره میتواند به قانون زیر برسد:
● دفتر ماهنامه شبكه در ایران قرار دارد.
در یك تعریف كلی میتوان گفت سیستمهای خبره، برنامههای كامپیوتریای هستند كه نحوه تفكر یك متخصص در یك زمینه خاص را شبیهسازی میكنند.
استفاده از منطق فازی
موضوع مهم دیگر در ارتباط با سیستمهای خبره، پیوند و ارتباط آن با دیگر شاخههای هوش مصنوعی است. به بیان روشنتر، برخی از سیستمهای خبره از Fuzzy Logic یا منطق فازی استفاده میكنند. در منطق غیرفازی تنها دو ارزش درست (true) یا نادرست (false) وجود دارد. چنین منطقی نمیتواند چندان كامل باشد؛ چراكه فهم و پروسه تصمیمگیری انسانها در بسیاری از موارد، كاملا قطعی نیست و بسته به زمان و مكان آن، تا حدودی درست یا تا حدودی نادرست است. در خلال سالهای 1920 و 1930، Jan Lukasiewicz فیلسوف لهستانی منطقی را مطرح كرد كه در آن ارزش یك قانون میتواند بیشتر از دو مقدار 0 و 1 یا درست و نادرست باشد. سپس پروفسور لطفیزاده نشان داد كه منطق Lukasiewicz را میتوان به صورت “درجه درستی” مطرح كرد. یعنی به جای اینكه بگوییم: “این منطق درست است یا نادرست؟” بگوییم: “این منطق چقدر درست یا چقدر نادرست است؟”
از منطق فازی در مواردی استفاده میشود كه با مفاهیم مبهمی چون “سنگینی”، “سرما”، “ارتفاع” و از این قبیل مواجه شویم. این پرسش را در نظر بگیرید : “وزن یك شیء 500 كیلوگرم است، آیا این شیء سنگین است؟” چنین سوالی یك سوال مبهم محسوب میشود؛ چراكه این سوال مطرح میشود كه “از چه نظر سنگین؟” اگر برای حمل توسط یك انسان بگوییم، بله سنگین است. اگر برای حمل توسط یك اتومبیل مطرح شود، كمی سنگین است، ولی اگر برای حمل توسط یك هواپیما مطرح شود سنگین نیست.
در اینجاست كه با استفاده از منطق فازی میتوان یك درجه درستی برای چنین پرسشی در نظر گرفت و بسته به شرایط گفت كه این شیء كمی سنگین است. یعنی در چنین مواردی گفتن اینكه این شیء سنگین نیست
(false) یا سنگین است (true) پاسخ دقیقی نیست.
مزایا و محدودیتهای سیستمهای خبره
دستاورد سیستمهای خبره را میتوان صرفهجویی در هزینهها و نیز تصمیمگیریهای بهتر و دقیقتر و بسیاری موارد تخصصیتر دیگر عنوان كرد. استفاده از سیستمهای خبره برای شركتها میتواند صرفهجویی به همراه داشته باشد.
در زمینه تصمیمگیری نیز گاهی میتوان در شرایط پیچیده، با بهرهگیری از چنین سیستمهایی تصمیمهای بهتری اتخاذ كرد و جنبههای پیچیدهای را در مدت زمان بسیار كمی مورد بررسی قرار داد كه تحلیل آنها به روزها زمان نیاز دارد.
از سوی دیگر، بهكارگیری سیستمهای خبره محدودیتهای خاصی دارد. به عنوان نمونه، این سیستمها نسبت به آنچه انجام میدهند، هیچ <حسی> ندارند. چنین سیستمهایی نمیتوانند خبرگی خود را به گسترههای وسیعتری تعمیم دهند؛ چراكه تنها برای یك منظور خاص طراحی شدهاند و پایگاه دانش آنها از دانش متخصصان آن حوزه نشات گرفته و از اینرو محدود است.
چنین سیستمهایی از آنجا كه توسط دانش متخصصان تغذیه اطلاعاتی شدهاند، در صورت بروز برخی موارد پیشبینی نشده، نمیتوانند شرایط جدید را به درستی تجزیه و تحلیل نمایند.
كاربرد سیستمهای خبره
از سیستمهای خبره در بسیاری از حیطهها از جمله برنامهریزیهای تجاری، سیستمهای امنیتی، اكتشافات نفت و معادن، مهندسی ژنتیك، طراحی و ساخت اتومبیل، طراحی لنز دوربین و زمانبندی برنامه پروازهای خطوط هوایی استفاده میشود. دو نمونه از كاربردهای این سیستمها در ادامه توضیح دادهشدهاند.
● طراحی و زمانبندی
سیستمهایی كه در این زمینه مورد استفاده قرار میگیرند، چندین هدف پیچیده و تعاملی را مورد بررسی قرار میدهند تا جوانب كار را روشن كنند و به اهداف مورد نظر دست یابند یا بهترین گزینه را پیشنهاد دهند. بهترین مثال از این مورد، زمانبندی پروازهای خطوط هوایی، كارمندان و گیتهای یك شركت حمل و نقل هوایی است.
● تصمیمگیریهای مالی
صنعت خدمات مالی یكی از بزرگترین كاربران سیستمهای خبره است. نرمافزارهای پیشنهاددهنده نوعی از سیستمهای خبره هستند كه به عنوان مشاور بانكداران عمل میكنند. برای نمونه، با بررسی شرایط یك شركت متقاضی وام از یك بانك تعیین میكند كه آیا پرداخت این وام به شركت برای بانك مورد نظر صرفه اقتصادی دارد یا نه. همچنین شركتهای بیمه برای بررسی میزان خطرپذیری و هزینههای موارد مختلف، از این سیستمها استفاده میكنند.
چند سیستم خبره مشهور
از نخستین سیستمهای خبره میتوان به Dendral اشاره كرد كه در سال 1965 توسط Edward Feigenbaum وJoshun Lederberg پژوهشگران هوش مصنوعی در دانشگاه استنفورد ساخته شد.
وظیفه این برنامه كامپیوتری، تحلیلهای شیمیایی بود. ماده مورد آزمایش میتوانست تركیبی پیچیده از كربن، هیدروژن و نیتروژن باشد. Dendarl میتوانست با بررسی آرایش و اطلاعات مربوط به یك ماده، ساختار مولكولی آن را شبیهسازی كند. كاركرد این نرمافزار چنان خوب بود كه میتوانست با یك متخصص رقابت كند.
از دیگر سیستمهای خبره مشهور میتوان به MYCIN اشاره كرد كه در سال 1972 در استنفورد طراحی شد. MYCIN برنامهای بود كه كار آن تشخیص عفونتهای خونی با بررسی اطلاعات به دست آمده از شرایط جسمی بیمار و نیز نتیجه آزمایشهای او بود.
برنامه به گونهای طراحی شده بود كه در صورت نیاز به اطلاعات بیشتر، با پرسشهایی آنها را درخواست میكرد تا تصمیمگیری بهتری انجام دهد؛ پرسشهایی چون “آیا بیمار اخیرا دچار سوختگی شده است؟” (برای تشخیص اینكه آیا عفونت خونی از سوختگی نشات گرفته یا نه. MYCIN ( گاه میتوانست نتایج آزمایش را نیز از پیش حدس بزند.
سیستم خبره دیگر در این زمینه Centaur بود كه كار آن بررسی آزمایشهای تنفسی و تشخیص بیماریهای ریوی بود. یكی از پیشروان توسعه و كاربرد سیستمهای خبره، سازمانهای فضایی هستند كه برای مشاوره و نیز بررسی شرایط پیچیده و صرفهجویی در زمان و هزینه چنین تحلیلهایی به این سیستمها روی آوردهاند.
Marshall Space Flight Center) MSFC) یكی از مراكز وابسته به سازمان فضایی ناسا از سال 1994 در زمینه توسعه نرمافزارهای هوشمند كار میكند كه هدف آن تخمین كمّ و كیف تجهیزات و لوازم مورد نیاز برای حمل به فضا است.
این برنامههای كامپیوتری با پیشنهاد راهكارهایی در این زمینه از بار كاری كارمندان بخشهایی چون ISS (ایستگاه فضایی بین المللی) میكاهند و به گونهای طراحی شدهاند كه مدیریتپذیرند و بسته به شرایط مختلف، قابل تعریف هستند.
مركز فضایی MSFC، توسط فناوری ویژه خود موسوم به 2G به ایجاد برنامههای ویژه كنترل هوشمندانه و سیستمهای مانیتورینگ خطایاب میپردازد. این فناوری را میتوان هم در سیستمهای لینوكسی و هم در سیستمهای سرور مبتنی بر ویندوز مورد استفاده قرار داد.
آنچه در نهایت میتوان گفت آن است كه یكی از مزیتهای سیستمهای خبره این است كه میتوانند در كنار متخصصان انسانی مورد استفاده قرار بگیرند كه ماحصل آن تصمیمی مبتنی بر تخصص انسانی و دقت ماشینی است. این فناوری از دید تجاری نیز برای توسعهدهندگان آن سودآور است.
هماكنون شركتهای بسیاری به فروش سیستمهای خبره و پشتیبانی از مشتریان محصولات خود میپردازند. درآمد یك شركت كوچك فعال در زمینه فروش چنین محصولاتی میتواند سالانه بالغ بر پنج تا بیست میلیون دلار باشد. بازار فروش و پشتیبانی سیستمهای خبره در سراسر جهان نیز سالانه به صدها میلیون دلار میرسد.
خبرگی
خبرگی(Expertise) دانشی است تخصصی که برای رسیدن به آن نیاز به مطالعه مفاهیم تخصصی یا دورههای ویژه وجود دارد.
سیستمهای خبره
سیستمهای خبره یکی از زیرشاخههای هوش مصنوعی میباشد و یک سیستم خبره به برنامه کامپیوتری گفته میشود که دارای خبرگی در حوزه خاصی میباشد و میتواند در آن حوزه تصمیمگیری با کمک به خبره جهت تصمیمگیری بکار رود.
نکته
سیستمهای خبره برا حل مسائلی بکار میروند که:1. الگوریتم خاصی برا حل آن مسائل وجود ندارند.
2. دانش صریح برای حل آن مسائل وجود دارد.
بنابراین اگر سیستمی با استفاده از روشهای علم آماراقدام به پیشبینی دمایهوای فردا کند، در حوزه سیستمهای خبره قرار نمیگیرد.اما اگر سیستمی بااستفاده از این قاعده که«در این فصل سال دمایهوا معمولا ثابت میباشد» و این واقعیت که «دمای امروز 25 درجه سانتی گراد میباشد» به این نتیجه دست یابد که «دمای فردا 25 درجه خواهد بود» در حوزه سیستمهای خبره قرا خواهد گرفت.
از سیستم خبره نباید انتظار داشت که نتیجه بهتر از نتیجه یک خبره را بیابد. سیستم خبره تنها میتواند همسطح یک خبره اقدام به نتیجهگیری نماید. سیستمهای خبره همیشه به جواب نمیرسند.
باتوجه به این که علوم مختلفی وجود دارد در نتیجه خبرگی در شاخههای علمی متفاوت مطرح است. یک فرد خبره(Expert) فردی است که در زمینهای خاص مهارت دارد به طور مثال یک پزشک یک مکانیک و یک مهندس افرادی خبره هستند. این مسئله بیانگر این است که دامنه کاربرد سیستمهای خبره گسترده است و میتوان برای هر زمینه کاری یک سیستم خبره طراحی نمود.
بیان خبرگی در قالب دانش یا بازنمایی دانش
برای این که این خبرگی یک سیستم خبره تشکیل دهد لازم است این خبرگی در قالب دانش بیان شود. بازنمایی دانش تکنیکی است برای بیان خبرگی در قالب دانش.بازنمایی دانش برای ایجاد و سازماندهی دانش یک فرد خبره در یک سیستم خبره استفاده میشود.
اجزای اصلی سیستم خبره
یک سیستم خبره دارای اجزای زیر میباشد:
پایگاه دانش
یکی از مولفههای مهم سیستمهای خبره پایگاه دانش یا مخزن دانش است. محلی است که دانش خبره به صورت کدگذاری شده و قابل فهم برای سیستم ذخیره میشود. پایگاه قواعد دانش، محلی است که بازنمایی دانش صورت میگیرد. بازنمایی دانش بعد از اتمام مراحل به پایگاه قواعد دانش تبدیل میشود.
به کسی که دانش خبره را کد کرده و وارد پایگاه دانش میکند مهندس دانش (Knowledge engineer) گفته میشود.
بطور کلی دانش به صورت عبارات شرطی و قواعد در پایگاه دانش ذخیره میگردد.«اگر چراغ قرمز است آنگاه متوقف شو»
هرگاه این واقعیت وجود داشته باشد که «چراغ قرمز است» آنگاه این واقعیت با الگوی« چراغ قرمز است» منطبق میشود. دراین صورت این قاعده برآورده میشود و دستور متوقف شو اجرا میشود.
موتور استنتاج
یعنی از دانش موجود استفاده و دانش را برای حل مسئله به هم ربط دهیم.
موتور استنتاج با استفاده از قواعد منطق و دانش موجود در پایگاه دانش و حقایق حافظه کاری اقدام به انجام کار خاصی مینماید. این عمل یا بصورت افزودن حقایق جدیدی به پایگاه دانش میباشد یا بصورت نتیجهای برای اعلام به کاربر یا انجام کار خاصی میباشد.
حافظه کاری
حافظهای برای ذخیره پاسخ سوالهای مربوط به سیستم میباشد.
امکانات کسب دانش
امکانات کسب دانش در واقع راهکارهایی برای ایجاد و اضافه نمودن دانش به سیستم میباشد. امکاناتی است که اگر بخواهیم دانشی به سیستم اضافه کنیم باید یک بار از این مرحله عبور کنیم اگر این دانش قبلا در سیستم وجود نداشته باشد به موتور استنتاج میرود روی آن پالایشی صورت میگیرد و سپس در پایگاه دانش قرار میگیرد.
امکانات توضیح
برای نشان دادن مراحل نتیجهگیری سیستم خبره برای یک مسئله خاص با واقعیت خاص به کاربر به زبان قابل فهم برای کاربر بکارمیرود. این امکانات این فایده را دارد که کاربر با دیدن مراحل استنتاج اطمینان بیشتری به تصمیم گرفتهشده توسط سیستم خواهد داشت و خبرهای که دانش او وارد پایگاه دانش شدهاست اطمینان حاصل خواهد کرد که دانش و به صورت صحیح وارد شدهاست.
اگر د ارتباط با سیستم سوال و جوابهایی مطرح شود و سیستم به ما یک سری راهکار پیشنهاد کند و توضیحی در زمینه اینکه چرا چنین سوالی پرسیده میشود؟(Why) و چگونه به این نتیجه رسیدهایم؟(How) را در ناحیهای ذخیره نماییم، امکانات توضیح را تشکیل میدهد.
بخش ارتباط با کاربر
مربوط به بخشی است که بطور مستقیم با کاربر در ارتباط است.
کاربردهای سیستم های خبره
1- جایگزینی برای فرد خبره(سیستم اینترنتی در زمینه مشاور محصولات یک شرکت)
-
- تداوم کار در صورت عدم دسترسی به فرد خبره
-
-
- احساساتی نبودن سیستم و خستگی ناپذیری آن
2- کمک و دستیار( برنامههای MS Project یا Autocad یا Pspicee برنامههایی هستند که دانشی برای انجام عملیاتی برای کمک به افرادی خاص را دارند)
سیستم خبره قسمت 1
سیستم خبره قسمت 2
سیستم خبره قسمت 3
سیستم خبره قسمت 4
سیستم خبره قسمت 5
سیستم خبره قسمت 6
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.