Transcript Slide 1
بنام خدا مهندس سهیل افراز عضو هیات علمی دانشگاه آزاد اسالمی واحد اردبیل گروه مهندس ی کامپیوتر www.iauardabil.ac.ir/afraz [email protected] [email protected] فهرست مطالب .1 .2 .3 .4 .5 .6 .7 مفاهیم پایه سیستمهای خبره معماری سیستمهای خبره مهندس ی دانش روشهای بازنمایی دانش استنتاج رو به جلو و عقب مطالعه موردی سیستم خبره رباتها ( از روی جزوه کالس ی مطالعه گردد) برنامه نویس ی به زبان منطق با پرولوگ سیستمهای خبره بیشتر به عنوان یک تکنولوژی مطرح میشوند و نه علم،تکنولوژی و هر آنچه که در اختیار ما برای حل مسئله است. )Structured(classic problem )Non-structured(traditional که نیاز به هوشمندی داشته،•هر مسئله ای که در آن نقطه مبهمی وجود داشته باشد .باشد AI problem solving 1.space search 2.strategy 3.target 1.problem Reduction Search(P.R.S) Search Approach 2.State Space Search(S.S.S) : کاربردهای هوش مصنوعی Robotics Theorm proring Speech Synthesis AI Aplication Natural Language Expert System Vision System برخی تعاریف سیستمهای خبره : دارلینگتون :سیستم خبره برنامه ای است که سعی میکند از انسان متخصص در استفاده از روشهای استنتاج برای یک قالب معین از دانش تقلید کند،که این قالب از دانش حوزه نامیده می شود. براکس :سیستم خبره یک برنامه کامپیوتری است که طرز فکر یک فرد خبره را در برابر حل مسائل یک تصمیم گیری پیچیده در یک دامنه مشخص شبیه سازی می کند. دورکین :سیستم خبره سیستمهای اطالعاتی برای حل یک مسئله خاص هستند که مهارتی شبیه به فرد خبره در یک حوزه خاص فراهم می آورد. مزایای سیستم های خبره: .1افزایش قابلیت دسترسی .2کاهش هزینه .3کاهش خطر .4دائمی بودن .5تجربیات چند گانه .6افزایش قابلیت اطمینان .7قدرت تنیین .8پاسخ دهی سریع .9پاسخ ذهی در همه حالت .10پایگاه تجربه .11آموزش کاربر .12سهولت انتقال دانش : مقایسه سیستم خبره و برنامه متعارف Conventional program Expert system Numeric Symbolic Algorithmic Heuristic Information and control Integrated Knowledge separate from control Difficult to modify Easy to modify Precise Information Uncertain Information Command Interface Natural dialogue with explanation Final result given Recommendation with explanation Optimal solution Acceptable solution مهندسی دانش فرآیند ساخت یک سیستم خبره را مهندسی دانش می گوییم .ایجاد یک سیستم خبره فرآیندی تکراری است و مراحل مختلف آن در طی پروژه تکرار میشود،یعنی اینکه طراح قسمتی از سیستم را میسازد وتست می کند و پس از آن دوباره سیستم را توسعه و بهبود می بخشد. Assessment Requirements Knowledge acquisition knowledge Design Structure Test Evaluation Documentat ion Product Maintenance فازهای مهندسی دانش Exploration Reformation Refinements هرم سلسله مراتب دانش حکمت دانش اطالعات داده نویز بازنمایی دانش نمایش دانش روشهایی است که برای کد کردن دانش در پایگاه دانش سیستم خبره استفاده می شود،بعد از آنکه دانش از یک فرد خبره در یک دامنه خوش متمرکز)(well-focused domainبایستی در یک سیستم خبره کد شود ،برای کد کردن دانش نیاز به ساختار بندی دانش است به گونه ای که سیستم قادر به حل مسئله به روش مشابه فرد خبره باشد. حقیقت( :)factگروه های سازنده در سازماندهی دانش انسان است.حقایق فهم ودانایی ما از یک رویداد یا مسئله است که قالبی از دانش توصیفی است. روشهای بازنمایی دانش منطق گزاره ای مرتبه اول مثلث سه تایی)(Object-Attribute-Value Triple قاعده یا قانون Rule شبکه معنا Semantic Network رویه ای procedural فریم یا قاب Frame روش مثلث سه تایی OAV یک نوع گزاره پیچیده تر است که یک عبارت را به سه بخش تقسیم میکند، مزیتOAVاین است که با عبارتهای کمتری میتوان دانش بیشتری را ارائه نمود. The ball’s color is red Red color ball Value Attribute Object Rain Value Forecast Attribute Weather Object It’s raining یک شیی با چندین ویژگی )(Object with Multiple Attribute 1 foot Red 1 pound Value Diameter Color Weight Ball Object Attribute به این نوع دانش دانش سه تایی گفته می شود زیرا به سه بخش تبدیل می شود و مدیریت و سازماندهی آن ساده تر است ولی بیانگر یک گزاره است. )Types of knowledge( انواع دانش ) Procedural Knowledge)دانش رویه ای (Declarative Knowledge)دانش توصیفی (Meta Knowledge)فرادانش (Heuristic Knowledge)دانش هیورستیک (Structural knowledge)دانش ساختاری .1 .2 .3 .4 .5 ضریب قطعیت ()CF بیانگر درجه باور ما نسبت به یک حقیقت است. کامال درست 1.0 0.4 0.8 0.6 -0.4 0 0.2 -0.2 -0.8 -0.6 کامال نادرست -1.0 (Rule) قانون قانون ساختاری از دانش است که اطالعات شناخته شده ای را به اطالعات شناخته شده .دیگر مرتبط می سازد که می تواند این ساختار مورد استنتاج یا نتیجه گیری قرارگیرد If the ball’s color is red If ball s color is red Then I like the ball Then I like the ball Step 2 Step 3 Step 1 Q: Ball’s color ? A : Red If I like the ball Then I will buy the ball Ball color is red I like the ball Step 5 I will buy the ball Step 4 انواع قانون : (Relationship Rules)قانون رابطه ای .1 IF the battery is dead Then the car will not start : (Recommendation Rules)قانون توصیه ای.2 IF the car will not start THEN take a cab انواع قانون :(Directive Rules) قانون دستوری.3 IF the car will not start AND the fuel system is ok THEN check out the electrical system :(Strategy Rules) قانون راهبردی.4 IF the car will not start THEN first check out the fuel system THEN check out the electrical system انواع قانون :(Heuristic Rules) قانون هیورستیک.5 IF the car will not start AND the car is a 1957 Ford THEN check the float :(Meta Rules) فرا دانش.6 IF the car will not start AND the electrical System is operating normally THEN use rules concerning the fuel system تخته سیاه)(Black Board حل مسائل توزیع شده))Distributed problem solving ممکن است در مسائلی نیاز باشد چندین خبره در مورد یک مسئله و برای حل آن بیندیشند وبه عبارت دیگر چندین خبره با هدف حل نمودن مسئله به آن بپردازد به این مسئله سیستم خبره توزیع شده می گوییم. E.Sn Scheduler Black Board E.S 1 E.S 2 مولفه های اصلی سیستم خبره توزیع شده .1 مجموعه ای از سیستمهای خبره Commiunity of different Expert System .2تخته سیاه Black Board .3زمانبند Scheduler سیستم تخته سیاه عالوه بر اینکه کمیته ای از سیستمهای خبره است بخشی برای قرار دادن راحل ها دارد و یک زمانبند نیز برای تقسیم زمان موجود و در اختیار قرار دادن زمان میان خبره ها دارد. شبکه معنا )(Semantic Network شبکه معنا روشی برای بازنمایی دانش با استفاده از گراف است که از گره ها و یالها تشکیل شده است به طوری که گره ها نشانه اشیاء و یالها نشان دهنده ارتباط بین اشیا می باشند. Object Is - A Object Properties Property Value Node Has Verb Relation مثالی از شبکه معنای ساده Wings Has Is - A CANARY Bird Travel Fly مثالی از شبکه معنای گسترش یافته Air Wings 1 Breathe HAS Tweety Is -A Canary Is -A Bird Is -A Penguin 3 Travel Walk Is -A Travel Fly Animal 2 قاب یا چهارچوب ()Frame Semantic Network + Procedure = Frame Object = Data (Properties ) + Procedure فریم ساختمان داده ای برای بازنمایی دانش کلیشه ای مشابه مفهوم یا شیء می باشد. )Frame( ساختار کلی چارچوب یا قاب Frame Name Object 1 Class Properties Object 2 Property Value1 Procedure Property Value2 P1 . . . . . . . . . وجوه)(Facets کنترلی روی مقادیر ویژگیهاست .به بیانی می توان گفت Facetنوعی محدودیت و قید گذاری است به طور مثال می توان مقدار عددی را به محدوده خاص محدود نمود یا تنها قادر به پذیرفتن مقادیر خاص باشد. IF Needed IF Tweety has less than two wings THEN Tweety can’t fly IF Changed IF self : Hungry = True THEN self : Activity =Eating #self =Eats بازنمایی دانش با استفاده زبان رویه () Procedure هدف بیان دانش رویه ای است.یعنی چه مراحلی طی کنیم به پاسخ مسئله برسیم. زبان رویه ای توصیفی نیز می باشد و عمال دانش قطی پشتیبانی می شود،زبان procedureیک ساختار استاندارد را شامل نمی شود .هر زبان رویه ای یک مفهوم است و هر زبان برنامه سازی یک نمونه از آن است. زبان رویه ای سعی می کند که یک سطح تجرید ( )Abstractionاز خود ارائه دهد لذا در زبان procedureسعی می شود که استانداردش دورتر از زبان ماشین باشد تا کار ترجمه توسط مهندس دانش ساده تر انجام شود. A Sample Syntax of procedure <Knowledge>::<procedure>|< procedure>< Knowledge > < procedure >:: (<proce_name>:<proc_body>) < proc_body >::<st>|<st>.< proc_body> <st>::<if_is>|<Loop_st>|<Simple_st> <if_st>::if<B.exp>then<simple_st> <Loop_st>::Loop<B_exp><simple_st> <simple_st>::<proc_name>|<primitive> مزایای زبان رویه ای دانش .1 .2 .3 .4 .5 .6 .7 ساده است مستقل از ماشین است به راحتی قابل استفاده است سریع است کاهش خطای انسان را به همراه دارد به راحتی قابل یادگیری است مهندسی دانش به راحتی با آن کار می کند نمایش دانش با قوانین یا قواعد If (C1 & C2 &,…,&Cn) then X استنتاج برروی قوانین .1استنتاج رو به جلو ()Forward Reasoning .2استنتاج رو به عقب ()Backward Reasoning .1استنتاج رو به جلو() F.R Rules 1 2 پیامد F.R مشاهدات موتور استنتاج رو به جلو .2استنتاج رو به عقب () B.R Rules 2 1 B.R پیامد 3 مشاهدات مسئله Context ارتباط دهنده بین ما و محیط پیرامون می باشد و به عنوان مدلی از محیط می باشد و هر آنچه که به Contextوارد می کنیم گویی به محیط واقعی هم وارد می کنیم و در حقیقت دید ما از دنیای واقعی همان Contextاست .کار Contextمدل کردن دنیایی است که در حال عمل کردن می باشد Contextیک ماجول از مکانیزم استنتاج می باشذ. برنامه نویسی به زبان پرولوگ پردازنده زبانهای منطقی برای استنتاج منطقی استفاده می شود. مکانیزم استنتاج منطقی براساس جایگزینی است . تنها تکنیک برنامه نویسی موجود در پرولوگ ،بازگشتی ()Recursion می باشد. پرولوگ حساس به حروف بزرگ و کوچک است. مولفه های زبان پرولوگ constant Parametric 1.Facts 2.Relations Knowledge 3.Query :Fact معرف اصول غیر قابل تغییر هستند مفروضات مسئله را شامل می شود. :Relation برای برقراری ارتباط بین واحدهای مختلف برنامه در راستای تولید جواب مسئله به کار میروند. :Query سواالت مطرح شده در مورد برنامه منطق گزاره : )گزاره(Predicate Examples: ) Add(X,0,X ) Mult(1,X,X ) Mult(X,0,0 ) Add(1,0,1 نکته :زبان پرولوگ typelessبوده و پارامترهای آن در گزاره ها دارای نوع و محل مشخص نمی باشند . ساختمان داده لیست()List ]]L1=[a,b,c,d]=[a|[b,c,d برنامه ای بنویسید که Headهر لیست را به ما بدهد؟ )]Head(X,[X|Y نکته :مابقی مثالهای برنامه نویس ی پرولوگ مطالعه گردد .