advertise laitec sharif univercity استخراج بیت کوین با کامپیوتر استخراج بیت کوین با کامپیوتر
پروژه پایانی PHP وب سایت فروشگاه کامپیوتری

پروژه پایانی PHP وب سایت فروشگاه کامپیوتری

23000 تومان
دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

3000 تومان
دانلود پروژه کامل مهندسی نرم افزار ، شرکت نرم افزاری

دانلود پروژه کامل مهندسی نرم افزار ، شرکت نرم افزاری

3000 تومان
سیستم اتوماسیون دهیاری ، پروژه مهندسی نرم افزار

سیستم اتوماسیون دهیاری ، پروژه مهندسی نرم افزار

3000 تومان
دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

دانلود پروژه معمای 8 با الگوریتم ژنتیک در سی شارپ

3000 تومان

الگوریتم یکسان سازی UNIFY در استنتاج مرتبه اول در AI

قوانین استنتاج ارتقا یافته مستلزم یافتن جانشینی هایی است که موجب میشوند عبارات منطقی مختلف، یکسان به نظر برسند. این فرایند یکسان سازی نام دارد و عنصر اصلی الگوریتم های استنتاج مرتبه اول است.
الگوریتم یکسان سازی UNIFY در استنتاج مرتبه اول در AI

الگوریتم یکسان سازی UNIFY در استنتاج مرتبه اول در AI

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

UNIFY(p,q) = θ  where  SUBSET (θ,p) = SUBSET (θ,q).

برای بررسی رفتار UNIFY چند مثال زیر را در نظر میگیریم.

فرض کنید پرس وجوهای AskV ars(Knows(John,x)) به معنای این است که John چه کسی را می شناسد؟ برای یافتن بعضی از پاسخ های مربوط به این پرس وجو میتوان تمام جملاتی را در پایگاه دانش یافت که با Knows(John,x) یکسان میشود. نتایج یکسان سازی با چهار جمله مختلف که ممکن است در پایگاه دانش باشند در زیر آمده است:

UNIFY ( Knows (John, x) , Knows(John, Jane) ) = {x/ Jane}

UNIFY ( Knows (John, x) , Knows(y, Bill) ) = {x/ Bill , y/ John}

UNIFY ( Knows (John, x) , Knows(y, Mother(y) ) ) = { y/ John , x/ mother(John)}

UNIFY ( Knows (John, x) , Knows(x, Elizabeth) ) = fail.

 

 

یکسان سازی آخری با شکست مواجه میشود، زیرا x نمی تواند همزمان مقادیر Elizabeth و John را بپذیرد. معنای Knows(x, Elizabeth) این است که "همه Elizabeth را میشناسند"، لذا باید بتوانیم استنتاج کنیم که John نیز Elizabeth را میشناسد. مشکل وقتی به وجود می آید که دو جمله بخواهند از یک متغیر به نام x استفاده کنند. این مشکل با جداسازی استاندارد یکی از دو جمله ای که باید یکسان سازی شود، رفع میگردد. معنایش این است که متغیرهای یکی از دو جمله تغییر نام پیدا کنند تا از برخورد اسامی اجتناب شود. بعنوان مثال میتوانیم x را در Knows(x, Elizabeth) به x17 عوض کنیم، بدون اینکه معنایش تغییر کند. اکنون یکسان سازی عمل خواهد کرد:

UNIFY ( Knows (John, x) , Knows(x17, Elizabeth) ) = {x/ Elizabeth, x17/ John}.

 

یک پیچیدگی دیگر نیز وجود دارد: گفتیم UNIFY باید یک جایگزینی را برگرداند تا دو آرگومان را یکسان کند. اما ممکن است تعداد این یکسان سازها بیش از یکی باشد.

بعنوان مثال UNIFY(Knows(John, x) , Knows(y, z)) میتواند {y / John , x / z} یا  {y / John , x / John , z/ John } را برگرداند. یکسان ساز اول، Knows(John, z) را بعنوان نتیجه ی یکسان سازی برمیگرداند، در حالیکه دومی Knows(John, John) را برمیگرداند. نتیجه دوم میتواند زا اوای به دست آید، برای این منظور نیاز به جایگزینی دیگر یعنی { z/ John } است.

میگوییم یکسان ساز اول کلی تر از دومی است، زیرا محدودیت کمتری به متغیرها اعمال میکند. نتیجه میشود که برای هر جفت قابل یکسان سازی از عبارات، یک کلی ترین یکسان ساز، وجود تغییر نام و جایگزینی متغیرهای یکتاست.

 

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

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

 

شبه کد الگوریتم یکسان سازی

function  UNIFY (x, y, θ) returns  a  substitution  to  make  x  and  y  identical

           inputs :  x , a  variable, constant, list, or  compound  expression

                          y , a  variable, constant, list, or  compound  expression

                          θ , the substitution   built  up  so  far(optional , defaults to empty)

            if  θ = failure  then  return  θ

            else  if  x = y  then  return  θ

           else  if  VARIABLE?( x)   then  return  UNIFY-VAR(x, y, θ)

           else  if  VARIABLE?( y)   then  return  UNIFY-VAR(y, x, θ)

           else  if  COMPOUND?(x)  and  COMPOUND?(y)   then  return  UNIFY(x.ARGS, y.ARGS, UNIFY(x.OP , y.OP , θ) )

           else  if  LIST?(x)  and  LIST?(y)   then  return  UNIFY(x. REST, y.REST, UNIFY(x.FIRST , y.FIRST, θ) )

           else  return  failure

function  UNIFY-VAR(var, x , θ)  ) returns  a  substitution 

 

         if  {var / val}  عضو θ  then  return UNIFY(var, x, θ)

         else  if  {x / val}  عضو θ  then  return UNIFY(var, val, θ)

         else  if   OCCUR-CHECK?(var, x)  then  return  failure

         else  return  add {var / x}  to  θ

 

 



0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
تبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

کسب درآمد با کامپیوتر
تولید بیت کوین با کامپیوتر

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php