فصل هفتم منطق مرتبه اول
- بهدست: Admingfars
- دستهبندی: اخبار ایران تکنولوژی
فصل هفتم
منطق مرتبه اول
- فصل اول هوش مصنوعی Artificial Intelligence
- فصل دوم عامل های هوشمند
- فصل سوم حل مسائل توسط جستجو
- فصل چهارم روشهای جستجو آگاهانه
- فصل 5 تئوری بازی
- فصل ششم عاملهاییکه به طور منطقی استدلال میکنند
- فصل هفتم منطق مرتبه اول
- فصل هشتم استنتاج در منطق مرتبه اول
- فصل نهم برنامهریزی
- فصل دهم عدم قطعیت
منطق گزارهای هستی شناسی بسیارمحدودی دارد و فقط برای دنیایی که شامل حقایق باشد، تعهد قبول میکند و این امر بازنمایی مسائل ساده را نیز مشکل ساخته است.
منطق مرتبه اول First-Order_logic)) تعهدات هستی شناسانه قویتری را نسبت به منطق گزارهای ایجاد میکند.
اجزایی که در این منطق وجود دارند:
اشیاء(Objects): مردم، خانهها، اعداد، تئوریها، رنگها، بازیهای بیسبال، جنگلها، کشورها…
روابط(Relations): برادرِ، بزرگتر از، داخل، قسمتی از، رنگ …دارد، بدهکار است، اتفاق افتاد بعد از…
خواص(Properties): قرمز، گرد: غیرواقعی، رسمی…
توابع(Functions): پدرِ، بهترین دوست، یکی بیشتر از، نوبت سوم…
ما ادعا نمیکنیم که دنیا واقعاً از اشیاء و روابط بین آنها ساخته شده است، بلکه این جداسازی به ما کمک میکند با بهتر در مورد دنیا قضاوت کنیم.
- منطق مرتبه اول قادر است تا حقایقی را در مورد تمام اشیاء جهان بیان دارد.
- اگرچه منطق مرتبه اول، موجودیت اشیاء و روابط آنها را ممکن میسازد، اما هیچ تعهد هستیشناسی را برای چیزهایی مثل طبقات، زمان و حوادث قبول نمیکند.
- منطق مرتبه اول از این نظر جهانی است که قادر است تا هر چیزی را که قابل برنامهریزی باشد، بیان کند.
نحو و معانی:
منطق مرتبه اول جملاتی دارد، اما همچنین واژههایی term نیز دارد که اشیاء را بازنمایی میکنند.
سیمبولهای ثابت، متغیرها و سیمبولهای تابع برای ساخت واژهها استفاده میشوند، و کمیتسنجها و سیمبولهای گزارهای برای ساخت جملات به کار برده میشوند.
تعریف دقیق هر عنصر به صورت زیر است:
سیمبولهای ثابت (Constant Symbols):
یک تفسیر میبایست معین کند که کدام شیء توسط کدام سیمبول ثابت در اشیاء ارجاع داده میشود.
هر سیمبول ثابت، دقیقاً به اسم یک شیء نامگذاری میشود، اما تمام اشیاء نیازی به داشتن نام ندارند و بعضی از آنها میتوانند چند اسم داشته باشند.
سیمبولهای گزاره (Predicate Symbols):
یک تفسیر معین میکند که یک سیمبول گزاره به یک رابطه ویژه درمدل رجوع میکند.
سیمبولهای تابع (Function Symbols):
بعضی از روابط تابع هستند، بدین معنا که هر شیئ دقیقاً به شیئ دیگری توسط رابطه رجوع میکند.
انتخاب ثابت، گزاره، و سیمبولهای تابع به کلی به کاربرد بستگی دارد.
ترمها (Terms):
یک ترم، یک عبارت منطقی است که به یک شیئ رجوع میکند.
معانی رسمی ترمها بسیار صریح است. تفسیر، یک رابطه تابعی ارجاع داده شده توسط سیمبول تابع، و اشیاء ارجاع داده شده توسط واژهها را اختصاص میدهد که آرگومانهایش هستند. از این رو، تمام ترم به شیئ رجوع میکند که به عنوان (n+1) امین مدخل در آن tuple در رابطهای که اولین n عنصر آن اشیاء ارجاع شده توسط آرگومانها هستند، ظاهر میشود.
جملات اتمی (Atomic sentences):
میتوانیم با استفاده از ترمهایی برای ارجاع به اشیاء و گزارههایی برای ارجاع به روابط، جملات اتمی به وجود آوریم، که حقایق را پایهگذاری میکنند.
یک جمله اتمی از یک سیمبول گزارهای تشکیل یافته و توسط یک لیست پرانتز از واژهها دنبال میشود.
یک جمله اتمی درست است اگر رابطه ارجاع شده توسط سیمبول گزاره با اشیاء ارجاع شده توسط آرگومانها مطابقت داشته باشد.
رابطه در صورتی صحت دارد که tuple اشیاء در رابطه باشد.
حقیقت یک جمله بنابراین هم به تفسیر و هم به دنیا بستگی دارد.
جملات پیچیده:
ما میتوانیم از رابطهای منطقی برای تشکیل جملات پیچیدهتر فقط در محاسبات گزارهای استفاده کنیم.
معانی جملات که با استفاده از رابطهای منطقی فرم گرفتهاند، ازلحاظ گزارهای با آن یکسان هستند.
سورها (Quantifires):
زمانی که ما منطقی در اختیار داریم که شامل اشیاء است، طبیعی است که ذکر خواص کلی اشیاء را بر شمارش اشیاء توسط نام ترجیح میدهیم. سورها به ما اجازه این کار را میدهند.
منطق مرتبه اول دو سور استاندارد دارد:
- عمومی (universal)
- وجودی (existential)
سور عمومی: (Universal Quantification)
معمولاً به معنی «برای تمام» است.
شما یک جمله را میتوانید به صورت xP که P یک عبارت منطقی است تصور کنید. و P معادل با ترکیب عطفی تمام جملات حاصل شده توسط جانشینی نام یک شیئ برای متغیر x هرجا که درP ظاهر شود، است.
سور وجودی (Existential):
به صورت «وجود دارد…» تلفظ میشود. درحالت کلی xP زمانی درست است که P برای بعضی از اشیاء در دنیا درست باشد. بنابراین میتواند به عنوان معادلی برای ترکیب فصلی جملات بدست آمده توسط جانشینی اسم یک اشیاء برای متغیر x، تصور شود.
بنابراین، یک جمله شرطی با سور وجودی در دنیایی شامل هر شیئ که مقدم آن ترکیب شرطی نادرست باشد، درست است. از این رو همچنین جملاتی اصلاً چیزی برای گفتن ندارند.
سورهای لانهای (Nested Quantifiers):
x , y معادل با x وy است
ترتیب سورها بسیار مهم است. اگر ما آنها را در پرانتز قرار دهیم روشنتر میشود.
در حالت کلی، x( y P(x,y)) جمله دلخواهی است که شامل x,y میباشد. میگوید که هر شیئی در دنیا یک خاصیت ویژهای دارد، و آن خاصیت به چند شیئی توسط رابطه p مربوط میشود.
از طرف دیگر، x( y P(x,y)) میگوید که در دنیا شیئی وجود دارد که خاصیت ویژهای دارد و خاصیت توسط p به هر شیئی در دنیا مربوط میشود
مشکل اساسی زمانی بوجود میآید ، که دو سور با یک متغیر استفاده میشوند.
قانون این است که متغیر به داخلیترین سور که آن را بیان میکند، پس این متغیر ارتباطی با دیگر سورها نخواهد داشت.
ارتباط بین و
در واقع دو سور وجودی و عمومی از طریق تناقض با هم در ارتباط هستند.
بدلیل اینکه در واقع رابط عاطفی در دنیای اشیاء است و رابط فصلی است، تعجب آور نخواهد بود که آنها از قوانین دمورگان پیروی کنند. قوانین دمورگان در ارتباط با جملات سوری به شرح زیر است:
برای اهداف AI، محتوا و از این رو قابلیت خواندن جملات مهم هستند.
بنابراین:
ما هر دو سور را نگه میداریم.
تساوی (Equality):
به غیر از گزارهها و ترمهایی که قبلاً به آنها اشاره میتوانیم از سیمبول تساوی (equality symbol) برای ساختن عباراتی که دو ترم به شیئی مشابه رجوع کنند، استفاده میکنیم.
سیمبول تساوی : میتواند به منظور شرح خواص یک تابع داده شده، استفاده شود. این سمبول هم چنین میتواند با علامت نقیض برای نشان دادن عدم تشابه دو شیئی استفاده شود.
توسعهها و تمایزات نگارشی:
سه نوع از روشهای که روی منطق مرتبه اول اعمال میشود:
1- منطق مرتبه بالاتر
2-1 عبارات تابعی و گزارهای با استفاده از عملگر λ
2-2 سور یکتایی
2-3 عملگر یکتایی
3- انواع علائم
منطق مرتبه بالاتر:
- ما را قادر میسازد تا بتوانیم کیفیت روابط و توابع اشیاء را به خوبی تعیین کنیم.
- قدرت معنا دارتری نسبت به منطق اول دارد.
عبارات تابعی و گزارهای با استفاده از عملگر λ :
- اغلب مفید است که توابع و گزارههای پیچیده را از قسمت های سادهتری تشکیل دهیم.
- عملگر λ مرسوم است که برای این منظور استفاده شود.
- این –expression λ میتواند برای آرگومانها نیز به کار برده شود تا به یک ترم منطقی منتهی شود.
برای مثال گزاره «از جنیست متفاوت و از آدرس مشابه هستند.» را میتواند به صورت زیر نوشت:
سور یکتایی:
راه دقیقی برای گفتن اینکه یک شیئی منحصر به فرد یک گزاره را قانع میکند، وجود ندارد. بعضی از مؤلفان علامت ! x King(x) را استفاده میکنند.
جمله بالا بدین معناست که «یک شیئی منحصر به فرد x وجود دارد که King(x) را قانع میکند «یا غیر رسمی تر بگوییم» دقیقاً یک King وجود دارد.
عملگر یکتایی:
برای مفهوم یکتایی استفاده میکنیم.
علامتxp(x) ﺎ عموماً برای بازنمایی مستقیم شیئی مورد نظر استفاده میشود.
انواع علائم:
تعدادی از علائم رایج در منطق مرتبه اول:
استفاده از منطق مرتبه اول:
- دامنه Kinship
- اصل موضوعات، تعاریف و قضایا
- دامنه مجموعهها
- علائم خاص برای مجموعهها، لیستها و محاسبات
- طرح پرسش و گرفتن پاسخ
عاملهای منطق برای دنیای Wumpus:
ما معماری سه عامل را در نظر میگیریم:
- عاملهای (reflex) که فقط ادراکات و عملیاتشان رامطابق هم طبقهبندی میکنند.
- عاملهای مبتنی بر مدل (model-based) که بازنمایی داخلی از دنیا را تشکیل میدهند و از آن برای عملکردشان استفاده میکنند.
- عاملهای مبتنی بر هدف goal-based که اهداف را صورت میدهند و سعی دارند تا به آنها برسند. (عاملهای مبتنی بر هدف معمولاً عاملهای مبتنی بر مدل نیز هستند.)
عامل واکنشی ساده:
سادهترین نوع ممکن عامل، قوانینی دارد که مستقیماً ادراکات را به عملیات مرتبط میسازد. این قوانین مشابه واکنش یا غرایز هستند.
محدودیتهای عاملهای واکنشی ساده:
- وجود مسائلی که باید به عامل از طریق بازنمایی دنیا فهمانده شود.
- عاملهای واکنشی نمیتوانند از حلقههای نامحدود اجتناب ورزند.
بازنمایی تغییر در دنیا:
در طراحی عامل، تمام ادراکات به پایگاه دانش اضافه میشود، و در اصل تاریخچه ادراک تمام آن چیزهایی است که در مورد دنیا باید دانسته شود. اگر ما قوانینی داشته باشیم که به گذشته به همان خوبی زمان جاری رجوع کنند، میتوانیم قابلیتهای یک عامل را برای یافتن جایی که عملکرد بهینه دارد، افزایش دهیم.
هر سیستمی که تصمیماتی را بر پایه ادراکات گذشته میگیرد، میتواند برای استفاده مجدد از جملاتی در مورد حالت جاری، دوباره نوشته شود، به شرط اینکه این جملات به محض رسیدن هر درک تازهای و در عمل تازهای که انجام میشود، به روز درآورده شود.
قوانینی که روشهایی در آن دنیا میتواند تغییر کند (تغییر نکند) را تعریف میکنند، قوانین diachronic نامیده میشوند که از زبان یونانی به معنای «سرتاسر زمان» برگرفته شده است. بازنمایی تغییرات یکی از مهمترین حیطهها در بازنمایی دانش است.
سادهترین راه برای کنار آمدن با تغییرات، تغییر پایگاه دانش است.
یک عامل میتواند در فضای گذشته و حالات ممکن آینده، به جستجو بپردازد، و هر حالت توسط پایگاه دانش متفاوتی بازنمایی میشود.
در اصل، بازنمایی موقعیت و عملیات تفاوتی با بازنمایی اشیاء واقعی یا روابط واقعی ندارد.
ما نیاز داریم که در مورد اشیاء و روابط مناسب، تصمیمگیری کنیم و سپس قضایایی در رابطه با آنها بنویسیم.
محاسبه موقعیت:
محاسبه موقعیت (Situation Calculus) روش خاصی برای تعریف تغییرات در منطق مرتبه اول است.
تصوری که از دنیا میشود، آن را به صورت دنبالهای از موقعیتها در نظر میگیرد، که هر کدام از آنها یک “snapshot” از حالت دنیا است.
استنتاج خواص پنهانی دنیا:
زمانی که عامل بتواند تشخیص دهد که کجا قرار دارد، میتواند کیفیتها را با محل، به جای موقعیت تطبیق دهد.
قوانین همزمان:
قضایایی را که ما برای تسخیر اطلاعات ضروری برای این استنباطها خواهیم داشت، قوانین همزمان (Synchronic) نامیده میشوند، زیرا آنها خواص حالت یک دنیا را به دیگر خواص حالت دنیای مشابه، مربوط میکنند.
دو نوع اصلی از قوانین همزمان وجود دارند:
قوانین Causal:
قوانین سببی جهت مفروض شده علت را در دنیا منعکس میکنند: بعضی از خواص پنهانی دنیا، ادراکات مطمئنی را برای تولید شدن باعث میشوند.
2) قوانین تشخیصی (Diagnostic rules):
قوانین تشخیصی مستقیماً دلالت بر حضور خواص پنهان شده از اطلاعات مبتنی بر ادراک دارند.
اگرچه قوانین تشخیصی به نظر میآید که اطلاعات مطلوبی را مستقیماً تولید کنند، خیلی حیلهگیرانه است، اطمینان داشته باشیم که آنها قویترین نتایج ممکن را از اطلاعات موجود به دست میآورند.
مهمترین مسئله برای به خاطر سپردن این است که اگر قضایا به درستی و کمال، روش عملکرد دنیا و روشی که ادراکات تولید میشوند را تعریف کنند، رویه استنتاج به درستی قویترین شرح ممکن از حالت دنیا با ادراکات داده شده را استخراج خواهد کرد.
اولویت بین عملیات:
تغییرات عقاید عامل در مورد بعضی از چهرههای دنیا نیاز به تغییرات در قوانینی که با دیگر چهرهها سروکار دارند، دارد.
- عامل ما به سادگی توسط پرسش برای رسیدن به چیزی متفاوت، میتواند دو مرتبه برنامهریزی شود.
- اهداف، مطلوب بودن حالات حاصل را بدون توجه به روش به دست آمدن آنها توضیح میدهند.
اولین قدم، شرح مطلوبیت خود عملیات (action)، و ترک ماشین برای انتخاب بهترین عمل است.
از یک مقیاس ساده استفاده میکنیم:
عملیات میتوانند عالی، خوب، متوسط ، ریسکی و یا مهلک باشند.
عامل همیشه باید یک عمل فوقالعادهای را در صورت یافتن انجام دهد؛ در غیر اینصورت، یک عمل خوب در غیر اینصورت، یک عمل متوسط، و یک عمل ریسکدار اگر تمام قبلیها شکست بخورند.
سیستم مقدار عملیاتی:
سیستمی که حاوی قوانینی از این نوع است یک سیستم مقدار عملیاتی (action-value) نامیده میشود.
- توجه کنید که قوانین به آنچه که واقعاً عملیات انجام میدهند، رجوع نمیکنند، فقط به مطلوب بودن آنها توجه دارند.
به سوی یک عامل هدفدار:
حضور یک هدف دقیق به عامل اجازه میدهد تا دنبالهای از عملیاتی که منجر رسیدن به هدف میشوند را پیدا کند.
حداقل سه روش برای یافتن چنین دنبالهای وجود دارد:
- استنتاج
- جستجو
- برنامهریزی
استنتاج:
نوشتن قضایایی که به ما اجازه ASK از KB را برای دنبالهای از عملیات بدهد که ضمانت رسیدن به هدف را به طور امن بکند، چندان مشکل نیست.
مشکلات این روش:
– برای دنیاهای بزرگ، تقاضاهای محاسباتی بسیار زیاد است.
– مشکل تشخیص راهحلهای خوب از راهحلهای بیهوده وجود دارد.
جستجو:
ما میتوانیم از رویه جستجوی سطحی برای یافتن مسیری به هدف استفاده کنیم. این از عامل درخواست میکند تا دانش خود را به صورت مجموعهای از عملگرها درآورد، و بازنمایی حالات را دنبال کند، بنابراین الگوریتم جستجو میتواند به کار برده شود.
برنامه ریزی:
شامل استفاده از سیستمهای استدلال خاصی میشود که برای استدلال در مورد عملیات طراحی شدهاند.
بدون دیدگاه