اشاره :
<استدلال> در میان اهل فن و صاحبان اندیشه تعاریف و تفاسیر متنوعی دارد. در نگاهی كلی، استفاده از دلیل و برهان برای رسیدن به یك نتیجه از فرضیاتی منطقی با استفاده از روشهای معین، تعریفی از استدلال تلقی میشود؛ تعریفی كه البته با دیدگاههای فلسفی و گاه ایدهآلگرایانه از استدلال تفاوت دارد. با این حال موضوع مهم و اساسی در اینجا بحث در چیستی و چرایی این دیدگاهها نیست، بلكه در مورد نحوه طراحی سیستمهای با قدرت استدلال، با هر تعریفی، برای رسیدن به مجموعهای از تصمیمات منطقی با استفاده از مفروضات یا به طور دقیقتر دانشی است كه در اختیار آنها قرار میگیرد. سیستمهایی خبره (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 به ایجاد برنامههای ویژه كنترل هوشمندانه و سیستمهای مانیتورینگ خطایاب میپردازد. این فناوری را میتوان هم در سیستمهای لینوكسی و هم در سیستمهای سرور مبتنی بر ویندوز مورد استفاده قرار داد.
آنچه در نهایت میتوان گفت آن است كه یكی از مزیتهای سیستمهای خبره این است كه میتوانند در كنار متخصصان انسانی مورد استفاده قرار بگیرند كه ماحصل آن تصمیمی مبتنی بر تخصص انسانی و دقت ماشینی است. این فناوری از دید تجاری نیز برای توسعهدهندگان آن سودآور است.
هماكنون شركتهای بسیاری به فروش سیستمهای خبره و پشتیبانی از مشتریان محصولات خود میپردازند. درآمد یك شركت كوچك فعال در زمینه فروش چنین محصولاتی میتواند سالانه بالغ بر پنج تا بیست میلیون دلار باشد. بازار فروش و پشتیبانی سیستمهای خبره در سراسر جهان نیز سالانه به صدها میلیون دلار میرسد.