فصل ششم عاملهاییکه به طور منطقی استدلال میکنند
- بهدست: Admingfars
- دستهبندی: اخبار ایران تکنولوژی
فصل ششم
عاملهاییکه به طور منطقی استدلال میکنند
- فصل اول هوش مصنوعی Artificial Intelligence
- فصل دوم عامل های هوشمند
- فصل سوم حل مسائل توسط جستجو
- فصل چهارم روشهای جستجو آگاهانه
- فصل 5 تئوری بازی
- فصل ششم عاملهاییکه به طور منطقی استدلال میکنند
- فصل هفتم منطق مرتبه اول
- فصل هشتم استنتاج در منطق مرتبه اول
- فصل نهم برنامهریزی
- فصل دهم عدم قطعیت
معرفی طراحی پایهای برای یک عامل مبتنی بر دانش:
رهیافت مبتنی بر دانش روش قدرتمندی از ساخت برنامه عامل است. هدف آن پیادهسازی نمایی از عامل است که بتواند به عنوان دانش در مورد دنیای آنها و استدلال در مورد گونههایی ممکن از رفتار آنها به کار میرود.
عاملهای مبتنی بر دانش قادرند که:
- وظایف جدید را به صورت اهداف تعریف شده صریح قبول کنند.
- آنها میتوانند به سرعت توسط گفتن یا یادگیری دانش جدید درمورد حیطه، به رقابت برسند.
- آنها میتوانند خود شانس را با تغییرات محیط، توسط به روز در آوردن دانش مربوطه، تطبیق دهند.
عامل مبتنی بر دانش به موارد زیر نیاز دارد:
- چه چیزهایی را بداند؟
- وضعیت جاری دنیا؟
- چطور توسط ادراک به خواص نادیده دنیا رجوع کند؟
- چطور دنیا زمان را میگشاید؟
- عامل به چیزی میخواهد برسد؟
- فعالیتهایی که در شرایط مختلف انجام میدهد چیست؟
بخش مرکزی عامل مبتنی بر دانش پایگاه دانش (knowledge base) آن، یا KB است.
پایگاه دانش: مجموعهای از نمایش حقایق در مورد نیاز است.
جمله: هر نمایش اختصاصی یک جمله (sentence) نامیده میشود.
جملات: جملات در یک زبانی که زبان بازنمایی دانش (knowledge representation) نامیده میشود، بیان میشوند.
ASK: به منظور افزودن جملات جدید به پایگاه دانش به کار برده میشود.
TELL: به منظور پرسش اینکه چه چیزهایی شناخته شده است.
تشخیص اینکه چه چیزی باید پس از TELLed به KB دنبال شود، مسئولیت مکانیزمی به نام استنتاج (inference) است، که قسمت مهم دیگر عامل مبتنی بر دانش را تشکیل میدهد.
هر زمان که برنامه دانش صدا زده میشود، دو عمل انجام میشود:
- به پایگاه دانش گفته میشود (TELL) که چه دریافت کرده است.
- از پایگاه دانش سؤال میشود (ASK) که چه عملی باید انجام شود.
در فرآیند پاسخ به این پرسش، استدلال منطقی برای اثبات اینکه کدام عمل بهتر از بقیه است استفاده میشود و دانستههای عامل و اهداف آن مشخص میشوند.
میتوانیم یک عامل مبتنی بر دانش را در سه سطح تعریف کنیم:
- سطح دانش knowledge level یا سطح epistemological که خلاصهترین سطح است؛ میتوانیم عامل را توسط گفتن اینکه عامل چه میداند، تعریف نماییم.
- سطح منطقی logical level سطحی است که دانش به صورت جملات رمزگذاری میشود.
- سطح پیاده سازی Implementation Level سطحی است که در معماری عامل اجرا میشود و بازنماییهای فیزیکی از جملات سطح منطقی، در این سطح وجود دارد.
انتخاب پیادهسازی در کارآیی بهتر عامل بسیار اهمیت دارد، اما به سطح منطقی و سطح دانش مربوط نمیشود.
دنیای WUMPUS:
مشابه دنیای مکش، دنیای Wumpus شبکهای از مربع است که توسط دیوارهایی احاطه شدهاند، که هر مربع میتواند شامل عاملها و اشیاء باشد.
وظیفه عامل یافتن طلا و بازگشتن به نقطه شروع و بالا رفتن از غار است.
برای مشخص نمودن وظیفه عامل، ادراکات، عملیات و اهداف آن را باید مشخص کنیم. در دنیای Wumpus، اینها به صورت زیر هستند:
- از مربعی که شامل Wumpus است و مربعهای مجاور (نه قطری) عامل بوی بدی را دریافت میکند .
- در مربعهایی که مستقیماً مجاور با چالهها هستند، عامل نسیمی را دریافت میکند.
- در مربعی که طلا وجود دارد، عامل یک درخششی را درک میکند.
- زمانی که یک عامل به داخل دیواره قدم بر میدارد، ضربهای را دریافت میکند.
- زمانی که Wumpus کشته میشود، فریادی سر میدهد که هر جایی از غار شنیده میشود.
- ادراکات به عامل به صورت لیستی از پنج سیمبول داده میشود.
- مانند دنیای مکش، عملایتی برای جلو رفتن، چرخیدن 90 به سمت چپ، چرخیدن 90 به سمت راست وجود دارد.
- عامل نابود خواهد شد زمانی که وارد یک مربع شامل سیاده چاله و یا کی Wumpus زنده میشود.
- هدف عامل یافتن طلا و برگرداندن آن به خانه شروع با سرعت تمام است، بدون آنکه کشته شود.
بازنمایی، استدلال و منطق:
بازنمایی و استدلال با همدیگر، عملکرد یک عامل مبتنی بر دانش را حمایت خواهند کرد.
بازنمایی دانش (knowledge representation) دانش را در فرم حل شدنی کامپیوتر مطرح میسازد، که به عاملها کمک میکند تا ارائه بهتری داشته باشند.
زبان بازنمایی دانش متوسط دو خاصیت تعریف میشود:
نحو (Syntax): یک زبان ساختاری ممکن برای تشکیل جملات را ایجاد میکند.
بازنمایی واقعی در داخل کامپیوتر: هر جمله توسط یک ساختار فیزیکی یا خاصیت فیزیکی قسمتی از عامل پیادهسازی میشود.
معنی (Semantic): تعیین میکند که حقایق موجود در دنیا به چه جملاتی نسبت داده شوند.
با Semanticها، میتوانیم بگوییم زمانی که ساختار ویژه با یک عامل وجود دارد، عامل به جملات مربوطه، اعتقاد دارد.
معنیهای زبان تعیین میکند که حقایق به کدام جملات مربوط میشوند.
تفاوت بین حقایق و بازنماییهای آنها:
حقایق قسمتی از دنیای واقعی را تشکیل میدهند، اما بازنماییهای آنها باید به صورتی کد شوند که بتواند به طور فیزیکی در یک عامل ذخیره شود.
جملات قسمتی از ساختار فیزیکی عامل هستند و استدلال باید پردازشی از ایجاد ساختار جدید فیزیکی از نمونههای قدیمیتر باشد.
استدلال مطلوب باید این اطمینان را حاصل کند که ساختار جدید حقایقی را بازنمایی میکند که از حقایقی که ساختار قدیمی ایجاد کرده بود، پیروی کنند.
استلزام:
ارتباط بین حقایقی که دنباله رو یکدیگر هستند را نشان میدهد.
در علائم ریاضی، ارتباط استلزام بین یک پایگاه دانش KB و یک جمله a به صورت «KB مستلزم a است» تلفظ میشود و به صورتKB|= a نوشته میشود.
رویه استنتاج میتواند یکی از دو عامل ذیل را انجام دهد:
- با داشتن پایگاه دانش KB میتواند جملات تازهای از a تولید کند که مفهوم آن استلزام توسط KB باشد.
- یا با داشتن یک پایگاه دانش KB و جمله a دیگری، این رویه میتواند گزارش دهد که a توسط KB مستلزم شده است یا خیر.
رویه استنتاج i میتواند توسط جملاتی که آنها را مشتق میکند، تعریف شود. اگر i بتواند a را از KB مشتق کند، منطقدان میتواند بنویسید: |_ I a KB که خوانده میشود «آلفا از KB توسط i مشتق شده است یا «i مشتق میکند آلفا از KB».
ثبت عملیات رویه استنتاج صحیح، اثبات (Proof) نامیده میشود.
کلید استنتاج صحیح:
داشتن مراحل استنتاج است که به جملات مورد عمل قرار گرفته، توجه داشته باشد.
بازنمایی:
زبانهای برنامهنویسی (مانند C یا پاسکال یا Lips) برای تعریف الگوریتمها مناسب هستند و بین ساختارهای داده پیوستگی ایجاد میکنند.
زبانهای طبیعی بیشتر محتاج محاوره بر خلاف بازنمایی هستند.
مزایا و معایب زبان طبیعی:
زبان طبیعی راهی خوب برای سخنگو است تا مخاطب را متوجه منظور خود سازد؛ اما اغلب این تقسیم دانش بدون بازنمایی صریح خود دانش انجام میشود. زبانهای طبیعی هم چنین از ابهامات رنج میبرند، مانند عبارت «سگها و گربههای کوچک»، روشن نیست که آیا سگها نیز کوچک هستند یا خیر.
یک زبان بازنمایی خوب میبایست:
مزایای زبانهای طبیعی و رسمی را با هم داشته باشد.
پرمعنی و رسا باشد.
دقیق و غیر مبهم
مستقل از متن
قابل استنتاج
معانی:
یک جمله خودش به تنهای معنایی ندارد.
میتوان زبانی را تعریف نمود که در آن هر جمله یک تفسیر اختیاری داشته باشد. اما در عمل تمام زبانهای بازنمایی ارتباط سیستماتیکی بین جملات اعمال میکنند.
صدقپذیری:
یک جمله معتبر (Valid) یا لزوماً صحیح است اگر و فقط اگر تحت تمام تفسیرهای ممکن در تمام دنیای ممکن، بدون توجه از آنچه که تصور میشد که معنا دهد و بدون توجه به حالت آن مطلب در کل، تعریف شده باشد.
یک جمله صدقپذیر (satisfiable) است اگر و فقط اگر تفسیری در دنیایی برای صحت آن وجود داشته باشد. جمله در خانه [1,2] Wumpus وجود دارد ” Satisfiable است زیرا امکان دارد که Wumpus در آن خانه باشد، حتی اگر چنین اتفاقی نیفتاده باشد، جملهای که صدقپذیر نباشد صدق ناپذیر (unsatisfiable) است.
جملات خود تناقضی صدقناپذیر هستند، اگر تناقض به معنای سیمبولها بستگی نداشته باشد.
استنتاج در کامپیوترها:
معتبر بودن و صدق ناپذیری به قابلیت کامپیوتری که استدلال میکند، بستگی دارد.
کامپیوترها از دور نقطه ضعف رنج میبرند:
کامپیوتر لزوماً تفسیری را که شما برای جملات در پایگاه دانش به کار میبردید، نمیداند.
چیزی در مورد دنیا نمیداند به جز آنچه که در پایگاه دانش ظاهر میشود.
چیزی که استنتاج رسمی را قدرت میبخشد، نبودن محدودیت بر روی پیچیدگی جملاتی است که کامیپوتر باید آنها را مورد عمل قرار دهد.
بزرگترین چیز در مورد استنتاج رسمی، قابلیت آن برای بدست آوردن نتایج صحیح است حتی زمانی که کامپیوتر اطلاعی از تفسیر استفاده شده توسط شما نداشته باشد.
کامپیوتر فقط نتایج معتبر را گزارش میکند، که بایست بدون توجه به تفسیر شما، صحیح باشد.
منطق شامل موارد زیر میشود:
1- یک سیستم رسمی برای تعریف حالتهای مطلب که شامل:
الف- نحو (syntax) زبان، که روش درست کردن جملات را شرح میدهد.
ب- معانی (semantic) زبان، که محدودیتهای سیستماتیکی را روی چگونگی ارتباط جملات با حالات موضوع قرار میدهند.
2- تئوری اثبات- مجموعهای از قوانین برای استنباط استلزامی یک سری از جملات.
ما روی دو نوع منطق تمرکز خواهیم کرد:
- منطق بولین یا گزارهای،
- منطق مرتبه اول (دقیق تر بگوییم، حساب گزاره مرتبه اول با تساوی.)
- در منطق گزارهای سیمبولها تمام گزارهها را بازنمایی میکنند.
- سیمبولهای گزارهای میتوانند با استفاه از ربطدهندههای بولین (Boolin connevtives) جملات را با معناهای پیچیدهترین تولید کنند.
منطق مرتبه اول با بازنمایی دنیاهایی به نام اشیاء (objects) و گزاره ها روی اشیاء (به عنوان مثال، خواص اشیاء یا ارتباط بین اشیاء)، به خوبی استفاده از ربط دهنده ها و سورها (quantifiers)، به جملات اجازه میدهند تا در مورد چیزی در دنیا به سرعت نوشته شوند.
در منطق مرتبه اول گزارهای یک جمله یک حقیقت را بیان میکند و عامل باور دارد که جمله صحیح است، یا جمله نادرست است یا قادر نیست تا از راه دیگری تنیجهگیری کند.
سیستمهایی که مبتنی بر منطق شولا (Fuzzy) هستند، میتوانند در جایی از اعتقاد را در یک جمله داشته باشند و همچنین به درجات حقیقت نیز اجاره دهند: یک حقیقت نیازی به درست یا نادرست بودن در دنیا ندارد، اما می تواند تا یک میزانی صحت داشته باشد.
منطق گزارهای: یک منطق بسیار ساده:
علائم منطق گزارهای:
ثابتهای منطقی (true, False)
علائم گزارهای: Q, P
رابطهای
پرانتز ()
تمام جملات توسط قرار دادن این علائم با هم و با استفاده از قوانین زیر، ساخته میشوند:
- ثابتهای منطقی (true, False) خودشان جمله محسوب میشوند.
- علامات گزارهای نظیر Q, P هر کدام به تنهایی یک جمله هستند.
- پرانتزهای اطراف یک عبارت، آن عبارت را تبدیل به یک جمله واحد میسازند مثل (P ^ Q).
- یک جمله میتواند توسط ترکیب جملات سادهتر با یکی از پنج رابط منطقی ایجاد میشود.
روش رفع ابهام منطق گزارهای بسیار شبیه عبارت ریاضی است.
معانی:
یک سیمبول گزارهای میتواند آنچه که خواست شما است، معنی بدهد. یعنی اینکه، تفسیر آن هر حقیقت اختیاری میتواند باشد.
یک جمله پیچیده، معنایی مرکب از معناهای هر قسمت از جمله را دارد، هر رابط میتواند به عنوان یک تابع تصور شود.
اعتبار و استنتاج:
جدول درستی برای تعریف رابطها و برای کنترل جملات معتبر به کار میرود.
ماشین هیچ ایدهای از معنای نتایج ندارد، کاربر میتواند نتایج را بخواند و از تفسیر خود برای سیمبولهای گزارهای به معنای نتیجه پی ببرد.
وجود یک یک سیستم استدلال ضروری است تا قادر باشد، نتایجی را استخراج کند که از مقدمها، بدون توجه به دنیا که اولویت رجوع جملات را مشخص میکند، پیروی کنند.
جملات اغلب به دنیایی رجوع میکنند که عامل دسترسی مستقلی به آن نداشته باشد.
مدلها Models:
دنیایی که در آن جملهای تحت تفسیری ویژه، درست باشد. یک مدل (Model) از آن جمله نامیده میشود.
مدلها در منطق بسیار حائز اهمیت هستند زیرا، دوباره استلزام را مطرح میکنند، جمله a توسط یک پایگاه دانش KB مستلزم میشود، اگر مدلهای KB تمام مدلهای a باشند. سپس زمانی که KB درست باشد، a نیز درست خواهد بود.
«دنیاهای واقعی» متفاوت بسیاری وجود دارند که مقادیر درستی مشابهی برای آن سیمبولها دارند. تنها تقاضایی که برای کامل شدن تصفیه لازم است، درستی یا نادرستی هر سیمبول گزارهای در هر دنیا است
قوانین استنتاج برای منطق گزارهای:
پردازشی که توسط هر کدام از آنها، صحت یک استنباط از طریق جداول درستی بدست آمده است، میتوند به کلاسهای استنتاجها گسترش داده شود.
نمونههای مطمئنی از استنتاجها وجود دارند. که بیشتر و بیشتر بوجود میآیند، و صحت آنها میتواند یکبار برای همیشه نشان داده شوند.
زمانی که یک قانون پیاده شد، میتوان به منظور ساخت استنتاجها بدون ساخت جداول درستی، استفاده شود.
این جمله نیست، اما یک قانون استنتاج است.
یک قانون استنتاج زمانی درست است اگر نتیجه آن در تمام موارد درست باشد و مقدمها نیز درست باشند.
یک اثبات منطقی شامل دنبالهای از کاربردهای قوانین استنتاج است که ابتدا با جملههای موجود در KB آغاز میشود، و منجر به تولید جملهای میشود که اثبات را پایان میدهد.
یکنوایی:
استفاده قوانین استنتاج به منظور یافتن نتیجه از یک پایگاه دانش، به طور صریح مبتنی بر خواص عمومی منطقهای قطعی (شامل گزارهای و منطق مرتبه اول) است که یکنوایی (monotonicity) نامیده میشود.
میتوانیم خواص یکنوایی منطق را به طور زیر شرح دهیم:
منطق مرتبه اول وگزارهای دراین حالت، یکنوا هستند.
تئوری احتمال، یکنوا نیست.
کلاس مفیدی از جملات برای زمانی که رویه استنتاجی با زمان چند جملهای وجود دارد که این کلاس جملات هورن (Horn sentences) نامیده میشود. یک جمله هورن فرمی به صورت زیر دارد:
که Pi و Q اتمهای خنثی هستند. دو مورد مهم وجود دارد: اول، زمانی که Qثابت False است.
ما به جملهای میرسیم که برابر است با:
دوم اینکه، زمانی کهn=1 و P1=True ما به True=>Qمیرسیم که برابر است با جمله اتمی Q.
منطق گزارهای به ما اجازه میدهد که به تمام نکات مهم درمورد منطق و چگونگی استفاده از آن به منظور ارائه استنتاج که نهایتاً به عملیات تبدیل میشود، برسیم. اما منطق گزارهای بسیار ضعیف است.
مشکل کند شدن رویه استنتاج:
1) مشکل فقط نوشتن این قوانین نیست بلکه تعداد زیاد آنها، باعث مشکل میشود.
2) مشکل دیگر، روبرو شدن با تغییرات محیط است. ما جزیی از عامل استدلال کننده را در یک مکان و زمان ویژه نشان دادیم، و تمام گزارهها در پایگاه دانش در آن زمان خاص، درست بودند. اما در حالت کلی، دنیا هر لحظه در حال تغییر است.
اندازه یک جدول درستی n2 است. که n تعداد سیمبولهای گزارهای در پایگاه دانش است.
برای اجتناب از سردرگمی، ما به سیمبولهای گزارهای متفاوتی، برای تشخیص مکان عامل در هر مرحله نیازداریم.
1- ما نمیدانیم که بازی چه مدت طول خواهد کشید، بنابراین نمیدانیم که چه تعداد از این گزارههای وابسته به زمان، نیاز داریم.
2- اکنون باید برگردیم و حالتهای وابسته به زمان از هر قانون را بنویسیم.
بدون دیدگاه