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
نکته :مابقی مثالهای برنامه نویس ی پرولوگ مطالعه گردد .