Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "معماری عامل ها."— Presentation transcript:

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

2 آزمایشگاه سیستمهای هوشمند
معماری انتزاعی عامل ها می توانیم نمایش انتزاعی از عامل را بصورت فرمال بنویسیم. این نمایش فرمال در ساخت عامل کمکی به ما نمی کند. فرض کنید E مجموعه ای متناهی از حالات باشد و فرض کنید که محیط می تواند در هر لحظه در یکی از این حالات باشد. E = {s1, s2, …} عامل بصورت مخزنی از اعمال آن فرض می شود که حالات محیط را انتقال می دهند. A = {a1,a2, …} آزمایشگاه سیستمهای هوشمند

3 آزمایشگاه سیستمهای هوشمند
عامل استاندارد بصورت انتزاعی یک عامل را می توان بصورت یک تابع انتقال حالت مشاهده کرد action: S*  A یک عامل براساس سابقه اش تصمیم می گیرد که چه اقدامی انجام دهد. رفتار(غیر قطعی) محیط را می توان بصورت یک تابع مدل کرد env : S * A  Y(S) می توانیم تعامل عامل و محیط را بصورت یک سابقه نمایش دهیم. a a a2 a au-1 au h: s0  s1  s2  s3  …. Su  …. h می تواند یک سابقه ممکن از عامل در محیط را نمایش می دهد اگر و تنها اگر شرایط زیر برقرار باشند: به ازای هر u متعلق به N به ازای هر u متعلق به N بطوری که u>0 آزمایشگاه سیستمهای هوشمند

4 آزمایشگاه سیستمهای هوشمند
عامل واکنشی محض (PRA) این عامل بدون مراجعه به سابقه اش تصمیم می گیرد که چه انجام دهد. این عامل اتخاذ تصمیم خود را کاملا برمبنای زمان حال قرار می دهد و به هیچ وجه توجهی به گذشته ندارد. نمایش فرمال این عامل به این صورت است: action: S  A به ازای هر PRA یک عامل استاندارد معادل آن وجود دارد. اما عکس آن همیشه درست نیست. مثال: ترموستات یک عامل PRA است. آزمایشگاه سیستمهای هوشمند

5 آزمایشگاه سیستمهای هوشمند
تصحیح مدل انتزاعی تفکیک تابع تصمیم گیری عامل به زیر سیستم های زیر: ادراک: تابع see توانایی عامل در مشاهده محیط خود را نشان می دهد. این تابع در سخت افزار می تواند بصورت دوربین ویدیویی یا حسگر مادون قرمز بر روی یک روبات متحرک پیاده سازی شود. در نرم افزار می تواند دستورات سیستمی ای باشند که اطلاعات مربوط به محیط نرم افزار را دریافت می کنند. خروجی تابع see یک ادراک است: see : S  P عمل: تابع action فرآیند اتخاذ تصمیم عامل را نمایش می دهد. action : P*  A تابع action دنباله ای از ادراکات را به اعمال نگاشت می کند. آزمایشگاه سیستمهای هوشمند

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

7 عامل های دارای حالت داخلی
این عامل ها دارای ساختار داده ای می باشند که عموما برای ثبت اطلاعات وضعیت محیط و سابقه عملیات عامل از آنها استفاده می شود. فرض کنید I مجموعه تمام حالات داخلی عامل باشد. see : S  P تابع ادراک action : I  A تابع انتخاب عمل next : I * P  I حالت داخلی و ادراک را به یک حالت داخلی نگاشت می کند آزمایشگاه سیستمهای هوشمند

8 عامل های دارای حالت داخلی (ادامه)
see action state next عامل محیط آزمایشگاه سیستمهای هوشمند

9 عامل های دارای حالت داخلی (ادامه)
حلقه کنترلی عامل آغاز فعالیت عامل از وضعیت اولیه i0 مشاهده وضعیت محیط s و تولید ادراک See(s) به روز آوری وضعیت داخلی از طریق تابع next(i0,See(s)) انتخاب عمل مناسب توسط تابع action(next(i0,See(s))) تکرار از مرحله 2 آزمایشگاه سیستمهای هوشمند

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

11 توابع سودمندی بر روی حالت
یک راه: به هر حالت یک سودمندی نسبت دهید. وظیفه عامل آن است که به حالاتی برسد که به حداکثر سودمندی منجر می شوند. توصیف وظیفه یک تابع بصورت زیر است: u : E  R این تابع یک عدد حقیقی به هر حالت محیط نسبت می دهد. آزمایشگاه سیستمهای هوشمند

12 آزمایشگاه سیستمهای هوشمند
سودمندی و اجرا (سابقه) اما مقدار اجرا چیست؟ مینیمم سودمندی حالت در اجرا؟ ماکزیمم سودمندی حالت در اجرا؟ مجموع سودمندی های حالات در اجرا؟ میانگین آن؟ عیب: تعیین یک نمایش طولانی مدت در هنگام نسبت دادن سودمندی به حالات دشوار است. یک راه: تخفیف برای حالات از یک زمان به بعد Run = history اجرا، سابقه آزمایشگاه سیستمهای هوشمند

13 آزمایشگاه سیستمهای هوشمند
سودمندی در اجرا راه دیگر: سودمندی را به جای حالات به اجراها نسبت دهید. u : h  R چنین رویکردی به خودی خود نمایش طولانی مدت را لحاظ می کند. صورت های دیگر: احتمال حالات مختلف پدید آمده را نیز در نظر بگیرید. مشکلات رویکردهای بر مبنای سودمندی: این اعداد و مقادیر از کجا می آیند؟ تفکرات ما براساس سودمندی نیست. فرموله کردن وظایف به این صورت مشکل است. آزمایشگاه سیستمهای هوشمند

14 سودمندی در بازی دنیای کاشی ها
یک شبکه دو بعدی که در آن عامل، کاشی ها، موانع و حفره هایی وجود دارند. عامل می تواند در چهار جهت بالا، پایین، چپ و راست حرکت کند و اگر در کنار یک کاشی باشد می تواند آن را هل دهد. حفره ها باید با کاشی ها توسط عامل پر شوند. عامل با پرکردن حفره توسط کاشی امتیاز می گیرد و قصد دارد که تا حد ممکن حفره های بیشتری را پر کند. دنیای کاشی ها با ظاهر شدن و ناپدید شدن حفره ها بصورت تصادفی تغییر می کند. تابع سودمندی بصورت زیر تعریف می شود: h تعداد حفره های پرشده در u(h) = h تعداد حفره های ظاهر شده در آزمایشگاه سیستمهای هوشمند

15 آزمایشگاه سیستمهای هوشمند
معماری های عامل پرسش: چگونه عملیات انتزاعی که در قبل دیدیم را می توان پیاده سازی کرد؟ قصد ما این است که عامل هایی بسازیم که ویژگی های خودمختاری، واکنشی، کنش گرایی و قابلیت اجتماعی داشته باشند. پاسخ به این پرسش در حوزه معماری عامل ها قرار می گیرد. معماری عامل: یک نقشه از عناصر داخلی عامل – ساختمان داده های آن، اعمالی که ممکن است بر روی این ساختمان داده ها اجرا شوند و جریان کنترلی بین این ساختمان داده ها. آزمایشگاه سیستمهای هوشمند

16 آزمایشگاه سیستمهای هوشمند
چهار نوع معماری چهار نوع معماری برای چهار گروه از عامل ها مطرح است: عامل های منطقی/ نمادین عامل های واکنشی عامل های BDI عامل های ترکیبی و چند لایه آزمایشگاه سیستمهای هوشمند

17 آزمایشگاه سیستمهای هوشمند
تاریخچه در سالهای 1956 تا 1985 تقریبا تمام عامل هایی که در هوش مصنوعی طراحی می شدند بر مبنای استدلال بودند و از استدلال منطقی در این گونه عامل ها برای تصمیم گیری استفاده شده است. در سال 1985 با توجه به مشکلات استدلال نمادین عامل های واکنشی مطرح شدند. از سال 1990 به بعد تکنیک های معماری ترکیبی ارائه شدند که سعی در ترکیب بهترین معماری های استدلالی و واکنشی را داشته اند. آزمایشگاه سیستمهای هوشمند

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

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

20 عامل های منطقی/ نمادین (ادامه)
عامل چگونه از راه اثبات قضیه تصمیم می گیرد که چه کاری انجام دهد؟ ایده اصلی استفاده از منطق برای کد کردن قضیه است که بهترین عملی را که باید در هر موقعیت اجرا شود بیان می کند. فرض کنید: R این قضیه باشد (قوانین قیاسی) D یک پایگاه داده منطقی که حالت جاری جهان را بیان می کند Ac یک مجموعه از اعمال که عامل می تواند انجام دهد D |- r j یعنی j بتواند با استفاده از r از D اثبات شود Deductive rules قوانین قیاسی آزمایشگاه سیستمهای هوشمند

21 عامل های منطقی/ نمادین (ادامه)
see : S  P next: D * P  action : D  A D = j (L) یک مجموعه از L پایگاه داده است. وضعیت داخلی هر عامل عضوی از مجموعه D است که D1, D2, ... اعضای D می باشند. آزمایشگاه سیستمهای هوشمند

22 عامل های منطقی/ نمادین (ادامه)
شبه کد تعریف عمل function action (p: P) : A /* try to find an action explicitly prescribed */ for each a e Ac do If D |- r Do ( a) then return a end-if end-for /* try to find an action not excluded */ If D |- r not Do(a) then return null /* no action found */ end function action آزمایشگاه سیستمهای هوشمند

23 عامل های منطقی/ نمادین (ادامه)
مثال: دنیای جاروبرقی هدف روبات روبات جستجوی محیط، کشف آشغال و جارو کردن آن است. آزمایشگاه سیستمهای هوشمند

24 عامل های منطقی/ نمادین (ادامه)
عامل دنیای جاروبرقی از سه گزاره در این مثال استفاده می کنیم: In(x,y) عامل در خانه (x,y) قرار دارد Dirt(x,y) در خانه (x,y) آشغال وجود دارد Facing(d) جهت عامل به سمت d است که d می تواند شمال، جنوب، شرق یا غرب باشد. اعمال ممکن Ac ={turn,forward,suck} که در آن turn به معنی گردش به راست می باشد. Predicate گزاره آزمایشگاه سیستمهای هوشمند

25 عامل های منطقی/ نمادین (ادامه)
قوانین برای تعیین این که چه عملی انجام شود و غیره عامل با استفاده از این قوانین و با شروع از خانه (0و0) شروع به برداشتن آشغال می کند. آزمایشگاه سیستمهای هوشمند

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

27 عامل های واکنشی (ادامه)
Rodney Brooks معماری جزء به کل را مطرح کرد که در آن دو خصوصیت مطرح است: اول این که تصمیم گیری عامل از طریق مجموعه ای از رفتارهای مستقل صورت می گیرد و بر محیط اثر می گذارد. یعنی درک از محیط براساس اثر رفتار به عنوان ورودی نگاشتی از حالت به عمل می دهد. دوم این که تعدادی رفتار بطور همزمان می توانند اجرا شوند. Subsumption جزء به کل آزمایشگاه سیستمهای هوشمند

28 عامل های واکنشی (ادامه)
در این معماری رفتارها بصورت لایه های مختلفی ارائه می شوند که هر رفتار یک ساختار شبیه قانون دارد: عمل  وضعیت هر رفتار برای گرفتن کنترل عامل با دیگران رقابت می کند. سطوح بالاتر رفتارهای انتزاعی تری را بروز می دهند لایه های پایین تر قادر به جلوگیری لایه های بالاتر هستند یعنی تقدم بیشتری نسبت یه آنها دارند. آزمایشگاه سیستمهای هوشمند

29 عامل های واکنشی (ادامه)
تعریف تابع action function action(p:P) : A var fired: j(R) var selected: A begin fired := {(c,a) | (c,a) e R and p e c} for each (c,a) e 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 آزمایشگاه سیستمهای هوشمند

30 عامل های واکنشی (ادامه)
یک مثال: سیستم کاوشگر مریخ شامل گروهی از روبات (عامل) های جمع آوری نمونه سنگ ها از سطح مریخ می باشد که در آن مکان نمونه ها از قبل مشخص نیست اما می دانیم که نمونه ها در حوالی یکدیگر قرار دارند. هر روبات تا جایی می تواند از مبدا دور شود که امکان دریافت سیگنال از مبدا اصلی باشد. ارتباط بین عامل ها بصورت غیر مستقیم از طریق مبدا صورت می گیرد. اگر نمونه جمع آوری شده توسط یک عامل در مسیر انتقال به مبدا رها شود عامل دیگر آن را برمی دارد. هر یک از این عامل ها به تنهایی دارای رفتار خاص می باشند و مهم ترین و پایین ترین سطح (با بالاترین اولویت) پرهیز از موانع می باشد. آزمایشگاه سیستمهای هوشمند

31 عامل های واکنشی (ادامه)
گروه های رفتاری و سلسله مراتب عملیات عامل: حرکت تصادفی برداشتن نمونه عمل کردن حس کردن بازگشت به مبدا انداختن نمونه جلوگيری از برخورد با مانع آزمایشگاه سیستمهای هوشمند

32 عامل های واکنشی (ادامه)
مزایا و معایب معماری واکنشی مزایا ساده، مقرون به صرفه، کامل و محکم معایب همواره باید اطلاعات کافی از محیط برای هر عامل بصورت محلی فراهم باشد. چون تصمیم گیری براساس اطلاعات محلی صورت می گیرد استفاده از این معماری در حالت های غیرمحلی عمومیت ندارد. یادگیری در این معماری با چنان وسعتی همراه خواهد بود که عملا از کارایی آن می کاهد. آزمایشگاه سیستمهای هوشمند

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

34 آزمایشگاه سیستمهای هوشمند
استدلال عملی (ادامه) استدلال عملی در انسان شامل دو عمل است: بررسی و قیاس : تصمیم گیری در مورد این که به چه اهدافی می خواهیم برسیم خروجی بررسی و قیاس قصد ها می باشند. استدلال عملی: تصمیم گیری در مورد این که چگونه می خواهیم به این اهداف برسیم Deliberation بررسی و قیاس Means-ends reasoning استدلال عملی آزمایشگاه سیستمهای هوشمند

35 آزمایشگاه سیستمهای هوشمند
بررسی و قیاس عامل چگونه بررسی و قیاس می کند؟ ابتدا سعی کنید بفهمید چه گزینه هایی پیش روی شماست از بین آنها گزینه هایی را انتخاب کنید و متعهد به انجام آنها شوید. گزینه های انتخاب شده قصد ها خواهند بود. تابع بررسی و قیاس را می توان به دو مولفه تقسیم کرد: تولید گزینه ها: در این بخش مجموعه ای از گزینه ها تولید می شود. این کار از طریق تابعی به نام option انجام می شود که باورهای کنونی عامل و قصد های کنونی آن را می گیرد و مجموعه گزینه ها را تعیین می کند. فیلتر کننده گزینه ها: در این بخش تابعی به نام filter بین حالت ها و پیشنهادهای مختلف انتخاب می کند و عامل برای رسیدن به آنها متعهد می شود. آزمایشگاه سیستمهای هوشمند

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

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.

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.

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.

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.

41 آزمایشگاه سیستمهای هوشمند
معماری BDI معماری BDI بر مبنای استدلال عملی است تصمیم گیری در مورد این که به چه اهدافی باید برسیم تصمیم گیری در مورد این که چگونه به آن اهداف برسیم BDI باورها (Beliefs) خواسته ها (Desires) قصد ها (Intentions) آزمایشگاه سیستمهای هوشمند

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

43 آزمایشگاه سیستمهای هوشمند
معماری BDI (ادامه) ورودی حسگر تابع بازنگری باورها باورها تابع توليد گزينه تمايلات فيلتر کننده قصدها آزمایشگاه سیستمهای هوشمند تابع انتخاب عمل عمل خروجی

44 آزمایشگاه سیستمهای هوشمند
معماری BDI (ادامه) مولفه های عامل BDI باورها اطلاعات عامل را در محیط کنونی اش بیان می کند تابع بازنگری باورها درک عامل را با نگاشت بر روی محیط دریافت کرده و باورهای جاری را به روز می کند. brf: j(Bel) * P  j(Bel) تابع تولید گزینه ورودی آن باورها و قصد عامل بوده و براساس آنها انتخابهای ممکن برای عامل را که در واقع همان تمایلات اوست تعیین می کند options: j(Bel) * j(Int)  j(Des) آزمایشگاه سیستمهای هوشمند

45 آزمایشگاه سیستمهای هوشمند
معماری BDI (ادامه) مجموعه ای از گزینه های معتبر(تمایلات) که مبین اعمالی است که عامل می تواند انجام دهد. یک تابع فیلترکننده که ورودی آن باورها و قصدهای عامل بوده و خروجی آن براساس فرآیند تبادل نظر(قیاس) اهداف (قصدهای) جدید عامل است filter: j(Bel) * j(Int) * j(Des)  j(Int) مجموعه ای از قصدهای جاری که کانون فعالیت عامل را تعیین می کند. تابع انتخاب عمل بر پایه قصد و اهداف فعلی که عملی را که باید انجام شود تعیین می کند execute : j(Int)  A or action: P  A آزمایشگاه سیستمهای هوشمند

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 آزمایشگاه سیستمهای هوشمند

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

48 مثالی از یک عامل BDI پیاده سازی شده: عامل PRS
در این سیستم هر عامل دارای مجموعه ای از برنامه ریزی های انجام شده(plan library) می باشد که بیانگر دانش رویه ای عامل است. دانش رویه ای دانشی درباره مکانیزم هایی است که می توانند توسط عامل به منظور تحقق قصد هایش به کار روند. گزینه های پیش روی یک عامل مستقیما توسط برنامه ریزی های آن تعیین می شوند. عاملی که برنامه ریزی ندارد گزینه ای نخواهد داشت. در این سیستم عامل ها بازنمایی صریحی از باورها، تمایلات و قصد ها و نیز دانش رویه ای دارند. Practical Reasoning System آزمایشگاه سیستمهای هوشمند

49 آزمایشگاه سیستمهای هوشمند
عامل PRS (ادامه) معماری PRS محيط دانش های رويه ای باورها پردازشگر ورودی حسگر عمل خروجی تمايلات قصد ها آزمایشگاه سیستمهای هوشمند

50 مثالی از یک عامل BDI پیاده سازی شده: IRMA
مجموعه ای از برنامه ریزی ها نمایش صریح از باورها: اطلاعاتی که عامل در اختیار دارد که یا می تواند بصورت نمادین بیان شود حتی می تواند بسادگی تعریف متغیرهای زبان پاسکال باشد. تمایلات: مفاهیمی که مورد نظر عامل است قصدها: تمام اهدافی که عامل به آنها دسترسی داشته و برای رسیدن به آنها تعهد دارد. آزمایشگاه سیستمهای هوشمند

51 آزمایشگاه سیستمهای هوشمند
IRMA (ادامه) معماری آن قسمت های زیر را دارد: یک بخش استدلال: در واقع یک موتور استنتاج است که برای استدلال درباره محیط اطراف عامل بکار می رود. یک تحلیل گر عملی: تعیین می کند که کدام برنامه برای رسیدن به قصد انتخاب شود یک تحلیل گر موقعیت شناس: نظارت بر محیط در صورت ارائه انتخاب های جدید را دارد یک برنامه فیلتر کننده: تعیین می کند کدام گزینه با قصد جاری سازگار است یک برنامه بررسی و قیاس: مسئول تصمیم گیری در مورد بهترین قصد برای انجام است. آزمایشگاه سیستمهای هوشمند

52 آزمایشگاه سیستمهای هوشمند
IRMA (ادامه) معماری IRMA موتور استنتاج گزينه تمايلات تحليلگر موقعيت تحليل توالی چند عمل باورها فيلتر کننده گزينه برنامه بررسی و قياس قصد ها عمل آزمایشگاه سیستمهای هوشمند

53 Homer

54 Dialogues with HOMER

55 Dialogues with Homer

56 معماری چندلایه (ترکیبی)
بسیاری از محققین بر این عقیده اند که نه یک روش واکنشی و نه یک روش قیاسی به تنهایی برای ساختن عامل ها کافی نمی باشد. انان سیستم های چند لایه ای را پیشنهاد داده اند که رابطه نزدیکی با روش های کلاسیک دارد. یک رویکرد بدیهی این است که عامل را از دو یا چند زیر سیستم بسازیم: یک بخش قیاسی شامل یک مدل نمادین از جهان که برنامه ریزی ها را ایجاد می کند و از روش ارائه شده در هوش مصنوعی نمادین تصمیم گیری می کند. یک بخش واکنشی که بدون استدلات پیچیده قادر به واکنش در برابر رویدادها می باشد. آزمایشگاه سیستمهای هوشمند

57 معماری چندلایه (ادامه)
غالبا به مولفه واکنشی نوعی تقدم نسبت به مولفه قیاسی داده می شود. این نوع ساختار بصورت طبیعی به معماری لایه ای منجر می شود که نمونه ای از آن ماشین تورینگ می باشد. در چنین معماری ای زیر سیستم کنترلی عامل بصورت یک سلسله مراتب سازماندهی می شود که در آن لایه های بالاتر با اطلاعات انتزاعی تری سروکار دارند. آزمایشگاه سیستمهای هوشمند

58 معماری چندلایه (ادامه)
یک مشکل کلیدی در این گونه معماری ها این است که چه نوع چارچوب کنترلی ای برای مدیریت تعاملات و ارتباطات بین لایه های گوناگون باید در زیرسیستم های عامل تعبیه شود. لایه بندی افقی: در این لایه بندی معماری متشکل از دو لایه یا بیشتر است که هر کدام مستقیما به یک حسگر ورودی و یک عملگر خروجی متصل اند. هر لایه به تنهایی همانند یک عامل عمل می کند که پیشنهاداتی راجع به این که چه عملی باید انجام شود تولید می کند. nلايه لايه ... درک (ورودی) عمل (خروجی) لايه 2 لايه 1 آزمایشگاه سیستمهای هوشمند

59 معماری چندلایه (ادامه)
لایه بندی عمودی در این لایه بندی ورودی ها و خروجی ها حداکثر با یک لایه مرتبط می باشند. این ساختار به دو نوع تک مسیره و دو مسیره تقسیم می شود. عمل (خروجی) nلايه nلايه لايه ... لايه ... لايه 2 لايه 2 لايه 1 لايه 1 درک (ورودی) درک (ورودی) عمل (خروجی) کنترل تک مسيره کنترل دو مسيره آزمایشگاه سیستمهای هوشمند

60 معماری چندلایه (ادامه)
ماشین تورینگ شامل سه زیر سیستم درک، عمل و کنترل است که بطور مستقیم با محیط در ارتباط می باشند. سه لایه کنترلی دارد که در یک چارچوب کنترلی هماهنگ کننده لایه ها واقع شده اند لایه واکنش: نسبت به تغییرات محیط واکنش نشان می دهد. پیاده سازی این لایه بصورت مجموعه ای از قوانین در قالب ساختار جزء به کل می باشد. لایه برنامه ریزی: رفتار هدفمند عامل را پیاده سازی می کند و برای این کار از یک کتابخانه از برنامه ها و طرح ها استفاده می کند. لایه مدل ساز: شامل بازنمایی نمادین وضعیت های شناختی موجودیت های دیگر در محیط عامل است. ارتباط بین لایه ها با استفاده از زیر سیستم کنترلی صورت می گیرد که تعیین می کند کدام لایه کنترل عامل را بدست گیرد. آزمایشگاه سیستمهای هوشمند

61 معماری چندلایه (ادامه)
معماری ماشین تورینگ یک لایه ای عمودی لايه مدل سازی زير سيستم درک لايه برنامه ريزی زير سيستم عمل لايه واکنشی زير سيستم کنترل (قوانين کنترلی) آزمایشگاه سیستمهای هوشمند

62 معماری چندلایه (ادامه)
InteRRaP - عمودی و دو طرفه (two-pass) cooperation layer social knowledge plan layer planning knowledge behavior layer world model world interface perceptual input action output

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.

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

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

66 AGENT0 Each commitment rule contains On each ‘agent cycle’…
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)

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

68 AGENT0

69 AGENT0 A commitment rule: COMMIT( ( agent, REQUEST, DO(time, action)
), ;;; msg condition ( B, [now, Friend agent] AND CAN(self, action) AND NOT [time, CMT(self, anyaction)] ), ;;; mental condition self, DO(time, action) )

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

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

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

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

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

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

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

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

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:

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

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

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!


Download ppt "معماری عامل ها."

Similar presentations


Ads by Google