سیستم خبره

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
فارسیEnglish
نمونه‌ای از یک کامپیوتر لیسپ با کیبورد اسپیس کادت

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

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

پیشگفتار[ویرایش]

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

مدل سیستم خبره[ویرایش]

یک مدل سیستم خبره مشتمل بر چهار بخش اصلی است:

    1. پایگاه دانش (Knowledge Base)
    2. موتور استنتاج (Inference Engine)
    3. امکانات توضیح (Explanation Facilities)
    4. رابط کاربر (User Interface)

پایگاه دانش (Knowledge Base)[ویرایش]

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

-- شیء (Object): منظور از شیء در اینجا نتیجه‌ای است که با توجه به قوانین مربوط به آن تعریف می‌گردد.
-- شاخص (Attribute): منظور از شاخص یا «صفت» یک کیفیت ویژه است که با توجه به قوانینی که برای آن در نظر گرفته شده است به شما در تعریف شیء یاری می‌دهد.

بنابراین می‌توان پایگاه دانش را به صورت لیستی از اشیاء که در آن قوانین و شاخص‌های مربوط به هر شیء نیز ذکر شده است در نظر گرفته شود.
در ساده‌ترین حالت (که در اکثر کاربردها نیز همین حالت بکار می‌رود) قانونی که به یک شاخص اعمال می‌شود این مطلب را بیان می‌کند که آیا شیء مورد نظر شاخص دارد یا ندارد؟
یک سیستم متخصص که انواع مختلف میوه را شناسایی می‌کند احتمالاً دارای بانک اطلاعاتی به صورت زیر خواهد بود:

شیء قانون شاخص
سیب دارد روی درخت رشد می‌کند.
دارد گرد است
دارد رنگ قرمز یا زرد است
ندارد در کویر رشد می‌کند

بانک ساده شده بالا، تنها با استفاده از قانون <<دارد>>:

شیء شاخص‌هایی که دارد
سیب رشد روی درخت
سیب گرد بودن
سیب رنگ قرمز یا زرد
سیب رشد نکردن در کویر

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

فریمها(Minsky(1975، و پس از آن هستان شناسی‌ها از روشهای مدرن جهت ارائه دانش در سیستم‌های خبره‌اند[۳].

موتور استنتاج (Inference Engine)[ویرایش]

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

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

امکانات توضیح (Explanation Facilities)[ویرایش]

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

رابط کاربر[ویرایش]

منظور از رابط کاربر، مجموعه‌ای از تجهیزات و نرم‌افزارها است که به صورت کانال ارتباط کاربر و سیستم خبره عمل می‌کند یعنی به کاربر امکان ارایه اطلاعات مربوط به مسئله مورد نظر را به سیستم می‌دهد و از طرف دیگر استنتاجات سیستم را در اختیار کاربر می‌گذارد.

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

مزایای یک سیستم خبره چیست؟[ویرایش]

میزان مطلوب بودن یک سیستم خبره اصولاً به میزان قابلیت دسترسی به آن و میزان سهولت کار با آن بستگی دارد.

مزایای سیستم‌های خبره را می‌توان به صورت زیر دسته‌بندی کرد:

    • افزایش قابلیت دسترسی: تجربیات بسیاری از طریق کامپیوتر دراختیار قرار می‌گیرد و به طور ساده‌تر می‌توان گفت یک سیستم خبره، تولید انبوه تجربیات است.
    • کاهش هزینه:تجربیات بسیاری از طریق کامپیوتر دراختیار قرار می‌گیرد و به طور ساده‌تر می‌توان گفت یک سیستم خبره، تولید انبوه تجربیات است
    • کاهش خطر: سیستم خبره می‌تواند در محیط‌هایی که ممکن است برای انسان سخت و خطرناک باشد نیز بکار رود.
    • دائمی بودن: سیستم‌های خبره دائمی و پایدار هستند. به عبارتی مانند انسان‌ها نمی‌میرند و فنا ناپذیرند.
    • تجربیات چندگانه: یک سیستم خبره می‌تواند مجموع تجربیات و آگاهی‌های چندین فرد خبره باشد.
    • افزایش قابلیت اطمینان: سیستم‌های خبره هیچ وقت خسته و بیمار نمی‌شوند، اعتصاب نمی‌کنند یا علیه مدیرشان توطئه نمی‌کنند، درصورتی که اغلب در افراد خبره چنین حالاتی پدید می‌آید.
    • قدرت تبیین (Explanation): یک سیستم خبره می‌تواند مسیر و مراحل استدلالی منتهی شده به نتیجه‌گیری را تشریح نماید. اما افراد خبره اغلب اوقات به دلایل مختلف (خستگی، عدم تمایل و…) نمی‌توانند این عمل را در زمان‌های تصمیم‌گیری انجام دهند. این قابلیت، اطمینان شما را در مورد صحیح بودن تصمیم‌گیری افزایش می‌دهد.
    • پاسخ‌دهی سریع:سیستم‌های خبره، سریع و دراسرع وقت جواب می‌دهند.
    • پاسخ‌دهی در همه حالات: در مواقع اضطراری و مورد نیاز، ممکن است یک فرد خبره به خاطر فشار روحی یا عوامل دیگر، صحیح تصمیم‌گیری نکند ولی سیستم خبره این معایب را ندارد.
    • پایگاه تجربه: سیستم خبره می‌تواند همانند یک پایگاه تجربه عمل کند و انبوهی از تجربیات را در دسترس قرار دهد.
    • آموزش کاربر(Intelligent Tutor): سیستم خبره می‌تواند همانند یک خودآموز هوش عمل کند. بدین صورت که مثال‌هایی را به سیستم خبره می‌دهند و روش استدلال سیستم را از آن می‌خواهند.
    • سهولت انتقال دانش: یکی از مهمترین مزایای سیستم خبره، سهولت انتقال آن به مکان‌های جغرافیایی گوناگون است. این امر برای توسعه کشورهایی که استطاعت خرید دانش متخصصان را ندارند، مهم‌است.

مثال‌هایی از سیستم‌های خبره تجاری:

    • MYCIN : اولین سیستم متخصص موفق جهان بود که در سال ۱۹۷۰ در دانشگاه استنفورد طراحی شد. هدف از ساخت این سیستم کمک به پزشکان در تشخیص بیماری‌های ناشی از باکتری بود. مشکل عمده در تشخیص بیماری برای یک پزشک آن است که تشخیص سریع و قاطع یک بیماری با توجه به تعداد بسیار زیاد بیماری موجود، عملی دشوار است.MYCIN با تشخیص دادن قاطع بیماری‌ها توانست که این نیاز را برآورده سازد.
    • PROSPECTOR: یک متخصص در امر زمین‌شناسی است که احتمال وجود رسوبات معدنی در یک ناحیه بخصوص را پیش بینی می‌کند. این سیستم در سال ۱۹۸۷ توسط «ریچارد دودا» و «پیتر هارد» و «رنه ربو» ساخته شد.

در اوایل دهه ۸۰ سیستم‌های متخصص به بازار عرضه شد که می‌توانستند مشورت‌های مالیاتی، توصیه‌های بیمه‌ای یا قانونی را به استفاده کنندگان خود ارائه دهند.

مشخصه‌های سیستم خبره[ویرایش]

    1. جداسازی دانش از کنترل – یک سطح پایین‌تر این مبحث، در پایگاه داده قابل مشاهده است. در پایگاه داده سعی بر این است که داده‌ها از رویه‌های پیاده‌سازی شونده روی داده‌ها، مجزا باشند. مزیت این جداسازی این است که تعمیم یافتگی در سیستم، افزایش می‌یابد.
    2. برخورداری از دانش خبره و تخصصی
    3. تمرکز بر روی تخصص‌های خاص و ویژه
    4. استدلال با نمادها
    5. استدلال هیوریستیک و تجربی – استدلالی که بر اثر تجربه به دست می‌آید.
    6. قابلیت استدلال نادقیق – یعنی با قوانین احتمالی هم استدلال نماید. سیستم خبره باید بتواند در محیط‌هایی که اطلاعات نادقیق است(کامل نیست) استدلال کند. این استدلال می‌تواند اشتباه باشد چون اطلاعات کامل نیست. مثلاً پزشکی را در نظر بگیرید که تجربه داردو تازه‌کار هم نیست، ولی زمانی که وضعیت بحرانی پیش می‌آید بااید بتواند با اطلاعات کم، بهترین تصمیم را بگیرد.
    7. محدودیت نسبت به مسائل قابل حل – تنها مسائل قابل حل، توسط سیستم‌های خبره، قابل پیاده‌سازی باشد. تا مسئله‌ای حل نشده باشد، سیستم خبره نمی‌تواند به آن پاسخ دهد. باید یک فرد خبره‌ای باشد که اطلاعات از او گرفته شده و در سیستم قرار داده شود.
    8. مناسب بودن سیستم خبره از نظر پیچیدگی – مسائل سیستم خبره نباید خیلی سخت و نه خیلی راحت باشد.
    9. احتمال اشتباه – ممکن است سیستم خبره در تعیین راه‌حل دچار مشکل شود.

پانوشته‌ها[ویرایش]

  1. Facts
  2. Rules
  3. QasemiZadeh, B. An Introduction to Expert System and Frame-Based Knowledge Representation Systems. Iran University of Science and Technology, Computer Engineering Department, 2005, Technical Report.

پیوند به بیرون[ویرایش]

منابع[ویرایش]

مشارکت‌کنندگان ویکی‌پدیا. «Expert system». در دانشنامهٔ ویکی‌پدیای انگلیسی.

جستارهای وابسته[ویرایش]

A Symbolics Lisp Machine: an early platform for expert systems.

In artificial intelligence, an expert system is a computer system that emulates the decision-making ability of a human expert.[1] Expert systems are designed to solve complex problems by reasoning about knowledge, represented mainly as if–then rules rather than through conventional procedural code.[2] The first expert systems were created in the 1970s and then proliferated in the 1980s.[3] Expert systems were among the first truly successful forms of artificial intelligence (AI) software.[4][5][6][7][8]

An expert system is divided into two subsystems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging abilities.[9]

History

Expert systems were introduced by the Stanford Heuristic Programming Project led by Edward Feigenbaum, who is sometimes termed the "father of expert systems"; other key early contributors were Jairus Lainibo, Bruce Buchanan, and Randall Davis. The Stanford researchers tried to identify domains where expertise was highly valued and complex, such as diagnosing infectious diseases (Mycin) and identifying unknown organic molecules (Dendral). Although that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use"[10] – as Feigenbaum said – seems in retrospect a rather straightforward insight, it was a significant step forward then, since until then, research had been focused on attempts to develop very general-purpose problem solvers, such as those described by Allen Newell and Herb Simon.[11] Expert systems became some of the first truly successful forms of artificial intelligence (AI) software.[4][5][6][7][8]

Research on expert systems was also active in France. While in the US the focus tended to be on rule-based systems, first on systems hard coded on top of LISP programming environments and then on expert system shells developed by vendors such as Intellicorp, in France research focused more on systems developed in Prolog. The advantage of expert system shells was that they were somewhat easier for nonprogrammers to use. The advantage of Prolog environments was that they weren't focused only on if-then rules; Prolog environments provided a much fuller realization of a complete First Order Logic environment.[12][13]

In the 1980s, expert systems proliferated. Universities offered expert system courses and two thirds of the Fortune 500 companies applied the technology in daily business activities.[3][14] Interest was international with the Fifth Generation Computer Systems project in Japan and increased research funding in Europe.

In 1981, the first IBM PC, with the PC DOS operating system, was introduced. The imbalance between the high affordability of the relatively powerful chips in the PC, compared to the much more expensive cost of processing power in the mainframes that dominated the corporate IT world at the time, created a new type of architecture for corporate computing, termed the client-server model.[15] Calculations and reasoning could be performed at a fraction of the price of a mainframe using a PC. This model also enabled business units to bypass corporate IT departments and directly build their own applications. As a result, client server had a tremendous impact on the expert systems market. Expert systems were already outliers in much of the business world, requiring new skills that many IT departments did not have and were not eager to develop. They were a natural fit for new PC-based shells that promised to put application development into the hands of end users and experts. Until then, the main development environment for expert systems had been high end Lisp machines from Xerox, Symbolics, and Texas Instruments. With the rise of the PC and client server computing, vendors such as Intellicorp and Inference Corporation shifted their priorities to developing PC based tools. Also, new vendors, often financed by venture capital (such as Aion Corporation, Neuron Data, Exsys, and many others[16][17]), started appearing regularly.

The first expert system to be used in a design capacity for a large-scale product was the SID (Synthesis of Integral Design) software program, developed in 1982. Written in LISP, SID generated 93% of the VAX 9000 CPU logic gates.[18] Input to the software was a set of rules created by several expert logic designers. SID expanded the rules and generated software logic synthesis routines many times the size of the rules themselves. Surprisingly, the combination of these rules resulted in an overall design that exceeded the capabilities of the experts themselves, and in many cases out-performed the human counterparts. While some rules contradicted others, top-level control parameters for speed and area provided the tie-breaker. The program was highly controversial, but used nevertheless due to project budget constraints. It was terminated by logic designers after the VAX 9000 project completion.

In the 1990s and beyond, the term expert system and the idea of a standalone AI system mostly dropped from the IT lexicon. There are two interpretations of this. One is that "expert systems failed": the IT world moved on because expert systems didn't deliver on their over hyped promise.[19][20] The other is the mirror opposite, that expert systems were simply victims of their success: as IT professionals grasped concepts such as rule engines, such tools migrated from being standalone tools for developing special purpose expert systems, to being one of many standard tools.[21] Many of the leading major business application suite vendors (such as SAP, Siebel, and Oracle) integrated expert system abilities into their suite of products as a way of specifying business logic – rule engines are no longer simply for defining the rules an expert would use but for any type of complex, volatile, and critical business logic; they often go hand in hand with business process automation and integration environments.[22][23][24]

Software architecture

An expert system is an example of a knowledge-based system. Expert systems were the first commercial systems to use a knowledge-based architecture. A knowledge-based system is essentially composed of two sub-systems: the knowledge base and the inference engine.[25]

The knowledge base represents facts about the world. In early expert systems such as Mycin and Dendral, these facts were represented mainly as flat assertions about variables. In later expert systems developed with commercial shells, the knowledge base took on more structure and used concepts from object-oriented programming. The world was represented as classes, subclasses, and instances and assertions were replaced by values of object instances. The rules worked by querying and asserting values of the objects.

The inference engine is an automated reasoning system that evaluates the current state of the knowledge-base, applies relevant rules, and then asserts new knowledge into the knowledge base. The inference engine may also include abilities for explanation, so that it can explain to a user the chain of reasoning used to arrive at a particular conclusion by tracing back over the firing of rules that resulted in the assertion.[26]

There are mainly two modes for an inference engine: forward chaining and backward chaining. The different approaches are dictated by whether the inference engine is being driven by the antecedent (left hand side) or the consequent (right hand side) of the rule. In forward chaining an antecedent fires and asserts the consequent. For example, consider the following rule:

A simple example of forward chaining would be to assert Man(Socrates) to the system and then trigger the inference engine. It would match R1 and assert Mortal(Socrates) into the knowledge base.

Backward chaining is a bit less straight forward. In backward chaining the system looks at possible conclusions and works backward to see if they might be true. So if the system was trying to determine if Mortal(Socrates) is true it would find R1 and query the knowledge base to see if Man(Socrates) is true. One of the early innovations of expert systems shells was to integrate inference engines with a user interface. This could be especially powerful with backward chaining. If the system needs to know a particular fact but doesn't it can simply generate an input screen and ask the user if the information is known. So in this example, it could use R1 to ask the user if Socrates was a Man and then use that new information accordingly.

The use of rules to explicitly represent knowledge also enabled explanation abilities. In the simple example above if the system had used R1 to assert that Socrates was Mortal and a user wished to understand why Socrates was mortal they could query the system and the system would look back at the rules which fired to cause the assertion and present those rules to the user as an explanation. In English if the user asked "Why is Socrates Mortal?" the system would reply "Because all men are mortal and Socrates is a man". A significant area for research was the generation of explanations from the knowledge base in natural English rather than simply by showing the more formal but less intuitive rules.[27]

As expert systems evolved, many new techniques were incorporated into various types of inference engines.[28] Some of the most important of these were:

  • Truth maintenance. These systems record the dependencies in a knowledge-base so that when facts are altered, dependent knowledge can be altered accordingly. For example, if the system learns that Socrates is no longer known to be a man it will revoke the assertion that Socrates is mortal.
  • Hypothetical reasoning. In this, the knowledge base can be divided up into many possible views, a.k.a. worlds. This allows the inference engine to explore multiple possibilities in parallel. For example, the system may want to explore the consequences of both assertions, what will be true if Socrates is a Man and what will be true if he is not?
  • Fuzzy logic. One of the first extensions of simply using rules to represent knowledge was also to associate a probability with each rule. So, not to assert that Socrates is mortal, but to assert Socrates may be mortal with some probability value. Simple probabilities were extended in some systems with sophisticated mechanisms for uncertain reasoning and combination of probabilities.
  • Ontology classification. With the addition of object classes to the knowledge base, a new type of reasoning was possible. Along with reasoning simply about object values, the system could also reason about object structures. In this simple example, Man can represent an object class and R1 can be redefined as a rule that defines the class of all men. These types of special purpose inference engines are termed classifiers. Although they were not highly used in expert systems, classifiers are very powerful for unstructured volatile domains, and are a key technology for the Internet and the emerging Semantic Web.[29][30]

Advantages

The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit.[31] In a traditional computer program the logic is embedded in code that can typically only be reviewed by an IT specialist. With an expert system the goal was to specify the rules in a format that was intuitive and easily understood, reviewed, and even edited by domain experts rather than IT experts. The benefits of this explicit knowledge representation were rapid development and ease of maintenance.

Ease of maintenance is the most obvious benefit. This was achieved in two ways. First, by removing the need to write conventional code, many of the normal problems that can be caused by even small changes to a system could be avoided with expert systems. Essentially, the logical flow of the program (at least at the highest level) was simply a given for the system, simply invoke the inference engine. This also was a reason for the second benefit: rapid prototyping. With an expert system shell it was possible to enter a few rules and have a prototype developed in days rather than the months or year typically associated with complex IT projects.

A claim for expert system shells that was often made was that they removed the need for trained programmers and that experts could develop systems themselves. In reality, this was seldom if ever true. While the rules for an expert system were more comprehensible than typical computer code, they still had a formal syntax where a misplaced comma or other character could cause havoc as with any other computer language. Also, as expert systems moved from prototypes in the lab to deployment in the business world, issues of integration and maintenance became far more critical. Inevitably demands to integrate with, and take advantage of, large legacy databases and systems arose. To accomplish this, integration required the same skills as any other type of system.[32]

Disadvantages

The most common disadvantage cited for expert systems in the academic literature is the knowledge acquisition problem. Obtaining the time of domain experts for any software application is always difficult, but for expert systems it was especially difficult because the experts were by definition highly valued and in constant demand by the organization. As a result of this problem, a great deal of research in the later years of expert systems was focused on tools for knowledge acquisition, to help automate the process of designing, debugging, and maintaining rules defined by experts. However, when looking at the life-cycle of expert systems in actual use, other problems – essentially the same problems as those of any other large system – seem at least as critical as knowledge acquisition: integration, access to large databases, and performance.[33][34]

Performance was especially problematic because early expert systems were built using tools such as Lisp, which executed interpreted (rather than compiled) code. Interpreting provided an extremely powerful development environment but with the drawback that it was virtually impossible to match the efficiency of the fastest compiled languages, such as C. System and database integration were difficult for early expert systems because the tools were mostly in languages and platforms that were neither familiar to nor welcome in most corporate IT environments – programming languages such as Lisp and Prolog, and hardware platforms such as Lisp machines and personal computers. As a result, much effort in the later stages of expert system tool development was focused on integrating with legacy environments such as COBOL and large database systems, and on porting to more standard platforms. These issues were resolved mainly by the client-server paradigm shift, as PCs were gradually accepted in the IT environment as a legitimate platform for serious business system development and as affordable minicomputer servers provided the processing power needed for AI applications.[32]

Applications

Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. The example applications were not in the original Hayes-Roth table, and some of them arose well afterward. Any application that is not footnoted is described in the Hayes-Roth book.[26] Also, while these categories provide an intuitive framework to describe the space of expert systems applications, they are not rigid categories, and in some cases an application may show traits of more than one category.

Category Problem addressed Examples
Interpretation Inferring situation descriptions from sensor data Hearsay (speech recognition), PROSPECTOR
Prediction Inferring likely consequences of given situations Preterm Birth Risk Assessment[35]
Diagnosis Inferring system malfunctions from observables CADUCEUS, MYCIN, PUFF, Mistral,[36] Eydenet,[37] Kaleidos[38]
Design Configuring objects under constraints Dendral, Mortgage Loan Advisor, R1 (DEC VAX Configuration), SID (DEC VAX 9000 CPU)
Planning Designing actions Mission Planning for Autonomous Underwater Vehicle[39]
Monitoring Comparing observations to plan vulnerabilities REACTOR[40]
Debugging Providing incremental solutions for complex problems SAINT, MATHLAB, MACSYMA
Repair Executing a plan to administer a prescribed remedy Toxic Spill Crisis Management
Instruction Diagnosing, assessing, and repairing student behavior SMH.PAL,[41] Intelligent Clinical Training,[42] STEAMER[43]
Control Interpreting, predicting, repairing, and monitoring system behaviors Real Time Process Control,[44] Space Shuttle Mission Control[45]

Hearsay was an early attempt at solving voice recognition through an expert systems approach. For the most part this category or expert systems was not all that successful. Hearsay and all interpretation systems are essentially pattern recognition systems—looking for patterns in noisy data. In the case of Hearsay recognizing phonemes in an audio stream. Other early examples were analyzing sonar data to detect Russian submarines. These kinds of systems proved much more amenable to a neural network AI solution than a rule-based approach.

CADUCEUS and MYCIN were medical diagnosis systems. The user describes their symptoms to the computer as they would to a doctor and the computer returns a medical diagnosis.

Dendral was a tool to study hypothesis formation in the identification of organic molecules. The general problem it solved—designing a solution given a set of constraints—was one of the most successful areas for early expert systems applied to business domains such as salespeople configuring Digital Equipment Corporation (DEC) VAX computers and mortgage loan application development.

SMH.PAL is an expert system for the assessment of students with multiple disabilities.[41]

Mistral [36] is an expert system to monitor dam safety, developed in the 90's by Ismes (Italy). It gets data from an automatic monitoring system and performs a diagnosis of the state of the dam. Its first copy, installed in 1992 on the Ridracoli Dam (Italy), is still operational 24/7/365. It has been installed on several dams in Italy and abroad (e.g., Itaipu Dam in Brazil), and on landslide sites under the name of Eydenet,[37] and on monuments under the name of Kaleidos.[38] Mistral is a registered trade mark of CESI.

Applications as Bayesian networks

Bayesian networks (BNs) are probabilistic graphical models, which are typically used to model cause and effect relationships, have become the most widely accepted technique for incorporating expert knowledge along with data. Expert knowledge can be incorporated into BNs by either constructing the causal (or dependence) graph, or by incorporating factors into the causal network which are important for inference but which data fail to capture. The popularity of BNs as expert systems has led to the development of countless prediction and decision support systems in industry, government and academia worldwide. These systems typically incorporate both knowledge and data, and have been applied in the areas of, but not limited to, finance, engineering, sports,[46][47] sports psychology,[48] law, project management,[49] marketing, medicine,[50][51] energy, forensics,[52][53] economics, property market, and defence.

See also

References

  1. ^ Jackson, Peter (1998), Introduction To Expert Systems (3 ed.), Addison Wesley, p. 2, ISBN 978-0-201-87686-4 
  2. ^ "Conventional programming". Pcmag.com. Retrieved 2013-09-15. 
  3. ^ a b Leondes, Cornelius T. (2002). Expert systems: the technology of knowledge management and decision making for the 21st century. pp. 1–22. ISBN 978-0-12-443880-4. 
  4. ^ a b Russell, Stuart; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach (PDF). Simon & Schuster. pp. 22–23. ISBN 0-13-103805-2. Retrieved 14 June 2014. 
  5. ^ a b Luger & Stubblefield 2004, pp. 227–331.
  6. ^ a b Nilsson 1998, chpt. 17.4.
  7. ^ a b McCorduck 2004, pp. 327–335, 434–435.
  8. ^ a b Crevier 1993, pp. 145–62, 197−203.
  9. ^ Nwigbo Stella and Agbo Okechuku Chuks, School of Science Education, Expert system: a catalyst in educational development in Nigeria: "Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason through a problem, using the knowledge that is appropriated"
  10. ^ Edward Feigenbaum, 1977. Paraphrased by Hayes-Roth, et al.
  11. ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. pp. 6–7. ISBN 0-201-10686-8. 
  12. ^ George F. Luger and William A. Stubblefield, Benjamin/Cummings Publishers, Rule Based Expert System Shell: example of code using the Prolog rule based expert system shell
  13. ^ A. Michiels, Université de Liège, Belgique: "PROLOG, the first declarative language
  14. ^ Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.
  15. ^ Orfali, Robert (1996). The Essential Client/Server Survival Guide. New York: Wiley Computer Publishing. pp. 1–10. ISBN 0-471-15325-7. 
  16. ^ Hurwitz, Judith (2011). Smart or Lucky: How Technology Leaders Turn Chance into Success. John Wiley & Son. p. 164. ISBN 1118033787. Retrieved 29 November 2013. 
  17. ^ Dunn, Robert J. (September 30, 1985). "Expandable Expertise for Everyday Users". InfoWorld. 7 (39): 30. Retrieved 2011-03-13. 
  18. ^ Carl S. Gibson, et al, VAX 9000 SERIES, Digital Technical Journal of Digital Equipment Corporation, Volume 2, Number 4, Fall 1990, pp118-129.
  19. ^ AI Expert Newsletter: W is for Winter
  20. ^ Leith P., "The rise and fall of the legal expert system", in European Journal of Law and Technology, Vol 1, Issue 1, 2010
  21. ^ Haskin, David (January 16, 2003). "Years After Hype, 'Expert Systems' Paying Off For Some". Datamation. Retrieved 29 November 2013. 
  22. ^ SAP News Desk. "SAP News Desk IntelliCorp Announces Participation in SAP EcoHub". laszlo.sys-con.com. LaszloTrack. Retrieved 29 November 2013. 
  23. ^ Pegasystems. "Smart BPM Requires Smart Business Rules". pega.com. Retrieved 29 November 2013. 
  24. ^ Zhao, Kai; Ying, Shi; Zhang, Linlin; Hu, Luokai (9–10 Oct 2010). "Achieving business process and business rules integration using SPL". Future Information Technology and Management Engineering (FITME). 2. Changzhou, China: IEEE. pp. 329–332. doi:10.1109/fitme.2010.5656297. ISBN 978-1-4244-9087-5. 
  25. ^ Smith, Reid (May 8, 1985). "Knowledge-Based Systems Concepts, Techniques, Examples" (PDF). Reid G. Smith. Retrieved 9 November 2013. 
  26. ^ a b Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. ISBN 0-201-10686-8. 
  27. ^ Nabil Arman, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoin Sets: ""
  28. ^ Mettrey, William (1987). "An Assessment of Tools for Building Large Knowledge-Based Systems". AI Magazine. 8 (4). 
  29. ^ MacGregor, Robert (June 1991). "Using a description classifier to enhance knowledge representation". IEEE Expert. 6 (3): 41–46. doi:10.1109/64.87683. Retrieved 10 November 2013. 
  30. ^ Berners-Lee, Tim; Hendler, James; Lassila, Ora (May 17, 2001). "The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities". Scientific American. 284: 34–43. doi:10.1038/scientificamerican0501-34. Archived from the original on April 24, 2013. 
  31. ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. p. 6. ISBN 0-201-10686-8. 
  32. ^ a b Wong, Bo K.; Monaco, John A.; Monaco (September 1995). "Expert system applications in business: a review and analysis of the literature". Information and Management. 29 (3): 141–152. doi:10.1016/0378-7206(95)00023-p. Retrieved 29 November 2013. 
  33. ^ Kendal, S.L.; Creen, M. (2007), An introduction to knowledge engineering, London: Springer, ISBN 978-1-84628-475-5, OCLC 70987401 
  34. ^ Feigenbaum, Edward A.; McCorduck, Pamela (1983), The fifth generation (1st ed.), Reading, MA: Addison-Wesley, ISBN 978-0-201-11519-2, OCLC 9324691 
  35. ^ Woolery, L.K.; Grzymala-Busse, J (1994). "Machine learning for an expert system to predict preterm birth risk". Journal of the American Medical Informatics Association. 1 (6): 439–446. doi:10.1136/jamia.1994.95153433. PMC 116227Freely accessible. PMID 7850569. 
  36. ^ a b Salvaneschi, Paolo; Cadei, Mauro; Lazzari, Marco (1996). "Applying AI to structural safety monitoring and evaluation". IEEE Expert - Intelligent Systems. 11 (4): 24–34. doi:10.1109/64.511774. Retrieved 5 March 2014. 
  37. ^ a b Lazzari, Marco; Salvaneschi, Paolo (1999). "Embedding a geographic information system in a decision support system for landslide hazard monitoring" (PDF). International Journal of Natural Hazards. 20 (2–3): 185–195. doi:10.1023/A:1008187024768. 
  38. ^ a b Lancini, Stefano; Lazzari, Marco; Masera, Alberto; Salvaneschi, Paolo (1997). "Diagnosing Ancient Monuments with Expert Software" (PDF). Structural Engineering International. 7 (4): 288–291. doi:10.2749/101686697780494392. 
  39. ^ Kwak, S.. H. (1990). "A mission planning expert system for an autonomous underwater vehicle". Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology: 123–128. Retrieved 30 November 2013. 
  40. ^ Nelson, W. R. (1982). "REACTOR: An Expert System for Diagnosis and Treatment of Nuclear Reactors". Retrieved 30 November 2013. 
  41. ^ a b Hofmeister, Alan (1994). "SMH.PAL: an expert system for identifying treatment procedures for students with severe disabilities". Exceptional Children. 61 (2). Retrieved 30 November 2013. 
  42. ^ Haddawy, P; Suebnukarn, S. (2010). "Intelligent Clinical Training Systems". Methods Inf Med 2010. CiteSeerX 10.1.1.172.60Freely accessible. 
  43. ^ Hollan, J.; Hutchins, E.; Weitzman, L. (1984). "STEAMER: An interactive inspectable simulation-based training system". AI Magazine. Retrieved 30 November 2013. 
  44. ^ Stanley, G.M. (July 15–17, 1991). "Experience Using Knowledge-Based Reasoning in Real Time Process Control" (PDF). Plenary paper presented at: International Federation of Automatic Control (IFAC) Symposium on Compute r Aided Design in Control Systems. Retrieved 3 December 2013. 
  45. ^ Rasmussen, Arthur; Muratore, John F.; Heindel, Troy A. (February 1990). "The INCO Expert System Project: CLIPS in Shuttle mission control". NTRS. Retrieved 30 November 2013. 
  46. ^ Constantinou, Anthony; Fenton, Norman; Neil, Martin (2012). "pi-football: A Bayesian network model for forecasting Association Football match outcomes". Knowledge-Based Systems. 36: 322–339. 
  47. ^ Constantinou, Anthony; Fenton, Norman; Neil, Martin (2013). "pi-football: Profiting from an inefficient Association Football gambling market: Prediction, Risk and Uncertainty using Bayesian networks". Knowledge-Based Systems. 50: 60–86. 
  48. ^ Constantinou, Anthony; Fenton, Norman; Pollock, Liam (2014). "Bayesian networks for unbiased assessment of referee bias in Association Football". Psychology of Sport and Exercise. 15: 538–547. 
  49. ^ Yet, Barbaros; Constantinou, Anthony; Fenton, Norman; Neil, Martin; Luedeling, E.; Shepherd, K. (2016). "A Bayesian Network Framework for Project Cost, Benefit and Risk Analysis with an Agricultural Development Case Study". Expert Systems with Applications. 60: 141–155. 
  50. ^ Constantinou, Anthony; Freestone, Mark; Marsh, William; Coid, Jeremy (2015). "Causal inference for violence risk management and decision support in Forensic Psychiatry". Decision Support Systems. 80: 42–55. 
  51. ^ Constantinou, Anthony; Fenton, Norman; Marsh, William; Radlinski, L. (2016). "From complex questionnaire and interviewing data to intelligent Bayesian Network models for medical decision support". Artificial Intelligence in Medicine. 67: 75–93. 
  52. ^ Constantinou, Anthony; Freestone, Mark; Marsh, William; Fenton, Norman; Coid, Jeremy (2015). "Risk assessment and risk management of violent reoffending among prisoners". Expert Systems with Applications. 42: 7511–7529. 
  53. ^ Constantinou, Anthony; Yet, Barbaros; Fenton, Norman; Neil, Martin; Marsh, William (2016). "Value of Information Analysis for Interventional and Counterfactual Bayesian Networks in Forensic Medical Sciences". Artificial Intelligence in Medicine. 66: 41–52. 

External links