۱
subtitle
ارسال: #۱
  
یکسان سازی - IT89
در کدام یک از گزینه های زیر، یکسان سازی (Unification) با شکست روبرو می شود؟ (فناوری اطلاعات - ۸۹)
۱) [tex]friends(x,y,z), friends(Ali,Ali,Ali)[/tex]
۲) [tex]knows(y,mother(y)),knows(Ali,x)[/tex]
۳) [tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex]
۴) هیچ کدام
کلید سنجش: گزینه ۴ (هیچ کدام)
یه عده از کتابا: گزینه ۴ (هیچ کدام)
یه عده دیگه از کتابا: گزینه ۳ (دلایل مختلف!)
جواب درست چیه و چرا؟
۱) [tex]friends(x,y,z), friends(Ali,Ali,Ali)[/tex]
۲) [tex]knows(y,mother(y)),knows(Ali,x)[/tex]
۳) [tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex]
۴) هیچ کدام
کلید سنجش: گزینه ۴ (هیچ کدام)
یه عده از کتابا: گزینه ۴ (هیچ کدام)
یه عده دیگه از کتابا: گزینه ۳ (دلایل مختلف!)
جواب درست چیه و چرا؟
۰
۰
۰
ارسال: #۴
  
RE: یکسان سازی - IT89
[tex]friends(x,y,z), friends(Ali,Ali,Ali)[/tex]
[tex]\Theta = \{x/Ali, y/Ali, z/Ali\}[/tex]
[tex]knows(y,mother(y)),knows(Ali,x)[/tex]
[tex]\Theta =\{y/Ali, x/mother(Ali)\}[/tex]
[tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex]
[tex]\Theta =\{x/Ali, y/Ali, mother(Ali)/Alice=fail\}[/tex]
(fail = سمت چپ فقط متغیر)
[tex]\Theta = \{x/Ali, y/Ali, z/Ali\}[/tex]
[tex]knows(y,mother(y)),knows(Ali,x)[/tex]
[tex]\Theta =\{y/Ali, x/mother(Ali)\}[/tex]
[tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex]
[tex]\Theta =\{x/Ali, y/Ali, mother(Ali)/Alice=fail\}[/tex]
(fail = سمت چپ فقط متغیر)
(۲۴ شهریور ۱۳۹۱ ۱۱:۱۶ ق.ظ)MSZ نوشته شده توسط: سنجش ...کارت درسته !
یه عده از کتابا ...
یه عده دیگه از کتابا ...
۰
ارسال: #۵
  
یکسان سازی - IT89
ارسال: #۶
  
RE: یکسان سازی - IT89
(۲۵ شهریور ۱۳۹۱ ۰۴:۰۹ ق.ظ)MSZ نوشته شده توسط:[tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex](25 شهریور ۱۳۹۱ ۱۲:۴۱ ق.ظ)Ghiasoddin نوشته شده توسط: (fail = سمت چپ فقط متغیر)خوب دلیلش چی هست حالا؟!
برای یکسان کردن predicate اول و دوم باید هم x و هم y رو با Ali جایگزین کنیم؛ در واقع این تنها راهه چراکه Ali ثابته و نمیتونه با چیزی جایگزین بشه؛ در اینصورت هر دو predicate در دو آرگومان اول مثل هم میشن؛ چون در آرگومان سوم هم یکی نیستند باید [tex]mother(x)[/tex] رو با Alice یکی کنیم که نمیشه؛ چون Alice ثابته و طیق قانون یکسان سازی نمیتونه با چیزی جایگزین بشه؛ از طرفی [tex]mother(Ali)[/tex] (x قبلا با Ali جایگزین شده) یه تابعه که خروجیش یه آبجکته (مادر Ali) و متغیر نیست؛ بنابراین دو تا predicate داده شده نمیتونن یکی بشن؛ اگه مثلا به جای Alice داشتیم z، در اونصورت کافی بود z رو که یه متغیره با [tex]mother(Ali)[/tex] جایگزین کنیم تا هر دو predicate یکی بشن؛
وقتی یکسان سازی مثل [tex]\Theta[/tex] رو تشکیل میدید (پست ۴) سه تا قانون ساده رو باید تست کنید:
- در سمت چپ هر اسلش فقط میتونه متغیر قرار بگیره؛
- یک متغیر در سمت چپ بیش از دو تا اسلش قرار نگیره؛ یعنی یه متغیر بیش از یه مقدار نمیتونه بگیره؛
- و اگه متغیری سمت چپ یه اسلش بود، در سمت راست هیچ اسلشی نباید ظاهر بشه؛ یعنی یه متعیر یا باید مقدار بگیره و یا به متغیری دیگه ای نسبت داده بشه؛ همزمان هردوش نمیشه؛
۰
ارسال: #۷
  
RE: یکسان سازی - IT89
برای این سوال یک ابهام اساسی که وجود داره اینه که آیا [tex]mother(x),\ \ \ x|Ali, \ \ \ mother(Ali)[/tex] تابع هست، متغیر هست یا ثابت؟
مشخصاً ابهام اصلی همینجاست و این حل بشه، تست مشکلش حل میشه.
به نظر من هم (طبق نظر دوستان)، این یه ثابت هست چون قاعدتاً یه خروجی داره، بنابراین میخواهیم یکسان ساز ثابت به ثابت رو انجام بدیم در حالیکه این دوتا یکی نیستند، در نتیجه شکست میخوره...
یه دلیل دیگه هم فکر کنم بشه آورد، در گزینهی دوم که ما گفتیم مشکلی نداره، طبق الگوریتم یکسانسازی ابتدا [tex]mother(Ali)|x[/tex] بررسی میشه و چون شکست میخوره، از طرف دیگه چک میکنه که منجر به شکست نمیشه.
حالا درباره ابهامهای این تست امیدوارم بیشتر صحبت بشه
پ.ن: باز ما موندیم و هوش مصنوعی و کلید سنجش!!!
(نظر خود شما دربارهی این تست چیه؟)
مشخصاً ابهام اصلی همینجاست و این حل بشه، تست مشکلش حل میشه.
به نظر من هم (طبق نظر دوستان)، این یه ثابت هست چون قاعدتاً یه خروجی داره، بنابراین میخواهیم یکسان ساز ثابت به ثابت رو انجام بدیم در حالیکه این دوتا یکی نیستند، در نتیجه شکست میخوره...
یه دلیل دیگه هم فکر کنم بشه آورد، در گزینهی دوم که ما گفتیم مشکلی نداره، طبق الگوریتم یکسانسازی ابتدا [tex]mother(Ali)|x[/tex] بررسی میشه و چون شکست میخوره، از طرف دیگه چک میکنه که منجر به شکست نمیشه.
حالا درباره ابهامهای این تست امیدوارم بیشتر صحبت بشه
پ.ن: باز ما موندیم و هوش مصنوعی و کلید سنجش!!!
(نظر خود شما دربارهی این تست چیه؟)
۰
ارسال: #۸
  
یکسان سازی - IT89
من باز نفهمیدم منظورتون رو!
اصلا دلیل اینکه این شکست میخوره چیه؟
یه مقدار step به step تر بگین معلوم شه. هر سه تا رو یه جا نوشتین من درست متوجه نشدم
سپاس
اصلا دلیل اینکه این شکست میخوره چیه؟
یه مقدار step به step تر بگین معلوم شه. هر سه تا رو یه جا نوشتین من درست متوجه نشدم
سپاس
۰
ارسال: #۹
  
یکسان سازی - IT89
پس الان یه سوال دارم:
بعضی از کتابا گفتن یه تابع رو با یه ثابت نمیشه یکسان سازی کرد
که تو این مورد [tex]mother(x)[/tex] تابع هست و با Alice نمیتونه یکسان سازی بشه.
این حرف درستیه؟
اگر x مقدار نگرفته بود و [tex]mother(x)[/tex] رو فقط داشتیم و [tex]mother(Ali)[/tex] رو دیگه نداشتیم، باز هم این حرف درست بود؟
الان با توجه به این سه تا نکته ای که گفتین، با توجه به کدومش این یکسان سازی شکست خورده؟
(شرمنده همه سوالا رو تو همین یه پست زدم)
بعضی از کتابا گفتن یه تابع رو با یه ثابت نمیشه یکسان سازی کرد
که تو این مورد [tex]mother(x)[/tex] تابع هست و با Alice نمیتونه یکسان سازی بشه.
این حرف درستیه؟
اگر x مقدار نگرفته بود و [tex]mother(x)[/tex] رو فقط داشتیم و [tex]mother(Ali)[/tex] رو دیگه نداشتیم، باز هم این حرف درست بود؟
الان با توجه به این سه تا نکته ای که گفتین، با توجه به کدومش این یکسان سازی شکست خورده؟
(شرمنده همه سوالا رو تو همین یه پست زدم)
(۲۵ شهریور ۱۳۹۱ ۱۱:۳۷ ب.ظ)Ghiasoddin نوشته شده توسط:(25 شهریور ۱۳۹۱ ۰۴:۰۹ ق.ظ)MSZ نوشته شده توسط:[tex]group(x,y,mother(x)),group(Ali,Ali,Alice)[/tex](25 شهریور ۱۳۹۱ ۱۲:۴۱ ق.ظ)Ghiasoddin نوشته شده توسط: (fail = سمت چپ فقط متغیر)خوب دلیلش چی هست حالا؟!
برای یکسان کردن predicate اول و دوم باید هم x و هم y رو با Ali جایگزین کنیم؛ در واقع این تنها راهه چراکه Ali ثابته و نمیتونه با چیزی جایگزین بشه؛ در اینصورت هر دو predicate در دو آرگومان اول مثل هم میشن؛ چون در آرگومان سوم هم یکی نیستند باید [tex]mother(x)[/tex] رو با Alice یکی کنیم که نمیشه؛ چون Alice ثابته و طیق قانون یکسان سازی نمیتونه با چیزی جایگزین بشه؛ از طرفی [tex]mother(Ali)[/tex] (x قبلا با Ali جایگزین شده) یه تابعه که خروجیش یه آبجکته (مادر Ali) و متغیر نیست؛ بنابراین دو تا predicate داده شده نمیتونن یکی بشن؛ اگه مثلا به جای Alice داشتیم z، در اونصورت کافی بود z رو که یه متغیره با [tex]mother(Ali)[/tex] جایگزین کنیم تا هر دو predicate یکی بشن؛
وقتی یکسان سازی مثل [tex]Theta[/tex] رو تشکیل میدید (پست ۴) سه تا قانون ساده رو باید تست کنید:
- در سمت چپ هر اسلش فقط میتونه متغیر قرار بگیره؛
- یک متغیر در سمت چپ بیش از دو تا اسلش قرار نگیره؛ یعنی یه متغیر بیش از یه مقدار نمیتونه بگیره؛
- و اگه متغیری سمت چپ یه اسلش بود، در سمت راست هیچ اسلشی نباید ظاهر بشه؛ یعنی یه متعیر یا باید مقدار بگیره و یا به متغیری دیگه ای نسبت داده بشه؛ همزمان هردوش نمیشه؛
ارسال: #۱۰
  
RE: یکسان سازی - IT89
(۲۶ شهریور ۱۳۹۱ ۰۵:۱۹ ق.ظ)MSZ نوشته شده توسط: پس الان یه سوال دارم:تا جائیکه یادمه "فقط متغیرها" رو میشه با یه ثابت، یه تابع، یا یه متغیر دیگه جایگزین کرد؛ بنابراین اگه دو تا predicate بدن که یکیش همه آرگومانهاش ثابت یا تابع باشه، نمیشه تغییرش داد؛ مثل predicate سمت راست عبارت اولی؛ اما سمت چپی آرگومانهاش سه تا متغیره که میشه با جایگزینی با Ali هر دو تا predicate رو مثل هم کرد؛
بعضی از کتابا گفتن یه تابع رو با یه ثابت نمیشه یکسان سازی کرد
که تو این مورد [tex]mother(x)[/tex] تابع هست و با Alice نمیتونه یکسان سازی بشه.
این حرف درستیه؟
در عبارت دومی، آرگومان اول predicate سمت راست یه ثابته، پس کاریش نمیشه کرد؛ باید برید سراغ سمت چپی که متغیر داره و y رو با Ali جایگزین کنید؛ از طرفی آرگومان دومی سمت چپی یه "تابعه" که نمیشه اونو برداشت و جاش چیز دیگه ای گذاشت؛ باید متغیر سمت راستی رو با اون تابع یعنی mother(Ali) جایگزین کنید؛
(۲۶ شهریور ۱۳۹۱ ۰۵:۱۹ ق.ظ)MSZ نوشته شده توسط: الان با توجه به این سه تا نکته ای که گفتین، با توجه به کدومش این یکسان سازی شکست خورده؟خودتون باید بتونید بگید سومی چرا یکسان نمیشه؟ (آرگومان سوم سمت راستی یه "ثابت" و سمت چپی یه "تابعه"؛)
(شرمنده همه سوالا رو تو همین یه پست زدم)
پ.ن. یکسان سازی یه الگوریتم داره، اما این مبحث راحت تر از اونیه که نیاز به الگوریتم داشته باشه؛
تنها نکته ای که ممکنه کمی این مبحثو بپیچونه متغیرهای داخل توابع هستند که باید دقت کنید اگه اون متغیرها مقدار گرفتند در این توابع هم اونها رو اعمال کنید؛ توی لینکهای زیر هم مثالهایی خوبی هست که شاید مفید باشه؛
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۰
ارسال: #۱۱
  
یکسان سازی - IT89
ممنونم
پس نتیجه میگیریم که گزینه ۳ جواب این سوال هست و دلیلش هم اینه که ما نمیتونیم یک تابع رو با یک مقدار ثابت یکسان سازی کنیم.
امیدوارم درست نتیجه گیری کرده باشم.
پس نتیجه میگیریم که گزینه ۳ جواب این سوال هست و دلیلش هم اینه که ما نمیتونیم یک تابع رو با یک مقدار ثابت یکسان سازی کنیم.
امیدوارم درست نتیجه گیری کرده باشم.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close