صفحه 1:
صفحه 2:
معماری انتزاعی عامل ها
۳" می توانیم نمایش انتزاعی از عامل را بصورت فرمال بنویسیم.
* این نمایش فرمال در ساخت عامل کمکی به ما نمی کند.
' فرض كنيد 8 مجموعه ای متناهی از حالات باشد و فرض کنید که محيط مى
تواند در هر لحظه در یکی از این حالات باشد.
F= {s1, 82, ...} |
۴ عامل بصورت مخزنی از اعمال آن فرض می شود که حالات محیط را انتقال می
1
A= {al,a2,.
أزايتكاه سيستمهاى هوشمند. Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 3:
ae عامل استاندارد
بصورت انتزاعی یک عامل را می توان بصورت یک تابع انتقال حالت مشاهده کرد
action: S* > A
یک عامل براساس سایقه اش تصمیم می كيرد كه جه اقدامى انجام دهد.
رفتار(غیر قطعی) محیط را می توان بصورت یک تابع مدل کرد
env:s *A>W(S)
مى توانیم تعامل عامل و محیط را بصورت یک سابقه نمایش دهیم. "*
20 21 22 a3 au-1 au
bes0 331-352 3:63 $5950
مئتسولند يسكمسابقه ممكراز عاملدر محيطرا نسمايش. م دهد كر و تسنها لكر شرليط وير بسرقرر
a, =actiolS, §,...5,)) ly
80 به ازأى هر نا متعلق به
S,eentS,,,a,,) 11<0 هر دا متعلق به لا بطوری که lila ©
اسمس ی 0
87231904
صفحه 4:
۹
عامل واکنشی محض (۳4)
۴ این عامل بدون مراجعه به سابقه اش تصمیم می گیرد که چه انجام دهد. اين
عامل اتخاذ تصمیم خود را کاملا برمبنای زمان حال قرار می دهد و به هیچ وجه
توجهی به گذشته ندارد.
! نمایش فرمال این عامل به این صورت است: action: S >A
" به ازای PRA jo یک عامل استاندارد معادل آن وجود دارد. اما عکس آن
5 أزايتكاه سيستمهاى هوشمند. Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 5:
1
تصحیح مدل انتزاعی
تفکیک تابع تصمیم گیری عامل به زیر سیستم های ز:
* ادراک: تابع 566 توانایی عامل در مشاهده محیط خود را نشان می دهد. این تابع در
ار می تواند بصورت دوربین ویدیویی یا حسگر مادون قرمز بر روی یک روبات
متحرک پیاده ساری شود درنزم اقرار می تواند مستورات سیستنی ای باه که اطلامات
مزبوط به عحیط نرم افزار را دریافت می aus خروجی تابع 566 یک اد راک است:
۲ و و :عوو
* عمل: تابع 201011 فرآیند اتخاذ تصمیم عامل را نمایش می دهد.
action: P*>A
" تابع 207072 دنباله ای از ادراکات را به اعمال نگاشت می کند.
sted by ديك
Urata by ی
87231904
صفحه 6:
a زير سی تم های ادراک و عمل
۳
عاما
Updated by Ali
Ral
87231904
صفحه 7:
امد
Gs عامل های دارای حالت داخلی
این عامل ها دارای ساختار داده ای می باشند که عموما برای ثبت اطلاعات
وضعیت محیط و سابقه عملیات عامل از آنها استفاده می شود. فرض کنید 1
مجموعه تمام حالات داخلی عامل باشد.
قببمادینک ۳ 25 5 :موی 3
تابعلنتخابعیل۸ < ] : ت20 ۷
حا لعلخلیو ادرلکرا بنه ی کها لعاخلی #شموكه ] << ۳ * [ : ورزر 9
35 أزايتكاه سيستمهاى هوشمند. Updated by Ali
لساب ا سودي
87231904
صفحه 8:
۹ عامل های دارای حالت داخلی (ادامه) "
action
صفحه 9:
عامل های دارای حالت داخلی (ادامه)
۴ حلقه کنترلی عامل
آغاز فعالیت عامل از وضعیت اولیه 10
مشاهده وضعیت محیط 4 و تولید ادراک (566)5
به روز آوری وضعیت داخلی از طریق next(i0, See(S)) whi
انتخاب عمل مناسب توسط تابع (((5) © ©5 ,261301200267140
تکرار از مرحله ۲
9 أزايشكاه سيستمهاى هوشمند
و
Updated by Ali
‘Rahnama
87231904
صفحه 10:
وظایف عامل ها
عامل ها را می سازیم تا برایمان وظایفی انجام دهند.
"" وظیفه باید توسط ما تعیین شود.
۴ اما می خواهیم به عامل بگوییم چه انجام دهند بدون این که به آن بگوییم
چگوله آن را انجام دهد.
3 أزايشكاه سيستمهاى هوشمند
لساب ا
Updated by Ali
‘Rahnama
87231904
صفحه 11:
۹
توابع سودمندی بر روی حالت
یک راه: به هر حالت یک سودمندی نسبت دهید. وظیفه عامل آن است که به
حالاتی برسد که به حداکثر سودمندی منجر می شوند.
"! توصیف وظیفه یک تابع بصورت زیر است:
uzE > R
این تابع یک عدد حقیقی به هر حالت محیط نسبت می دهد. ۴
اسمس اد ٠
87231904
صفحه 12:
۹
سودمندی و اجرا (سابقه)
۴ اما مقدار اجرا چیست؟
* مینیمم سودمندی حالت در اجرا؟
* ماکزیمم سودمندی حالت در اجرا؟
۴ مجموع سودمندی های حالات در اجرا؟
۴ میانگین آن؟
#" عیب: تعیین یک نمایش طولانی مدت در هنگام نسبت دادن سودمندی به
حالات دشوار است.
*" یک راه: تخفیف برای حالات از یک
0 اسمس لاسي
87231904
صفحه 13:
۹
سودمندی در اجرا
راه دیگر: سودمندی را به جای حالات به اجراها نسبت دهید.
8 و لخن
| چنین رویکردی به خودی خود نمایش طولانی مدت را لحاظ می کند.
* ضورت:های دیگر: احتمال حالات:مختلف پدید آمده را ثير در نظو
۴ مشکلات رویکردهای بر مبنای سودمندی:
9 این اعداد و مقادیر از کجا می آیند؟
* تفکرات ما براساس سودمندی لیست.
* فرموله کردن وظایف به این صورت مشکل است.
sted by کبشم 2
Urata by ی
87231904
صفحه 14:
یک شبکه دو بعدی که در آن عامل. کاشی
وجود دارند.
هاء موانع و حفره هایی
عامل می تواند در چهار جهت بالا. پایین. چپ و راست حرکت کند و
اگر در کنار یک کاشی باشد می تواند آن را هل دهد.
حفره ها باید با کاشی ها توسط عامل پر شوند. عامل با پرکردن حفره
توسط کاشی امتیاز می گیرد و قصد دارد که تا حد ممکن حفره های
بيشتري و1 بر قد
دنیای کاشی ها یا ظاهر شدن و ناپدید شدن حفره ها بصورت تصادفی
تقبير مت ند
تابع سودمندى بصورت زير تعريف مى شود
تعداد حفره هایپرشدم در 12
u(h)
تعداد حفرم هایظاهر شده در 12
9
Updated by Ali
‘Rahnama
87231904
صفحه 15:
ie
bie معماری های عامل
۴ پرسش: چگونه عملیات انتزاعی که در قبل دیدیم را می توان پیاده سازی
کرد؟
* قصد ما این است که عامل هایی بسازیم که ویژگی های خودمختاری» واکنشی.
کنش گرایی و قابلیت اجتماعی داشته باشند.
۴ پاسخ به اين پرسش در حوزه معماری عامل ها قرار می گیرد.
"! معماری عامل:
*" یک نقشه از عناصر داخلی عامل - ساختمان داده های آن, اعمالی که ممکن است بر روی
این ساختمان داده ها اجرا شوند و جریان کنترلی بین این ساختمان دلده ها.
9 أزايشكاه سيستمهاى هوشمند و
و ها
87231904
صفحه 16:
چهار نوع معماری
۴ چهار نوع معماری برای چهار گروه از عامل ها مطرح است:
۳"
لا
عامل هاى منطقى/ نمادين
عامل هاى تركيبى و جند لايه
صفحه 17:
ES تاریخچه
در سالهای ۱۹۵۶ تا ۱۹۸۵ تقریبا تمام عامل هایی که در هوش مصنوعی
طراحی می شدند بر منتائ استدلال يودئد و از استدلال منطقی در این گونه
غامل ها برای تضمیم گیری انتقانة شده است.
! در سال ۱۹۸۵ با توجه به مشکلات استدلال نمادین عامل های واکنشی مطرح
شدند.
از سال ۱۹۹۰ به بعد تکنیک های معماری ترکیبی ارائه شدند که سعی در
ترکیب بهترین معماری های استدلالی و واکنشی را داشته اند.
ast sek) @
Updated by Ali أزمايشكاه سيستمهاى هو
و ها
87231904
صفحه 18:
عامل های منطقی/ نمادین ۷
۴ ساده ترین روش برای ساخت عامل ها این است که آنها را نوع خاصی از سیستم
های مبتنی بر دانش بدانیم.
"" اين الكو هوش نمادين ناميده مى شود .
"1 يك معمارى منطقى معمارى اى است كه :
*" در آن عامل شامل مدلى نمادين از دنياى واقعى است كه بطور صريح بيان مى شود.
* تصميمات آن بر مبناى استدلال نمادين يا منطق صورت مى كيرد.
أزايتكاه سيستمهاى هوشمند. Updated by Ali
تسم 9 ها
87231904
صفحه 19:
عامل های منطقی/ نمادین (ادامه) ۹
* مشکلات عمده عامل های منطقی
* تعریف تابع نگاشت محیط به ادراک به شکل نمادین مشکل است. به عبارت دیگر تعریف
خصوصیات یک محیط پویا و واقعی در قالب مجموعه ای از قوانین استنتاج دشوار است.
زمان لازم براى تصميم گیری این عامل ها قابل کنترل نبوده و احتمال دارد تبع تصمیم
گیری هرگز پایان نگیرد.
sted by کبشم
Urata by ی
87231904
صفحه 20:
عامل های منطقی/ نمادین (ادامه) ۹
" عامل چگونه از اه اثبات قضیه تصمیم می كيرد كه جه کاری انجام دهد؟
* ایده اصلی استفاده از منطق برای کد کردن قضیه است که بهترین عملبی را که
بايد در هر موقعیت اجرا شود بیان می کند.
*" فرض کنید:
* این قضیه باشد) قوانین قیاسی(
© شیک پایگاه MN منطقی 01 حالت جاری 1057 8 9011 00 O00
* 40 ی کمجموعه از لعمطلکه عاملمیتسولند لنجام دهد
© , -| شیعنیج_بتواند با استفاده از از اثبات شود
sted by ی تن
Urata by ی
87231904
صفحه 21:
عامل های منطقی/ نمادین (ادامه) ee
مج ات نیا
< ۲ *ظ۲ یور ۲
action: D>A ©
tl, L ae 0 ۴ دادم لستوضعیتدخلیهر عاملعضوعاز
ed asses ,۸2 ,10000۵1 ۵ 10 10111
5 رای یی ود ated by Al
ميدي دن
87231904
صفحه 22:
عامل های منطقی/ نمادین (ادامه) ۷
© شبه كد تعريف عمل
© : (۵) :م) مت سیخ
| لس راوج مطاع مه لجن حارو */
Por cack ae AC dy
APA |- , Do (a) ten
retura 2
poh
لیس
| الا ام مرت مت لس تون PP
For wack ae AC de
Do(a) tea سس مر -| ۸ 1۳
retura A
poh
portion
/* لصحا مصحه جه */ retera DULL
pod cmon arto
ay Soci
87231904
صفحه 23:
* مثال: دنیای جاروبرقی
عامل های منطقی/ نمادین (ادامه)
dae روبات روبات جستجوی محیط. کشف آشغال و جارو کردن آن است.
(ny) Inlx4y) ADirt (x,y) —+ Bol suck)
| 26۴2 | وعم
In(xy) اجه
In(0,0) A Facing(north) A Dirt(0,0) —+ Dol forward)
In(0,1) A Facing(north) A Dirt(0, 1) —+ Dol forward)
Dirt(x,y) there is dirt at (x.y)
Facing(d) the agent is facing direction ل
In(0,2) A Facing north) A Dirt(0,2) —+ Do(turn)
In(0,2}A Facing(east) —+ Dol forward)
هه
أزايتكاه سيستمهاى هوشمند.
لساب ا
‘Rahnama
87231904
Updated by Ali
صفحه 24:
۹ عامل های منطقی/ نمادین (ادامه) ae
& عامل دنیای جاروبرقی
* از سه گزاره در این مثال استفاده می کنیم:
In(x,y) © عاملدر خانه (,) قرار دارد
ails ,» Dirt(x,y) © 2,17) آشفا (هجود دارد
* (186112000 جهتعاملبه سمته لسنکه # میتولند شم لجنوبشرقیا غرب
یاشد
* اعمال ممکن
tury] js 5 Ac ={turn, forward,suck} * به معنیگردشبه رلستمی
pre
- اسمس ی
87231904
صفحه 25:
عامل های منطقی/ نمادین (ادامه)
" قوانین برای تعیین این که چه عملی انجام شود
In(0, 0) A Facing(north) \ =Dirt(0,0) —+ Do(forward)
Do(forward) جب In(0, 1) A Facing(north) \ =Dirt(0,1)
In(0, 2) A Facing(north) A =Dirt(0,2) —+ Do(turn)
In(0,2) A Facing(east) —+ Do(forward)
۹
۴ وغیره
عامل با استفاده از این قوانین و با شروغ از خانه (۰و۰) شروع به برداشتن آشفال
می کند.
ate oan =
87231904
صفحه 26:
عامل های واکنشی
مسائل حل نشده فراوانی در رابطه با هوش مصنوعی نمادین وجود دارد.
"" این مشکلات باعث شد که تعدادی از محققین در پی یافتن جانشینی برای آن
باشند و سه دیدگاه مطرح شد:
دیدگاه اول به رد بازنمایی نمادین و تصمیم گیری براساس ساختار آن پرداخته است
ديدكاه دوم اين ايده را دارد كه رفتار هوشمند عامل ناشى از تعامل با محیط لست و بطور
مستقل قابل تعريف نيست.
* در دیدگاه سوم رفتارهاى هوشمند متشكل و منتج از رفتارهاى ساده تر دانسته شده است.
این دیدگاه عامل را مبتنی بر رفتار می داند.
sted by کبشم S
Urata by ی
87231904
صفحه 27:
عامل های واکنشی (ادامه» ۷
٩000657 8700166 ™ معمییچزء به کلرا مطرح کرد که در آندو
* اول این که تصمیم گیری عامل از طریق مجموعه ای لز رفتارهای مستقل صورت می گیرد
و بر محيط اثر مى گذارد. یعنی درک از محیط براساس اثر رفتار به عنوان ورودی نگاشتی
از حالت به عمل می دهد.
* دوم اين که تعدادی رفتار بطور همزمان می توانتد اجرا شوند.
sted by کبشم @
Urata by ی
87231904
صفحه 28:
عامل های واکنشی (ادامه» ۷
در این معماری رفتارها بصورت لایه های مختلنی اراه می شوند که
© هر رفتار یک ساختار شییه قنون داردة
عمل وضعیت
* هر رفتار براى كرفتن کنترل عامل با دیگیانرقایت می کند.
© سطوح بالاتر رفتارهای انتزاعی تری را بروز می دهند
© لایه های پایین تر قادر به جلوگیری لایه های بالاتر هستند یعنی تقدم بیشتری نسبت یه
آنها دارند.
sted by کبشم €
Urata by ی
87231904
صفحه 29:
عامل های واکنشی (ادامه» Be)
201010 تعریف تابع *
function action(p:P) : A
var fired: ~(R)
var selected: A
begin
fired := {(c,a) | (c,a) e Rand pec}
for each (c,a) « fired do
if not( Exists (c’,a’) e fired such that (c’,a’)
(c,a)) then return a
end-if
end-for
return null
end function action
ated by a ny det 0
| سينا ا سب nh
87231904
صفحه 30:
عامل های واکنشی (ادامه» ۷
یک مثال: سیستم کاوشگر مریخ
* شامل گروهی از زونات (عامل) ماین جتمع أورى تنوتة ينها أ سطع مزيخ فى باشد كم
در آن مکان نمونه ها از قبل مشخص نیست اما می دلنیم که نمونه ها در حوالی یکدیگر
قرار دارند.
هر روبات تا جایی می تواند از مبدا دور شود که امکان
افت سیگنال از مبدا اصلی باشد.
" ارتباط بین عامل ها بصورت غیر مستقیم از طریق مبدا صورت می گیرد.
* اگر نمونه جمع آورى شده توسط يك عامل در مسير انتقال به مبذا رها شود عامل ديكر
آن را برمی دارد.
© هریک از این عامل ها به تنهایی دارای رفتار خاص می باشند و مهم ترین و پایین ترین
سطح (با بالاترین اولویت) پرهیز از موانع می باشد.
مه أزايشكاه سيستمهاى هوشمند و
و ها
87231904
صفحه 31:
عامل های واکنشی (ادامه»
۴ گروه های رفتاری و سلسله مراتب عملیات عامل:
صفحه 32:
SB
۷ عامل های واکنشی (ادامه» ae
۴ مزایا و معایب معماری واکنشی
مزایا
© ساده مقرون به صرفه. کامل و محکم
* معایب
© همواره باید اطلاعات کافی از محیط برای هر عامل بصورت محلی فراهم باشد.
* چون تصمیم گیری براساس اطلاعات محلی صورت می گیرد استفاده از اين معماری در
حالت های غیرمحلی عمومیت ندارد.
© یادگیری در این معماری با چنان وسعتی همراه خواهد بود که عملا از کارایی آن می
کاهد.
ee أزايشكاه سيستمهاى هوشمند و
nian Diath
87231904
صفحه 33:
استدلال عملی ۳
استدلال عملی استدلالی است که جهت گیری آن به سمت اعمال است یعنی
فرآیند معین کردن این که چه کاری انجام دهیم.
۴ تعریف 8111087 از استدلال عملی
* استدلال عملی به وزن دادن به ملاحظات مختلف و متضاد به نفع یا برعلیه گزینه های
رقیب هم مربوط می شود که در آن ملاحظات مناسب از آنچه که عامل قصد دارد(برایش
ارزش دارد/ به آن توجه دارد) و آن چه که عامل باور دارد فراهم می شود.
۲ استدلال عملی با استدلال نظری متفاوت است. جهت گیری استدلال نظری به
سمت باورها است.
sted by کبشم =
Urata by ی
87231904
صفحه 34:
استدلال عملی (ادامه)
"ا استدلال عملی در انسان شامل دو عمل است:
بررسی و قیاس : تصمیم گیری در مورد اين که به چه اهدافی می خواهیم برسیم
* خروجی بررسی و قیاس قصد ها می باشند.
* استدلال عملی: تصمیم گیری در مورد این که چگونه می خواهیم به اين اهداف برسيم
sted by کبشم 35
Urata by ی
87231904
صفحه 35:
بررسى و قياس
عامل چگونه بررسی و قیاس می کند؟
7 بتدا سعی کنید بفهمید چه گزینه هایی پیش روی شماست
* از بین آنها گزینه هاین را لنتخاب کنيد و متفه به انجام آنها قوین.
گزینه های انتخاب ۵
ه قصد ها خواهند بود.
ابع بررسی و قیاس را مى توان به دو مولفه تقسیم کرد:
* تولید گزینه ها: در اين بخش مجموعه ای از گزینه ها توليد مى شود. اين كار از طریق
تابعی به نام 0000 انجام می شود که پاورهای کنونی عامل و قصد های کنونی آن را
مى كيرد و مجموعه گزینه ها را تعیین می کند.
* فیلتر کننده گزینه ها: در اين بخش تابعی به نام 121061 بین حالت ها و پيشنهادهای
مختلف انتخاب می کند و عامل برای رسیدن یه آنها متعهد می شود.
Updated by Ali أزايتكاه سيستمهاى هوشمند. a
‘Rahnama فخا يديه سي
87231904
صفحه 36:
استدلال عملی
* ايده اصلى آن است كه به عامل
© نمايش قصد ها و اهدافى كه بايد به آنها برسد
۴ نمایش اعمالی که می تواند انجام دهد و
* نمایش محیط
"1 داده شود تا او برنامه اى را براى رسيدن به هدف توليد كند.
برنامه سازی خوددکار اسث:
ee أزايشكاه سيستمهاى هوشمند و
nian Diath
87231904
صفحه 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 Al
سي
87231904
صفحه 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.
03
Updated by Ali
‘Rahnama
87231904
صفحه 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 ه
‘Rahnama
87231904
صفحه 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.
eo
Updated by Ali
‘Rahnama
87231904
صفحه 41:
2
BDL giles
"ا معماری 911 بر مبنای استدلال عملی است
۴ تصمیم گیری در مورد این که به چه اهدافی باید برسیم
۴ تصمیم گیری در مورد این که چگونه به آن اهداف برسیم
BDI ©
Beliefs) 3) "*
Desires) bs 21,5 ©
dntentions) b a3 ©
ea أزايشكاه سيستمهاى هوشمند و
nian Diath
87231904
صفحه 42:
Se
(aslo!) BDI معماری Gs
"1 قصد ها:
۴ از استدلال عملی ناشی می شوند
*" بررسی های آینده را تحمیل می کنند
* مانا هستند
* بر روی باورها تاثیر می گذارند که استدلال عملی آینده بر مبنای آنها است
‘Undated by Alt eae a
87231904
صفحه 43:
۹ (aslo!) BDI معماری
ورودى حسكوا
Updated by Ali
‘Rahnama
87231904
صفحه 44:
Be) (aslo!) BDI معماری
™ مولفه هاى BDI dle
7 باورها
* اطلاعات عامل را در محیط کنونی اش بیان می کند.
* تابع بازنگری باورها
* درک عامل را با نگاشت بر روی محیط دریافت کرده و باورهای جاری را به روز می کند.
(Bel) > ط * راوظ)م عبط *
* تابع تولید گزینه
* ورودی آن باورها و فصد عامل بوده و براساس آنها انتخابهاى ممكن براى عامل را كه در واقع
همان تمایلات اوست تعیین می کند
(Des) < اماب * موق)ب options:
5 رای یی ود ted by A
ميدي دن
87231904
صفحه 45:
eo
۹ (aslo!) BDI معماری
* مجموعه ای از گزینه های معتبر(تمایلات) که مبین اعمالی است که عامل می تواند
انجام دهد.
* یک تابع فیلترکننده که ورودی آن باورها و قصدهای عامل بوده و خروجی آن براساس
فرآیند تبادل نظر(قیاس) اهداف (قصدهای) جدید عامل است
هص)م < (عوط)م * filter: (Bel) * g(Int)
* مجموعه ای از قصدهای جاری که کانون فعالیت عامل را تعیین می کند.
* _تابع انتخاب عمل بر پایه قصد و اهداف فعلی که عملی را که باید انجام شود تعیین می
كيد
A or action: P> A > صلام : صانهعجه
5 7 asp tees
یاب دس تا ی"
87231904
صفحه 46:
معماری 11 (ادامه) Be)
‘BDI »» action at شبه کد ©
function action(p: P):A
begin
B:= brf (Bp)
D:= options(B,1)
I:= filter(B,D,I)
return execute(I)
end function action
55 أزايتكاه سيستمهاى هوشمند. Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 47:
مشکلات 11«1
۴ عاملی که در قصدهای خود ت
۹
ند نظر نمی کند تلاش می کند. جتي پس از
آنکه روشن شد که قابل دستیابی نیستند یا دیگر دلیلی برای رسیدن به آنها
وجود ندارد برای رسیدن به آنها تلاش می کند
۴ عاملی که پیوسته در قصدهای خود تجدید نظر می کند
می دهد.
we أزايشكاه سيستمهاى هوشمند
Diath
ان و منابع را به هدر
Updated by Ali
‘Rahnama
87231904
صفحه 48:
يك عامل BDI پیاده سازی شده: عامل ۳1۸5 Be)
در این سیستم هر عامل دارای مجموعه ای از برنامه ریزی های انجام
شده(11016757 0180) می باشد که بیانگر دانش رویه ای عامل است.
۴ دانش رویه ای دانشی درباره مکائیزم هایی است که می توانند توسط عامل به منظور
تحقق قصد هایش به کار روند.
های پیش روی یک عامل مستقیما توسط برنامه ریزی های آن تعیین
8 بشنوند. عافلی که برنامه زیزی ندازه گریند ای نخواهد: داشت.
"" در این سیستم عامل ها بازتمابی ضریحی از lel تمایلات و قصدها وانیز
دانش رویه ای دارند.
55 أزايتكاه سيستمهاى هوشمند. Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 49:
PRS Jae ae (ادامه)
مساری ۳136 محیط
صفحه 50:
9 پیاده سازی شده: BDI مثالى از یک عامل asec
1 IRMA ©
le IRMA © ساختمانداده نماميزدارد:
© مجموعه ای از برنامه ریزی ها
* نمایش صریح از باورها: اطلاعاتی که عامل در اختیار دارد که یا می تواند بصورت نمادین
بیان شود حتی می تواند بسادگی تعریف متفیرهای زبان پاسکال باشد.
* تمایلات: مفاهیمی که مورد نظر عامل است
* قصدها: تمام لهدافی که عامل به آنها دسترسی داشته و برای رسیدن به آنها تعهد دارد.
ated by Ali زیت سای شم oo
ae بلسي
87231904
صفحه 51:
((ادلمه) ۷
معماری آن قسمت های زیر را دارد:
بخش استدلال: در واقع یک موتور استنتاج است که برای استدلال درباره محیط
اطراف عامل بكار مى رود.
يك تحليل كر عملى: تعيين مى كند كه كدام برنامه يراى رسيدن به قصد انتخاب شود
یک تحليل كر موقعيت شناس: نظارت بر محيط در صورت ارائه انتخاب هاى جديد را
دارد
یک برنامه فیلتر کننده: تعیین می کند کدام گزینه با قصد جاری سازگار است
یک برنامه بررسی و قیاس: مسئول تصمیم گیری در مورد بهترین قصد برای انجام
أزايتكاه سيستمهاى هوشمند. Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 52:
ل تمایلات
ee
صفحه 53:
k/“m)w/pub/imas/
plan
interpreter
dlynamie phan
tet
generator
world
simulator
Homer
reflective
process
hhuman director
episodic
Tat
interpreter
Updated by Ali
‘Rahnama
87231904
صفحه 54:
Se
لقا Dialogues with HOMER ae
EXAMPLE DIALOGUE 1
U: What is in front of you?
A log.
Do you own the log.
No, I don’t.
The log belongs to you.
Oh.
]
Turn away from your log.
OK, I am turning.
LOG IS MOVED]
Turn around.
OK, I'm turning.
I've lost the log! 5-5
Updated by Ali
‘Rahnama
87231904
صفحه 55:
Ks
(Soy
Dialogues with Homer ae
EXAMPLE DIALOGUE 2
: Drop the package at the barge next Saturday at ۰
: OK.
HOMER GENERATES PLAN]
: Are you going to the barge next Saturday?
# Tes.
= What time?
: 8.56pm
U
H
1
10
H
U
H
(USER ADDS CONTRADICTORY INSTRUCTIONS, WHICH HOMER YETECTS.]
Updated by Ali
‘Rahnama
87231904
صفحه 56:
معماری چندلایه (ترکیبی) Be
بسیاری از محققین بر این عقیده اند که نه یک روش واکنشی و نه یک روش
قیاستی به تقهایی برای ساختن عامل ها کاقی نمی باشد:
* انان سیستم های چند لایه ای را پيشنهاد داده اند که رابطه نزدیکی با روش
های کلاسیک دارد.
5 يك رويكرد بدیهی این است که عامل را از دو یا چند زیر سیستم بسازیم:
* یک بخش قیاسی شامل یک مدل نمادین از جهان که برنامه ریزی ها را ایجاد مى كند و
از روش ارائه شده در هوش مصنوعی نمادین تصمیم گیری می کند.
۴ یک بخش واکنشی که بدون استدلات قادر به واکنش در برابر رویدادها می
باشد.
snip dee 0 0 5
شا دنو اس ی"
87231904
صفحه 57:
معماری چندلایه (ادامه) ۹
غالبا به مولفه واکنشی نوعی تقدم نسبت به مولفه قیاسی داده می شود.
این نوع ساختار بصورت طبیعی به معماری لایه ای منجر می شود که نمونه ای
از آن ماشین تورینگ می باشد.
در چنین معفاری ای, زیر سیستم کنترلی عامل بصورت یکت سلسلة مراتب
سازماندهی می شود که در آن لایه های بالاتر با اطلاعات انتزاعی تری سروکار
دارند.
sted by کبشم x
Urata by ی
87231904
صفحه 58:
tes
1 معماری چندلایه (ادامه) ۹
يك مشكل كليدى در اين كونه معمارى ها اين است كه جه نوع جارجوب
كنترلى اى براى مديريت تعاملات و ارتباطات بين لايه هاى كوناكون بايد در
زیرسیستم های عامل تعبیه شود.
gan ay | افقی:
8
* در این لایه بندی معماری متشکل از دو لایه یا بیشتر است که هر دام مستقیما به یک
حسگر ورودی و یک عملگر خروجی متصل اند.
* هر لایه به تنهایی همانند یک عامل عمل می کند که پیشنهاداتی راجع به این که چه
عملی باید انجام شود تولید می AS
عمل (خروجی) درک (ورودی)
"a core
87231904
صفحه 59:
معماری چندلایه (ادامه) ۹
" لایه بندی عمودی
* در این لایه بندی ورودی ها و خروجی ها حداکثر با یک لایه مرتبط می باشند. این
ساختار به دو نوع تک مسیره و دو مسیره تقسیم می شود.
foe) عمل
م الاليهدم +
و ayn +
لایه 2 +
لایه 2
1 لایه Lay
fi 1
-
عمل (خروجی) درک (ورودی) درک (ورودی)
کتعرل دو مسیره کنترل تک مسیره
هه ast sek)
أزمايشكاه سيستمهاى هو Updated by Ali
فخا يديه سي ‘Rahnama
87231904
صفحه 60:
معماری چندلایه (ادامه) ۹
* ماشین تورینگ
en
شامل سه زیر سیستم درک. عمل و کنترل است که بطور مستقیم با محیط در
ارتباط می باشند.
سه لایه کنترلی دارد که در یک چارچوب کنترلی هماهنگ کننده لایه ها وآقع
شده آند
* لایه واکنش: نسبت به تغییرات محیط واکنش نشان می دهد. پیاده سازی این لایه
بصورت مجموعه ای از قوانین در قالب ساختار جزء به کل می باشد.
لایه برنامه ریزی: رفتار هدفمند عامل را پیاده سازی می کند و براى اين كار از يك
کتابخانه از برنامه ها و طرح ها استفاده می کند.
* لایه مدل ساز: شامل بازنمایی نمادین وضعیت های شناختی موجودیت های دیگر در
محیط عامل است.
ارتباط بین لایه ها با استفاده از زیر سیستم کنترلی صورت می گیرد که تعیین
می کند کدام لایه کنترل عامل را بدست گیرد.
أزايتكاه سيستمهاى هوشمند. ۲ ۲
لساب ا اله اانا
87231904
صفحه 61:
معماری چندلایه (ادامه)
* معماری ماشین تورینگ
یک لایه ای عمودی
Updated by Ali
87231904
صفحه 62:
(CWO-PASS) 48,b 59 5 sosee - INteRRaP
Ss
layer |——}_ world model
world interface
0
plan layer —planning knowledge
معماری چندلایه (ادامه)
ooperation layer زوا knowledge
behavior
coms input action output
Updated by Ali
‘Rahnama
87231904
صفحه 63:
AGENTO 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 ona
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,
“382 the intentional stance to program machines.
97231904
صفحه 64:
AGENTO
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
unméitst AOP language, AGENTO ona
‘Rahnama
87231904
صفحه 65:
AGENTO
AGENTO is implemented as an extension to LISP
Each agent in AGENTO 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 موه
‘Rahnama
87231904
صفحه 66:
AGENTO
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 موه
‘Rahnama
87231904
صفحه 67:
AGENTO
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 ene
‘Rahnama
87231904
صفحه 68:
صفحه 69:
AGENTO
A commitment rule:
COMMIT (
( agent, REQUEST, DO(time, action)
), 43% Msg condition
(8B,
[now, Friend agent] AND
CAN(self, action) AND
NOT [time, CMT(self, anyaction)]
), 7% mental condition
self,
DO(time, action)
)
Updated by Ali
‘Rahnama
87231904
صفحه 70:
AGENTO
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
Ican do the action
At time, Iam not committed to doing any other action
then commit to doing action at time
Updated by Ali و
‘Rahnama
87231904
صفحه 71:
AGENTO and PLACA
AGENTO 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 AGENTO: the inability of agents to
Pa and communicate requests for action via
igh-level goals
Agents in PLACA are programmed in much the
way as in AGENTO, in terms of mental 5 © اهعمسن
@hange rules
صفحه 72:
AGENTO 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
vndateaiy as inform them of your newly adopted intention
87231904
همم
صفحه 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
صفحه 74:
Concurrent METATEM
For example. . .
eimportant(agents)
means “it is now, and will always be true that
agents are important”
dimportant(ConcurrentMetateM)
means “sometime in the future,
ConcurreytMetateM will be important”
dimportant(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”
Oapologize(you)
means “tomorrow (in the next state), you
vada Qlogize”. موم
87231904
صفحه 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
uriateernyn mitments which must subsequently be satisfied
87231904
صفحه 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... © ask(x) + 6 give(x)
Vxy give(x) A give(y) = (x=y)
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
وم is also separated normal form
87231904
موم
صفحه 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:
—— aname
an interface
a MetateM program
Updated by Ali
‘Rahnama
87231904
صفحه 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,
y Ali
sroadcasts it
Updates
Rahn
87231
صفحه 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 | spow-White(ask)[givel:
© ask(x) > 4 give(x)
give(x) A give(y) > (x =y)
موم
5
صفحه 80:
۹ Concurrent METATEM “2
The dwarf ‘eager’ asks for a sweet initially,
and then whenever he has just received one,
asks agaiBager(give)[ask]:
start = ask(eager)
© give(eager) = ask(eager)
* Some dwarves are even less polite: ‘greedy’
greedyigive) [ask]: كلده اقال
start = ([] ask(greedy)
Updated by Ali eve
‘Rahnama
87231904
صفحه 81:
Concurrent METATEM
Fortunately, some have better manners;
‘courteous’ only asks when ‘eager’ and ‘greedy’
have eaten courteous(give)[ask]:
((— ask(courteous) S$ give(eager)) A
(= ask(courteous) S give(greedy))) =
ask(courteous)
And finally, ‘shy’ will only ask for a sweet when
no-one else | shy(give)[ask]:
start => 4 ask(shy)
© ask(x) = - ask(shy)
© give(shy) + » ask(shy)
مره
صفحه 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!
همه
Updated by Ali
‘Rahnama
87231904