نوشته‌ها

مراحل ایجاد یک سیستم خبره

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

مدیریت پروژه

انتظار می رود مدیریت پروژه، موارد ذیل را تأمین نماید. در حقیقت مدیریت پروژه، خود یکی از موضوعات مورد نظر طراحات سیستمها خبره بوده است.

مدیریت فعالیتها
برنامه ریزی– تعریف فعالیتها– تعیین اولویت فعالیتها

– احتیاجات منابع

– اهداف شاخص میانی

– مدت فعالیتها

– مسئولیتها

– تعیین زمانهای شروع و پایان

– رفع مشکل زمان بندی فعالیتهایی که اولویت یکسان دارند.

– نظارت بر عملکرد پروژه

– برنامه های تحلیل، زمان بندیها و فعالیتهای ثبت شده

مدیریت پیکره بندی محصول
مدیریت محصول– مدیریت نسخه های مختلف محصول– مدیریت تغییرات پیشنهادی و انجام ارزشیابی

– تخصیص پرسنل برای انجام تغییرات

– نصب نسخه های جدید محصول

مدیریت منابع

تخمین منابع مورد نیاز

منابع در دسترس

تعیین مسئولیتها برای استفاده بهینه از منابع

تهیه و تدارک منابع بحرانی برای به حداقل رساندن گلوگاه ها

فعالیتهای لازم برای ایجاد یک سیستم خبره، آن دسته از وظایفند که برای ساخت سیستم لازمند. شکل ۲-۶ یک نگرش سطح بالا از فعالیتهای لازم برای ساخت سیستم را نشان می دهد که شامل مراحلی است که سیستم باید از آنها عبور کند.

مسئله تحویل

سیستم چگونه تحویل داده خواهد شد؟

با این که استفاده از کامپیوترهای (اندازه متوسط) مدرن بسیار آسان بوده و زمان تحویل را نیز کاهش می دهد، ولی اغلب تحویل سیستم بر روی چنین کامپیوترهیی بسیار هزینه بر است. از این گذشته، هزینه نگهداری سالانه نیز این هزینه را به طور قابل توجهی افزایش می دهد.

بسته به تعداد سیستمهای خبره ای که در صف تحویل قرار دارند، مسئله تحویل سیستمهای ساخته شده ممکن است به یک مشکل جدی بدل شود. به همین دلیل مسئله تحویل باید در اولین مرحله ایجاد سیستم مورد نظر قرار گیرد.

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

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

نگهداری و تکامل

چگونه سیستم تکامل یافته و از آن نگهداری می شود؟

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

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

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

خطاها در مراحل ایجاد

همان طور که شکل ۳-۶ نشان می دهد، خطاهای عمده ای که احتمالا در ایجاد سیستم خبره رخ می دهد. با تشخیص مرحله ای که احتمال بروز آن خطا بیشتر است دسته بندی می شود. این خطاها شامل موارد زیر هستند.

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

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

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

عیب استفاده از کمیته فنی، هزینه ای است که در ابتدا تحمیل می شود. ولی این هزینه با افزایش کارایی فرآیند ایجاد سیستم جبران می شود.

خطای معنایی. خطای معنایی زمانی رخ می دهد که مفهوم دانش به درستی منتقل نمی شود. به عنوان یک مثال بسیار ساده فرض کنید یک فرد خبره می گوید «شما می توانید آتش را با آب خاموش کنید.» و مهندس دانش این گونه تعبیر می کند که «آتش سوزیها را می توان با آب مهار کرد.» خطای معنایی زمانی روی می دهد که یا مهندس دانش تعبیر نادرستی از پاسخ فرد خبره داشته باشد و یا فرد خبره، سوال مهندس دانش را به درستی تعبیر نکند و یا هر دوی این موارد.

خطای شکلی. خطاهای شکلی و یا دستور زبانی ساد هستند و زمانی روی می دهد که قاعده یا واقعیت به شکل نادرستی وارد شود. ابزارهای سیستم خبره باید این خطاها را شناسایی کرده و پیغامی مناسب به کاربر ارائه دهند. سایر خطاهایی که در مرحله ساخت پایگاه دانش روی می دهند نتیجه خطاهای موجود در منبع دانش هستند که در مراحل قبلی آشکار نشده اند.

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

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

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

تنها انتخاب روشی برای مواجهه با عدم قطعیت نمی تواند همه مسائل مربوط به عدم قطعیت را خود به خود حل کند. به عنوان مثال، قبل از اینکه شما روش استنتاج بیزی ساده را انتخاب کنید باید بررسی نمایید که آیا تضمینی برای فرض استقلال شرطی وجود دارد یا خیر.

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

مهندسی نرم افزار و سیستمهای خبره

در قسمت قبل درباره ملاحظات کلی در بکارگیری سیستم خبره بحث کردیم. حال اجازه بدهید با یک دیدگاه فنی تر یعنی با دیدگاه مهندس دانش که سیستم را ساخته است مراحل ساخت سیستم خبر را مرور نماییم.

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

پیروی از استانداردهای مناسب برای ایجاد یک محصول از اهمیت زیادی برخوردار است در غیر این صورت احتمالا محصول کیفیت خوبی نخواهد داشت. در حال حاضر سیستمهای خبره را باید محصولی مانند سایر محصولات نرم افزاری نظیر پردازشگر لغات، برنامه پرداخت حقوق، بازیهای کامپیوتری و غیره در نظر گرفت.

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

این مأمویت های حساس و بحرانی با مأموریت ساده پردازشگر لغات و برنامه های ویدئویی یعنی افزایش کارایی و تفریح کردن تفاوت بسیار زیادی دارد. زندگی هیچ انسانی نمی تواند به سیستمهای خبره، سیستمهایی با توان عملکرد بالا هستند که باید کیفیت بسیار خوبی داشته باشند در غیر این صورت با اشکالات زیادی رو به رو خواهند شد. همان طور که در شکل ۴-۶ نشان می دهد مهندسی نرم افزار روشهایی برای ساخت نرم افزار کیفی ارائه می دهد.

تشریح کلمه کیفیت به صورت کلی دشوار است زیرا این کلمه برای افراد معانی گوناگونی دارد. یکی از تعاریف کیفیت این است که آن را به صورت مشخصه های لازم یا مطلوبیک شی تعریف کنیم که در مقیاسهای خاصی تعیین شده است. کلمه شی در اینجا به معنای هر نوع سخت افزار یا نرم افزار یا محصولات نرم افزاری است. مشخصه ها و مقادیر آنها شاخص نامیده می شوند زیرا از آنها برای اندازه گیری اشیاء استفاده می شود. به عنوان مثال، قابلیت اطمینان اندازه گیری شده یک دیسک درایو، شاخصی برای کیفیت آن است. یکی از معیارهای این مشخصه، متوسط زمان بین خرابی (MTBF) درایوهاست. MTBF یک درایو قابل اطمینان، حدود ۱۰۰۰ ساعت است، در حالی که برای یک درایو غیر قابل اطمینان ممکن است حدود ۱۰۰ ساعت باشد.

جدول ۱-۶ فهرستی از چند شاخص ارائه داده است که ممکن است در ارزیابی کیفیت یک سیستم خبره کاربرد داشته باشند. این شاخصها فقط جنبه راهنما دارند زیرا یک سیستم خبره مخصوص ممکن است برخی از این شاخصها یا شاخصهای دیگری داشته باشد. در هر حال بهتر است که فهرستی از شاخصهای لازم تهیه شود تا از آن بتوان در تشریح کیفیت استفاده کرد.

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

چرخه حیات سیستم خبره

یکی از روشهای کلیدی در مهندسی نرم افزار، چرخه حیات است. چرخه حیات نرم افزار مدت زمانی است که از لحظه ای که نرم افزار مفهوم خود را پیدا می کند شروع شده و پس از اینکه سیستم از رده خارج شد پایان می یابد. چرخه حیات علاوه بر اینکه به ایجاد و نگهداری سیستم به طور جداگانه می پردازد، نوعی پیوستگی و ارتباط بین کلیه مراحل ایجاد می کند. هر چه در چرخه حیات، برنامه ریزی برای نگهداری و ارتقاء سیستم زودتر انجام شود هزینه مراحل بعدی کاهش خواهد یافت.

هزینه های نگهداری

برای نرم افزارهای معمولی، معمولا ۶۰ تا ۸۰ درصد کل هزینه نرم افزار مربوط به هزینه نگهداری است که حدود ۲ تا ۴ برابر هزینه ایجاد سیستم است. اگر چه هنوز به دلیل جدید بودن سیستمهای خبره، اطلاعات کمی درباره نگهداری آنها در دست است ولی احتمالا برای سیستمهای خبره ارقام فوق صادق نیستند. اگر برنامه های معمولی با الگوریتم های شناخته شده نیاز به چنین هزینه زیادی جهت نگهداری دارند احتمالا سیستمهای خبره نیاز به هزینه بیشتری خواهند داشت زیرا این سیستمها مبتنی بر دانش تجربی و هیوریستیکها هستند. سیستمهای خبره ای که حجم بالایی از استنتاجها را در شرایط عدم اطمینان انجام می دهند هزینه نگهداری و ارتقاء بالاتری را می طلبند.

مدل آبشاری

برای نرم افزارهای معمولی، مدلهای چرخه حیات متعددی ایجاد شده است. مدل آبشاری کلاسیک، مدل اصلی چرخه حیات است که در شکل ۵-۶ نمایش داده شده است. این مدل برای برنامه نویسان نرم افزارهای معمولی بسیار آشنا است. در مدل آبشاری هر مرحله با یک فعالیت تصدیق و اعتبارسنجی (V&V) پایان می یابد تا مشکلات آن مرحله به حداقل برسد. همچنین دقت کنید که پیکانها فقط یک مرحله به جلو یا عقب می روند. این موضوع سبب می شود تا ایجاد دوباره سیستم بین دو مرحله مجاور، حداقل هزینه را در برداشته باشد در حالیکه ایجاد دوباره سیستم طی چند مرحله هزینه بالاتری در پی خواهد داشت.

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

۱) بعد از این کار چه کاری باید انجام شود؟

۲) مرحله بعد طی چه مدت زمانی انجام می شود؟

مدل پردازش عملا یک فوق اسلوب یا فرا روش شناسی است زیرا ترتیب و مدت زمان لازم جهت اجرای روشهای نرم افزاری را مشخص می کند. روشهای ایجاد نرم ازار (متدولوژیها) موارد زیر را نشان می دهند.

روشهای خاص برای انجام یک مرحله نظیر

برنامه ریزی

احتیاجات

کسب دانش

آزمونها

نمایش محصول هر مرحله

مستندسازی

کد نویسی

نمودارها

مدل کدنویسی و اصلاح

تاکنون مدلهای پردازش بسیاری برای ایجاد نرم افزار مورد استفاده قرار گرفته اند. اولین مدل، مدل غیر معروف کدنویسی و اصلاح است که در آن ابتدا کدنویسی صورت می گیرد و سپس در صورتی که درست عمل نکند اصلاح می شود (Boehm 88). این روشی است که برنامه نویسان کم تجربه هم برای برنامه های متداول و هم برای سیستمهای خبره در پیش می گیرند.

از سال ۱۹۷۰ نقایص روش کدنویسی و اصلاح بخوبی مشهود شده بود و لذا مدل آبشاری برای ارائه یک روش سیستماتیک پدید آمد. این روش به ویژه برای پروژه های بزرگ مفید بود. ولی روش آبشاری نیز با مشکلاتی همراه بود زیرا در این مدل فرض می شود که همه اطلاعات لازم برای یک مرحله وجود دارد. اغلب مواقع در عمل این مکان وجود ندارد که بتوان یک بخش خاص را به طور کامل نوشت مگر اینکه قبلا یک نمونه آزمایشی از سیستم ساخته شده باشد. این موضوع موجب پدیدار شدن مفهوم جدیدی شد: «آن را دوبار انجام دهید.» یعنی در ابتدا با ساخت یک نمونه، احتیاجات را مشخص کرده و سپس سیستم اصلی را بسازید.

مدل افزایشی

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

مزیت اصلی این روش آن است که «افزایش قابلیتهای عملکردی» در مدل افزایشی را بسیار راحت تر از«محصول هر مرحله» در مدل آبشاری می توان مورد آزمون، تصدیق و اعتبارسنجی قرار داد. فرد خبره می تواند به جای یک اعتبارسنجی کامل و کلی در انتهای کار، هر افزایش عملکرد را بلافاصله مورد آزمون، تصدیق و اعتبارسنجی قرار دهد. این امر هزینه تصحیحهای کلی را در سیستم کاهش می دهد. در اصل مدل افزایشی شبیه به نمونه سازی سریع و پیوسته است که کل مراحل ایجاد سیستم را در بر می گیرد. بر خلاف روش «آن را دوبار انجام دهید» که برای تعیین احتیاجات سریعا یک نمونه از مراحل اولیه می سازد، در این روش نمونه متکامل شونده بنوعی همان سیستم مورد نظر ماست.

مدل مارپیچی

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

سیستم خبره قسمت ۱
سیستم خبره قسمت ۲
سیستم خبره قسمت ۳
سیستم خبره قسمت ۴
سیستم خبره قسمت ۵
سیستم خبره قسمت ۶

گذری بر سیستم‌های خبره‌ (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) وجود دارد. چنین منطقی نمی‌تواند چندان كامل باشد؛ چراكه فهم و پروسه تصمیم‌گیری انسان‌ها در بسیاری از موارد، كاملا قطعی نیست و بسته به زمان و مكان آن، تا حدودی درست یا تا حدودی نادرست است. در خلال سال‌های ۱۹۲۰ و ۱۹۳۰، Jan Lukasiewicz فیلسوف لهستانی منطقی را مطرح كرد كه در آن ارزش یك قانون می‌تواند بیشتر از دو مقدار ۰ و ۱ یا درست و نادرست باشد. سپس پروفسور لطفی‌زاده نشان داد كه منطق Lukasiewicz را می‌توان به صورت “درجه درستی” مطرح كرد. یعنی به جای این‌كه بگوییم: “این منطق درست است یا نادرست؟” بگوییم: “این منطق چقدر درست یا چقدر نادرست است؟”
از منطق فازی در مواردی استفاده می‌شود كه با مفاهیم مبهمی چون “سنگینی”، “سرما”، “ارتفاع” و از این قبیل مواجه شویم. این پرسش را در نظر بگیرید : “وزن یك شیء ۵۰۰ كیلوگرم است، آیا این شیء سنگین است؟” چنین سوالی یك سوال مبهم محسوب می‌شود؛ چراكه این سوال مطرح می‌شود كه “از چه نظر سنگین؟” اگر برای حمل توسط یك انسان بگوییم، بله سنگین است. اگر برای حمل توسط یك اتومبیل مطرح شود، كمی سنگین است، ولی اگر برای حمل توسط یك هواپیما مطرح شود سنگین نیست.
در اینجاست كه با استفاده از منطق فازی می‌توان یك درجه درستی برای چنین پرسشی در نظر گرفت و بسته به شرایط گفت كه این شیء كمی سنگین است. یعنی در چنین مواردی گفتن این‌كه این شیء سنگین نیست
(false) یا سنگین است (true) پاسخ دقیقی نیست.
مزایا و محدودیت‌های سیستم‌های خبره 
دستاورد سیستم‌های خبره را می‌توان صرفه‌جویی در هزینه‌ها و نیز تصمیم‌گیری‌های بهتر و دقیق‌تر و بسیاری موارد تخصصی‌تر دیگر عنوان كرد. استفاده از سیستم‌های خبره برای شركت‌ها می‌تواند صرفه‌جویی به همراه داشته باشد.
در زمینه تصمیم‌گیری نیز گاهی می‌توان در شرایط پیچیده، با بهره‌گیری از چنین سیستم‌هایی تصمیم‌های بهتری اتخاذ كرد و جنبه‌های پیچیده‌ای را در مدت زمان بسیار كمی مورد بررسی قرار داد كه تحلیل آنها به روزها زمان نیاز دارد.
از سوی دیگر، به‌كارگیری سیستم‌های خبره محدودیت‌های خاصی دارد. به عنوان نمونه، این سیستم‌ها نسبت به آنچه انجام می‌دهند، هیچ <حسی> ندارند.  چنین سیستم‌هایی نمی‌توانند خبرگی خود را به گستره‌های وسیع‌تری تعمیم دهند؛ چراكه تنها برای یك منظور خاص طراحی شده‌اند و پایگاه دانش آن‌ها از دانش متخصصان آن حوزه نشات گرفته و از این‌رو محدود است.
چنین سیستم‌هایی از آنجا كه توسط دانش متخصصان تغذیه اطلاعاتی شده‌اند، در صورت بروز برخی موارد پیش‌بینی نشده، نمی‌توانند شرایط جدید را به درستی تجزیه و تحلیل نمایند.
كاربرد سیستم‌های خبره‌
از سیستم‌های خبره در بسیاری از حیطه‌ها از جمله برنامه‌ریزی‌های تجاری، سیستم‌های امنیتی، اكتشافات نفت و معادن، مهندسی ژنتیك، طراحی و ساخت اتومبیل، طراحی لنز دوربین و زمانبندی برنامه پروازهای خطوط هوایی استفاده می‌شود. دو نمونه از كاربردهای این سیستم‌ها در ادامه توضیح داده‌شده‌اند.
●‌ طراحی و زمانبندی‌
سیستم‌هایی كه در این زمینه مورد استفاده قرار می‌گیرند، چندین هدف پیچیده و تعاملی را مورد بررسی قرار می‌دهند تا جوانب كار را روشن كنند و به اهداف مورد نظر دست یابند یا بهترین گزینه را پیشنهاد دهند. بهترین مثال از این مورد، زمانبندی پروازهای خطوط هوایی، كارمندان و گیت‌های یك شركت حمل و نقل هوایی است.
‌● تصمیم‌گیری‌های مالی‌
صنعت خدمات مالی یكی از بزرگ‌ترین كاربران سیستم‌های خبره است. نرم‌افزارهای پیشنهاددهنده نوعی از سیستم‌های خبره هستند كه به عنوان مشاور بانكداران عمل می‌كنند. برای نمونه، با بررسی شرایط یك شركت متقاضی وام از یك بانك تعیین می‌كند كه آیا پرداخت این وام به شركت برای بانك مورد نظر صرفه اقتصادی دارد یا نه. همچنین شركت‌های بیمه برای بررسی میزان خطرپذیری و هزینه‌های موارد مختلف، از این سیستم‌ها استفاده می‌كنند.
چند سیستم خبره مشهور
از نخستین سیستم‌های خبره می‌توان به Dendral اشاره كرد كه در سال ۱۹۶۵ توسط Edward Feigenbaum وJoshun Lederberg پژوهشگران هوش مصنوعی در دانشگاه استنفورد ساخته شد.
وظیفه این برنامه كامپیوتری، تحلیل‌های شیمیایی بود. ماده مورد آزمایش می‌توانست تركیبی پیچیده از كربن، هیدروژن و نیتروژن باشد. Dendarl می‌توانست با بررسی آرایش و اطلاعات مربوط به یك ماده، ساختار مولكولی آن را شبیه‌سازی كند. كاركرد این نرم‌افزار چنان خوب بود كه می‌توانست با یك متخصص رقابت كند.
از دیگر سیستم‌های خبره مشهور می‌توان به MYCIN اشاره كرد كه در سال ۱۹۷۲ در استنفورد طراحی شد. MYCIN برنامه‌ای بود كه كار آن تشخیص عفونت‌های خونی با بررسی اطلاعات به دست آمده از شرایط جسمی بیمار و نیز نتیجه آزمایش‌های او بود.
برنامه به گونه‌ای طراحی شده بود كه در صورت نیاز به اطلاعات بیشتر، با پرسش‌هایی آن‌ها را درخواست می‌كرد تا تصمیم‌گیری بهتری انجام دهد؛ پرسش‌هایی چون “آیا بیمار اخیرا دچار سوختگی شده است؟” (برای تشخیص این‌كه آیا عفونت خونی از سوختگی نشات گرفته یا نه. MYCIN ( گاه می‌توانست نتایج آزمایش را نیز از پیش حدس بزند.
سیستم خبره دیگر در این زمینه Centaur بود كه كار آن بررسی آزمایش‌های تنفسی و تشخیص بیماری‌های ریوی بود. یكی از پیشروان توسعه و كاربرد سیستم‌های خبره، سازمان‌های فضایی هستند كه برای مشاوره و نیز بررسی شرایط پیچیده و صرفه‌جویی در زمان و هزینه چنین تحلیل‌هایی به این سیستم‌ها روی آورده‌اند.
Marshall Space Flight Center) MSFC) یكی از مراكز وابسته به سازمان فضایی ناسا از سال ۱۹۹۴ در زمینه توسعه نرم‌افزارهای هوشمند كار می‌كند كه هدف آن تخمین كمّ و كیف تجهیزات و لوازم مورد نیاز برای حمل به فضا است.
این برنامه‌های كامپیوتری با پیشنهاد راهكارهایی در این زمینه از بار كاری كارمندان بخش‌هایی چون ISS (ایستگاه فضایی بین المللی)  می‌كاهند و به گونه‌ای طراحی شده‌اند كه مدیریت‌پذیرند و بسته به شرایط مختلف، قابل تعریف هستند.
مركز فضایی MSFC، توسط فناوری ویژه خود موسوم به ۲G به ایجاد برنامه‌های ویژه كنترل هوشمندانه و سیستم‌های مانیتورینگ خطایاب می‌پردازد. این فناوری را می‌توان هم در سیستم‌های لینوكسی و هم در سیستم‌های سرور مبتنی بر ویندوز مورد استفاده قرار داد.
آنچه در نهایت می‌توان گفت آن است كه یكی از مزیت‌های سیستم‌های خبره این است كه می‌توانند در كنار متخصصان انسانی مورد استفاده قرار بگیرند كه ماحصل آن تصمیمی مبتنی بر تخصص انسانی و دقت ماشینی است. این فناوری از دید تجاری نیز برای توسعه‌دهندگان آن سودآور است.
هم‌اكنون شركت‌های بسیاری به فروش سیستم‌های خبره و پشتیبانی از مشتریان محصولات خود می‌پردازند. درآمد یك شركت كوچك فعال در زمینه فروش چنین محصولاتی می‌تواند سالانه بالغ بر پنج تا بیست میلیون دلار باشد. بازار فروش و پشتیبانی سیستم‌های خبره در سراسر جهان نیز سالانه به صدها میلیون دلار می‌رسد.

خبرگی

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

سیستم‌های خبره

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

نکته

سیستم‌های خبره برا حل مسائلی بکار می‌روند که:۱٫ الگوریتم خاصی برا حل آن مسائل وجود ندارند.

۲٫ دانش صریح برای حل آن مسائل وجود دارد.

بنابراین اگر سیستمی با استفاده از روش‌های علم آماراقدام به پیش‌بینی دمای‌هوای فردا کند، در حوزه سیستم‌های خبره قرار نمی‌‌گیرد.اما اگر سیستمی بااستفاده از این قاعده که«در این فصل سال دمای‌هوا معمولا ثابت می‌باشد» و این واقعیت که «دمای امروز ۲۵ درجه سانتی گراد می‌باشد» به این نتیجه دست یابد که «دمای فردا ۲۵ درجه خواهد بود» در حوزه سیستم‌های خبره قرا خواهد گرفت.

از سیستم خبره نباید انتظار داشت که نتیجه بهتر از نتیجه یک خبره را بیابد. سیستم خبره تنها می‌تواند همسطح یک خبره اقدام به نتیجه‌گیری نماید. سیستم‌های خبره همیشه به جواب نمی‌رسند.

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

بیان خبرگی در قالب دانش یا بازنمایی دانش

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

اجزای اصلی سیستم خبره

یک سیستم خبره دارای اجزای زیر می‌باشد:

پایگاه دانش

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

به کسی که دانش خبره را کد کرده و وارد پایگاه دانش می‌کند مهندس دانش (Knowledge engineer) گفته می‌شود.

بطور کلی دانش به صورت عبارات شرطی و قواعد در پایگاه دانش ذخیره می‌گردد.«اگر چراغ قرمز است آنگاه متوقف شو»

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

موتور استنتاج

یعنی از دانش موجود استفاده و دانش را برای حل مسئله به هم ربط دهیم.

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

حافظه کاری

حافظه‌ای برای ذخیره پاسخ سوال‌های مربوط به سیستم می‌باشد.

امکانات کسب دانش

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

امکانات توضیح

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

اگر د ارتباط با سیستم سوال و جوابهایی مطرح شود و سیستم به ما یک سری راهکار پیشنهاد کند و توضیحی در زمینه اینکه چرا چنین سوالی پرسیده می‌شود؟(Why) و چگونه به این نتیجه رسیده‌ایم؟(How) را در ناحیه‌ای ذخیره نماییم، امکانات توضیح را تشکیل می‌دهد.

بخش ارتباط با کاربر

مربوط به بخشی است که بطور مستقیم با کاربر در ارتباط است.

کاربردهای سیستم های خبره

۱- جایگزینی برای فرد خبره(سیستم اینترنتی در زمینه مشاور محصولات یک شرکت)

  • تداوم کار در صورت عدم دسترسی به فرد خبره
  • کاهش هزینه
  • احساساتی نبودن سیستم و خستگی ناپذیری آن

۲- کمک و دستیار( برنامه‌های MS Project یا Autocad یا Pspicee برنامه‌هایی هستند که دانشی برای انجام عملیاتی برای کمک به افرادی خاص را دارند)

سیستم خبره قسمت ۱
سیستم خبره قسمت ۲
سیستم خبره قسمت ۳
سیستم خبره قسمت ۴
سیستم خبره قسمت ۵
سیستم خبره قسمت ۶

سیستم خبره

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

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

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

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

پیشگفتار

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

تاریخچه

تا ابتدای دههٔ ۱۹۸۰ (م) کار چندانی در زمینهٔ ساخت و ایجاد سیستم های خِبره توسط پژوهش گران هوش مصنوعی صورت نگرفته بود. از آن زمان به بعد، کارهای زیادی در این راستا و در دو حوزهٔ متفاوت ولی مرتبط سیستم های کوچک خبره و نیز سیستم های بزرگ خبره انجام شده است.

در دهه ۱۹۷۰، ادوارد فیگن بام در دانشگاه استانفورد به دنبال کشف روش حل مسئله ای بود که خیلی کلی و همه منظوره نباشد. پژوهشگران دریافتند که یک متخصص معمولاً دارای شماری رموز و فوت و فن خاص برای کار خود می‌باشد و در واقع از مجموعه‌ای از شگردهای سودمند و قواعد سرانگشتی در کار خود بهره می‌برد، این یافته مقدمه پیدایش سیستم خبره بود. سیستم خبره با برگرفتن این قواعد سر انگشتی از متخصصین و به تعبیری با تبدیل فرایند استدلال و تصمیم‌گیری متخصصین به برنامه‌های رایانه‌ای می‌تواند به عنوان ابزار راهنمای تصمیم‌گیری در اختیار غیرمتخصص و حتی متخصصین کم تجربه قرار گیرد.

هوش مصنوعی: هوش مصنوعی روشی است در جهت هوشمند کردن رایانه تا قادر باشد در هر لحظه تصمیم‌گیری کرده و اقدام به بررسی یک مسئله نماید. هوش مصنوعی، رایانه را قادر به اندیشیدن می‌کند و روش آموختن انسان را رونوشت برداری می‌نماید؛ بنابراین اقدام به جذب اطلاعات جدید جهت بکارگیری در مراحل بعدی می‌پردازد.

مغز انسان به بخش‌هایی تقسیم شده است که هر بخش وظیفه خاص خود را جدا از بقیه انجام می‌دهد. آشفتگی در کار یک بخش تأثیری در دیگر بخشهای مغز نخواهد گذاشت. در برنامه‌های هوش مصنوعی نیز این مسئله رعایت می‌شود درحالی که در برنامه‌های غیر هوش مصنوعی مثل C یا Pascal تغییر در برنامه روی سایر قسمت‌های برنامه و اطلاعات تأثیر دارد.

مباحث کاربردی و مهم در تحقق یک سیستم هوش مصنوعی:

حوزه‌های کاربرد

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

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

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

کاربرد سیستم های خبره در خدمات کتابداری و اطلاع‌رسانی

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

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

کاربرد سیستم های خبره در حسابداری و امور مالی

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

کاربردهای مختلفی از سیستم های خبره در سه زمینه حسابداری، حسابداری مدیریت و امور مالیاتی به شرح ذیل می‌باشد:

    • حسابرسی :ارزیابی ریسک – تهیه برنامه حسابرسی – فراهم آوردن کمکهای فنی – کشف تقلبات و جلوگیری از آنها
    • حسابداری مدیریت :قیمت گذاری محصولات و خدمات – تعیین بهای تمام شده – طراحی سیستمهای حسابداری – بودجه بندی سرمایه‌ای – انتخاب روش حسابداری – ارزیابی اعتبار – ایجاد و برقراری واپاشی (کنترل)
    • امور مالیاتی : توصیه‌های مالیاتی – محاسبه مابه التفاوتهای مالیاتی – برنامه‌ریزی مالی شخصی.

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

انواع سیستم های خبره تحلیل مالی

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

این سه قلمرو عبارتند از:

    1. کمک به کسب بینش یا بینش آفرین Insight facilitaing
    2. آسان سازی تصمیم‌گیری Decision facilitating
    3. تصمیم سازی Decision Making

سیستم های خبره بینش آفرین

در این نوع سیستم ها، هدف اصلی ارائه پردازش‌های مربوط به کمک واکاوی نسبتها و نمودار هاست این نسبت‌ها و نمودارها برای دست اندرکاران تحلیل مالی در ایجاد بینش دقیق تری در مورد وضع مالی و چشم‌انداز آتی یک مؤسسه، یعنی سودمند است با چنین هدفی عملاً مراحل اول و دوم از فرایند چهار مرحله‌ای تصمیم‌گیری به کمک این سیستم ها انجام می‌شود این نرم‌افزارها را به این دلیل بینش آفرین می‌خوانیم که هدفشان کمک به کارگزاران و دست اندرکاران مالی برای انجام یک مشاهده بینش آفرین مشخص است بنابر این درجه از کارآزمودگی و تخصص موجود در زمره سیستم های خبره واقعی به حساب آورده نمونه‌هایی از این قبیل نرم‌افزارها عبارتند از: INsiGht و NEWVIEWS که هر دو عملاً سیستم های جامع حسابداری مشتمل بر تحلیلهای مالی اند یعنی در عین اینکه همه عملیات حسابداری را انجام می‌دهند. در محیطهای شبیه صفحه گسترده تحلیلهای مالی خود را نیز عرضه می‌کنند نرم‌افزار شناخته شده دیگر REFLEX نام دارد که ۱۲ نسبت کلیدی را محاسبه کرده و تحلیل و تفسیرهای پیشنهادی خود را نیز ارائه می‌کند این تحلیلها همراه با ارائه نسبت‌ها، روندها و نمودارهای مناسب است.

سیستم های خبره آسان کننده تصمیم‌گیری

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

سیستم های خبره

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

— متخصص: آیا میوه سبز است؟

— استفاده کننده: خیر.

— متخصص: آیا میوه قرمز است؟

— استفاده کننده: بله.

— متخصص: آیا این میوه روی درخت رشد می‌کند؟

— استفاده کننده: خیر.

— متخصص: آیا این میوه روی یک بوته رشد می‌کند؟

— استفاده کننده: بله.

— متخصص: آیا این بوته تیغ دارد؟

— استفاده کننده: بله.

— متخصص: این میوه تمشک است!

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

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

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

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

تفاوت سیستم های خبره با سایر سیستم های اطلاعاتی

سیستم های خبره برخلاف سیستم های اطلاعاتی که بر روی داده‌ها(Data) عمل می‌کنند، بر دانش (Knowledge) متمرکز شده است. همچنین دریک فرایند نتیجه‌گیری، قادر به استفاده از انواع مختلف داده‌ها عددی(Digital)، نمادی Symbolic و مقایسه‌ای (Analog) می‌باشند. یکی دیگر از مشخصات این سیستم‌ها استفاده از روشهای ابتکاری (Heuristic) به جای روشهای الگوریتمی می‌باشد. این توانایی باعث قرار گرفتن دامنهٔ گسترده‌ای از کاربردها در برد عملیاتی سیستم های خبره می‌شود. فرایند نتیجه‌گیری در سیستم های خبره بر روشهای استقرایی و قیاسی پایه‌گذاری شده است. از طرف دیگر این سیستم ها می‌توانند دلایل خود در رسیدن به یک نتیجه‌گیری خاص یا جهت و مسیر حرکت خود به سوی هدف را شرح دهند. با توجه به توانایی این سیستم‌ها در کار در شرایط فقدان اطلاعات کامل یا درجات مختلف اطمینان در پاسخ به پرسشهای مطرح‌شده، سیستم های خبره نماد مناسبی برای کار در شرایط عدم اطمینان(Uncertainty) یا محیطهای چند وجهی می‌باشند.

سیستم خبره قسمت ۱
سیستم خبره قسمت ۲
سیستم خبره قسمت ۳
سیستم خبره قسمت ۴
سیستم خبره قسمت ۵
سیستم خبره قسمت ۶