درس هوش مصنوعی – برنامه نویسی هوشمند https://matlab24.ir مشاوره و مشارکت در پیاده سازی الگوریتم های هوش مصنوعی و پیاده سازی نرم افزار های هوشمند Fri, 18 Nov 2016 07:12:25 +0000 fa-IR hourly 1 https://wordpress.org/?v=6.3.4 https://matlab24.ir/wp-content/uploads/2014/08/matlab24-55x55.jpg درس هوش مصنوعی – برنامه نویسی هوشمند https://matlab24.ir 32 32 آموزش الگوریتم WalkSAT https://matlab24.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/ https://matlab24.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/#respond Thu, 10 Nov 2016 15:29:40 +0000 http://matlab24.ir/?p=1459 آموزش الگوریتم WalkSAT الگوریتم WALKSAT خانواده ای از الگوریتم های کارآمد در استنتاج گزاره ای مبتنی بر بازرسی مدل است

نوشته آموزش الگوریتم WalkSAT اولین بار در برنامه نویسی هوشمند پدیدار شد.

]]>
آموزش الگوریتم WalkSAT

الگوریتم WALKSAT خانواده ای از الگوریتم های کارآمد در استنتاج گزاره ای مبتنی بر بازرسی مدل است که به جست وجوی تپه نوردی مربوط میشود و بخشی از “فناوری” منطق گزاره ای می باشد.

الگوریتم های جست وجوی محلی مستقیما میتوانند به مسئله های ارضا شدنی اعمال شوند، به شرطی که تابع ارزیابی مناسبی را انتخاب کنیم. چون هدف یافتن تناسبی است که هر clause را ارضا کند.(جهت آشنایی با مفاهیم اینجا را مطالعه کنید) تابع ارزیابی ای که تعداد clause های ارضا نشده را میشمارد، این کار را انجام میدهد. در واقع این معیار توسط الگوریتم MIN – CONFLICTS برای CSP ها بکار رفته است. تمام این الگوریتم ها در فضای انتساب های کامل گام برمیدارند و در هر زمان، “مقدار درستی” یک نماد را معکوس میکند. این فضا معمولا شامل چندین مینیمم محلی برای فرار از شکل های گوناگونی از تصادفی سازی های مورد نیاز است. در سالهای اخیر، آزمایش های زیادی برای یافتن توازن خوبی برای “تصادفی سازی” و “حریص بودن” انجام شده است.

 

یکی از ساده ترین و کارآمدترین الگوریتم ها WALKSAT است که شبه کد آن را نیز در ادامه خواهید دید. در هر تکرار، الگوریتم یک clause ارضا نشده را انتخاب میکند و نمادی را از آن clause انتخاب میکند تا تغییر دهد.

بطور تصادفی یکی از روشها را برای انتخاب نماد جهت تغییر برمیگزیند:

(1) مرحله “کمترین تناقض” : که تعداد کلازهای ارضا نشده در حالت جدید را مینیمم میکند.

(2) مرحله “پیمایش تصادفی” : که نماد را بطور تصادفی انتخاب میکند.

وقتی WALKSAT مدلی را برمی گرداند، جمله ورودی ارضاپذیری است، اما وقتی  failure را برمیگرداند دو علت ممکن وجود دارد : یا جمله ارضانشدنی است یا باید زمان بیشتری به الگوریتم بدهیم.

اگر قرار دهیم max_flips =   و  p>0 ، آنگاه WALKSAT سرانجام یک مدل را برمیگرداند (در صورت وجود) ، زیرا مراحل پیمایش تصادفی سرانجام منجر به جواب میشوند. اگر max_flips  بی نهایت و جمله ارضاناپذیر باشد، آنگاه الگوریتم هرگز خاتمه نمی یابد.

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

 

شبه کد الگوریتم WALKSAT 

 

function   WALKSAT(clauses, p , max_flips)  returns  a  satisfying  or  failure

         inputs:   clauses,  a  set  of  clauses  in  propositional  logic

                       p,  the  probability  of  choosing  to do  a “random  walk”  move, typically  around  0.5

                       max_flips,  number  of  flips  allowed  before  giving  up

 

         model <– a  random  assignment  of  truel  false  to  the  symbols  in  clauses

         for   i = 1  to   max_flips  do

                       if  model   satisfies  clauses  then  return  model

                       clause <– a randomly  selected  clause  from  clauses  that   is  false  in  model

                        with  probability  p  flip  the  value  in  model  of  a  randomly  selected  symbol  from  clause

                       else   flip  whichever  symbol  in  clause  maximizes  the  number  of   satisfied   clauses

         return  failure

 

جهت انجام پروژه در خصوص مسئله SAT با انواع الگوریتم های هوشمند و تکاملی با ما تماس بگیرید:

شماره تماس: 09120563264    (تلگرام)

ایمیل : matlab24ir@gmail.com و یا info@matlab24.ir

حل مسئله 3-SAT با الگوریتم GSAT .

حل مسئله 3-SAT با الگوریتم WalkSAT .

حل مسئله 3-SAT با الگوریتم GSAT.

حل مسئله 3-SAT با الگوریتم ژنتیک .

حل مسئله 3-SAT با الگوریتم PSO .

حل مسئله 3-SAT با الگوریتم ABC .

حل مسئله 3-SAT با الگوریتم DE .

نوشته آموزش الگوریتم WalkSAT اولین بار در برنامه نویسی هوشمند پدیدار شد.

]]>
https://matlab24.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/feed/ 0
الگوریتم WalkSAT https://matlab24.ir/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/ https://matlab24.ir/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/#respond Thu, 10 Nov 2016 15:12:58 +0000 http://matlab24.ir/?p=1451 الگوریتم WalkSAT : الگوریتم GSAT و  الگوریتم WALKSAT  از جمله روش های جستجوی محلی برای حل مسئله تصدیق پذیری دودویی

نوشته الگوریتم WalkSAT اولین بار در برنامه نویسی هوشمند پدیدار شد.

]]>
الگوریتم WalkSAT :

الگوریتم GSAT و  الگوریتم WALKSAT  از جمله روش های جستجوی محلی برای حل مسئله تصدیق پذیری دودویی (Satisfiability) می باشند. هر دو الگوریتم بر روی گزاره هایی به شکل CNF عمل میکنند. و کار خود را با مقدار دهی تصادفی به متغیر ها شروع میکنند. اگر این مقدار دهی منجر به ارزش درست برای گزاره شد کار تمام میشود وگرنه یک متغیر مقدارش تغییر میکند (flipped) و روال فوق تکرار میشود. تقاوت الگوریتم GSAT و WALKSAT در نحوه انتخاب متغیری است که مقدارش تغییر میکند.

برای آشنایی بیشتر با مسئله تصدیق پذیری دو دویی یا مسئله SAT  مطالعه لینک زیر را پیشنهاد میکنم.

آشنایی با مسئله SAT

3-SAT Problem 

یک مسئله satisfiability  می باشد که در آن گزاره ها به شکل CNF می باشند و هر Clause تنها میتواند 3 متغیر (یا نقیض آن) را شامل شود. مسئله 3-SAT نیز جزو مسائل NP-Complete می باشد. به مسئله 3-SAT مسئله 3CNFSAT یا 3-Satisfiability نیز گرفته میشود.

مسئله SAT

جهت دریافت کد متلب الگوریتم WalkSAT به همراه فایل توضیحات خط به خط کد با ما تماس بگیرید.

جهت دریافت کد متلب الگوریتم GSAT به همراه فایل توضیحات خط به خط کد با ما تماس بگیرید.

شبه کد الگوریتم WALKSAT به صورت زیر می باشد:

الگوریتم WalkSAT

جهت انجام پروژه در خصوص مسئله SAT  و 3SAT با انواع الگوریتم های هوشمند و تکاملی با ما تماس بگیرید:

شماره تماس: 09120563264    (تلگرام و واتس اپ)

ایمیل : matlab24ir@gmail.com و یا info@matlab24.ir

حل مسئله 3-SAT با الگوریتم GSAT .

حل مسئله 3-SAT با الگوریتم WalkSAT .

حل مسئله 3-SAT با الگوریتم ژنتیک .

حل مسئله 3-SAT با الگوریتم PSO .

حل مسئله 3-SAT با الگوریتم ABC .

حل مسئله 3-SAT با الگوریتم DE .

نوشته الگوریتم WalkSAT اولین بار در برنامه نویسی هوشمند پدیدار شد.

]]>
https://matlab24.ir/%d8%a7%d9%84%da%af%d9%88%d8%b1%db%8c%d8%aa%d9%85-walksat/feed/ 0