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