گذری بر سیستم‌های خبره‌ (Expert Systems)
 

 
اشاره :

<استدلال> در میان اهل فن و صاحبان اندیشه تعاریف و تفاسیر متنوعی دارد. در نگاهی کلی، استفاده از دلیل و برهان برای رسیدن به یک نتیجه از فرضیاتی منطقی با استفاده از روش‌های معین، تعریفی از استدلال تلقی می‌شود؛ تعریفی که البته با دیدگاه‌های فلسفی و گاه ایده‌آل‌گرایانه از استدلال تفاوت دارد. با این حال موضوع مهم و اساسی در اینجا بحث در چیستی و چرایی این دیدگاه‌ها نیست، بلکه در مورد نحوه طراحی سیستم‌های با قدرت استدلال، با هر تعریفی، برای رسیدن به مجموعه‌ای از تصمیمات منطقی‌ ‌ با استفاده از مفروضات یا به طور دقیق‌تر دانشی است که در اختیار آن‌ها قرار می‌گیرد. سیستم‌هایی خبره (expert systems) اساسا برای چنین هدفی طراحی می‌شوند. در حقیقت به واسطه الگوبرداری این سیستم‌ها از نظام منطق و استدلال انسان و نیز یکسان بودن منابع دانش مورد استفاده آن‌ها، حاصل کار یک سیستم خبره می‌تواند تصمیماتی باشد که درحوزه‌ها و عرصه‌های مختلف قابل استفاده، مورد اطمینان و تاثیرگذار هستند. بسیاری بر این باورند که سیستم‌های خبره بیشترین پیشرفت را در هوش مصنوعی به وجود آورده‌اند. آن‌چه درادامه می‌خوانید نگاهی کوتاه به تعاریف و سازوکار سیستم‌های خبره و گذری بر مزایا و محدودیت‌های به کارگیری این سیستم‌ها در علوم و فنون مختلف است. طبیعتاً مباحث کاربردی‌تر و عملی‌تر درباره سیستم‌های خبره و بحث درباره نحوه توسعه و پیاده‌سازی آن‌ها، نیازمند مقالات جداگانه‌ای است که در آینده به آن‌ها خواهیم پرداخت.


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

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

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

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

به روند ساخت یک سیستم خبره، knowledge engineering یا مهندسی دانش گفته می‌شود. یک مهندس دانش باید اطمینان حاصل کند که سیستم خبره طراحی شده، تمام دانش مورد نیاز برای حل یک مسئله را دارد. طبیعتاً در غیراین‌صورت، تصمیم‌های سیستم خبره قابل اطمینان نخواهند بود.

ساختار یک سیستم خبره‌
هر سیستم خبره از دو بخش مجزا ساخته شده است: پایگاه دانش و موتور تصمیم‌گیری.
پایگاه دانش یک سیستم خبره از هر دو نوع دانش مبتنی بر حقایق ‌(factual) و نیز دانش غیرقطعی (heuristic)  استفاده می‌کند. Factual knowledge، دانش حقیقی یا قطعی نوعی از دانش است که می‌توان آن را در حیطه‌های مختلف به اشتراک گذاشت و تعمیم داد؛ چراکه درستی آن قطعی است.

در سوی دیگر، Heuristic knowledge قرار دارد که غیرقطعی‌تر و بیشتر مبتنی بر برداشت‌های شخصی است. هرچه حدس‌ها یا دانش هیورستیک یک سیستم خبره بهتر باشد، سطح خبرگی آن بیشتر خواهد بود و در شرایط ویژه، تصمیمات بهتری اتخاذ خواهد کرد.

دانش مبتنی بر ساختار Heuristic در سیستم‌های خبره اهمیت زیادی دارد این نوع دانش می‌تواند به تسریع فرآیند حل یک مسئله کمک کند.

البته یک مشکل عمده در ارتباط با به کارگیری دانشHeuristic آن است که نمی‌توان در حل همه مسائل از این نوع دانش استفاده کرد. به عنوان نمونه، نمودار (شکل 1) به خوبی نشان می‌دهد که جلوگیری از حمل سموم خطرناک از طریق خطوط هوایی با استفاده از روش Heuristic امکانپذیر نیست.
 

شکل 1

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

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

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