Upload
deanne
View
76
Download
3
Embed Size (px)
DESCRIPTION
معماری عامل ها. معماری انتزاعی عامل ها. می توانیم نمایش انتزاعی از عامل را بصورت فرمال بنویسیم. این نمایش فرمال در ساخت عامل کمکی به ما نمی کند. فرض کنید E مجموعه ای متناهی از حالات باشد و فرض کنید که محیط می تواند در هر لحظه در یکی از این حالات باشد. E = {s1, s2, … } - PowerPoint PPT Presentation
Citation preview
معماری عامل ها
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
2
معماری انتزاعی عامل ها
می توانیم نمایش انتزاعی از عامل را بصورت فرمالبنویسیم.
.این نمایش فرمال در ساخت عامل کمکی به ما نمی کند فرض کنیدE مجموعه ای متناهی از حاالت باشد و فرض
کنید که محیط می تواند در هر لحظه در یکی از این حاالت باشد.
E = {s1, s2, …} عامل بصورت مخزنی از اعمال آن فرض می شود که
حاالت محیط را انتقال می دهند.A = {a1,a2, …}
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
3
عامل استاندارد
بصورت انتزاعی یک عامل را می توان بصورت یک تابع انتقال حالت action: S* Aمشاهده کرد
.یک عامل براساس سابقه اش تصمیم می گیرد که چه اقدامی انجام دهدرفتار)غیر قطعی( محیط را می توان بصورت یک تابع مدل کرد
env : S * A (S)
.می توانیم تعامل عامل و محیط را بصورت یک سابقه نمایش دهیم a0 a1 a2 a3 au-1 au
h: s0 s1 s2 s3 …. Su ….
h می تواند یک سابقه ممکن از عامل در محیط را نمایش می دهد اگر و تنها اگر شرایط زیر برقرار باشند:
به ازای هرu متعلق به N به ازای هرu متعلق به N بطوری که u>0
)),...,,(( 10 uu SSSactiona
),( 11 uuu aSenvS
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
4
(PRAعامل واکنشی محض )
این عامل بدون مراجعه به سابقه اش تصمیم می گیرد کهچه انجام دهد. این عامل اتخاذ تصمیم خود را کامال برمبنای
زمان حال قرار می دهد و به هیچ وجه توجهی به گذشته ندارد.
:نمایش فرمال این عامل به این صورت استaction: S A
به ازای هرPRA .یک عامل استاندارد معادل آن وجود دارد اما عکس آن همیشه درست نیست.
مثال: ترموستات یک عاملPRA.است
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
5
تصحیح مدل انتزاعی
:تفکیک تابع تصمیم گیری عامل به زیر سیستم های زیرتابع ادراک :see توانایی عامل در مشاهده محیط خود را نشان می
دهد. این تابع در سخت افزار می تواند بصورت دوربین ویدیویی یا حسگر مادون قرمز بر روی یک روبات متحرک پیاده سازی شود. در نرم افزار می تواند دستورات سیستمی ای باشند که اطالعات
seeمربوط به محیط نرم افزار را دریافت می کنند. خروجی تابع یک ادراک است:
see : S Pتابع عمل :action.فرآیند اتخاذ تصمیم عامل را نمایش می دهد
action : P* A
تابعaction دنباله ای از ادراکات را به اعمال نگاشت می کند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
6
زیر سیستم های ادراک و عمل
محیط
عامل
ادراک عمل
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
7
عامل های دارای حالت داخلی
این عامل ها دارای ساختار داده ای می باشند که عمومابرای ثبت اطالعات وضعیت محیط و سابقه عملیات عامل
مجموعه تمام Iاز آنها استفاده می شود. فرض کنید حاالت داخلی عامل باشد.
see : S P تابع ادراک
action : I A تابع انتخاب عمل next : I * P I حالت داخلی و ادراک را به یک حالت داخلی
نگاشت می کند
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
8
عامل های دارای حالت داخلی )ادامه(
محیط
عامل
actionsee
statenext
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
9
عامل های دارای حالت داخلی )ادامه(
حلقه کنترلی عامل i0 آغاز فعالیت عامل از وضعیت اولیه1.See(s) و تولید ادراک sمشاهده وضعیت محیط 2.
next(i0,See(s))به روز آوری وضعیت داخلی از طریق تابع 3.
action(next(i0,See(s)))انتخاب عمل مناسب توسط تابع 4.
2تکرار از مرحله 5.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
10
وظایف عامل ها
انجام دهند.وظایفیعامل ها را می سازیم تا برایمان شود.تعیینوظیفه باید توسط ما بدون این اما می خواهیم به عامل بگوییم چه انجام دهند
به آن بگوییم چگونه آن را انجام دهد.که
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
11
توابع سودمندی بر روی حالت
یک راه: به هر حالت یک سودمندی نسبت دهید. وظیفهعامل آن است که به حاالتی برسد که به حداکثر سودمندی
منجر می شوند.:توصیف وظیفه یک تابع بصورت زیر است
u : E R این تابع یک عدد حقیقی به هر حالت محیط نسبت می
دهد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
12
سودمندی و اجرا )سابقه(
اما مقدار اجرا چیست؟مینیمم سودمندی حالت در اجرا؟ماکزیمم سودمندی حالت در اجرا؟مجموع سودمندی های حاالت در اجرا؟میانگین آن؟
در هنگام نسبت دادن نمایش طوالنی مدتعیب: تعیین یک سودمندی به حاالت دشوار است.
:برای حاالت از یک زمان به بعدتخفیفیک راه
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
13
سودمندی در اجرا
راه دیگر: سودمندی را به جای حاالت به اجراها نسبتدهید.
u : h R را طوالنی مدتچنین رویکردی به خودی خود نمایش
لحاظ می کند. صورت های دیگر: احتمال حاالت مختلف پدید آمده را نیز
در نظر بگیرید.:مشکالت رویکردهای بر مبنای سودمندی
این اعداد و مقادیر از کجا می آیند؟.تفکرات ما براساس سودمندی نیست.فرموله کردن وظایف به این صورت مشکل است
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
14
سودمندی در بازی دنیای کاشی ها
یک شبکه دو بعدی که در آن عامل، کاشی ها، موانع وحفره هایی وجود دارند.
عامل می تواند در چهار جهت باال، پایین، چپ و راستحرکت کند و اگر در کنار یک کاشی باشد می تواند آن
را هل دهد. حفره ها باید با کاشی ها توسط عامل پر شوند. عامل
با پرکردن حفره توسط کاشی امتیاز می گیرد و قصد دارد که تا حد ممکن حفره های بیشتری را پر کند.
دنیای کاشی ها با ظاهر شدن و ناپدید شدن حفره هابصورت تصادفی تغییر می کند.
:تابع سودمندی بصورت زیر تعریف می شود
h تعداد حفره های پرشده در u(h) = --------------------------------
h تعداد حفره های ظاهر شده در
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
15
معماری های عامل
پرسش: چگونه عملیات انتزاعی که در قبل دیدیم را می کرد؟پیاده سازیتوان
قصد ما این است که عامل هایی بسازیم که ویژگی هایخودمختاری، واکنشی، کنش گرایی و قابلیت اجتماعی
داشته باشند. پاسخ به این پرسش در حوزه معماری عامل ها قرار می
گیرد.:معماری عامل
یک نقشه از عناصر داخلی عامل – ساختمان داده های آن، اعمالیکه ممکن است بر روی این ساختمان داده ها اجرا شوند و جریان
کنترلی بین این ساختمان داده ها.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
16
چهار نوع معماری
چهار نوع معماری برای چهار گروه از عامل ها مطرحاست:
عامل های منطقی/ نمادینعامل های واکنشی عامل هایBDIعامل های ترکیبی و چند الیه
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
17
تاریخچه
تقریبا تمام عامل هایی که در 1985 تا 1956در سالهای هوش مصنوعی طراحی می شدند بر مبنای استدالل بودند
و از استدالل منطقی در این گونه عامل ها برای تصمیم گیری استفاده شده است.
با توجه به مشکالت استدالل نمادین عامل 1985در سال های واکنشی مطرح شدند.
به بعد تکنیک های معماری ترکیبی ارائه 1990از سال شدند که سعی در ترکیب بهترین معماری های استداللی و
واکنشی را داشته اند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
18
عامل های منطقی/ نمادین
ساده ترین روش برای ساخت عامل ها این است که آنهارا نوع خاصی از سیستم های مبتنی بر دانش بدانیم.
. این الگو هوش نمادین نامیده می شود: یک معماری منطقی معماری ای است که
در آن عامل شامل مدلی نمادین از دنیای واقعی است که بطورصریح بیان می شود.
.تصمیمات آن بر مبنای استدالل نمادین یا منطق صورت می گیرد
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
19
عامل های منطقی/ نمادین )ادامه(
مشکالت عمده عامل های منطقی .تعریف تابع نگاشت محیط به ادراک به شکل نمادین مشکل است
به عبارت دیگر تعریف خصوصیات یک محیط پویا و واقعی در قالب مجموعه ای از قوانین استنتاج دشوار است.
زمان الزم برای تصمیم گیری این عامل ها قابل کنترل نبوده واحتمال دارد تابع تصمیم گیری هرگز پایان نگیرد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
20
عامل های منطقی/ نمادین )ادامه(
عامل چگونه از راه اثبات قضیه تصمیم می گیرد که چهکاری انجام دهد؟
ایده اصلی استفاده از منطق برای کد کردن قضیه استکه بهترین عملی را که باید در هر موقعیت اجرا شود بیان
می کند.:فرض کنید
اینقضیهباشدقوانینقیاسییکپایگاهدادهمنطقیکهحالتجاریجهانرابیانمیکن
دAc یک مجموعه از اعمال که عامل می تواند انجام دهدیعنی بتواند با استفاده از از اثبات شود
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
21
عامل های منطقی/ نمادین )ادامه(
see : S P
next: D * P
action : D A
D = L) یک مجموعه از L پایگاه داده است. وضعیت داخلی هر است که Dعامل عضوی از مجموعه
اعضایمیباشند
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
22
عامل های منطقی/ نمادین )ادامه(
شبه کد تعریف عملfunction action (p: P) : A/* try to find an action explicitly prescribed */ for each a Ac do If Do ( a) then return a end-if end-for /* try to find an action not excluded */ for each a Ac do If not Do(a) then return a end-if end-for return null /* no action found */end function action
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
23
عامل های منطقی/ نمادین )ادامه(
مثال: دنیای جاروبرقی هدف روبات روبات جستجوی محیط، کشف آشغال و جارو کردن
آن است.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
24
عامل های منطقی/ نمادین )ادامه(
عامل دنیای جاروبرقی:از سه گزاره در این مثال استفاده می کنیم
In(x,y) عامل در خانه (x,y) قرار داردDirt(x,y) در خانه(x,y) آشغال وجود داردFacing(d) جهت عامل به سمتd است که d ،می تواند شمال، جنوب
شرق یا غرب باشد.
اعمال ممکنAc ={turn,forward,suck} در آن کهturn به معنی گردش به راست می
باشد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
25
عامل های منطقی/ نمادین )ادامه(
قوانین برای تعیین این که چه عملی انجام شود
و غیره( 0و0عامل با استفاده از این قوانین و با شروع از خانه )
شروع به برداشتن آشغال می کند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
26
عامل های واکنشی
مسائل حل نشده فراوانی در رابطه با هوش مصنوعینمادین وجود دارد.
این مشکالت باعث شد که تعدادی از محققین در پی یافتن و سه دیدگاه مطرح شد: جانشینی برای آن باشند
دیدگاه اول به رد بازنمایی نمادین و تصمیم گیری براساس ساختارآن پرداخته است
دیدگاه دوم این ایده را دارد که رفتار هوشمند عامل ناشی ازتعامل با محیط است و بطور مستقل قابل تعریف نیست.
در دیدگاه سوم رفتارهای هوشمند متشکل و منتج از رفتارهای مبتنی بر رفتارساده تر دانسته شده است. این دیدگاه عامل را
می داند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
27
عامل های واکنشی )ادامه(
Rodney Brooks معماری جزء به کل را مطرح کرد که در آن دو خصوصیت مطرح است:
اول این که تصمیم گیری عامل از طریق مجموعه ای از رفتارهایمستقل صورت می گیرد و بر محیط اثر می گذارد. یعنی درک از
محیط براساس اثر رفتار به عنوان ورودی نگاشتی از حالت به عمل می دهد.
.دوم این که تعدادی رفتار بطور همزمان می توانند اجرا شوند
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
28
عامل های واکنشی )ادامه(
در این معماری رفتارها بصورت الیه های مختلفی ارائه میشوند که
:هر رفتار یک ساختار شبیه قانون دارد وضعیتعمل
.هر رفتار برای گرفتن کنترل عامل با دیگران رقابت می کندسطوح باالتر رفتارهای انتزاعی تری را بروز می دهند الیه های پایین تر قادر به جلوگیری الیه های باالتر هستند یعنی
تقدم بیشتری نسبت یه آنها دارند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
29
عامل های واکنشی )ادامه(
تعریف تابعactionfunction action(p:P) : A var fired: (R)
var selected: A begin
fired := {(c,a) | (c,a) R and p c}for each (c,a) fired do if not( Exists (c’,a’) fired such that (c’,a’)
(c,a)) then return a end-ifend-forreturn null
end function action
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
30
عامل های واکنشی )ادامه(
یک مثال: سیستم کاوشگر مریخ شامل گروهی از روبات )عامل( های جمع آوری نمونه سنگ ها از
سطح مریخ می باشد که در آن مکان نمونه ها از قبل مشخص نیست اما می دانیم که نمونه ها در حوالی یکدیگر قرار دارند.
هر روبات تا جایی می تواند از مبدا دور شود که امکان دریافتسیگنال از مبدا اصلی باشد.
ارتباط بین عامل ها بصورت غیر مستقیم از طریق مبدا صورتمی گیرد.
اگر نمونه جمع آوری شده توسط یک عامل در مسیر انتقال بهمبدا رها شود عامل دیگر آن را برمی دارد.
هر یک از این عامل ها به تنهایی دارای رفتار خاص می باشند ومهم ترین و پایین ترین سطح )با باالترین اولویت( پرهیز از موانع
می باشد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
31
عامل های واکنشی )ادامه(
:گروه های رفتاری و سلسله مراتب عملیات عامل
حس کردن
عمل کردن
حرکت تصادفی
برداشتن نمونه
بازگشت به مبدا
انداختن نمونه
جلوگيری از برخورد با مانع
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
32
عامل های واکنشی )ادامه(
مزایا و معایب معماری واکنشی
مزایاساده، مقرون به صرفه، کامل و محکم
معایب همواره باید اطالعات کافی از محیط برای هر عامل بصورت محلی
فراهم باشد. چون تصمیم گیری براساس اطالعات محلی صورت می گیرد
استفاده از این معماری در حالت های غیرمحلی عمومیت ندارد. یادگیری در این معماری با چنان وسعتی همراه خواهد بود که عمال
از کارایی آن می کاهد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
33
استدالل عملی
استدالل عملی استداللی است که جهت گیری آن به سمت است یعنی فرآیند معین کردن این که چه کاری اعمال
انجام دهیم. تعریفBratmanاز استدالل عملی
استدالل عملی به وزن دادن به مالحظات مختلف و متضاد به نفعیا برعلیه گزینه های رقیب هم مربوط می شود که در آن
مالحظات مناسب از آنچه که عامل قصد دارد)برایش ارزش دارد/ به آن توجه دارد( و آن چه که عامل باور دارد فراهم می شود.
استدالل عملی با استدالل نظری متفاوت است. جهت است.باورهاگیری استدالل نظری به سمت
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
34
استدالل عملی )ادامه(
:استدالل عملی در انسان شامل دو عمل است اهدافی می چهبررسی و قیاس : تصمیم گیری در مورد این که به
خواهیم برسیم ها می باشند.قصدخروجی بررسی و قیاس
می خواهیم چگونهاستدالل عملی: تصمیم گیری در مورد این که به این اهداف برسیم
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
35
بررسی و قیاس
عامل چگونه بررسی و قیاس می کند؟ پیش روی شماستگزینه هاییابتدا سعی کنید بفهمید چه شوید.متعهد به انجام آنها و از بین آنها گزینه هایی را انتخاب کنید
خواهند بود.ها قصدگزینه های انتخاب شده
:تابع بررسی و قیاس را می توان به دو مولفه تقسیم کرددر این بخش مجموعه ای از گزینه ها تولید می تولید گزینه ها :
انجام می شود که optionشود. این کار از طریق تابعی به نام باورهای کنونی عامل و قصد های کنونی آن را می گیرد و
مجموعه گزینه ها را تعیین می کند.در این بخش تابعی به نام فیلتر کننده گزینه ها :filter بین
عامل برای حالت ها و پیشنهادهای مختلف انتخاب می کند ورسیدن به آنها متعهد می شود.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
36
استدالل عملی
ایده اصلی آن است که به عاملنمایش قصد ها و اهدافی که باید به آنها برسد نمایش اعمالی که می تواند انجام دهد ونمایش محیط
ای را برای رسیدن به هدف تولید برنامهداده شود تا او است.برنامه سازی خودکارکند. در حقیقت این یک
Updated by Ali Rahnama87231904
37
Practical Reasoning
Human practical reasoning consists of two activities:
– deliberation
deciding what state of affairs we want to achieve;
means-ends reasoning
deciding how to achieve these states of affairs.
The outputs of deliberation are intentions.
Updated by Ali Rahnama87231904
38
Deliberation
How does an agent deliberate?
– begin by trying to understand what the options available to you are;
– choose between them, and commit to some.
Chosen options are then intentions.
Updated by Ali Rahnama87231904
39
Deliberation
The deliberate function can be decomposed into two distinct
functional components:
– option generation
in which the agent generates a set of possible alternatives;
and Represent option generation via a function, options, which
takes the agent’s current beliefs and current intentions, and
from them determines a set of options (= desires).
– filtering
in which the agent chooses between competing alternatives,
and commits to achieving them.
In order to select between competing options, an agent uses a
filter function.
Updated by Ali Rahnama87231904
40
Means-Ends Reasoning
Basic idea is to give an agent:
– representation of goal/intention to achieve;
– representation actions it can perform; and
– representation of the environment;
and have it generate a plan to achieve the goal.
Essentially, this is automatic programming.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
41
BDIمعماری
معماریBDIبر مبنای استدالل عملی است تصمیم گیری در مورد این که به چه اهدافی باید برسیمتصمیم گیری در مورد این که چگونه به آن اهداف برسیم
BDI( باورهاBeliefs)( خواسته هاDesires)( قصد هاIntentions)
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
42
)ادامه(BDIمعماری
:قصد هااز استدالل عملی ناشی می شوندبررسی های آینده را تحمیل می کنندمانا هستند بر روی باورها تاثیر می گذارند که استدالل عملی آینده بر مبنای
آنها است
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
43
)ادامه(BDIمعماری
تابع بازنگری باورها
باورها
تابع توليد گزينه
تمايالت
فيلتر کننده
قصدها
تابع انتخاب عمل
ورودی حسگر
عمل خروجی
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
44
)ادامه(BDIمعماری
مولفه های عاملBDIباورها
اطالعات عامل را در محیط کنونی اش بیان می کندتابع بازنگری باورها
درک عامل را با نگاشت بر روی محیط دریافت کرده و باورهای جاریرا به روز می کند.
brf: (Bel) * P (Bel)تابع تولید گزینه
ورودی آن باورها و قصد عامل بوده و براساس آنها انتخابهای ممکنبرای عامل را که در واقع همان تمایالت اوست تعیین می کند
options: (Bel) * (Int) (Des)
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
45
)ادامه(BDIمعماری
که مبین اعمالی گزینه های معتبر)تمایالت(مجموعه ای از است که عامل می تواند انجام دهد.
که ورودی آن باورها و قصدهای عامل بوده تابع فیلترکنندهیک و خروجی آن براساس فرآیند تبادل نظر)قیاس( اهداف )قصدهای(
جدید عامل است filter: (Bel) * (Int) * (Des) (Int)
که کانون فعالیت عامل را تعیین قصدهای جاریمجموعه ای از
می کند.بر پایه قصد و اهداف فعلی که عملی را که تابع انتخاب عمل
باید انجام شود تعیین می کند execute : (Int) A or action: P
A
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
46
)ادامه(BDIمعماری
شبه کد تابعaction در BDI:function action(p: P) : A
begin
B := brf (B,p)
D:= options(B,I)
I:= filter(B,D,I)
return execute(I)
end function action
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
47
BDIمشکالت
عاملی که در قصدهای خود تجدید نظر نمی کند تالش میکند حتی پس از آنکه روشن شد که قابل دستیابی نیستند
یا دیگر دلیلی برای رسیدن به آنها وجود ندارد برای رسیدن به آنها تالش می کند
عاملی که پیوسته در قصدهای خود تجدید نظر می کندزمان و منابع را به هدر می دهد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
48
پیاده سازی شده: BDIمثالی از یک عامل PRSعامل
برنامه در این سیستم هر عامل دارای مجموعه ای از می باشد که بیانگر (plan libraryریزی های انجام شده)
عامل است.دانش رویه ای دانش رویه ای دانشی درباره مکانیزم هایی است که می توانند
توسط عامل به منظور تحقق قصد هایش به کار روند.
گزینه های پیش روی یک عامل مستقیما توسط برنامهریزی های آن تعیین می شوند. عاملی که برنامه ریزی
ندارد گزینه ای نخواهد داشت. ،در این سیستم عامل ها بازنمایی صریحی از باورها
تمایالت و قصد ها و نیز دانش رویه ای دارند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
49
)ادامه(PRSعامل
معماریPRS
باورها
قصد ها
دانش های رويه
ای
تمايالت
پردازشگر
محيط
ورودی حسگر عمل خروجی
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
50
پیاده سازی BDIمثالی از یک عامل IRMAشده:
IRMA:چهار ساختمان داده نمادین دارد برنامه ریزی هامجموعه ای از اطالعاتی که عامل در اختیار دارد که یا باورهانمایش صریح از :
می تواند بصورت نمادین بیان شود حتی می تواند بسادگی تعریف متغیرهای زبان پاسکال باشد.
مفاهیمی که مورد نظر عامل است تمایالت :تمام اهدافی که عامل به آنها دسترسی داشته و برای قصدها :
رسیدن به آنها تعهد دارد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
51
IRMA)ادامه(
:معماری آن قسمت های زیر را دارددر واقع یک موتور استنتاج است که برای یک بخش استدالل :
استدالل درباره محیط اطراف عامل بکار می رود.تعیین می کند که کدام برنامه برای یک تحلیل گر عملی :
رسیدن به قصد انتخاب شودنظارت بر محیط در صورت یک تحلیل گر موقعیت شناس :
ارائه انتخاب های جدید را داردتعیین می کند کدام گزینه با قصد جاری یک برنامه فیلتر کننده :
سازگار استمسئول تصمیم گیری در مورد یک برنامه بررسی و قیاس :
بهترین قصد برای انجام است.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
52
IRMA)ادامه(
معماریIRMAموتور استنتاج
تحليلگر موقعيت تحليل توالی چند
عمل
فيلتر کننده
قصد ها
برنامه بررسی و قياس
تمايالتگزينه
گزينه
عمل
باورها
Updated by Ali Rahnama87231904
4-53
Homer
Updated by Ali Rahnama87231904
4-54
Dialogues with HOMER
Updated by Ali Rahnama87231904
4-55
Dialogues with Homer
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
56
معماری چندالیه )ترکیبی(
بسیاری از محققین بر این عقیده اند که نه یک روشواکنشی و نه یک روش قیاسی به تنهایی برای ساختن
عامل ها کافی نمی باشد. انان سیستم های چند الیه ای را پیشنهاد داده اند که رابطه
نزدیکی با روش های کالسیک دارد. یک رویکرد بدیهی این است که عامل را از دو یا چند زیر
سیستم بسازیم:شامل یک مدل نمادین از جهان که برنامه یک بخش قیاسی
ریزی ها را ایجاد می کند و از روش ارائه شده در هوش مصنوعی نمادین تصمیم گیری می کند.
که بدون استدالت پیچیده قادر به واکنش در یک بخش واکنشی برابر رویدادها می باشد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
57
معماری چندالیه )ادامه(
غالبا به مولفه واکنشی نوعی تقدم نسبت به مولفه قیاسیداده می شود.
منجر الیه ایاین نوع ساختار بصورت طبیعی به معماری می شود که نمونه ای از آن ماشین تورینگ می باشد.
در چنین معماری ای زیر سیستم کنترلی عامل بصورت یکسلسله مراتب سازماندهی می شود که در آن الیه های
باالتر با اطالعات انتزاعی تری سروکار دارند.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
58
معماری چندالیه )ادامه(
یک مشکل کلیدی در این گونه معماری ها این است که چهتعامالت و ارتباطات نوع چارچوب کنترلی ای برای مدیریت
باید در زیرسیستم های عامل تعبیه بین الیه های گوناگونشود.
:الیه بندی افقی در این الیه بندی معماری متشکل از دو الیه یا بیشتر است که هر
کدام مستقیما به یک حسگر ورودی و یک عملگر خروجی متصل اند.
هر الیه به تنهایی همانند یک عامل عمل می کند که پیشنهاداتیراجع به این که چه عملی باید انجام شود تولید می کند.
1اليه
2اليه
... اليه
nاليه
درک )ورودی(
عمل )خروجی(
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
59
معماری چندالیه )ادامه(
الیه بندی عمودی در این الیه بندی ورودی ها و خروجی ها حداکثر با یک الیه مرتبط
می باشند. این ساختار به دو نوع تک مسیره و دو مسیره تقسیم می شود.
1اليه
2اليه
... اليه
nاليه
1اليه
2اليه
... اليه
nاليه
عمل )خروجی(
عمل )خروجی(
درک )ورودی(
درک )ورودی(
کنترل تک مسيره کنترل دو مسيره
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
60
معماری چندالیه )ادامه(
ماشین تورینگ شامل سه زیر سیستم درک، عمل و کنترل است که بطور
مستقیم با محیط در ارتباط می باشند. سه الیه کنترلی دارد که در یک چارچوب کنترلی هماهنگ کننده
الیه ها واقع شده اندنسبت به تغییرات محیط واکنش نشان می دهد. پیاده الیه واکنش :
سازی این الیه بصورت مجموعه ای از قوانین در قالب ساختار جزء به کل می باشد.
رفتار هدفمند عامل را پیاده سازی می کند و برای الیه برنامه ریزی :این کار از یک کتابخانه از برنامه ها و طرح ها استفاده می کند.
شامل بازنمایی نمادین وضعیت های شناختی الیه مدل ساز :موجودیت های دیگر در محیط عامل است.
ارتباط بین الیه ها با استفاده از زیر سیستم کنترلی صورت میگیرد که تعیین می کند کدام الیه کنترل عامل را بدست گیرد.
Updated by Ali Rahnama87231904
آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab
61
معماری چندالیه )ادامه(
معماری ماشین تورینگاليه مدل سازییک الیه ای عمودی
اليه برنامه ريزی
اليه واکنشی
زير سيستم درکزير سيستم عمل
زير سيستم کنترل
(قوانين کنترلی)
Updated by Ali Rahnama87231904
5-62
معماری چندالیه )ادامه(
InteRRaP( عمودی و دو طرفه - two-pass)
cooperation layer
plan layer
behavior layer
social knowledge
planning knowledge
world model
world interface
perceptual input action output
Updated by Ali Rahnama87231904
3-63
AGENT0 and PLACA
Much of the interest in agents from the AI community has arisen from Shoham’s notion of agent oriented programming (AOP)
AOP a ‘new programming paradigm, based on a societal view of computation’
The key idea that informs AOP is that of directly programming agents in terms of intentional notions like belief, commitment, and intention
The motivation behind such a proposal is that, as we humans use the intentional stance as an abstraction mechanism for representing the properties of complex systems.In the same way that we use the intentional stance to describe humans, it might be useful to use the intentional stance to program machines.
Updated by Ali Rahnama87231904
3-64
AGENT0
Shoham suggested that a complete AOP system will have 3 components: a logic for specifying agents and describing their mental states an interpreted programming language for programming agents an ‘agentification’ process, for converting ‘neutral applications’
(e.g., databases) into agents Results only reported on first two components. Relationship between logic and programming language is
semantics We will skip over the logic(!), and consider the first AOP
language, AGENT0
Updated by Ali Rahnama87231904
3-65
AGENT0
AGENT0 is implemented as an extension to LISP Each agent in AGENT0 has 4 components:
a set of capabilities (things the agent can do) a set of initial beliefs a set of initial commitments (things the agent will do) a set of commitment rules
The key component, which determines how the agent acts, is the commitment rule set
Updated by Ali Rahnama87231904
3-66
AGENT0
Each commitment rule contains a message condition a mental condition an action
On each ‘agent cycle’… The message condition is matched against the messages the agent has
received The mental condition is matched against the beliefs of the agent If the rule fires, then the agent becomes committed to the action (the
action gets added to the agent’s commitment set)
Updated by Ali Rahnama87231904
3-67
AGENT0
Actions may be private:
an internally executed computation, or communicative:
sending messages
Messages are constrained to be one of three types: “requests” to commit to action “unrequests” to refrain from actions “informs” which pass on information
Updated by Ali Rahnama87231904
3-68
AGENT0
Updated by Ali Rahnama87231904
3-69
AGENT0
A commitment rule:COMMIT(
( agent, REQUEST, DO(time, action)), ;;; msg condition( B,
[now, Friend agent] ANDCAN(self, action) ANDNOT [time, CMT(self,
anyaction)]), ;;; mental conditionself,DO(time, action)
)
Updated by Ali Rahnama87231904
3-70
AGENT0
This rule may be paraphrased as follows:if I receive a message from agent which requests me to do action at time, and I believe that: agent is currently a friend I can do the action At time, I am not committed to doing any other action
then commit to doing action at time
Updated by Ali Rahnama87231904
3-71
AGENT0 and PLACA
AGENT0 provides support for multiple agents to cooperate and communicate, and provides basic provision for debugging…
…it is, however, a prototype, that was designed to illustrate some principles, rather than be a production language
A more refined implementation was developed by Thomas, for her 1993 doctoral thesis
Her Planning Communicating Agents (PLACA) language was intended to address one severe drawback to AGENT0: the inability of agents to plan, and communicate requests for action via high-level goals
Agents in PLACA are programmed in much the same way as in AGENT0, in terms of mental change rules
Updated by Ali Rahnama87231904
3-72
AGENT0 and PLACA An example mental change rule: (((self ?agent REQUEST (?t (xeroxed ?x)))
(AND (CAN-ACHIEVE (?t xeroxed ?x)))(NOT (BEL (*now* shelving)))(NOT (BEL (*now* (vip ?agent))))
((ADOPT (INTEND (5pm (xeroxed ?x)))))((?agent self INFORM
(*now* (INTEND (5pm (xeroxed ?x)))))))
Paraphrased:if someone asks you to xerox something, and you can, and you don’t believe that they’re a VIP, or that you’re supposed to be shelving books, then
adopt the intention to xerox it by 5pm, and inform them of your newly adopted intention
Updated by Ali Rahnama87231904
3-73
Concurrent METATEM
Concurrent METATEM is a multi-agent language in which each agent is programmed by giving it a temporal logic specification of the behavior it should exhibit
These specifications are executed directly in order to generate the behavior of the agent
Temporal logic is classical logic augmented by modal operators for describing how the truth of propositions changes over time
Updated by Ali Rahnama87231904
3-74
Concurrent METATEM For example. . .
important(agents)means “it is now, and will always be true that agents are important”
important(ConcurrentMetateM)means “sometime in the future, ConcurrentMetateM will be important”
important(Prolog)means “sometime in the past it was true that Prolog was important”
(friends(us)) U apologize(you)means “we are not friends until you apologize”
apologize(you)means “tomorrow (in the next state), you apologize”.
Updated by Ali Rahnama87231904
3-75
Concurrent METATEM
MetateM is a framework for directly executing temporal logic specifications
The root of the MetateM concept is Gabbay’s separation theorem:Any arbitrary temporal logic formula can be rewritten in a logically equivalent past future form.
This past future form can be used as execution rules A MetateM program is a set of such rules Execution proceeds by a process of continually matching
rules against a “history”, and firing those rules whose antecedents are satisfied
The instantiated future-time consequents become commitments which must subsequently be satisfied
Updated by Ali Rahnama87231904
3-76
Concurrent METATEM
Execution is thus a process of iteratively generating a model for the formula made up of the program rules
The future-time parts of instantiated rules represent constraints on this model
An example MetateM program: the resource controller…
First rule ensure that an ‘ask’ is eventually followed by a ‘give’ Second rule ensures that only one ‘give’ is ever performed at
any one time There are algorithms for executing MetateM programs that
appear to give reasonable performance There is also separated normal form
Updated by Ali Rahnama87231904
3-77
Concurrent METATEM
ConcurrentMetateM provides an operational framework through which societies of MetateM processes can operate and communicate
It is based on a new model for concurrency in executable logics: the notion of executing a logical specification to generate individual agent behavior
A ConcurrentMetateM system contains a number of agents (objects), each object has 3 attributes: a name an interface a MetateM program
Updated by Ali Rahnama87231904
3-78
Concurrent METATEM
An object’s interface contains two sets: environment predicates — these correspond to messages the
object will accept component predicates — correspond to messages the object may
send For example, a ‘stack’ object’s interface:
stack(pop, push)[popped, stackfull]{pop, push} = environment preds{popped, stackfull} = component preds
If an agent receives a message headed by an environment predicate, it accepts it
If an object satisfies a commitment corresponding to a component predicate, it broadcasts it
Updated by Ali Rahnama87231904
3-79
Concurrent METATEM
To illustrate the language Concurrent MetateM in more detail, here are some example programs…
Snow White has some sweets (resources), which she will give to the Dwarves (resource consumers)
She will only give to one dwarf at a time She will always eventually give to a dwarf that asks Here is Snow White, written in Concurrent MetateM:
Updated by Ali Rahnama87231904
3-80
Concurrent METATEM
The dwarf ‘eager’ asks for a sweet initially, and then whenever he has just received one, asks again
Some dwarves are even less polite: ‘greedy’ just asks every time
Updated by Ali Rahnama87231904
3-81
Concurrent METATEM
Fortunately, some have better manners; ‘courteous’ only asks when ‘eager’ and ‘greedy’ have eaten
And finally, ‘shy’ will only ask for a sweet when no-one else has just asked
Updated by Ali Rahnama87231904
3-82
Concurrent METATEM
Summary: an(other) experimental language very nice underlying theory… …but unfortunately, lacks many desirable features — could not be
used in current state to implement ‘full’ system currently prototype only, full version on the way!