رفتن به مطلب

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


ارسال های توصیه شده

[TABLE=width: 100%, align: center]

[TR]

[TD=colspan: 2, align: center]

گردآوري و ترجمه: علي حسيني‌

ماهنامه شبكه - آذر ۱۳۸۵ شماره 71

اشاره :

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

[/TD]

[/TR]

[TR]

[TD=colspan: 2] سيستم خبره چيست؟

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

 

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

 

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

 

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

 

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

ساختار يك سيستم خبره‌

هر سيستم خبره از دو بخش مجزا ساخته شده است: پايگاه دانش و موتور تصميم‌گيري.

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

 

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

 

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

 

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

 

[TABLE=align: center]

[TR]

[TD]s71_robert_10_s.jpg[/TD]

[/TR]

[TR]

[TD]

شكل 1

[/TD]

[/TR]

[/TABLE]

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

 

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

 

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

 

 

[/TD]

[/TR]

[/TABLE]

 

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 4
لینک به دیدگاه
×
×
  • اضافه کردن...