slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
معماری عامل ها PowerPoint Presentation
Download Presentation
معماری عامل ها

Loading in 2 Seconds...

play fullscreen
1 / 82

معماری عامل ها - PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'معماری عامل ها' - deanne


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
معماری انتزاعی عامل ها
  • می توانیم نمایش انتزاعی از عامل را بصورت فرمال بنویسیم.
  • این نمایش فرمال در ساخت عامل کمکی به ما نمی کند.
  • فرض کنید E مجموعه ای متناهی از حالات باشد و فرض کنید که محیط می تواند در هر لحظه در یکی از این حالات باشد.
  • E = {s1, s2, …}
  • عامل بصورت مخزنی از اعمال آن فرض می شود که حالات محیط را انتقال می دهند.

A = {a1,a2, …}

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide3
عامل استاندارد
  • بصورت انتزاعی یک عامل را می توان بصورت یک تابع انتقال حالت مشاهده کرد action: S*  A
  • یک عامل براساس سابقه اش تصمیم می گیرد که چه اقدامی انجام دهد.
  • رفتار(غیر قطعی) محیط را می توان بصورت یک تابع مدل کرد

env :S* A  Y(S)

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

a0 a1 a2 a3 au-1 au

h: s0  s1  s2  s3  …. Su  ….

  • h می تواند یک سابقه ممکن از عامل در محیط را نمایش می دهد اگر و تنها اگر شرایط زیر برقرار باشند:
    • به ازای هر u متعلق به N
    • به ازای هر u متعلق به N بطوری که u>0

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

see :S  P

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

action : P*  A

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

ادراک

عمل

عامل

محیط

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

see

action

state

next

عامل

محیط

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide11
توابع سودمندی بر روی حالت
  • یک راه: به هر حالت یک سودمندی نسبت دهید. وظیفه عامل آن است که به حالاتی برسد که به حداکثر سودمندی منجر می شوند.
  • توصیف وظیفه یک تابع بصورت زیر است:

u : E  R

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

u : h  R

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide14
سودمندی در بازی دنیای کاشی ها
  • یک شبکه دو بعدی که در آن عامل، کاشی ها، موانع و حفره هایی وجود دارند.
  • عامل می تواند در چهار جهت بالا، پایین، چپ و راست حرکت کند و اگر در کنار یک کاشی باشد می تواند آن را هل دهد.
  • حفره ها باید با کاشی ها توسط عامل پر شوند. عامل با پرکردن حفره توسط کاشی امتیاز می گیرد و قصد دارد که تا حد ممکن حفره های بیشتری را پر کند.
  • دنیای کاشی ها با ظاهر شدن و ناپدید شدن حفره ها بصورت تصادفی تغییر می کند.
  • تابع سودمندی بصورت زیر تعریف می شود:

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

u(h) = --------------------------------

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide22
عامل های منطقی/ نمادین (ادامه)
  • شبه کد تعریف عمل

function action (p: P) : A

/* try to find an action explicitly prescribed */

for each a e Ac do

If D |- rDo ( a) then

return a

end-if

end-for

/* try to find an action not excluded */

for each a e Ac do

If D |- r not Do(a) then

return a

end-if

end-for

return null /* no action found */

end function action

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide28
عامل های واکنشی (ادامه)
  • در این معماری رفتارها بصورت لایه های مختلفی ارائه می شوند که
    • هر رفتار یک ساختار شبیه قانون دارد:

عمل  وضعیت

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide29
عامل های واکنشی (ادامه)
  • تعریف تابع 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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide31
عامل های واکنشی (ادامه)
  • گروه های رفتاری و سلسله مراتب عملیات عامل:

حرکت تصادفی

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

عمل کردن

حس کردن

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

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

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide34
استدلال عملی (ادامه)
  • استدلال عملی در انسان شامل دو عمل است:
    • بررسی و قیاس : تصمیم گیری در مورد این که به چه اهدافی می خواهیم برسیم
      • خروجی بررسی و قیاس قصد ها می باشند.
    • استدلال عملی: تصمیم گیری در مورد این که چگونه می خواهیم به این اهداف برسیم

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

practical reasoning
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.

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

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

means ends reasoning
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.

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

ورودی حسگر

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

باورها

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

تمايلات

فيلتر کننده

قصدها

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

عمل خروجی

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

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide45
معماری BDI (ادامه)
  • مجموعه ای از گزینه های معتبر(تمایلات) که مبین اعمالی است که عامل می تواند انجام دهد.
  • یک تابع فیلترکننده که ورودی آن باورها و قصدهای عامل بوده و خروجی آن براساس فرآیند تبادل نظر(قیاس) اهداف (قصدهای) جدید عامل است

filter: j(Bel) * j(Int) * j(Des)  j(Int)

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

execute : j(Int)  A or action: P  A

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide46
معماری 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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide49
عامل PRS (ادامه)
  • معماری PRS

محيط

دانش های رويه ای

باورها

پردازشگر

ورودی حسگر

عمل خروجی

تمايلات

قصد ها

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide52
IRMA (ادامه)
  • معماری IRMA

موتور استنتاج

گزينه

تمايلات

تحليلگر موقعيت

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

باورها

فيلتر کننده

گزينه

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

قصد ها

عمل

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

nلايه

لايه ...

درک (ورودی)

عمل (خروجی)

لايه 2

لايه 1

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide59
معماری چندلایه (ادامه)
  • لایه بندی عمودی
    • در این لایه بندی ورودی ها و خروجی ها حداکثر با یک لایه مرتبط می باشند. این ساختار به دو نوع تک مسیره و دو مسیره تقسیم می شود.

عمل (خروجی)

nلايه

nلايه

لايه ...

لايه ...

لايه 2

لايه 2

لايه 1

لايه 1

درک (ورودی)

درک (ورودی)

عمل (خروجی)

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

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide61
معماری چندلایه (ادامه)
  • معماری ماشین تورینگ
    • یک لایه ای عمودی

لايه مدل سازی

زير سيستم درک

زير سيستم عمل

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

لايه واکنشی

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

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

آزمایشگاه سیستمهای هوشمند

www.ceit.aut.ac.ir/islab

slide62
معماری چندلایه (ادامه)
  • InteRRaP - عمودی و دو طرفه (two-pass)

cooperation layer

social knowledge

plan layer

planning knowledge

behavior layer

world model

world interface

perceptual input

action output

agent0 and placa
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.
agent0
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
agent01
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
agent02
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)
agent03
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
agent05
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)

)

agent06
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

agent0 and placa1
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
agent0 and placa2
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
concurrent metatem
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
concurrent metatem1
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”.
concurrent metatem2
Concurrent METATEM
  • MetateM is a framework for directlyexecuting 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
concurrent metatem3
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
concurrent metatem4
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
concurrent metatem5
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
concurrent metatem6
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:
concurrent metatem7
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
concurrent metatem8
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
concurrent metatem9
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!