82
ل ها م ماری عا ع م

معماری عامل ها

  • Upload
    deanne

  • View
    76

  • Download
    3

Embed Size (px)

DESCRIPTION

معماری عامل ها. معماری انتزاعی عامل ها. می توانیم نمایش انتزاعی از عامل را بصورت فرمال بنویسیم. این نمایش فرمال در ساخت عامل کمکی به ما نمی کند. فرض کنید E مجموعه ای متناهی از حالات باشد و فرض کنید که محیط می تواند در هر لحظه در یکی از این حالات باشد. E = {s1, s2, … } - PowerPoint PPT Presentation

Citation preview

Page 1: معماری عامل ها

معماری عامل ها

Page 2: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

2

معماری انتزاعی عامل ها

می توانیم نمایش انتزاعی از عامل را بصورت فرمالبنویسیم.

.این نمایش فرمال در ساخت عامل کمکی به ما نمی کند فرض کنیدE مجموعه ای متناهی از حاالت باشد و فرض

کنید که محیط می تواند در هر لحظه در یکی از این حاالت باشد.

E = {s1, s2, …} عامل بصورت مخزنی از اعمال آن فرض می شود که

حاالت محیط را انتقال می دهند.A = {a1,a2, …}

Page 3: معماری عامل ها

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

Page 4: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

4

(PRAعامل واکنشی محض )

این عامل بدون مراجعه به سابقه اش تصمیم می گیرد کهچه انجام دهد. این عامل اتخاذ تصمیم خود را کامال برمبنای

زمان حال قرار می دهد و به هیچ وجه توجهی به گذشته ندارد.

:نمایش فرمال این عامل به این صورت استaction: S A

به ازای هرPRA .یک عامل استاندارد معادل آن وجود دارد اما عکس آن همیشه درست نیست.

مثال: ترموستات یک عاملPRA.است

Page 5: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

5

تصحیح مدل انتزاعی

:تفکیک تابع تصمیم گیری عامل به زیر سیستم های زیرتابع ادراک :see توانایی عامل در مشاهده محیط خود را نشان می

دهد. این تابع در سخت افزار می تواند بصورت دوربین ویدیویی یا حسگر مادون قرمز بر روی یک روبات متحرک پیاده سازی شود. در نرم افزار می تواند دستورات سیستمی ای باشند که اطالعات

seeمربوط به محیط نرم افزار را دریافت می کنند. خروجی تابع یک ادراک است:

see : S Pتابع عمل :action.فرآیند اتخاذ تصمیم عامل را نمایش می دهد

action : P* A

تابعaction دنباله ای از ادراکات را به اعمال نگاشت می کند.

Page 6: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

6

زیر سیستم های ادراک و عمل

محیط

عامل

ادراک عمل

Page 7: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

7

عامل های دارای حالت داخلی

این عامل ها دارای ساختار داده ای می باشند که عمومابرای ثبت اطالعات وضعیت محیط و سابقه عملیات عامل

مجموعه تمام Iاز آنها استفاده می شود. فرض کنید حاالت داخلی عامل باشد.

see : S P تابع ادراک

action : I A تابع انتخاب عمل next : I * P I حالت داخلی و ادراک را به یک حالت داخلی

نگاشت می کند

Page 8: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

8

عامل های دارای حالت داخلی )ادامه(

محیط

عامل

actionsee

statenext

Page 9: معماری عامل ها

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.

Page 10: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

10

وظایف عامل ها

انجام دهند.وظایفیعامل ها را می سازیم تا برایمان شود.تعیینوظیفه باید توسط ما بدون این اما می خواهیم به عامل بگوییم چه انجام دهند

به آن بگوییم چگونه آن را انجام دهد.که

Page 11: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

11

توابع سودمندی بر روی حالت

یک راه: به هر حالت یک سودمندی نسبت دهید. وظیفهعامل آن است که به حاالتی برسد که به حداکثر سودمندی

منجر می شوند.:توصیف وظیفه یک تابع بصورت زیر است

u : E R این تابع یک عدد حقیقی به هر حالت محیط نسبت می

دهد.

Page 12: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

12

سودمندی و اجرا )سابقه(

اما مقدار اجرا چیست؟مینیمم سودمندی حالت در اجرا؟ماکزیمم سودمندی حالت در اجرا؟مجموع سودمندی های حاالت در اجرا؟میانگین آن؟

در هنگام نسبت دادن نمایش طوالنی مدتعیب: تعیین یک سودمندی به حاالت دشوار است.

:برای حاالت از یک زمان به بعدتخفیفیک راه

Page 13: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

13

سودمندی در اجرا

راه دیگر: سودمندی را به جای حاالت به اجراها نسبتدهید.

u : h R را طوالنی مدتچنین رویکردی به خودی خود نمایش

لحاظ می کند. صورت های دیگر: احتمال حاالت مختلف پدید آمده را نیز

در نظر بگیرید.:مشکالت رویکردهای بر مبنای سودمندی

این اعداد و مقادیر از کجا می آیند؟.تفکرات ما براساس سودمندی نیست.فرموله کردن وظایف به این صورت مشکل است

Page 14: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

14

سودمندی در بازی دنیای کاشی ها

یک شبکه دو بعدی که در آن عامل، کاشی ها، موانع وحفره هایی وجود دارند.

عامل می تواند در چهار جهت باال، پایین، چپ و راستحرکت کند و اگر در کنار یک کاشی باشد می تواند آن

را هل دهد. حفره ها باید با کاشی ها توسط عامل پر شوند. عامل

با پرکردن حفره توسط کاشی امتیاز می گیرد و قصد دارد که تا حد ممکن حفره های بیشتری را پر کند.

دنیای کاشی ها با ظاهر شدن و ناپدید شدن حفره هابصورت تصادفی تغییر می کند.

:تابع سودمندی بصورت زیر تعریف می شود

h تعداد حفره های پرشده در u(h) = --------------------------------

h تعداد حفره های ظاهر شده در

Page 15: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

15

معماری های عامل

پرسش: چگونه عملیات انتزاعی که در قبل دیدیم را می کرد؟پیاده سازیتوان

قصد ما این است که عامل هایی بسازیم که ویژگی هایخودمختاری، واکنشی، کنش گرایی و قابلیت اجتماعی

داشته باشند. پاسخ به این پرسش در حوزه معماری عامل ها قرار می

گیرد.:معماری عامل

یک نقشه از عناصر داخلی عامل – ساختمان داده های آن، اعمالیکه ممکن است بر روی این ساختمان داده ها اجرا شوند و جریان

کنترلی بین این ساختمان داده ها.

Page 16: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

16

چهار نوع معماری

چهار نوع معماری برای چهار گروه از عامل ها مطرحاست:

عامل های منطقی/ نمادینعامل های واکنشی عامل هایBDIعامل های ترکیبی و چند الیه

Page 17: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

17

تاریخچه

تقریبا تمام عامل هایی که در 1985 تا 1956در سالهای هوش مصنوعی طراحی می شدند بر مبنای استدالل بودند

و از استدالل منطقی در این گونه عامل ها برای تصمیم گیری استفاده شده است.

با توجه به مشکالت استدالل نمادین عامل 1985در سال های واکنشی مطرح شدند.

به بعد تکنیک های معماری ترکیبی ارائه 1990از سال شدند که سعی در ترکیب بهترین معماری های استداللی و

واکنشی را داشته اند.

Page 18: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

18

عامل های منطقی/ نمادین

ساده ترین روش برای ساخت عامل ها این است که آنهارا نوع خاصی از سیستم های مبتنی بر دانش بدانیم.

. این الگو هوش نمادین نامیده می شود: یک معماری منطقی معماری ای است که

در آن عامل شامل مدلی نمادین از دنیای واقعی است که بطورصریح بیان می شود.

.تصمیمات آن بر مبنای استدالل نمادین یا منطق صورت می گیرد

Page 19: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

19

عامل های منطقی/ نمادین )ادامه(

مشکالت عمده عامل های منطقی .تعریف تابع نگاشت محیط به ادراک به شکل نمادین مشکل است

به عبارت دیگر تعریف خصوصیات یک محیط پویا و واقعی در قالب مجموعه ای از قوانین استنتاج دشوار است.

زمان الزم برای تصمیم گیری این عامل ها قابل کنترل نبوده واحتمال دارد تابع تصمیم گیری هرگز پایان نگیرد.

Page 20: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

20

عامل های منطقی/ نمادین )ادامه(

عامل چگونه از راه اثبات قضیه تصمیم می گیرد که چهکاری انجام دهد؟

ایده اصلی استفاده از منطق برای کد کردن قضیه استکه بهترین عملی را که باید در هر موقعیت اجرا شود بیان

می کند.:فرض کنید

اینقضیهباشدقوانینقیاسییکپایگاهدادهمنطقیکهحالتجاریجهانرابیانمیکن

دAc یک مجموعه از اعمال که عامل می تواند انجام دهدیعنی بتواند با استفاده از از اثبات شود

Page 21: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

21

عامل های منطقی/ نمادین )ادامه(

see : S P

next: D * P

action : D A

D = L) یک مجموعه از L پایگاه داده است. وضعیت داخلی هر است که Dعامل عضوی از مجموعه

اعضایمیباشند

Page 22: معماری عامل ها

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

Page 23: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

23

عامل های منطقی/ نمادین )ادامه(

مثال: دنیای جاروبرقی هدف روبات روبات جستجوی محیط، کشف آشغال و جارو کردن

آن است.

Page 24: معماری عامل ها

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 به معنی گردش به راست می

باشد.

Page 25: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

25

عامل های منطقی/ نمادین )ادامه(

قوانین برای تعیین این که چه عملی انجام شود

و غیره( 0و0عامل با استفاده از این قوانین و با شروع از خانه )

شروع به برداشتن آشغال می کند.

Page 26: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

26

عامل های واکنشی

مسائل حل نشده فراوانی در رابطه با هوش مصنوعینمادین وجود دارد.

این مشکالت باعث شد که تعدادی از محققین در پی یافتن و سه دیدگاه مطرح شد: جانشینی برای آن باشند

دیدگاه اول به رد بازنمایی نمادین و تصمیم گیری براساس ساختارآن پرداخته است

دیدگاه دوم این ایده را دارد که رفتار هوشمند عامل ناشی ازتعامل با محیط است و بطور مستقل قابل تعریف نیست.

در دیدگاه سوم رفتارهای هوشمند متشکل و منتج از رفتارهای مبتنی بر رفتارساده تر دانسته شده است. این دیدگاه عامل را

می داند.

Page 27: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

27

عامل های واکنشی )ادامه(

Rodney Brooks معماری جزء به کل را مطرح کرد که در آن دو خصوصیت مطرح است:

اول این که تصمیم گیری عامل از طریق مجموعه ای از رفتارهایمستقل صورت می گیرد و بر محیط اثر می گذارد. یعنی درک از

محیط براساس اثر رفتار به عنوان ورودی نگاشتی از حالت به عمل می دهد.

.دوم این که تعدادی رفتار بطور همزمان می توانند اجرا شوند

Page 28: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

28

عامل های واکنشی )ادامه(

در این معماری رفتارها بصورت الیه های مختلفی ارائه میشوند که

:هر رفتار یک ساختار شبیه قانون دارد وضعیتعمل

.هر رفتار برای گرفتن کنترل عامل با دیگران رقابت می کندسطوح باالتر رفتارهای انتزاعی تری را بروز می دهند الیه های پایین تر قادر به جلوگیری الیه های باالتر هستند یعنی

تقدم بیشتری نسبت یه آنها دارند.

Page 29: معماری عامل ها

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

Page 30: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

30

عامل های واکنشی )ادامه(

یک مثال: سیستم کاوشگر مریخ شامل گروهی از روبات )عامل( های جمع آوری نمونه سنگ ها از

سطح مریخ می باشد که در آن مکان نمونه ها از قبل مشخص نیست اما می دانیم که نمونه ها در حوالی یکدیگر قرار دارند.

هر روبات تا جایی می تواند از مبدا دور شود که امکان دریافتسیگنال از مبدا اصلی باشد.

ارتباط بین عامل ها بصورت غیر مستقیم از طریق مبدا صورتمی گیرد.

اگر نمونه جمع آوری شده توسط یک عامل در مسیر انتقال بهمبدا رها شود عامل دیگر آن را برمی دارد.

هر یک از این عامل ها به تنهایی دارای رفتار خاص می باشند ومهم ترین و پایین ترین سطح )با باالترین اولویت( پرهیز از موانع

می باشد.

Page 31: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

31

عامل های واکنشی )ادامه(

:گروه های رفتاری و سلسله مراتب عملیات عامل

حس کردن

عمل کردن

حرکت تصادفی

برداشتن نمونه

بازگشت به مبدا

انداختن نمونه

جلوگيری از برخورد با مانع

Page 32: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

32

عامل های واکنشی )ادامه(

مزایا و معایب معماری واکنشی

مزایاساده، مقرون به صرفه، کامل و محکم

معایب همواره باید اطالعات کافی از محیط برای هر عامل بصورت محلی

فراهم باشد. چون تصمیم گیری براساس اطالعات محلی صورت می گیرد

استفاده از این معماری در حالت های غیرمحلی عمومیت ندارد. یادگیری در این معماری با چنان وسعتی همراه خواهد بود که عمال

از کارایی آن می کاهد.

Page 33: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

33

استدالل عملی

استدالل عملی استداللی است که جهت گیری آن به سمت است یعنی فرآیند معین کردن این که چه کاری اعمال

انجام دهیم. تعریفBratmanاز استدالل عملی

استدالل عملی به وزن دادن به مالحظات مختلف و متضاد به نفعیا برعلیه گزینه های رقیب هم مربوط می شود که در آن

مالحظات مناسب از آنچه که عامل قصد دارد)برایش ارزش دارد/ به آن توجه دارد( و آن چه که عامل باور دارد فراهم می شود.

استدالل عملی با استدالل نظری متفاوت است. جهت است.باورهاگیری استدالل نظری به سمت

Page 34: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

34

استدالل عملی )ادامه(

:استدالل عملی در انسان شامل دو عمل است اهدافی می چهبررسی و قیاس : تصمیم گیری در مورد این که به

خواهیم برسیم ها می باشند.قصدخروجی بررسی و قیاس

می خواهیم چگونهاستدالل عملی: تصمیم گیری در مورد این که به این اهداف برسیم

Page 35: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

35

بررسی و قیاس

عامل چگونه بررسی و قیاس می کند؟ پیش روی شماستگزینه هاییابتدا سعی کنید بفهمید چه شوید.متعهد به انجام آنها و از بین آنها گزینه هایی را انتخاب کنید

خواهند بود.ها قصدگزینه های انتخاب شده

:تابع بررسی و قیاس را می توان به دو مولفه تقسیم کرددر این بخش مجموعه ای از گزینه ها تولید می تولید گزینه ها :

انجام می شود که optionشود. این کار از طریق تابعی به نام باورهای کنونی عامل و قصد های کنونی آن را می گیرد و

مجموعه گزینه ها را تعیین می کند.در این بخش تابعی به نام فیلتر کننده گزینه ها :filter بین

عامل برای حالت ها و پیشنهادهای مختلف انتخاب می کند ورسیدن به آنها متعهد می شود.

Page 36: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

36

استدالل عملی

ایده اصلی آن است که به عاملنمایش قصد ها و اهدافی که باید به آنها برسد نمایش اعمالی که می تواند انجام دهد ونمایش محیط

ای را برای رسیدن به هدف تولید برنامهداده شود تا او است.برنامه سازی خودکارکند. در حقیقت این یک

Page 37: معماری عامل ها

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.

Page 38: معماری عامل ها

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.

Page 39: معماری عامل ها

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.

Page 40: معماری عامل ها

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.

Page 41: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

41

BDIمعماری

معماریBDIبر مبنای استدالل عملی است تصمیم گیری در مورد این که به چه اهدافی باید برسیمتصمیم گیری در مورد این که چگونه به آن اهداف برسیم

BDI( باورهاBeliefs)( خواسته هاDesires)( قصد هاIntentions)

Page 42: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

42

)ادامه(BDIمعماری

:قصد هااز استدالل عملی ناشی می شوندبررسی های آینده را تحمیل می کنندمانا هستند بر روی باورها تاثیر می گذارند که استدالل عملی آینده بر مبنای

آنها است

Page 43: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

43

)ادامه(BDIمعماری

تابع بازنگری باورها

باورها

تابع توليد گزينه

تمايالت

فيلتر کننده

قصدها

تابع انتخاب عمل

ورودی حسگر

عمل خروجی

Page 44: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

44

)ادامه(BDIمعماری

مولفه های عاملBDIباورها

اطالعات عامل را در محیط کنونی اش بیان می کندتابع بازنگری باورها

درک عامل را با نگاشت بر روی محیط دریافت کرده و باورهای جاریرا به روز می کند.

brf: (Bel) * P (Bel)تابع تولید گزینه

ورودی آن باورها و قصد عامل بوده و براساس آنها انتخابهای ممکنبرای عامل را که در واقع همان تمایالت اوست تعیین می کند

options: (Bel) * (Int) (Des)

Page 45: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

45

)ادامه(BDIمعماری

که مبین اعمالی گزینه های معتبر)تمایالت(مجموعه ای از است که عامل می تواند انجام دهد.

که ورودی آن باورها و قصدهای عامل بوده تابع فیلترکنندهیک و خروجی آن براساس فرآیند تبادل نظر)قیاس( اهداف )قصدهای(

جدید عامل است filter: (Bel) * (Int) * (Des) (Int)

که کانون فعالیت عامل را تعیین قصدهای جاریمجموعه ای از

می کند.بر پایه قصد و اهداف فعلی که عملی را که تابع انتخاب عمل

باید انجام شود تعیین می کند execute : (Int) A or action: P

A

Page 46: معماری عامل ها

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

Page 47: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

47

BDIمشکالت

عاملی که در قصدهای خود تجدید نظر نمی کند تالش میکند حتی پس از آنکه روشن شد که قابل دستیابی نیستند

یا دیگر دلیلی برای رسیدن به آنها وجود ندارد برای رسیدن به آنها تالش می کند

عاملی که پیوسته در قصدهای خود تجدید نظر می کندزمان و منابع را به هدر می دهد.

Page 48: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

48

پیاده سازی شده: BDIمثالی از یک عامل PRSعامل

برنامه در این سیستم هر عامل دارای مجموعه ای از می باشد که بیانگر (plan libraryریزی های انجام شده)

عامل است.دانش رویه ای دانش رویه ای دانشی درباره مکانیزم هایی است که می توانند

توسط عامل به منظور تحقق قصد هایش به کار روند.

گزینه های پیش روی یک عامل مستقیما توسط برنامهریزی های آن تعیین می شوند. عاملی که برنامه ریزی

ندارد گزینه ای نخواهد داشت. ،در این سیستم عامل ها بازنمایی صریحی از باورها

تمایالت و قصد ها و نیز دانش رویه ای دارند.

Page 49: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

49

)ادامه(PRSعامل

معماریPRS

باورها

قصد ها

دانش های رويه

ای

تمايالت

پردازشگر

محيط

ورودی حسگر عمل خروجی

Page 50: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

50

پیاده سازی BDIمثالی از یک عامل IRMAشده:

IRMA:چهار ساختمان داده نمادین دارد برنامه ریزی هامجموعه ای از اطالعاتی که عامل در اختیار دارد که یا باورهانمایش صریح از :

می تواند بصورت نمادین بیان شود حتی می تواند بسادگی تعریف متغیرهای زبان پاسکال باشد.

مفاهیمی که مورد نظر عامل است تمایالت :تمام اهدافی که عامل به آنها دسترسی داشته و برای قصدها :

رسیدن به آنها تعهد دارد.

Page 51: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

51

IRMA)ادامه(

:معماری آن قسمت های زیر را دارددر واقع یک موتور استنتاج است که برای یک بخش استدالل :

استدالل درباره محیط اطراف عامل بکار می رود.تعیین می کند که کدام برنامه برای یک تحلیل گر عملی :

رسیدن به قصد انتخاب شودنظارت بر محیط در صورت یک تحلیل گر موقعیت شناس :

ارائه انتخاب های جدید را داردتعیین می کند کدام گزینه با قصد جاری یک برنامه فیلتر کننده :

سازگار استمسئول تصمیم گیری در مورد یک برنامه بررسی و قیاس :

بهترین قصد برای انجام است.

Page 52: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

52

IRMA)ادامه(

معماریIRMAموتور استنتاج

تحليلگر موقعيت تحليل توالی چند

عمل

فيلتر کننده

قصد ها

برنامه بررسی و قياس

تمايالتگزينه

گزينه

عمل

باورها

Page 53: معماری عامل ها

Updated by Ali Rahnama87231904

4-53

Homer

Page 54: معماری عامل ها

Updated by Ali Rahnama87231904

4-54

Dialogues with HOMER

Page 55: معماری عامل ها

Updated by Ali Rahnama87231904

4-55

Dialogues with Homer

Page 56: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

56

معماری چندالیه )ترکیبی(

بسیاری از محققین بر این عقیده اند که نه یک روشواکنشی و نه یک روش قیاسی به تنهایی برای ساختن

عامل ها کافی نمی باشد. انان سیستم های چند الیه ای را پیشنهاد داده اند که رابطه

نزدیکی با روش های کالسیک دارد. یک رویکرد بدیهی این است که عامل را از دو یا چند زیر

سیستم بسازیم:شامل یک مدل نمادین از جهان که برنامه یک بخش قیاسی

ریزی ها را ایجاد می کند و از روش ارائه شده در هوش مصنوعی نمادین تصمیم گیری می کند.

که بدون استدالت پیچیده قادر به واکنش در یک بخش واکنشی برابر رویدادها می باشد.

Page 57: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

57

معماری چندالیه )ادامه(

غالبا به مولفه واکنشی نوعی تقدم نسبت به مولفه قیاسیداده می شود.

منجر الیه ایاین نوع ساختار بصورت طبیعی به معماری می شود که نمونه ای از آن ماشین تورینگ می باشد.

در چنین معماری ای زیر سیستم کنترلی عامل بصورت یکسلسله مراتب سازماندهی می شود که در آن الیه های

باالتر با اطالعات انتزاعی تری سروکار دارند.

Page 58: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

58

معماری چندالیه )ادامه(

یک مشکل کلیدی در این گونه معماری ها این است که چهتعامالت و ارتباطات نوع چارچوب کنترلی ای برای مدیریت

باید در زیرسیستم های عامل تعبیه بین الیه های گوناگونشود.

:الیه بندی افقی در این الیه بندی معماری متشکل از دو الیه یا بیشتر است که هر

کدام مستقیما به یک حسگر ورودی و یک عملگر خروجی متصل اند.

هر الیه به تنهایی همانند یک عامل عمل می کند که پیشنهاداتیراجع به این که چه عملی باید انجام شود تولید می کند.

1اليه

2اليه

... اليه

nاليه

درک )ورودی(

عمل )خروجی(

Page 59: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

59

معماری چندالیه )ادامه(

الیه بندی عمودی در این الیه بندی ورودی ها و خروجی ها حداکثر با یک الیه مرتبط

می باشند. این ساختار به دو نوع تک مسیره و دو مسیره تقسیم می شود.

1اليه

2اليه

... اليه

nاليه

1اليه

2اليه

... اليه

nاليه

عمل )خروجی(

عمل )خروجی(

درک )ورودی(

درک )ورودی(

کنترل تک مسيره کنترل دو مسيره

Page 60: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

60

معماری چندالیه )ادامه(

ماشین تورینگ شامل سه زیر سیستم درک، عمل و کنترل است که بطور

مستقیم با محیط در ارتباط می باشند. سه الیه کنترلی دارد که در یک چارچوب کنترلی هماهنگ کننده

الیه ها واقع شده اندنسبت به تغییرات محیط واکنش نشان می دهد. پیاده الیه واکنش :

سازی این الیه بصورت مجموعه ای از قوانین در قالب ساختار جزء به کل می باشد.

رفتار هدفمند عامل را پیاده سازی می کند و برای الیه برنامه ریزی :این کار از یک کتابخانه از برنامه ها و طرح ها استفاده می کند.

شامل بازنمایی نمادین وضعیت های شناختی الیه مدل ساز :موجودیت های دیگر در محیط عامل است.

ارتباط بین الیه ها با استفاده از زیر سیستم کنترلی صورت میگیرد که تعیین می کند کدام الیه کنترل عامل را بدست گیرد.

Page 61: معماری عامل ها

Updated by Ali Rahnama87231904

آزمایشگاه سیستمهای هوشمندwww.ceit.aut.ac.ir/islab

61

معماری چندالیه )ادامه(

معماری ماشین تورینگاليه مدل سازییک الیه ای عمودی

اليه برنامه ريزی

اليه واکنشی

زير سيستم درکزير سيستم عمل

زير سيستم کنترل

(قوانين کنترلی)

Page 62: معماری عامل ها

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

Page 63: معماری عامل ها

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.

Page 64: معماری عامل ها

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

Page 65: معماری عامل ها

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

Page 66: معماری عامل ها

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)

Page 67: معماری عامل ها

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

Page 68: معماری عامل ها

Updated by Ali Rahnama87231904

3-68

AGENT0

Page 69: معماری عامل ها

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)

)

Page 70: معماری عامل ها

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

Page 71: معماری عامل ها

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

Page 72: معماری عامل ها

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

Page 73: معماری عامل ها

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

Page 74: معماری عامل ها

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”.

Page 75: معماری عامل ها

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

Page 76: معماری عامل ها

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

Page 77: معماری عامل ها

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

Page 78: معماری عامل ها

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

Page 79: معماری عامل ها

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:

Page 80: معماری عامل ها

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

Page 81: معماری عامل ها

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

Page 82: معماری عامل ها

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!